WebRTC 中带宽估计与拥塞控制算法

WebRTC 中的带宽估计与拥塞控制算法有很多,以下是其中几种:

- GCC(Google Congestion Control):基于丢包的带宽估计,其基本思想是根据丢包的多少来判断网络的拥塞程度。丢包越多则认为网络越拥塞,发送速率就需要降低;如果没有丢包,则说明网络状况较好,可以提高发送码率以探测是否有更多的带宽可用。

- Goog-REMB:基于接收端的延迟算法,利用延迟值,通过卡尔曼滤波器估计出下一时刻的网络带宽趋势。但效果的准确性和公平性不如 Transport-CC,目前已经被 WebRTC 的新版本所淘汰。

**- Transport-CC:**基于发送端的延迟算法,也是利用区间延迟值,通过 TrendLine 滤波器(最小二乘法滤波器),通过斜率的增加或者减小来判断当前网络的拥塞状况。

Transport-CC将拥塞评估算法从接收端移动到了发送端,是通过接收端记录数据包到达时间,构造相关RTCP包,然后反馈给发送端,在发送端做带宽估计,从而进行拥塞控制实现的。这样做除了方便维护,也增加了相关算法的灵活性,因为大多数处理逻辑都放到了发送端。

**- BBR:**一种基于模型的拥塞控制算法,BBR 的模型包括两个显式估计参数:Bottleneck Bandwidth(瓶颈带宽)和 Round Trip Propagation Delay(双向往返传播延迟)。BBR 使用其模型寻找具有高吞吐量的操作点和低延迟,以在最佳工作点附近工作,系统需要保持两个条件:Rate Balance(最大发送速率)和 Full Pipe(BDP = BBR.BtlBw * BBR.RTprop)。

这些算法在 WebRTC 中都有广泛的应用,具体使用哪种算法取决于实际需求和网络状况。

相关推荐
huaweichenai2 小时前
如何实现html显示WebRTC视频监控流
音视频·webrtc
qq_310658512 天前
webrtc代码走读(十)-QOS-Sender Side BWE原理
webrtc
音视频牛哥2 天前
RTMP/RTSP/WebRTC/SRT/HLS/DASH/GB28181/WebTransport/QUIC协议规范深度分析
人工智能·计算机视觉·音视频·webrtc·大牛直播sdk·dash·webtransport
周帝4 天前
一篇尘封已久的笔记-webRTC初探和学习建议
webrtc
撬动未来的支点5 天前
【音视频】WebRTC连接建立流程详解
webrtc
metaRTC6 天前
metaRTC7 mac/ios编程指南
macos·ios·webrtc
筏.k6 天前
WebRTC 集成 FFmpeg HEVC 硬件解码(hevc_cuvid)avcodec_open2错误码-558323010
ffmpeg·webrtc
qq_310658516 天前
webrtc代码走读(五)-QOS-FEC原理
网络·c++·webrtc
qq_310658517 天前
webrtc代码走读(七)-QOS-FEC-ulpfec rfc5109
网络·c++·webrtc
RTC老炮7 天前
webrtc弱网-PccBitrateController类源码分析与算法原理
网络·算法·webrtc