针对直播中延迟,文章主要给大家谈谈以下几点:
一、视频直播延时是如何产生的?
声音和光的传输需要时间,无线电波的传输需要时间,影像和语音资料的编码、解码都需要时间。这里我们主要看视频直播传输的时延。
一般来说,视频直播主要涉及到采集、预处理、编码、传输、服务器转码、解码这些过程。这和淘宝快递运输的过程非常相似。
比如,你在淘宝上下单购买了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.传输协议不同,延迟也不同
在音视频传输过程中,选择的协议不同,对延迟的影响也不同。
目前在视频直播中比较主流的协议为RTMP和HLS,这两种协议以不同的方式来传输音视频流。不同应用层协议对音视频的切分颗粒度,决定了端到端的网络延迟。
RTMP、HTTP-FLV这类基于流分发的协议切片粒度很小,延迟在3s以下,可以看做实时传输协议。
HLS是基于文件分发的协议,切片粒度较大,在实际使用中可能会带来20s~30s的延迟。
点击免费开启无延迟直播
三、降低延时的手段有哪些?
一般来说,直播中延迟要低于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年4月,保利威平台已经全面支持4K编解码服务。为5G时代下超高清视频的播放进行布局。
同年8月,我们与广东联通开展合作,进行5G网络下的4K+VR超高清直播测试。
2019年10月教育装备展上,保利威首次公开展示5G超高清直播课堂,稳定流畅无卡顿。增强移动带宽带来高清快速的直播体验,师生双向互动毫无压力。
已经做好充分准备,牢牢把握前沿技术的风向,与企业一起共同迎接 5G 新浪潮。
发展成熟,低延迟协议走向标准化
在低延迟直播领域,有不少厂商都开发自己的私有低延迟协议,对于用户来说,如果要从一个厂商迁移到另一个厂商,成本会比较高。
webRTC是目前比较成熟的低延迟协议,相关数据显示,每周仅在Chrome浏览器上就会有超过15亿分钟的WebRTC音视频通话。
为什么webRTC能受到青睐呢?
首先,webRTC基于浏览器,无需下载任何插件和软件,靠浏览器来通信。其次,它能够兼容PC端和移动端各种平台系统。此外,webRTC的解决方案非常完善。从编码和解码、流量控制、音频处理等方面都提供了很好的支持,代码直接开源,大大节省企业的开发成本。
可以预见的是,webRTC会逐渐成为音视频通讯协议的主流,各家的私有协议也走向统一和标准化。音视频通讯开始应用于众多垂直行业,比如在线教育、在线医疗、空中宣讲会等。
安厦直播拥有基于标准webRTC的实时音视频解决方案,同时对webRTC协议进行定制优化。通过自研RTC加速网络和强大的视频云能力支撑,为客户提供跨平台、高品质、可定制化的一站式解决方案。
同时,webRTC解决方案在教育培训、医疗、金融等场景下表现出强大的可用性,能够灵活应对各种场景下的需求。