ABR 代表自适应比特率流,它广泛地描述了视频和音频的质量和比特率根据网络条件的波动而自适应变化以确保通过 Internet 顺利传输的过程。
它与 CBR 和 VBR 的运作方式有很大不同,了解 ABR 将使视频流的概念更容易理解。
为什么我们需要 ABR 流?
要了解对 ABR 的需求,我们首先必须认识到 互联网流媒体是尽力而为的。互联网流式传输的速度/带宽、效率、错误恢复能力没有绝对保证。
这不同于通过有线网络向机顶盒提供的电视,后者是受管理的网络。这些都保证了正常运行时间,很少会出现中断和视频质量发生剧烈变化的情况。如果您购买了 Fox News 的 HD 1080p 订阅,那么您将看到 HD 1080p – 这是一个保证。
然而,当视频通过互联网流式传输时,情况就大不相同了。为什么?
带宽波动的简单解释
假设您的房子有 10 mbps 的互联网连接。
您的电视使用 Cat 5 电缆直接连接到路由器。您有三部手机和两部平板电脑也连接到同一个互联网连接,您的孩子正在使用互联网做作业!
想一想同时连接到同一个互联网连接的所有设备以及它们消耗了多少带宽。
现在,您坐下来观看您最喜欢的节目,您的电视播放器可能会感知到 3 mbps 的带宽并使用它来播放节目。节目开始 10 分钟后,您的妻子决定在她的 iPad 上打开 Youtube 并打开她最喜欢的节目。
突然,您的电视可用带宽下降(可能下降到 2 mbps),因为您的妻子正在使用相同的 WiFi 连接。需要明确的是,带宽突然发生变化(从 3 mbps 到 2 mbps)——下降了 33%!
现在最重要的问题来了—— 你的电视下载量是多少,比特率是多少,质量是多少? 如果你有一个单一的电影演绎,它会是哪一个?
让我们反过来问一下内容提供商,他将以哪种比特率进行编码以满足所有不同房屋的所有带宽?
这是一个不可能的提议 – 提供满足所有用户的每个带宽要求和限制的视频的单一再现或编码。
ABR 的解决方向
根据 ABR 的原理,输入视频有多种呈现形式——以不同的比特率、分辨率和帧速率使用不同的编解码器(和配置文件)来满足各种带宽条件、屏幕尺寸和设备。
比特率阶梯、配置文件、演绎
给定源视频,第一件事是将其编码为几个不同的 配置文件或再现 ,这构成了 比特率阶梯。
例如,您可以使用以下配置文件对视频进行编码。
- 1080p 5.0mbps
- 720p 4.0mbps
- 640p 3.2mbps
- 480p 2.0mbps
- 270p 1mbps
您可以自由选择您喜欢的任何编解码器、比特率、分辨率、编解码器分辨率或帧速率,但在做出选择时需要谨慎。
例如,如果您正在流式传输到世界上 99% 的人口无法获得大于 2 mbps 的带宽的部分,那么以高于 2 mbps 的比特率进行编码是浪费时间、金钱和存储空间- 正确的?
在这些配置文件中选择比特率阶梯和编码后,您可以打包视频并使用清单或播放列表将其提供给播放器(最终用户),使用流协议(如 DASH、HLS、HDS、MSS 等)。
打包
打包是指将视频分解成小片段或块的行为,这样每个片段都可以单独请求并交付给玩家——而不是一次性下载整部电影。
播放器使用此清单来了解如何将视频下载并呈现给用户。
带宽自适应视频播放
让我们假设视频已经按照上面显示的比特率阶梯进行了编码。当播放器开始播放视频时,它会感知可用带宽,我们假设它是 20 mbps。这比最高比特率大得多。5 兆每秒。因此,播放器安全地下载最高比特率,第一个片段/块(可能 6 秒长)为 5 mbps。然后播放器再次感知带宽,如果仍然很高,则再次请求最高带宽。
如果带宽突然下降到 5 mbps,那么播放器可能会向服务器请求 4 mbps 块,因为请求 5 mbps 块是有风险的。然后它接收并播放 4 mbps 块。
这个过程贯穿整个视频。
我所解释的是一种简单的带宽估计和质量/比特率切换方法。显然,有复杂的算法来控制和确定播放器的切换。
维基百科上对此有一个有趣的可视化(如下所示),它描述了带宽(黑线)如何变化以及播放器请求的块的比特率如何适应带宽的变化。
结论
在结束这篇 ABR 视频流的介绍性文章之前,让我们回顾一下一些事情。
- ABR 代表自适应比特率。
- 它指的是媒体传输的自适应特性,其中播放器根据可用带宽请求不同比特率的媒体。
- 它需要编码器、打包器、CDN、播放器的合作才能使 ABR 成为一项成功的技术。
作者:Krishna Rao Vijayanagar
本文来自作者投稿,版权归原作者所有。如需转载,请注明出处:https://www.nxrte.com/jishu/7452.html