低延时在不同直播场景下的应用
2021-08-31 14:45:04 来自:获得场景视频
大家好,今天给大家讲一下“低延时在不同直播场景下的应用”。
随着直播+的兴起,各行业与直播擦出了别样的火花,电商直播、游戏直播、教学直播、医疗直播、金融直播等等,直播已成为各行各业商业发展的核心动能。
而在这不同行业、不同场景的直播中,低延时问题也成为大家关注的重点。
其实,平常人们打电话或者微信通话时,很少感受到延时,因为不超过1秒的延时对互动的影响很小,几乎可以忽略。但忽略不代表不存在。
根据不同技术的使用,延时的效果也会有所不同,目前市场主要有三种音视频技术协议:RTMP 协议、RTSP协议 、webRTC技术,RTMP一般会有3—7秒的延时,RTSP是0.6—1.5s延时,技术翘楚要数webRTC,能达到0.4s的延时,这已经非常低了。
越低延时当然越好,但是不是所有的直播都要选webRTC这种技术来达到最小的延时效果呢,这就不一定了。
在说这个问题之前,我们先了解一下为什么会有延时这个问题。
信息的传递需要介质,而介质其实就是一个载体,打个比方,你要从深圳到北京,需要选择飞机、高铁等交通工具,而这个乘坐交通工具的过程就需要耗费一定的时间。而直播的过程中,也需要借助网络在一定的时间来完成信息的传输,所以会有一定的延时。
不仅乘车的行程需耗时,包括登机、起飞、飞行天气、下机、拿行李,这些事也需要时间。这和直播信息传输类似,直播是一台设备端和另一台设备端的信息传输,在采集端的采集、前处理、编码,播放端的接受、解码、后处理,包括采集端传输数据到服务端、服务端传输数据到播放端都会有延时,而且服务器之间也会有排队、服务处理等延时。这就导致了直播信息传输的延时。
刚刚提到的3种音视频技术之间也是有很大区别的,RTMP和RTSP这两者都是基于TCP协议。TCP诞生于40年前并为互联网的标准,意思是当设备A传输内容到设备B的时候,两台设备都要使用相同的TCP协议才能实现信息的发送与接受,发送数据前进行三次握手建立连接,而且发送的内容也会有一些拆分和拼接。
RTSP传输一般需要2-3个通道,命令和数据通道分离,而RTMP一般在一个通道上传输命令和数据。这就像奥运百米赛,RTSP是三个运动员站在三条跑道上冲刺,而RTMP是三个运动员站在一条跑道上,这个结果自然是RTSP要快一点。所以RTSP的延时一般在0.6s—1.2s,而RTMP延时要长一些,到了3s—7s。
RTSP虽然实时性最好,但是实现复杂,适合视频聊天和视频监控;RTMP强在浏览器支持好。
随着技术的不断发展,谷歌开放的实时通信框架WebRTC在市场得到了广泛的应用,包括阿里、腾讯云、华为等大厂都采用了这个技术。
WebRTC与前两者不同,其不以TCP协议为主而是基于UDP协议来实现的,UDP是一个非连接的协议,传输数据之前源端和终端不建立连接,当它想传送时就简单地去抓取来自应用程序的数据,并尽可能快地把它扔到网络上,而且它不会对数据报文进行任何拆分和拼接操作,效率比TCP要高。另一方面,WebRTC的一些机制可以处理丢包、乱序、延时到达等情况。这使得传输不仅可以对抗弱网环境,还可以实现0.4s的延时。
这样看WebRTC在弱网和低延时上好像是略高一筹?不过有个点还需要提及,就是其对CDN支持较差。而RTMP和RTSP,对CDN支持良好,大部分主流的CDN厂商都可以支持。
那么,我们再回到最初的问题,WebRTC延时低,是不是所有直播就得选它,答案当然是否定的。WebRTC技术出现后,像RTMP、RTSP由于具备良好的实用性和推流的稳定性并没有被市场淘汰。除了RTMP、RTSP在性能的稳定外,成本也是重要因素。
在同样的视频画质下,WebRTC每人每分钟的成本是RTMP成本的三倍。细算之下,要是搞一天的万人直播会议,对比RTMP采用WebRTC技术,老板收到账单简直要瑟瑟发抖。
综上所述,我们可以知道,技术的应用是需要具体情况具体分析的,就像购物需要根据自己具体需求与预算来制定计划的。在实时音视频应用当中,每个行业对低延时的要求是不同的。
比如游戏直播,体育赛事,新闻直播这类规模较大但对延时要求不高的直播,有几秒延时不会产生本质影响,就可以采取RTMP技术。
而像视频会议,小班课教学,直播卖货这种人数较少、需要频繁互动的场景,就需要WebRTC技术来满足。因为用户对信息的滞后性,互动效果不佳,对整体会议、直播影响都很大。
产品的开发追求极致,想让延时低到极限。但理想丰满,现实骨感。一方面,延时是因多个阶段的数据处理、传输而产生的,无论何时都有其触及天花板的时候。另一方面,针对不同的企业直播场景应用,选择哪种直播技术需要综合延时、视频质量、行业特性、以及付出成本来权衡和选择。低延时可能是最好的,但不是最合适的。
最后,技术总是在不断前进与发展的,我们期待更好的科技带我们走进更美好的生活。