目录
jitterbuffer 主要作用
介绍
jitterbuffer 是webrtc 中的一个抖动缓冲区,用来应对网络异常时视频乱序、丢失、延时到达等情况。
jitterbuffer 总共分为两大块:一块是buffer,如,用来组帧的PacketBuffer、用来缓存帧等待解码的FrameBuffer;另一块是jitter抖动延时,抖动延时主要基于卡尔曼滤波计算出帧的解码等待时间wait_ms,因为一帧到来的可能快,也可能慢,为了更顺畅的播放,需要平滑帧的处理时间。
buffer 介绍
如前文所述,buffer 主要有两块,PacketBuffer、FrameBuffer。首先看下 PacketBuffer
主要代码逻辑见文件:webrtc\modules\video_coding\packet_buffer.cc
组帧
PacketBuffer 是在 RtpVideoStreamReceiver2 的构造函数中进行初始化
默认最大缓存2048个包,buffer的起始大小为512
Rt