基于webRTC的超低延迟WHIP和WHEP流媒体协议
WHIP(WebRTC-HTTP Ingestion Protocol) 是 IETF 制定的、基于 HTTP 的单向 WebRTC 推流信令标准(RFC 9725,2025 年 9 月正式发布),用于把实时音视频流从编码器 / 客户端推送到媒体服务器或 CDN。
一、核心定位
- 解决问题:WebRTC 本身无标准信令,以往需自定义 WebSocket 信令,导致编码器与平台间无法互通。
- 核心能力:用HTTP POST 交换 SDP Offer/Answer,快速建立 WebRTC 会话(ICE/DTLS/SRTP),全程基于 HTTP 语义,兼容现有负载均衡、CDN 与鉴权体系。
- 方向:仅负责推流(Ingest),对应拉流标准为 WHEP。
二、工作流程(极简)
- 客户端(如 OBS)向 WHIP 端点发送 HTTP POST,携带 SDP Offer。
- 服务器返回 HTTP 200,携带 SDP Answer。
- 双方完成 ICE 打洞、DTLS 加密,开始 UDP 传输 SRTP 媒体流。
- 停止推流:发送 HTTP DELETE 即可结束会话。
三、关键优势
- 低延迟:基于 WebRTC,延迟通常 <500ms,远低于 RTMP(3–5 秒)。
- 简单通用:仅需一个 URL + 流密钥,用法类似 RTMP,却原生支持 WebRTC。
- 安全:默认 DTLS 加密 + SRTP 传输,全程加密。
- 抗弱网:WebRTC 的 UDP+FEC/ARQ 机制,弱网下更稳定。
- 生态成熟:OBS Studio(v30+)、GStreamer、Cloudflare Stream、LiveKit 等已原生支持。
四、WHIP vs RTMP
表格
| 对比项 | WHIP | RTMP |
|---|---|---|
| 延迟 | 亚秒级(<500ms) | 3–5 秒 |
| 传输 | UDP(主)+TCP 回退 | TCP |
| 加密 | 原生 DTLS/SRTP | 需额外加密 |
| 信令 | 标准 HTTP | 私有协议 |
| 浏览器支持 | 原生支持 | 需插件 / 转码 |
五、典型应用
- 低延迟直播(电商、游戏、赛事)
- 实时互动推流(连麦、直播带货)
- 浏览器 / APP 直接推流(无需客户端)
- 替代 RTMP,构建 WebRTC 原生直播链路
