流媒体网
有时候我们开发一个流媒体系统,做完了却不知道如何在数字上描述我们的系统,体现我们的优势,作为客户来说,可以描述这套系统的数字指标是最直观的。网络性能是最重要的,在流媒体网络中,影响流媒体服务器质量QOS的因素有很多,而这些因素可以作为我们衡量流媒体网络性能的指标。
衡量流媒体网络性能的指标主要有:
- 带宽
- 吞吐量
- 延时
- 抖动
- 丢包率
本篇文章主要讲下抖动(jitter),以及如何处理抖动,本文主要针对语音通信。在网络中,每个包从发送端到接收端的时延是不相同的,而jitter就是用来衡量这种不同。在发送端数据包发送时间间隔是相同的,也就是均匀发送数据,但是由于各种情况,接受端收到数据包间隔就会不一样了,可能一会大,一会小,这就产生了抖动,严重影响音质。
下面先了解下传统学术上的相关定义。
• 延时:记s(i), r(i)分别为第i个包的发送、接收时间戳,记d(i) = r(i) – s(i)
• 抖动:jitter(i) = d(i+1) – d(i)
传统定义中,抖动仅能描述某个时刻的情况,而流媒体是持续的,我们更关注某个时间段上的情况,对比某时刻情况更实用。
为了更好描述某个时间段的抖动,我们可以如下定义更实用的抖动相关指标(参考声网):
1)记s(i), r(i)为第i个包的发送与接收时间戳,延时d(i) = r(i) – s(i);
2)t秒为一个统计周期,集合D = {d(i) | i ∈ t秒内收到的包序号集合 };
3)对集合D做从小到大排序,得到D(sorted);
4)对D(sorted)中每个元素,减去D中最小值min(D),得到新的集合 D(jitter)。
现在D(jitter)中元素含义就是,t秒内所有语音数据包传输延时,相对最快那个数据包的偏移,原来抖动定义是相对前一个包延时偏移。可知D(jitter)中最大元素表示传输延时最大的。
为了消除抖动,接收端要么丢帧,要么延时。一般都会引入一个缓冲区,也就是抖动缓冲(jitterbuffer)。引入了抖动缓冲后,我们可以这样处理抖动:
1)jitter > jitterbuffer length,丢帧处理;
2) jitter <= jitterbuffer length,延时处理。
所以现在D(jitter)中最大元素表示:如果jitterbuffer大小拉长到这个值,就能成功播放t秒内收到的语音数据。按这个定义,我们就可以动态设置我们的jitterbuffer大小,每一个t时间周期调整一次jitterbuffer。
如果想对抖动缓冲有更深入学习,可以参考webrtc资料以及谷歌学术上相关论文,相关研究很多。
相关阅读
网络推广的含义是:利用互联网进行宣传推广的行为或活动。企业做自己的网站,一定要树立良好的品牌形象。良好的企业形象不仅能获
企业需要依靠网站才能网络推广,因为企业网站对于网络推广具有很大的影响,是基础,具体的可以SEO实验室小编一起来了解下!
网络营销需做到的五大工作。网络品牌推广可以说是企业在这个时代所要做的一件事,虽然有的品牌在传统市场很知名,但是到了网络市
常见的网络推广渠道有哪些?很多企业陆续开工营业了,那么对于每年的营收一般都会做一个年度计划,在企业品牌宣传和网络营销推广上,有
网络营销外包(网站推广外包、网络推广外包),就是把原本需要企业自己雇人实现的网络营销工作以合同的方式委托给专业网络营销服务