本文介绍如何通过 OBS Studio 将外部媒体流推送到 LiveKit 直播间。该方案适用于游戏直播、电竞解说或播放本地视频文件等场景。
说明:
获取 OBS 推流地址
为了满足不同的开发需求,Live 提供了两种获取 OBS 推流地址的方案。
方案一:直播管理后台
适用于绝大多数生产环境和开发测试。通过可视化界面管理,能够降低开发维护成本,快速上线。
操作步骤

方案二:服务端 API 搭建
适用于对直播业务有高度定制化需求、希望在自有系统中实现完全闭环逻辑的场景。
步骤 1:创建房间与机器人
调用 RESTful API 创建直播间。
调用 RESTful API 创建机器人,推荐将房主 ID 设为机器人 UserID。
步骤 2: 实现机器人上麦
步骤 3:生成 RTMP 推流地址
无需调用额外接口,直接在您的服务端按照下述规则拼接推流地址:
rtmp://rtmp.rtc.qq.com/push/{房间号}?sdkappid={AppID}&userid={用户ID}&usersig={签名}
主域名:
rtmp.rtc.qq.com,备用域名为 rtmp.cloud-rtc.com,如果主域名解析有问题,可使用备用域名。房间号:对应步骤1创建的房间号
RoomID。用户 ID:对应步骤2创建的机器人
UserID。userSig:需在有效期内,规则请参考 UserSig 相关文档。
配置 OBS 软件
获取到推流地址后,请按照以下步骤配置 OBS Studio。
步骤 1:设置服务器信息
通过底部工具栏的控件按钮 > 设置按钮进入设置界面。
点击直播进入服务器信息配置。
服务:选择 自定义。
服务器和推流码配置:从 获取 OBS 推流地址 步骤中获取。

步骤 2:优化参数配置
为了确保观众端能获得低延迟、高清晰度的观看体验,请务必完成以下两个维度的配置。
1. 设置视频参数
进入设置 > 视频,通常可参考以下配置,游戏直播建议将帧率提升至 30 fps 以保证画面流畅:
分辨率 | 帧率 (fps) | 推荐码率 |
1920x1080 | 24 fps | 3000 kbps |
1280x720 | 24 fps | 2500 kbps |
2. 设置输出参数
进入设置 > 输出,将输出模式切换为高级。RTMP 后台不支持传输 B 帧,请按以下参数调整:
参数项 | 推荐值 | 配置描述 |
编码器 | x264 或 NVIDIA NVENC | 优先选硬件编码以降低 CPU 压力。 |
关键帧间隔 | 1 或 2 | 严禁设为 0,否则拉流极慢。 |
CPU 使用预设 | ultrafast | 降低编码耗时,减少卡顿。 |
配置 (Profile) | baseline | 确保去除 B 帧以兼容 RTMP 后台。 |
微调 (Tune) | zerolatency | 针对流媒体直播优化,大幅降低端到端延迟。 |
x264 选项 | threads=1 | 限制编码线程数,提升流稳定性。 |
步骤 3:设置高级选项
进入设置 > 高级,确保网络波动时能快速恢复。
1. 串流延迟:不启用。启用该项会显著增加端到端延迟。
2. 自动重连:启用。
重试延迟时长:建议设为 2秒。
最大重试次数:建议设为 20次。
开始 OBS 直播
开始直播
在 OBS 来源栏添加“窗口采集”或“视频采集设备”,预览确认无误后,点击开始直播。

结束直播
步骤 1:停止 OBS 推流
在 OBS Studio 主界面,点击右下角的 停止直播。

步骤 2:关闭直播间
为了确保房间资源及时释放并停止计费,请根据获取 OBS 推流地址的方式选择对应的操作:
直播管理后台:在管理后台的直播列表页,点击对应的直播间并选择结束直播。
服务端 API 搭建:通过服务端 RESTful API 解散直播间。
常见问题
RTMP 推流中断恢复后,观众端黑屏?
断流 < 2 分钟:在此时间内恢复推流,房间内观众可自动恢复拉流,无需额外操作。
断流 > 2 分钟:若超过 2 分钟未恢复,系统会中断该房间的混流。此时即使 OBS 恢复推流,观众端仍会黑屏。
解决方法:您需要通过服务端调用 恢复房间混流接口 来手动恢复音视频流的下发。