上QQ阅读APP看书,第一时间看更新
3.2.3 适当增加时延
除了增加带宽、减少数据量外,适当增加延迟也可以解决部分业务质量和网络之间的矛盾。
例如,数据在网络上传输时,根据不同情况,传输速度有时快有时慢。我们将数据传输时出现的时快时慢现象称为网络抖动。如果不对网络抖动加以处理的话,它会对音视频服务质量造成严重影响:对于视频来说,网络抖动会造成频繁卡顿和快播现象;对于音频而言,则会出现断音、吞音等问题。这样的服务质量是人们无法忍受的,如何解决这一问题呢?方法其实很简单:增加时延,即先将数据放到队列中缓冲一下,然后再从队列中获取数据进行处理,这样数据就变得“平滑”了。
不过对于实时音视频直播而言,必须把延时控制在一定范围之内。那么时延范围设置为多大合适呢?通过表3.1中的指标可以知道,只要让单向延迟小于500ms,大部分人都是可以接受的。由于音视频的采集、编解码、渲染等时间是固定的,所以只要将网络时延计算出来,就可以确定缓冲区的时延了。
从上面的描述中可以知道,虽然实时通信对延迟有着极严格的要求,但通过增加适当的、小幅度的延迟是可以提升音视频质量且不影响实时通信效果的。