这是面向 YouTube、Twitch 等平台的直播推流实践集合,用于搭建直播间、配置推流密钥、RTMP 工作流与多平台同播。
用途:创建直播活动、获取推流密钥与 RTMP 地址、控制直播状态、多目标同时推流、通过 OBS WebSocket 远程控制,以及直播自动化与质量监控。
主要能力:
- YouTube Live:用 YouTube Data API v3 创建 broadcast、创建 stream、绑定两者,返回 broadcast_id、stream_key、rtmp_url、watch_url;用 transition 切换 testing、live、complete 状态。
- Twitch:通过 Helix API 获取 stream_key、更新标题与分类、查询是否正在直播、创建片段。
- RTMP 推流:用 FFmpeg 推流到 YouTube 或 Twitch;桌面采集在 macOS 用 avfoundation、Linux 用 x11grab 加 pulse;多平台用 tee muxer 一次输出多路 FLV。
- OBS 控制:obswebsocket 连接后开始/停止推流、开始/停止录制、切换场景、查询场景列表、控制源显隐、更新推流服务设置。
- 自动化:StreamScheduler 按指定时间与时长调用开始/停止回调;TwitchIO 聊天机器人以命令切换场景。
- 质量与监控:内置 480p/720p/1080p/1440p 编码预设;StreamMonitor 定期读取码率、丢帧、FPS、CPU,丢帧过多或 FPS 过低时告警。
使用方式:需要先准备各平台凭据(YouTube OAuth 凭据、Twitch client_id 与 access_token、OBS WebSocket 端口与密码),再调用上述接口或运行 FFmpeg 命令;推流命令示例为 ffmpeg -re -i input.mp4 加编码参数后输出到 rtmp 地址加推流密钥。
限制:资料未提供安装步骤、依赖版本、计费、平台支持范围与常见问题处理;实际可用性取决于平台 API 权限、网络与硬件条件。