
一、 什么是JitterBuffer
Jitter Buffer也叫做抖动缓冲区,它是实时音视频里面的一个重要模块,它对数据包丢失、乱序、延迟到达等情况进行处理,平滑的向解码模块输出数据包/帧,抵抗各种弱网情况对播放/渲染造成的影响,降低卡顿,提高用户的观看体验。
二、JitterBuffer在音视频系统中的位置
JitterBuffer在实时音视频系统中的位置如下所示:

三、 视频JitterBuffer的工作原理
1. JitterBuffer的核心思想
Jitter buffer的核心思想是用时间换空间,以增大端到端的延迟为代价来换取视频通话的流畅性。当网络不稳定时(抖动发生),增加buffer的长度,多缓存一些数据,以应对将来可能发生的抖动;当网络稳定下来时,减小buffer的长度,少缓存一些数据,降低视频端到端的延迟,提高实时性。因此jitter buffer的运行过程是一个根据抖动来动态调整buffer长度的过程。好的jitter buffer能够在保证尽量不卡的前提下降低端到端的延迟,即它能够在延迟和卡顿率之间取得较好的平衡。
2. 产生抖动的原因
1) 网络传输路径改变。例如,当前的传输路径是A,但是下一刻路径A上的某个路由器出现了故障,这时候数据包的路径就会发生改变,导致端到端的传输时长发生变化。
<
本文深入解析JitterBuffer在实时音视频系统中的作用及工作原理,阐述其如何通过时间换空间策略,平衡延迟与卡顿,提升用户体验。并介绍了WebRTC中JitterBuffer的实现细节,以及网易云信NRTC在计算网络抖动基础上,如何优化抗丢包策略,实现低延迟与高流畅性的平衡。
最低0.47元/天 解锁文章
300

被折叠的 条评论
为什么被折叠?



