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

本文深入探讨了WebRTC中BBR算法在媒体传输时的拥塞控制策略,包括输入参数如OnSentPacket和OnTransportPacketsFeedback,中间结果如RTT和BW的计算,以及输出的pace_rate和cw。通过调整增益和模式转换,如STARTUP、DRAIN、PROBE_BW和PROBE_RTT,来实现最小RTT和最大带宽的平衡,确保高效的媒体传输。
摘要由CSDN通过智能技术生成

算法原理参考https://zhuanlan.zhihu.com/p/80725471
一、输入
OnSentPacket:记录发送端RTP发包结果反馈(PacketNumberIndexedQueue)
OnTransportPacketsFeedback:接收端发送的包,ACK信息(TransportPacketsFeedback)
二、中间结果
RTT,BW:
对每个包用UpdateBandwidthAndMinRtt函数计算RTT和BW,具体实现在BandwidthSampler::OnPacketAcknowledgedInner
BW公式 rate = 数据量/时间间隔
DataSize sent_delta = sent_packet.total_data_sent -
sent_packet.total_data_sent_at_last_acked_packet;
TimeDelta time_delta =
sent_packet.sent_time - *sent_packet.last_acked_packet_sent_time;
send_rate = sent_delta / time_delta;

DataSize ack_delta =
total_data_acked_ - sent_packet.total_data_acked_at_the_last_acked_packet;
TimeDelta time_delta = ack_time - *sent_packet.last_acked_packet_ack_time;
DataRate ack_rate = ack_delta / time_delta;

取send_rate、ack_rate较小的值为根据该RTP包计算的BW值,然后更新max_bandwidth_,max_bandwidth_存较近回合最大的3个BW

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值