通常我们在进行直播间搭建的过程中,除了考虑技术是否到位以外,还需要考虑的就是搭建完成后用户体验是否会受到影响。本文主要是针对直播过程经常容易出现的延时问题,进行了简单的分析,希望能给大家提供一定的帮助。
影响服务器与采集端、播放端产生延时问题主要有以下几个因素(简单归纳总结为):
1. 客户端服务器之间的物理距离。
2. 客户端与服务器的网络运营商。
3. 用户终端网络的网速。
4. 负载和网络类型。
如果服务器只是就近的部署在服务区域,并且与客户端的网络运营商保持一致时,导致上下行网络延时的主要因素就是终端网络的负载和网络类型,也就是上面提到的第4点因素。一般情况下,wifi环境下的传输延时波动较大,延时通常在10-100ms之间不定。但是在有线的宽带网络下,传输延时差不多稳定在5-10ms之间。如果是国内除了移动、联通和电信的一些中小运营商,以及交叉的网络环境,那么产生的延时会更高。
在考虑延时的过程中,还需要考虑以下两种情况:
1. 两端都是连接的同一个边缘节点,要想作为最优路径,数据需要直接通过边缘节点进行转发,然后到达播放端。
2. 采集端与播放端如果不在同一个边缘节点的覆盖范围内,数据就会由采集端的边缘节点传输到主干网络,然后再发送到播放端的边缘节点。
所以,在实际的直播场景中,为了解决网络不佳或者是网络抖动带来的延时问题,一般都会在采集的设备端、播放端和服务器设立缓冲策略。只要触发了缓冲策略,就会产生延时。如果卡顿的情况出现的次数较多,那么延时也会逐渐积累起来。要想解决直播的卡顿和延时,其实最简单直接的办法就是优化整个网络状况。当然,这并不是一件十分容易的事情。
由于音视频数据在采集和播放端时产生的延时的原因不同,有可能是因为硬件的性能不同,也有可能是编解码内核的优化问题,况且设备不同所表现出的问题也不同。所以,要想解决直播过程中出现的各种问题,还需要在直播间搭建的过程,从多个方面进行考察并进行分析,从而找到最优的方法进行解决。
本文声明原创,转载请注明出处。