开发直播app软件需要先解决这个问题才行
在讲延时问题之前,我们需要先来了解一下延时是如何产生的。在传输过程中,每个不同的阶段都会产生延时,主要包括设备端上的延时、设备端与服务器之间的延时、服务器之间的延时。作为直播中最常出现,也是用户最常关注的问题之一,怎样才能在开发直播app软件时解决这个问题呢?在直播中,通常会用到一些直播网络应用协议,比如:RTMP和HLS等。但是从低延时直播的角度来看,RTMP协议是最适合解决直播低延时问题的传输协议。
1.受Adobe支持
RTMP是现在编码器输出的工业标准协议,基本上所有的编码器都支持RTMP输出。主要原因还是因为PC端的市场足够大,而Windows的浏览器基本上都支持flash,flash又支持RTMP。虽然对于手机端来说选择HLS协议较多,但是这个协议在移动端的延时并不低。所以,要想移动端的延时也能降低,目前的最佳选择就是选择RTMP协议。这也是RTMP在直播开发业务中受欢迎的原因之一。
2.延时低
RTMP对于YY直播的UDP私有协议来说,延时保持在1-3秒其实算是比较大的延时了。但是对于HTTP流的延时来看,还是很低的。不过,对于普遍的直播应用场景,RTMP所产生的延时是大众可以接受的程度。
3.长时间播放
由于RTMP能够做到flash播放并且长时间不断流,这样一来客户端的稳定性就会得到一定的保障。
4.存在一定的累积延时
凡事有利就有弊,RTMP有个弱点就是容易累积误差。主要原因就是RTMP基于TCP不会丢包。但是当网络状况较差时,服务器就会将包缓存起来,导致累积的延时。如果网络状况变好以后,就一起发送到客户端。需要注意的是,客户端的缓冲区很大的话,就断开重连。
虽然在开发直播app软件时可以使用RTMP协议实现低延时直播,但是大前提是整体的网络环境需要足够好。所以,要想实现低延时,还需要注意网络基建方面的问题。怎样才能提高网络基建的质量呢?
1.充分覆盖
通常像这类音视频直播的云服务机房,大都会分布在几个比较核心的枢纽城市,边远地区用户的访问质量无法得到一定的保障。而且,国内各个网络运营商的覆盖程度是参差不齐的,有的网络运营商并没有覆盖到一些边远地区。为了完成全网的充分覆盖,可以采取多节点代理和重定向,以确保全网充分覆盖无盲点。
2.网络节点资源
音视频云服务是在网络基建下面的,所以说下层的网络基建质量必须要过关。为了保证低延时直播,最好可以对接一线的网络运营商。这样一来,部署的网络节点资源无论是质量还是数量都是有足够保障的。
其实作为交互性极强的平台来讲,延时是每一个直播用户都非常关注的问题。像映客虎牙等主流直播平台,肯定在解决延时问题上没少下功夫,不然他们的日活用户数也不会那么高。所以,在开发直播app软件时应该先解决延时问题,才能使得直播平台保持稳定的发展效益。
本文声明原创,转载请注明云豹科技。(www.yunbaokj.com)