本文介绍使用 OBS 实现超低延时直播推流的详细内容。
背景信息
RTMP:兼容性好,OBS 通过「自定义」服务即可填入推流域名与串流信息,适合沿用既有 RTMP 工具链的场景。
WHIP(WebRTC-HTTP ingestion protocol):基于 HTTP POST 将实时音视频送入服务器的轻量协议,便于与 WebRTC 采集链路对接;WHIP 为 WebRTC 生态常见接入方式,具有低延时、易集成的特点。
准备工作
完成超低延时直播域名配置并跑通Demo。
下载并安装OBS推流工具(OBS版本不低于29.1.0)。下载地址,请参见OBS Studio。
确认本次推流使用RTMP或WHIP其中一种即可,无需同时配置两种方式。
使用OBS推流
步骤一:视频编码最佳实践(RTMP 与 WHIP 均需配置)
在 OBS 中选择文件 > 设置 > 输出,将视频编码调整为下列推荐组合,用于去除 B 帧、控制 GOP、降低端到端延时。该配置对 RTMP 推流与 WHIP 推流均适用。
输出模式:高级
关键帧间隔(秒,0=自动):1
说明关键帧间隔设置不超过3秒,此处推荐设置为1秒。
CPU使用预设(高=较少的CPU占用):veryfast
配置(Profile):baseline
微调(Tune):zerolatency

步骤二:使用地址生成器生成推流地址
在视频直播控制台使用地址生成器获取推流信息。请按后续选用的方式只准备其中一种:RTMP推流需复制 RTMP 地址(见下方示例);WHIP推流需复制 RTS 的 artc://地址,供步骤四转换为 HTTP(S) 入口。也支持自定义拼接,具体操作请参见方法二:自定义拼接。
RTMP示例(以控制台实际生成为准):
rtmp://push.example.com/live/live?auth_key=******ARTC(供 WHIP 转换)示例:
artc://al.yun.com/live/live?auth_key=******
- 登录视频直播控制台。
在左侧导航栏选择。
在生成器中完成域名、AppName、StreamName、鉴权等配置,查看并复制本次推流所需的RTMP或ARTC推流地址。

步骤三(可选):使用 RTMP 推流
运行 OBS,选择文件 > 设置 > 直播:
服务:选择自定义。
服务器与串流密钥:填入步骤二中复制的 RTMP 信息(按控制台展示拆分或合并;若页面提供完整 URL,可按 OBS 要求拆分为服务器与密钥两段)。单击确定保存。
步骤四(可选):使用 WHIP 推流
将步骤二中复制的 ARTC 推流地址转换为 WHIP 可用的 HTTP(S) URL。
将协议头由 ARTC 切换为 HTTP(S),示例:
原地址为:
artc://al.yun.com/live/live?auth_key=******。修改为:
https://al.yun.com/live/live?auth_key=******。
若使用 HTTPS 推流,需按环境配置证书。具体请参见配置HTTPS安全加速。
在 OBS 中配置 WHIP。
运行 OBS。
选择文件 > 设置 > 直播。
按如下参数填写后单击确定。
参数
描述
服务
选择WHIP。
服务器
输入步骤2修改后的WHIP协议URL。
Bearer Token
串流密钥为空。

步骤五:开始推流并验证
在 OBS 主界面来源区域添加音视频来源后,单击开始推流。
在直播控制台流管理中确认在线流。
在视频直播控制台左侧导航栏选择流管理。
选择待查询的域名,输入AppName和StreamName。

单击查询,查看当前实时在线流。
使用 Web 端播放 RTS 流做快速验证。
进入RTS Web播放器。
单击拉流页签。
输入已开通超低延时直播的播流地址URL。

单击开始拉流,播放 RTS 直播流。