直播延迟迟迟迟迟是怎么来的?
在互动大班课、双师课堂、1对多小班课中,如果延迟过高,就会降低课堂上师生的互动积极性,授课效果大打折扣。针对直播中延迟,文章主要给大家谈谈: 视频直播中的延时如何产生? 什么因素会影响延迟? 什么方法可以降低直播延迟?
正文共计 3568 个字,阅读大约需要 8 分钟。
延迟常常发生在直播互动中。
早上8点20分,邱老师刚给直播间里的学生讲完第1小节,刚好到答疑时间,5名同学的摄像头画面出现在了直播间里。
“关于这个问题,大家有什么要问的吗?”,邱老师开着视频,对大家说。
3秒钟后,才看到其中一个学生开始说话:老师,这道题……
邱老师愣了一下,怎么回事?
在这上面的场景中,存在着老师发问和学生反馈时间差,这通常被我们称为“延迟”。
你也许偶尔会遇到这样的情况:有时候直播还算正常,有时候直播画面比当前画面慢上几秒;学生提问,老师也没有及时回答上。
在互动大班课、双师课堂、1对多小班课中,如果延迟过高,就会降低课堂上师生的互动积极性,授课效果大打折扣。
针对直播中延迟,文章主要给大家谈谈以下几点:
-
视频直播中的延时如何产生?
-
什么因素会影响延迟?
-
什么方法可以降低直播延迟?
视频直播延时是如何产生的?
声音和光的传输需要时间,无线电波的传输需要时间,影像和语音资料的编码、解码都需要时间。这里我们主要看视频直播传输的时延。
一般来说,视频直播主要涉及到采集、预处理、编码、传输、服务器转码、解码这些过程。这和淘宝快递运输的过程非常相似。
比如,你在淘宝上下单购买了1箱麦片,整个运输过程大致如下:
首先,商家要把货从仓库拿出来(采集)并给你的麦片打包(预处理),贴上快递单,方便快递员识别和派送(编码)。
接着,包裹被快递员揽收,经过一段时间的运输后(传输),到达你附近的派送站,并根据快递单地址分配派送员(服务器转码)。
最后,快递包裹送到你手里,你确认快递单上的信息(视频解码),接着打开包装吃上了麦片(播放视频)。
理解了视频直播的传输过程,就很容易理解延时是如何产生的了。
视频直播整个传输链路很长,非常像物流运输的链路,如果里面某个环节产生了延迟,量不断累积,就会直接对整体延迟产生影响。
我们一般会把延迟分成3个类型:设备端处理延迟、网络层延迟和服务端内部处理延迟。
1.设备端处理延迟
从采集端采集、前处理、编码、打包发送,到播放端的收包解包、解码、渲染播放,这里每一个环节都会有一定耗时。
2.网络层延迟,即设备与服务器间的延时
这是常说的“最后一公里”,指的是设备端到服务端的网络传输。在传输延时中,有一部分是客观存在的时间消耗,也有一部分可以从技术上做优化。
3.服务端内部处理延时
包括服务器间的传输延时、排队延时、服务器处理延时。针对跨运营商、跨国、跨地域的调度处理以及并发高峰的负载调度,在服务上都需要做好耗时优化。
在整个链路中,除了以上因素影响延时外,缓存策略、数据编码、传输协议3个因素对延时的影响会比较大。
1.在一定条件下,缓存策略会增加延迟
上文提到淘宝物流的例子,因为视频直播传输的路径很长,很难保证整条路的稳定性,想要保证流畅传输,服务端和客户端都会增加缓存(预先保存一些视频内容)来应对音视频卡顿。
服务器一般会先缓存一部分数据,把数据传至客户端,如果遇到网络抖动,服务端可以使用缓存中的数据保证直播流的顺畅。
网络状况恢复良好后,又会重新缓存数据。但如果遇到网络抖动较多时,延时也会慢慢积累,影响到用户体验。
2.数据编码方式会影响读取延迟
目前我们主流的视频编码方式是高级视频编码(Advanced Video Coding,AVC),即大家常说的 H.264。
为什么我们需要编码?编码又如何影响直播延时呢?
假设我们看一部时长2小时的1080P、60FPS的电影,如果每个像素需要2字节的存储空间,那么整部电影需要占用1668.54GB的空间!
平时我们硬盘的电影只有几百MB或几G吧?怎么会这么大呢?
其实这些都是被编码压缩后的文件。这样做不仅节省空间,还能减小网络传输的压力。
那么编码是如何影响延迟的呢?这里主要是客户端的解码关键帧的方式。
怎么理解呢?我们平时出去吃饭,偶尔会遇到店里人很多,需要排号的情况。你拿到号(关键帧)之后,开始等位。你可能会和朋友去旁边逛逛街。
如果你逛完街回来,刚好遇到叫号(关键帧),那么就可以直接进去享用美食(直接解码,看到视频)。如果错过了叫号(关键帧),那么就只能等一下,才能轮到你(过一段时间,再解码)。
以上是咱们生活中比较熟悉的例子,如果用专业的话来说,就是:
如果客户端收到的第一个视频帧就是关键帧I(叫号),那么客户端就可以直接播放,如果错过了关键帧I(叫号),那么就需要等到下一个关键帧才可以播放视频。
GOP(图像组)制定了视频帧的组织方式,每个GOP都会以关键帧开头,所以GOP大小会影响播放端的延迟。
GOP决定了关键帧的间隔,也决定了客户端找到第一个可播放关键帧的时间,进而影响视频直播的延迟。
3.传输协议不同,延迟也不同
一般来说,直播中延迟要低于800毫秒,才能够满足连麦互动的要求,做一些比较高频的互动。如果延迟高于800毫秒,连麦的效果就很难被观众接受了。
从上面这张图谱,我们可以看到,要达到毫秒级别(1秒内)的延迟,才能够满足连麦的要求。为了追求更好的用户体验,那么我们就要不断优化延时,达到最优。
想要在直播中实现低延迟,比较通用的原则是:
-
选择一条最优路径
-
在这条路径上做到最优
-
保持所有路径优质
1.选择一条最优路径
目前使用比较多的是智能测速,根据用户个人连接数据分析等方法,选择最优的网络路径。
2.在这条路径上做到最优
选择好路径后,就要在这条路上尽可能跑得快。但是这条传输路径包括了采集、编码、推流、转码、分发、拉流、解码和渲染。这里优化的关键点主要在于选择协议、前向纠错和丢包重传等等技术。
3.保持所有路径优质
只选择一条最优路径就够了吗?非也,这里有一个前提,整体道路网络必须足够好,如果选了烂泥土路,怎么能够跑得快呢?
在这里,网络基建是影响延迟的重要因素。可以通过以下3点来提高:
多节点覆盖:一般来说,核心城市网络覆盖率更高,偏远地区的覆盖率较低。为了充分覆盖,可以采用多节点来确保全网充分覆盖。
全方位保障:通过部署全球范围内的接入点能够确保这一点,BGP(一种网关协议)能够很好地解决不同网络之间的互通问题。
优质的网络节点资源:底层网络服务的质量,会决定音视频服务的用户体验。一般来说,一线的网络运营商在网络节点的数量和质量上都很有保障。
5G 网络带来 1ms 超低时延
高可靠和超低延迟(URLLC)是 5G 三大主要应用场景之一。5G 对于端到端延时的最低要求是 1 ms,甚至更低。在通信的时延和可靠性方面,相比之前的蜂窝移动通信技术,5G 有了极大提升。
这 1ms 有多厉害呢?第三方网络测试机构Open Singanl测试了4G LTE网络的时延为98ms,这几乎是5G 1ms 时延的100倍。
在5G的技术标准中,为实现这样的超低延迟做出了许多努力,比如使用新的编码、更短的传输时间间隔、优化调度模式、快速自动请求重传等。
URLLC 是 5G 区别于 2G/3G/4G 的一个典型场景,高可靠低时延对于自动驾驶、工业应用和控制、远程培训、远程手术以及其他高度延迟敏感型业务的广泛应用非常关键。
5G 成熟后,我们可以真正“无延迟”实现 4K/8K 视频直播,用户的互动体验和线下没有太大区别。
保利威一直保持对5G超高清视频直播技术的探索。
2019年10月教育装备展上,保利威首次公开展示5G超高清直播课堂,稳定流畅无卡顿。增强移动带宽带来高清快速的直播体验,师生双向互动毫无压力。
webRTC发展成熟,低延迟协议走向标准化
可以预见的是,webRTC会逐渐成为音视频通讯协议的主流,各家的私有协议也走向统一和标准化。音视频通讯开始应用于众多垂直行业,比如在线教育、在线医疗、空中宣讲会等。
如今,webRTC蓬勃发展,低延迟音视频通话将会有更多发展空间。保利威将继续在音视频领域不断钻研,为不同领域的客户提供有借鉴意义的创新技术和优质解决方案,为行业的发展贡献自己的一份力量。
彩蛋环节:针对低延迟直播技术,保利威近期会推出一项全新的解决方案,各位敬请期待。
参考文献:
[1]详解音视频直播中的低延时.声网
[2]互动直播如何实现超低延迟?.冼牛
[3]为什么流媒体直播的延迟很高.draveness
全文完