播延时,对于任何一个接触网络直播的人而言都不陌生,很多客户第一次做企业直播的时候就非常关心:为什么会有延时,怎么才能0延时呢?通过阅读本篇文章,也许你就会知道答案了。
网络直播为什么会有延时?
在《玩转直播设备三大件:视频采集、编码器、直播平台【自己开直播02期】》中,我们提到直播流程:直播内容采集→处理→编码→封包→推流→传输→转码→分发→解码→播放,每个阶段对直播的延时都会有一定的影响。由于音视频的传输路径一样,我们可以通过一张图来说明延时的产生:
(以手机直播为例)
在音视频传输过程中,在不同阶段都会产生延时。总体可以分为三类:
通过图表,我们可以发现延时是因多个阶段的数据处理、传输而产生的。其中,涉及的影响因素主要有:推流网络环境(视频录制),服务器上传、下发带宽,拉流网络环境(播放)等。
所以,你要了解一个真相:所谓“0延时”,目前的技术是不太可能实现的,我们现在能做的是尽可能缩短直播时的延时。
我们不能准确保证延时多少秒,在任何实验环境下都可以达到很低的延时,但是到实际环境中,要考虑边缘节点的部署、主干网络拥塞、弱网环境、设备性能、系统性能等问题,实际延时会更大。
一般编码器直播,PC端延时2~3S,移动端延时15~25S。移动端的延时增加,主要是由hls的转码引起。手机直播,通常比编码器直播增加2S左右延时,桌面直播工具推流,通常比编码器直播增加5S左右延时。如果关键帧间隔是3秒,手机上可以保持在20s的延时。
微视播怎样保证低延时?
既然大家对延时如此关注,那么作为提供直播技术的微视播的角度来说,我们是如何保证客户直播的低延时呢?
一:微视播支持RTMP协议推流
传输协议的选择十分重要。传输协议一定程度上就决定了延时的范围。从低延时直播的角度来看,RTMP协议是作为直播协议输出最佳选择。RTMP是基于TCP的标准协议,CDN网络普遍支持,也能做到相对较低的延时。
RTMP支持播放的渠道很完善,能做到不同观看渠道长时间稳定播放不断流,这对于企业直播很重要。对推流有兴趣的朋友可以阅读《不懂推流?说说直播背后不得不知的“流”【自己开直播01期】》。
▲微视播直播“流媒体技术”原理图
二:CDN内容分发网络
CDN是通过在网络各处放置节点服务器所构成的在现有的互联网基础之上的一层智能虚拟网络。CDN是一个策略性部署的整体系统,能够实时地根据网络流量和各节点的连接、负载状况以及到用户的距离和响应时间等综合信息将用户的请求重新导向离用户最近的服务节点上。
▲微视播直播国内节点资源分布概况图
CDN加速服务的质量受节点的多少影响,这个很容易理解,节点多,资源的配置和调度上选择的空间就比较大。简单说:CDN的作用就是帮助数据选择用时最短的传输路线。
三:完善的网络部署
要实现低延时,网络基建必须要足够好。我们可以这么比喻:道路网络不好,怎么选都是烂泥土路,选了烂泥土路,如何能够跑的快呢?网络是非常重要的。
微视播会给客户提供网络部署指导建议,如果是单场直播需求的客户,我们的执行人员会到现场针对不同实际情况进行网络部署,确保现场网络的良好。
▲微视播一般网络解决方案
四:专业的运维服务
为了保障我们的服务器正常稳定运作,微视播有专业的运维团队,随时对客户各种突发情况快速响应处理,保证直播活动的顺利进行。
我们也希望实现“0延时”,但理想丰满,现实骨感。每一个完美的直播背后都需要多设备、多流程配合完成的,正所谓“蝴蝶效应”,任何一个小环节都会对直播延时产生影响,那么就肯定有它触及天花板的时候。微视播将不断完善开发直播系统,保证直播的低延时、稳定性,同时视频播放高清流畅。