centric/centric-livestreaming

适用于各种在线网络的直播流包

安装: 1

依赖者: 0

建议者: 0

安全性: 0

星标: 0

关注者: 0

分支: 19

类型:symfony-bundle

dev-master 2023-03-21 09:30 UTC

This package is not auto-updated.

Last update: 2024-09-23 10:41:56 UTC


README

Build status Latest stable version

License Total downloads

目录

关于

Live Broadcast Bundle可以使您能够将直播视频流计划到各种网站/应用程序,如Twitch、YouTube Live、Facebook Live。

您可以从各种输入进行直播。此包支持文件、URL或现有的RTMP流。

有关更多信息,您可以查看下面的最新记录演示,检查GitHub上的演示项目https://github.com/Martin1982/live-broadcast-demo或继续阅读;

IMAGE ALT TEXT

先决条件

要测试这些先决条件,可以在以下安装描述之后使用Symfony命令livebroadcaster:test:shell。如果您想手动检查,广播器需要在操作系统上执行几个命令;

所有操作系统

  • ffmpeg 3.x或更高版本

在Linux上

  • ps
  • kill

在Mac上

  • ps
  • grep
  • kill

在Windows上

  • tasklist
  • taskkill

基本安装

此包可在Packagist上获取。然后,您可以使用Composer安装它

$ composer require martin1982/live-broadcast-bundle

使用Doctrine更新您的数据库模式,当升级时,建议使用迁移。

要启动广播调度器,您可以运行以下命令

$ php bin/console livebroadcaster:broadcast

要作为长时间运行的过程运行调度器,建议使用messenger中间件以保持数据库连接,具体请参阅https://symfony.com.cn/doc/current/messenger.html

FFMpeg日志目录

要查看FFMpeg的输出,您需要在config/packages/live_broadcast.yaml中配置一个日志目录。

 live_broadcast:
    ffmpeg:
        log_directory: '%kernel.logs_dir%'

事件循环

您可以使用此配置来设置事件循环计时器

live_broadcast:
    eventloop:
        timer: 5

缩略图设置器

为缩略图设置以下配置

live_broadcast:
    thumbnail:
        upload_directory: '%kernel.project_dir%/public/uploads/thumbnails'
        web_path: '/uploads/thumbnails'

启用Facebook直播

https://developers.facebook.com上创建一个Facebook应用程序,并具有以下权限

  • user_videos
  • user_events
  • user_managed_groups
  • manage_pages
  • publish_actions
  • 实时视频API

编辑您的config/packages/live_broadcast.yaml,添加以下配置

live_broadcast:
    facebook:
        application_id: YourFacebookAppId
        application_secret: YourFacebookAppSecret

启用YouTube直播

登录到https://console.developers.google.com/并启用“YouTube Data API v3”。

将YouTube API信息添加到您的config.yml中

live_broadcast:
    youtube:
        client_id: YourGoogleOauthClientId
        client_secret: YourGoogleOauthClientSecret

将这些行添加到您的parameters.yml(用于生成缩略图URL)中

parameters:
    router.request_context.host: broadcast.com
    router.request_context.scheme: https

添加新的输出平台

在Entity/Channel中创建一个新的Channel实体,该实体扩展了AbstractChannel(例如,ChannelNew)

在Service/StreamOutput中创建一个新的StreamOutput服务,该服务实现了OutputInterface(例如,OutputNew)

在config/services.yml中配置服务,使用输出标记

live.broadcast.output.new:
    class: Martin1982\LiveBroadcastBundle\Service\StreamOutput\OutputNew
    tags:
        - { name: live.broadcast.output, platform: 'New' }

使用管理员GUI

此包没有提供Web前端界面,要使用管理包,您可以选择您喜欢的;

赞助商