webrtc推流能成为直播的主要方案吗?

妮妮:今天我们聊聊Web RTC做直播推流。

小新:好的,WHIP推流协议实现已经合入FFMPEG,OBS。推进了web rtc推流的方案。

妮妮:那什么是WHIP协议呢?

小新:WHIP的全称是:Web RTC HTTP Ingestion Protocol,是一种基于 HTTP 的协议,专为简化 Web RTC 推流流程而设计。它通过标准化的 HTTP 接口,替代传统 Web RTC 中复杂的 SDP 信令交换和 ICE 协商,广泛应用于低延迟直播、视频会议和远程控制等场景。

妮妮:哪些客户端和服务端支持呢?

小新:WHIP 的核心功能是将客户端(如浏览器或 OBS,FFMPEG8.0)生成的媒体流推送到媒体服务器(如 SRS、Janus、LiveKit)。它的主要优势包括简化信令流程、标准化接口以及基于 WebRTC 的低延迟传输。

妮妮:这么多的应用,是不是意味WHIP协议是未来更好的直播推流协议了?

小新:个人认为并不会是这样。

妮妮:详细说说。

小新:先说说视频直播的技术要求和特点:首先,直播要求平稳,流畅,不卡顿,不花屏;其次,能容忍网络抖动,短时间的网络阻塞不会影响流畅性;再者,运动直播,游戏直播要求高帧率,保证其高分辨率,高帧率;

妮妮:直播对质量和体验的要求很高呀,之前的直播技术推流是怎么处理的?

小新:传统的推流采用RTMP协议,客户端推流的时候,如果遇到TCP发送阻塞,会有一个本地缓存队列把暂时要发送的音视频缓存起来,这个队列可以有2到6秒;而拉流播放端也有个2~4秒的播放缓存,也就是即使出现几秒的抖动,卡顿,是不影响用户流畅观看的。

妮妮:哦,理解了,也就是用缓存队列换流畅,或者说用延时换流畅。那么WebRTC推流的技术特点呢?

小新:Web RTC的传输,是低延时的传输方式。它的流控方式有:丢包重传,动态码率,流量整形。

妮妮:听着好高大上,能详细说说吗?

小新:传输基于不可靠的UDP网络,也就是视频传输可能出现丢包,所以有自己的丢包重传机制,但是丢包重传的重传队列只有几百毫秒,也就是达不到秒级。

妮妮:听着是有点悬,那遇到网络短暂的抖动,假如短暂的阻塞了,怎么处理?

小新:遇到网络阻塞时,其没有阻塞缓存队列,是通过带宽预测算法估计出口速率,采用降低视频速率,降低视频编码质量的方式,有时候预测算法不及时,就可能出现少量的丢包情况。

妮妮:也就是观看者可能看见花屏,或抖动的画面。

小新:是的。而且Web RTC对编码也有限制,H264编码仅仅支持baseline profile和最低main的profile,也就是压缩率最低的方式。

妮妮:但是直播不是应该提供高清,且压缩比高的视频吗?

小新:你说的对,所以这方面Web RTC是满足不了的。

妮妮:虽然有这么多缺点,那Web RTC的直播推流有哪些实际的应用场景呢?

小新:如一些会议过程,主播需要用OBS推流加入某个会议,并直播出去,这种情况就需要Web RTC;或者某些平台仅支持WHIP的接入方式;再就就是工业界,一些设备推流用Web RTC技术,实现高实时性观看的需求。

妮妮:理解了,传统的直播协议RTMP暂时还不能被替代,Web RTC的直播推流仅仅在某些场景才会使用。

小新:是的,不过使用者要想要抗弱网的能力,可以考虑基于QUIC协议的WebTransport,当前已经有讨论在其上面承载媒体流的想法和协议设计了。

妮妮:技术真是在飞速的发展。如果大家觉得感兴趣,欢迎大家点赞,关注我们。

相关推荐
探鸽小钛3 天前
4G 终端 ES8311 - 挂断一次,下次说话就没声了之解决办法
物联网·音视频·嵌入式·esp32·webrtc
草根大哥4 天前
AI 编程实践之自建视频CDN
音视频·webrtc·低延迟直播·视频cdn·低延迟cdn
EasyCVR4 天前
应急指挥怕延迟?聊聊视频汇聚/视频融合/视频分析EasyCVR平台WebRTC低延迟方案
音视频·webrtc·easycvr
TrueDei5 天前
WebRTC ICE 候选变成 mDNS 地址导致连接失败:原因分析与解决方案
webrtc
中屹指纹浏览器svip8 天前
WebRTC泄露是什么,怎么关闭?
webrtc
海边捡石子8 天前
从零设计一个通用智能电话平台:FreeSWITCH + ESL + AI 实战架构
人工智能·架构·webrtc
音视频牛哥9 天前
不换摄像机,也能接入 WebRTC?SmartMediaKit RTSP/RTMP 转 WHIP 技术实践
音视频·webrtc·smartmediakit·rtsp转whip·rtmp转whip·whip推流·rtsp转webrtc播放
直播技术开发交流11 天前
Android 端 WHIP 协议推流技术实践:相机/录屏/多路转发WHIP实现测试
webrtc·android whip·rtsp转whip·毫秒级实时媒体流·whip低延时推送·whip推送实现·rtsp转webrtc
程序员阿明13 天前
docker搭建视频流服务go2rtc,webRTC
docker·容器·webrtc
O。O蛋黄酥啊16 天前
实时语音 Agent 开发完全指南:从 ASR/TTS 到 WebRTC/VAD 的链路拆解
大模型·webrtc·语音识别·tts·asr