什么是jitter

设计背景

jitter(也称为等待时间或延迟)是数据包从一个点到达另一个点所花费的时间。
JitterBuffer 是用于捕获传入数据包的临时存储缓冲区。

它用于基于数据包的网络中,通过在网络拥塞期间使数据包到达时间变平滑来确保音频流的连续性。 数据包独立传输,到达时间会因网络拥塞和所用网络的类型(即LAN与无线网络)的不同而有很大差异。

在这里插入图片描述

在这个前提下,jitter buffer的设计要求也就出来的:

  • 删除重复的数据包。
  • 如果数据包乱序到达,要对其重新排序。
  • 在丢包(错误隐藏)的情况下修复流。
  • 根据当前网络拥塞动态管理延迟。
  • 管理前向纠错(FEC)。

webrtc下的 jitter buffer

因为这一设计会影响严重影响用户体验,所以这里重点研究下webrtc中对这部分的处理。

webrtc 的 jitterbuffer 可以分为 jitter 和 buffer 。

buffer 主要对丢包、乱序、延时到达等异常情况做处理,还会和NACK、FEC、FIR等QOS相互配合。

jitter 主要根据当前帧的大小和延时评估出jitter delay,再结合decode delay、render delay以及音视频同步延时,得到render time,来控制平稳的渲染视频帧。

参考资料:

  1. programming_the_jitter_buffer
  2. https://www.jianshu.com/p/bd10d60cebcd
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值