WHIP/WHEP Streaming

更新时间:2025-08-19 18:42:42

关于 WHIP 与 WHEP

WHIP(WebRTC-HTTP Ingestion Protocol) 是由 IETF 标准化的一种协议,旨在简化 WebRTC 流的推流流程。它用简单的 HTTP POST 请求替代了传统 WebRTC 中复杂、定制化的信令流程。这使得任何支持 WHIP 的编码器(如 OBS Studio)都能轻松连接到媒体服务器,从而实现更低延迟、更高扩展性以及更强安全性。

WHEP(WebRTC HTTP Egress Protocol) 是用于播放的对应标准。它简化了从服务器接收 WebRTC 流的流程。通过采用类似的基于 HTTP 的方式,WHEP 让播放器能够轻松连接并播放流,简化了连接过程,确保广泛兼容性。

CDNetworks 同时支持 WHIP 推流与 WHEP 播放。请按照以下步骤配置完整的流媒体工作流程。

前提条件

在开始之前,请确保已完成以下准备步骤:

  1. 配置您的推流 Domain:在低延迟直播控制台中,确保已开通服务,并正确配置了推流 Domain(用于推流)和拉流 Domain(用于播放)。
  2. **启用 WHIP/WHEP:**该功能默认处于关闭状态。请联系技术支持团队为您的账号开通此功能。
  3. 配置您的编码器:
    本指南使用 OBS Studio(版本为 30.0 或更高)演示 WHIP 推流流程。您可以从 OBS Studio 官方网站下载。更多兼容的编码器列表,请参阅我们的第三方兼容性指南

步骤 1:配置 OBS 以发布 WHIP 流

配置编码设置

为实现最佳WebRTC兼容性,首先需正确配置编码参数。

  1. 进入输出设置: 前往设置 > 输出,并将“输出模式”设为高级
  2. 应用推荐的编码器设置:
    推流标签页中,我们建议采用以下设置以获得最佳性能与兼容性:
设置 建议 原因
视频编码器 H.264 提供最广泛的浏览器和设备兼容性。
音频编码器 Opus OBS会自动为WHIP选择该编码器,且它是浏览器播放的必需项。
x264参数 bframes=0 禁用B帧,以防止网络播放器出现可能的卡顿。


配置推流目标

  1. 打开OBS设置: 启动OBS Studio并进入 设置 > 推流

  2. 选择WHIP服务: 在“服务”下拉菜单中,选择 WHIP

  3. 输入服务器URL: 在“服务器”字段中,您需要按照以下格式构建您的WHIP URL:
    https://your-push-domain.com/appname/streamname.sdp

    • 请将 your-push-domain.com 替换为您所配置的 推流Domain
    • 请将 appnamestreamname 替换为您期望的应用和流标识。

    重要提示:.sdp 后缀为必填项。我们的平台需要通过该后缀正确识别该推流为WHIP类型。


步骤2:开始推流

  1. 应用设置: 在OBS设置窗口中保存您的更改。
  2. 开始推流: 在OBS主窗口点击开始推流
  3. 验证连接: 检查OBS窗口底部的状态指示器,以确认您的连接状态。
  • 绿色: 您的连接稳定,正在直播。
  • 黄色/红色: 存在连接问题。请再次确认您的Server URL是否正确,并确保您的网络连接稳定。

步骤3:测试播放

我们的服务支持两种WebRTC播放的信令协议:业界标准的WHEP协议以及我们自定义的基于JSON的信令协议。选择哪种方式由播放器的请求决定。两种方式均可实现同样低延迟、高质量的流媒体播放。

选项1:使用WHEP播放器测试

虽然我们不提供WHEP演示播放器,但您可以使用任何支持WHEP协议的播放器对您的流进行测试。如果您已在应用中集成了WHEP播放器,建议采用此方法。

  • 播放URL格式:在WHEP播放器中播放流时,请使用以下URL结构:
    https://your-pull-domain.com/appname/streamname.sdp
  • 请确保 appnamestreamname 与您在 OBS 中配置的内容一致。

选项 2:使用我们的演示播放器进行测试(JSON 信令)

我们还提供了一个演示播放器,可用于快速验证您的直播流是否在线。请注意,该播放器不使用 WHEP 协议,而是采用我们自定义的基于 JSON 的信令协议。无论您使用哪种信令方式,流的画质和延迟完全相同。

  • 播放 URL 格式:使用我们的演示播放器时,您需在播放 URL 后添加 .sdp 后缀:
    https://your-pull-domain.com/appname/streamname.sdp

使用演示播放器进行测试:

  1. 访问我们的演示播放器: CDNetworks WebRTC Player
  2. 输入您的播放 URL: 在 URL 输入框中填入您的播放地址,并确保包含 .sdp 后缀。
  3. 点击播放: 如果出现直播画面,说明您的流推送正常。

常见问题解答(FAQ)

  1. Q:如果我的编码器不支持 Opus 音频怎么办?
    A:
    您可以使用我们的转码服务,该服务会自动将您的音频转换为所需的 Opus 格式。请联系客服以开启此功能。
  2. Q:为什么我无法播放用 H.265 编码的流?
    A:
    WHIP/WHEP 标准目前不支持 H.265。请使用 H.264,或者联系客服以开启视频转码功能。
  3. Q:必须去除B帧吗?
    A:
    虽然不是强制要求,但我们强烈建议这样做。不去除B帧是导致网页浏览器播放卡顿和播放问题的最常见原因。为了获得最稳定、流畅的观看体验,建议您禁用B帧。
本篇文档内容对您是否有帮助?
有帮助
我要反馈
提交成功!非常感谢您的反馈,我们会继续努力做到更好!