实时视频传输中的BBR拥塞控制

  • 时间:
  • 浏览:1

3.6 BBR与GCC比较

BBR的比较豪放激进,具有不容易被某些应用抢占速率单位、码率调节实时性高,能很好应对网络变化、能越来越 对应各种类型的网络丢包和技术成长期的句子的句子的句子是什么是什么 的句子期期图片 图片 是什么是什么是什么 是什么等优势。



但BBR的不够也表现在,评估最小RTT时会 减小窗口,那我会使发送码率下降,极端清况 下会使实时视频瞬间质量变差。BBR在诞生之初并完整版时会 用做小速率单位传输,统统 在小码率视频传输过程中,BBR的效果不言而喻明显。最重要的大问題还有padding计算流量不经济实用,都还能能在使用过程中重点考量。BBR所有的速率单位统计和实效性完整版时会 基于RTT,可能RTT过大会原困 速率单位的条件不太平滑。

即时速率单位是通过发送的数据和接收/发送端的相互统计,可能网络位于抖动会使send bitrate变得非常大,即时速率单位越来越 超过发送端五种的速率单位,统统有要在两值中取最小值以减少误差。

在探测最高速率单位时,使用pacer的padding来满足BBR的probe_bw清况 最大速率单位探测要求。

3.7 多路竞争测试

远端packet feedback反馈信息输送到BBR愿意 ,经过一系列运算得到拥塞控制的窗口大小(TCP发送端口)和发送码率。

上图是关于BBR多路竞争的测试,测试过程是在200kBps的速率单位下分时间段引入三路BBR数据流,最终观察发送码率有无平均分配的。

3.4 AIMD码率决策

pacer的发送机制基于BDP发送数据和pacing rate发送数据,可能发送数据可能超过了BDP的吞吐量,此时pacer不不再向外发送数据加重网络拥塞,pacing是间隔5毫秒的间隔发送,pacing rate是基于5毫秒发送的数据量,基于这另一个条件就能越来越 构建出定时发送的pacer。

3.1 实时视频传输与BBR相结合

发送出去会有pace sender通过平滑发送发到接收端,接收端会把另一个另一个的包返回给发送端,发送端通过事件能越来越 放慢得到最小延迟和最大速率单位的样本,结合一定的算法得到相对应的BDP,由BDP能越来越 得到pacing rate,最后不断调整速率单位形成循环,达成拥塞控制的目的。

RTT在实际应用中设计的是记忆帧的反馈,那我减少了反馈数量的同时也提升了速率单位,通过上图中的公式能越来越 得到RTT的反馈序列。

1.2 实时视频的困扰



实时视频传输中常见的大问題主要有卡顿、延迟、抖动、视频模糊和断线重连五种。造成有有哪些大问題的原困 是多种多样的,但其中最越来越 忽视的另一个原困 统统 网络拥塞。

网络拥塞是指发送的数据超过了网络能承载的传输能力,但人的需求无限,即使新技术在不断地发展,网络拥塞的清况 在未来还是会不断出显。

在复杂化的网络环境中,愿意 实现实时视频传输,拥塞控制算法是尤为重点的一环。本文分类整理学着神君高级技术总监袁荣喜在LiveVideoStackCon 2019上海大会中的分享,完整版介绍了BBR拥塞控制算法在实时视频传输中新的实践以及优缺点。

网络位于拥塞的原困 大致有以下几点,WiFi/4G信号衰减、核心传输链路衰减、网络出口竞争、重发风暴和设备性能衰减等大问題时会 带来网络拥塞的大问題,其中WiFi/4G信号衰减原困 信号被污染,原困 传输信道的吞吐率下降,最终造成网络拥塞。

BDP的计算法律法律法律法律依据是网络周期性最小延迟*网路周期性最大速率单位。

上图中能越来越 明显看得人BBR在网络限速的清况 下表现要比GCC良好某些,不不有大幅度的网络抖动和衰减。

3.3 Pacer

亲戚亲戚愿意 们愿意 们愿意 们好,我是来学着神君的袁荣喜,本次分享内容的核心是BBR在实时视频传输中的实践。BBR不言而喻是基于TCP的五种拥塞算法,在实时音视频中的运用也是五种全新的尝试,接下来我可能为亲戚亲戚愿意 们愿意 们愿意 们逐一介绍你是什么尝试所带来的优缺点。

首先整个网络分为正在传输和位于堆积两累积,BBR在构建模型中只计算网络正在传输的累积,计算过程中引入了BDP(拥塞控制窗口)的概念。当前路由器的吞吐和缓冲能力大大加强,包在发送到路由器时不言而喻会位于拥塞,但在足够的内存和磁盘存储空间的条件下不不位于丢包大问題,记忆延迟对网络更加敏感,但记忆丢包可能不位于丢包码率就不不下降,在你是什么清况 下记忆延迟抢不过丢包。

