我是靠谱客的博主 结实战斗机,最近开发中收集的这篇文章主要介绍什么叫网络抖动,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

本文为方便以后自己记忆记录,如有问题,请指正。

网络抖动:
网上说法是指网络中的延迟是指信息从发送到接收经过的延迟时间,一般由传输延迟及处理延迟组成;
而抖动是指最大延迟与最小延迟的时间差,如最大延迟是20毫秒,最小延迟为5毫秒,那么网络抖动就是15毫秒,
它主要标识一个网络的稳定性。

但是个人从直观表现上看指的是每两个相邻的数据包接收时的时间间隔之差,比如第一个数据包的与第二个数据包到达的时间差是20ms,可能第三个包和第二个包的时间差是5ms,
那么网络抖动就是15ms。

t表示一个个的数据包的序号,y表示相邻两个数据包到达的时间差值,从上图可知y的值是一直没有变化(也就是时间差值相同),这就是理想的网络质量,网络抖动为0。

 

实际的网络质量如上图,相邻两个数据包到达的时间差值都不相同,那么波峰H假设20ms,波谷D为5ms,那么网络抖动就是20 - 5 = 15ms。

网络抖动对视频的影响:
视频的显示是通过渲染来实现的,如果提供给渲染的数据包时慢时快,那么渲染显示的效果也是时快时慢,这样视频看起来就又可能忽然快忽然慢,或者看起来一卡一顿似的。

 

jitter buffer解决网络抖动给视频带来影响的原理:
通过计算网络延迟来知道网络抖动的大小,这样设置合适的缓冲区大小用来存储接收到的数据包。假设一开始网络抖动过大,这时我们
创建一块buffer用来接收数据,但不及时的送去给解码处理或者渲染处理,而是等待网络抖动大小设置的延迟时间到了才把buffer里的数据提供给解码或者渲染。
这块buffer里含有多个视频帧数据,这样解码器从buffer里获得的数据就是时间连续的,这样就不会出现视频忽快忽慢的情况,而是看起来很平滑顺畅。但是可以看出使用jitter buffer,渲染的视频就会和源视频有较大的延迟,这是不可避免的。

最后

以上就是结实战斗机为你收集整理的什么叫网络抖动的全部内容,希望文章能够帮你解决什么叫网络抖动所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(53)

评论列表共有 0 条评论

立即
投稿
返回
顶部