martin1982 / live-broadcast-bundle
用于直播到各种在线网络的套餐
Requires
- php: >=8.0
- ext-fileinfo: *
- doctrine/doctrine-bundle: ^2.0
- doctrine/orm: ^2.7
- google/apiclient: ^2.7
- google/apiclient-services: *
- martin1982/facebook-graph-sdk: ^7.0.1
- psr/log: ^3.0
- react/event-loop: ^1.1
- symfony/console: ^5.4|^6.0
- symfony/framework-bundle: ^5.4|^6.0
- symfony/http-kernel: ^5.4|^6.0
- symfony/messenger: ^5.4|^6.0
- symfony/monolog-bundle: ^3.5
- symfony/validator: ^5.4|^6.0
- symfony/yaml: ^5.4|^6.0
Requires (Dev)
- doctrine/doctrine-migrations-bundle: ^3.0
- escapestudios/symfony2-coding-standard: ^3.1
- friendsofphp/php-cs-fixer: ^3.6
- guzzlehttp/guzzle: ^7.0
- phpmd/phpmd: ^2.12
- phpunit/phpunit: ^9.0|^10.0
- roave/security-advisories: dev-latest
- squizlabs/php_codesniffer: ^3.5
Suggests
- doctrine/doctrine-migrations-bundle: Keep track of updated entities in your database
- dev-master
- v7.0.5
- v7.0.4
- v7.0.3
- v7.0.2
- v7.0.1
- v7.0.0
- v6.0.0
- v5.1.1
- v5.1.0
- v5.0.0
- v4.1.1
- v4.1.0
- v4.0.9
- v4.0.8
- v4.0.7
- v4.0.6
- v4.0.5
- v4.0.4
- v4.0.3
- v4.0.2
- v4.0.1
- v4.0.0
- v3.1.2
- v3.1.1
- v3.1.0
- v3.0.0
- v2.1.3
- v2.1.2
- v2.1.1
- v2.1.0
- v2.0.0
- v1.1.3
- v1.1.2
- v1.1.1
- v1.1.0
- v1.0.1
- v1.0.0
- v0.8.0
- v0.7.8
- v0.7.7
- v0.7.6
- v0.7.5
- v0.7.4
- v0.7.3
- v0.7.2
- v0.7.1
- v0.7.0
- v0.6.0
- v0.5.16
- v0.5.15
- v0.5.14
- v0.5.13
- v0.5.12
- v0.5.11
- v0.5.10
- v0.5.9.1
- v0.5.9
- v0.5.8
- v0.5.8-alpha
- v0.5.7
- v0.5.7-alpha
- v0.5.6-alpha
- v0.5.5-alpha
- v0.5.4
- v0.5.4-alpha
- v0.5.3-alpha
- v0.5.2-alpha
- v0.5.1-alpha
- v0.5.0-alpha
- v0.4.5-alpha
- v0.4.4-alpha
- v0.4.3-alpha
- v0.4.2-alpha
- v0.4.1-alpha
- v0.4.0-alpha
- v0.3.3-alpha
- v0.3.2-alpha
- v0.3.1-alpha
- v0.3.0-alpha
- v0.2.1-alpha
- v0.2.0-alpha
- v0.1.2-alpha
- v0.1.1-alpha
- v0.1.0-alpha
This package is auto-updated.
Last update: 2024-09-23 06:32:39 UTC
README
目录
关于
Live Broadcast Bundle可以使您能够计划向Twitch、YouTube Live、Facebook Live等网站/应用程序进行直播视频流。
您可以从各种输入进行直播。此包支持文件、URL或现有的RTMP流。
有关更多信息,您可以在下面的最新记录演示中查看,检查https://github.com/Martin1982/live-broadcast-demo的演示项目,或继续阅读;
先决条件
要测试这些先决条件,可以在以下安装描述之后使用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前端界面,要使用管理包,您可以挑选您喜欢的:
- Sonata Admin: https://github.com/Martin1982/live-broadcast-sonata-admin-bundle
- Easyadmin: https://github.com/Martin1982/live-broadcast-easyadmin-bundle