webrtc笔记-媒体部分(拥塞问题GCC)

算法原理参考https://juejin.cn/post/6844903679602982925、https://rtcdeveloper.com/t/topic/15587、https://zhuanlan.zhihu.com/p/184924220

一、启动探测带宽
类似BBR 探测模式,设置目标带宽和数据量,对每个包计算带宽,估算实际最大带宽,由ProbeController、ProbeBitrateEstimator类实现。对于慢启动,是否可以用BBR的startup模式快速填满通道,再用GCC的丢包、延时估算带宽?

二、基于丢包带宽估算
输入OnReceivedRtcpReceiverReportBlocks:记录接收端上报的信息,丢包率
调用GoogCcNetworkController::OnTransportLossReport ;SendSideBandwidthEstimation::UpdatePacketsLost
然后用一分段函数计算带宽,比较简单,相关常量可以尝试修改验证效果,需要注意RR丢包情况。

三、基于延时带宽估算
为什么不使用jitterbuff的网络延时评估值r2-r1,使用延时梯度(r2-r1) - (s2-s1),是精度更高吗?还是TransportFeedbackAdapter没有记录RTP时戳,不能计算打包时长?还是使用trendline求的延时变化而不是直方图求的延时?
主要研究GoogCcNetworkController::OnTransportPacketsFeedback,注意那些deprecated、under development的类干扰,难点是TrendlineEstimator类的求延时变化、过载检测、阈值更新。
延时变化:X轴为包到达时刻,Y轴为延时梯度

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值