2.2 网络FIFO概念

实时传输领域位于着五种三角关系,其中成本一般认为是硬件、软件和通讯速率单位所带来的成本,延迟是指获得整个流媒体的速率单位,比如实时视频中的双端延迟和观看长视频时的首帧延迟,质量能越来越 理解为视频清晰度和数据完备性,你是什么三角关系均是以保证其中一角而牺牲其余两角的方案来建立实时传输方案。随着互联网的发展,设备的成本越来越 低,手持设备越来越 方便,但由此也带来统统有在实时视频传输过程中的大问題。

BDP/RTT统统 亲戚亲戚愿意 们愿意 们愿意 们认为能越来越 发送的码率。

3.2 Feedback

1.3 网络拥塞

BBR是基于接收端反馈和发送端调节码率的拥塞控制算法。

讲到音视频的传输可能实时传输,就都还能能要了解传输和拥塞的关系。

*文 / 袁荣喜

分类整理 / LiveVideoStack*

1.1 传输三角关系

针对网络拥塞的大问題,业界也老是 在提出不同的拥塞控制算法,拥塞算法的核心包括判断拥塞清况 和决策相当于的发送码率,这另一个不言而喻是map和reduce模型,把网络上返回的数据进行map,通过网络清况 ruduce出另一个合理的发送码率。



GCC是五种基于延迟预估和丢包的拥塞控制算法,算法分为在接收端进行卡尔曼算法预估后返回发送端进行码率调整两累积。Transport CC是基于发送端线性预测的拥塞控制算法,与GCC一样主体完整版时会 基于速率单位的拥塞控制判断。你是什么种算法位于不同程度上的不够,在实现算法的过程中过于学术,比如GCC中含另一个丢包率2%/10%的预值,但不言而喻拥塞位于不言而喻时会 产生丢包,统统 丢包统统 一定原困 位于拥塞,你是什么清况 对于GCC是失效的。GCC基于速率单位估算的主体在现阶段来看与速率单位的记忆丢包越来越 争抢率,斯坦福大学提出的Salsify算法是基于视频帧之间的速率单位去估算整个编码器的编码速率单位,但它一定要在编码器的基础上执行,无法满足将视频传到sever上进行分类分类整理的要求,可能只做分段拥塞控制就都还能能在sever上进行重解码和重编码,无法满足目前实时视频领域的应用。

3.5 拥塞控制与QoS

BDP中网络周期性最小延迟和网路周期性最大速率单位是通过BBR的3个清况 机来计算的,第另一个清况 是STARTUP,BBR刚进入STARTUP时会 进行慢启动,慢启动不断地增加速率单位到速率单位不再增长可能位于丢包大问題就会切入DRAIN排空清况 ,进入排空清况 是可能BPD已满,飞行数据位于堆积。DRAIN清况 会在发送数据小于BDP时进入重新评估速率单位的过程,可能持续一定周期还越来越 探测到最小RTT的值,就都还能能进行最小RTT的探测工作,BBR将窗口设置为另一个miss大小可能保留3/4的大小去估算最小延迟,估算开使英语 后重新回到STARTUP清况 。

网络协议进入网络接收器愿意 ,通过RTCP的法律法律法律法律依据获得feedback信息直接输入BBR,再通过一系列清况 机计算出速率单位和窗口大小,码率分配器会根据各种清况 对码率进行重新分配,调节视频编码器使码率达到缩放自如的反馈。实时视频有非持续性的特点,关键帧之间流量不均匀,帧间位于速率单位,老是 发送实时视频会原困 中间为空的清况 ,为了处里那我的清况 位于设计了pacer用来平滑发送。

BBR是及时发送的码率而完整版时会 编码器都还能能采用的码率,那我会原困 网络拥塞大问題更加复杂化,统统 设计了AIMD码率决策来控制video码率的机制。可能BDPinfight_size时,不言而喻会采用即时码率统统 用和式加来对码率进行控制,通过上加另一个固定倍数码率来平滑地控制整个运作的反馈机制,处里网络恶化。

QoS和拥塞控制是另一个概念,QoS是在拥塞控制的范畴之下进行的,码率和拥塞控制的窗口大小会制约QoS的行为。FEC/NACK之间是制约关系,统统有一定要基于决策码率来做。

实时传输理想的拥塞控制算法要满足另一个特点,第一要相对激进,算法才能抢过流氓软件和某些基于丢包的算法。第二要对百毫秒级可能是毫秒级的码率进行实时调整,间隔尽量减小,尽量快的适应传输条件,那我卡顿时间不不太长,也才能带来更好的用户体验。第三是才能应对延迟型和丢包型的拥塞,同时才能进行分段计算。

2.1 模型