Get Started

更新时间:2026-04-15 18:50:18

本指南将带您完成使用 WebRTC 播放实现低延迟直播的设置过程。内容涵盖了两种方式:

  • RTMP Ingest → WebRTC 播放: 使用您现有的 RTMP 编码器进行推流,并通过 WebRTC 向观众分发。设置更便捷,音频转码会引入少量延迟。
  • 端到端 WebRTC: 发布和播放均使用 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 音频编解码器——平台可以对流进行转码以提升兼容性。但转码会增加延迟,并可能产生额外费用。该功能默认未开启,如需启用请联系技术支持团队。


方式 1:RTMP 推流,WebRTC 播放

该工作流支持您使用标准的 RTMP 编码器进行推流,并通过 WebRTC 向观众分发流媒体。如果您已具备基于 RTMP 的推流方案,这将是实现 WebRTC 播放的最快方式。

注意: RTMP 不支持 Opus 音频编解码器。在使用此工作流时,您的编码器必须输出 AAC 音频,平台会将其转码为 Opus 以进行 WebRTC 分发。**您必须在开始之前联系我们的支持团队开启 AAC 到 Opus 的转码功能。**否则,WebRTC 播放将无法输出音频。

步骤 1:配置您的 RTMP 编码器

您必须将编码器配置为生成与 WebRTC 兼容的视频流。其中最重要的设置是禁用 B 帧

以下步骤以 OBS Studio 为例:

  1. 打开设置并进入输出选项卡。
  2. 输出模式设置为高级
  3. 推流标签页中,找到x264 选项字段。
  4. 输入 bframes=0,以显式禁用 B 帧。

如需更多推荐的编码器设置,请参考下方图片。

步骤2:设置你的流目的地

  1. 在 OBS 中,进入 设置 下的 选项卡。
  2. Service 下拉菜单中选择 自定义…
  3. Server 字段中输入你的 RTMP 推流地址:
rtmp://your-push-domain.com/appname/streamname
  • your-push-domain.com — 分配给您的推流域名。
  • appname — 用于分组您的流的应用名称(例如:live)。
  • streamname — 此流的唯一标识符。
  1. 点击 应用,然后在主 OBS 窗口中点击 开始推流

注意: 推流 URL 中的 appname 值必须与已在低延时直播产品控制台中配置的应用名称一致。如果控制台不存在该应用名称,则推流请求会被拒绝。


方式 2:端到端 WebRTC

为了实现最低延时,建议在推流和播放端均使用 WebRTC。这样可以消除音频转码需求,并缩短端到端的传输路径。目前我们已支持 WHIP(WebRTC-HTTP Ingestion Protocol),即作为推流协议的现代业界标准。完整配置说明请参考 WHIP/WHEP 设置指南

回放与测试

当您的流开始推送后,请使用以下资源验证播放效果。您可以通过 Web 演示播放器在任意现代浏览器中实时测试您的流:

CDNetworks WebRTC 播放器 — 输入您的播放 URL,即可通过 WebRTC 方式预览直播流。

本篇文档内容对您是否有帮助?
有帮助
我要反馈
提交成功!非常感谢您的反馈,我们会继续努力做到更好!