更新时间:2026-04-15 18:50:18
本指南将带您完成使用 WebRTC 播放实现低延迟直播的设置过程。内容涵盖了两种方式:
| RTMP → WebRTC | 端到端 WebRTC | |
|---|---|---|
| 延迟 | 低(仅有 AAC 到 Opus 转码带来的小幅额外延迟) | 最低 |
| 编码器兼容性 | 任意 RTMP 编码器(OBS、FFmpeg、硬件编码器) | WHIP 兼容编码器或带有自定义插件的 OBS |
| 设置复杂度 | 更简单 — 使用标准 RTMP 推流 | 需要 WHIP 配置或插件安装 |
| 是否需要音频转码 | 是 — AAC 转 Opus(需由支持团队开启) | 否 — 原生使用 Opus |
WebRTC 播放要求您的源流必须符合特定的编解码器约束。从一开始正确配置编码器,可避免播放失败和不必要的转码。
视频编解码器:H.264(不含 B 帧)
WebRTC 按到达顺序解码帧。B 帧(双向预测帧)需要无序解码,与 WebRTC 的实时抖动缓冲机制冲突,可能导致播放错误或画面异常。
音频编解码器:Opus
WebRTC 规范要求音频必须使用 Opus 编解码器。现代浏览器在 WebRTC 会话中不支持其他音频编解码器。
如果您的源流不满足这些要求——例如,包含 B 帧或使用了非 Opus 音频编解码器——平台可以对流进行转码以提升兼容性。但转码会增加延迟,并可能产生额外费用。该功能默认未开启,如需启用请联系技术支持团队。
该工作流支持您使用标准的 RTMP 编码器进行推流,并通过 WebRTC 向观众分发流媒体。如果您已具备基于 RTMP 的推流方案,这将是实现 WebRTC 播放的最快方式。
注意: RTMP 不支持 Opus 音频编解码器。在使用此工作流时,您的编码器必须输出 AAC 音频,平台会将其转码为 Opus 以进行 WebRTC 分发。**您必须在开始之前联系我们的支持团队开启 AAC 到 Opus 的转码功能。**否则,WebRTC 播放将无法输出音频。
您必须将编码器配置为生成与 WebRTC 兼容的视频流。其中最重要的设置是禁用 B 帧。
以下步骤以 OBS Studio 为例:
bframes=0,以显式禁用 B 帧。如需更多推荐的编码器设置,请参考下方图片。

rtmp://your-push-domain.com/appname/streamname
live)。注意: 推流 URL 中的 appname 值必须与已在低延时直播产品控制台中配置的应用名称一致。如果控制台不存在该应用名称,则推流请求会被拒绝。
为了实现最低延时,建议在推流和播放端均使用 WebRTC。这样可以消除音频转码需求,并缩短端到端的传输路径。目前我们已支持 WHIP(WebRTC-HTTP Ingestion Protocol),即作为推流协议的现代业界标准。完整配置说明请参考 WHIP/WHEP 设置指南。
当您的流开始推送后,请使用以下资源验证播放效果。您可以通过 Web 演示播放器在任意现代浏览器中实时测试您的流:
CDNetworks WebRTC 播放器 — 输入您的播放 URL,即可通过 WebRTC 方式预览直播流。