WebRTC系列-网络之带宽估计和码率估计(4)接收端带宽估计-发送端paced

本文深入探讨WebRTC中的PacedSender,它负责平滑发送数据包,防止网络恶化。文章介绍了PacedSender的初始化、包处理、pacer的启停、码率更新以及固定频率发送数据的机制,阐述了如何通过pacing实现拥塞控制,以优化网络传输质量。


这篇是接收端带宽评估的最后一篇,在上一篇中分析了在接收端基于丢包的带宽估计处理方法;
带宽估计后的值一方面会反馈到编码器控制编码码率,同时也会反馈到节拍器中;

pacing、pacer、pace,顾名思义,有节奏、按照节奏发送报文的含义,一般我们也称作平滑发送。
pacing是拥塞控制中重要的一个环节,它受拥塞控制输出的估计带宽、拥塞窗口大小控制,按照节奏(一般是5ms)保证报文匀速地发送到网络中,可以避免短时间大量报文造成网络情况恶化。

引用位置:https://zhuanlan.zhihu.com/p/184924220

1. 初始化

1.1 PacedSender初始化及数据包

在RtpTransportControllerSend的构造函数中初始化了pacer_也就是PacedSender类;
CreateRtpStreamSenders中通过transport->packet_sender()获取到pacer,然后赋值给 RtpRtcp::Configuration,这个作为参数传递给ModuleRtpRtcpImpl的构造函数;最后是在RTPSender中调用InsertPacket把每次要发的包加入到队列;
图如下:

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

简简单单lym

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值