教程:自动ABR与AWS元素MediaConvert
在最近的调查中, 三分之二的受访者表示他们没有使用标题编码, 可能是因为人们普遍认为它的挑战大于它的好处. 在本教程中, 我将演示使用AWS Elemental的Automated ABR(自适应比特率)函数生成每个标题的输出是多么简单.
自2016年以来,按标题编码一直存在, 显著节省带宽, 体验质量改进, 或者对部署它的公司(点击这里了解标题编码的背景知识). 尽管有这些好处, Bitmovin最近的一项调查显示,目前只有35%的受访者在使用这种技术, 这也称为内容感知编码和其他类似的名称. 也许人们认为每个标题的编码太难实现了. 如果是这样,本教程就是为您准备的. 我将演示使用以下命令生成每个标题的输出是多么简单 AWS Elemental的自动ABR(自适应比特率)功能.
澄清一下, 有许多优秀的按标题编码实现, 比如微软Azure, Brightcove, Bitmovin, 腾讯, 和其他人. 然而, 通过AWS Elemental MediaConvert高度精致的用户界面,AWS在实现其标题功能方面做得最好——大多数选项都是如此, 这使得它非常适合简单的实验和类似的文章. 与所有其他服务一样, MediaConvert的大多数产品编码都是通过应用程序编程接口(API)执行的。, 而不是通过GUI.
有了这个背景,让我们先看看现状:一个固定的比特率阶梯.
固定比特率阶梯的局限性
所有ABR技术都使用编码阶梯来创建适合不同播放设备和连接速度的文件数组. 图1(下面) 显示了建议的H.264编码阶梯从苹果的HLS (HTTP直播)创作规范.
![](http://dzceab466r34n.cloudfront.net/Images/ArticleImages/InlineImages/142358-autoabr1-ORG.png)
图1. 来自苹果HLS创作规范的固定编码阶梯
虽然有一个建议的阶梯作为起点是非常有用的, 甚至苹果也承认这个阶梯并不适用于所有内容:“以上比特率是通过HLS传输的典型内容的初始编码目标. Apple建议您根据您的特定内容和编码工作流程对它们进行评估, 然后进行相应的调整.”
也就是说, 以获得按标题编码的全部好处, it’s not just bitrates you need to adjust; it’s also the number of rungs and their resolution. 具有精细细节和快速运动的视频(比如足球)很难编码,需要高数据速率才能达到可接受的质量. 细节较少或动作较低的视频(比如新闻阅读器)很容易编码,并且可以在更低的比特率下获得可接受的质量. 还有其他类型的视频, 比如合成视频(想想动画片或屏幕截图), 结合低运动和精确的细节和编码最好在更高的分辨率.
使用最有效的标题技巧, 上传文件, 系统评估运动, 细节, 复杂性, 和其他因素为每个视频创建一个独特的编码阶梯, 调整梯级数, 他们的决议, 和比特率,以优化质量和文件大小.
不管怎么说,这就是宣传. 继续往下读,看看你是如何用MediaConvert做到这一点的.
关于AWS Elemental MediaConvert
MediaConvert实际上有两种标题式技术(描述来自AWS):
- 质量定义可变比特率(QVBR): QVBR分析每个宏块, frame, 和视频源中的场景, 并自动分配比特来解决信息差异:在复杂的视频片段中使用更高的比特率, 在不太复杂的视频片段中使用更低的比特率.”
- 自动化ABR配置: 这允许MediaConvert根据编码过程中执行的内容分类分析选择理想的呈现配置 ... 利用MediaConvert中的质量定义可变比特率(QVBR)模式来优化每个呈现的比特率效率.”
在使用, 与QVBR, 你创建一个固定的编码阶梯作为正常和选择QVBR的比特率控制,而不是恒定比特率或可变比特率. MediaConvert在编码过程中调整每个梯级的比特率以匹配内容,但不匹配梯级的数量或它们的分辨率.
自动ABR配置, 你上传文件, MediaConvert对其进行分析,并为该文件创建一个独特的编码阶梯, 自定义级别的数量及其分辨率. 然后,它依靠QVBR来选择每个梯级的数据速率.
我们将尝试自动ABR配置,让我们开始吧. I’m going to presume that you’re familiar with MediaConvert operation; if not, Amazon’s brief 开始使用AWS Elemental MediaConvert 教程应该能帮你跟上进度.
选择ABR文件组
首先,登录MediaConvert,然后单击Create Job. 在左侧的Job界面中,单击Add添加一个Output文件组. 这将打开如图所示的对话框 图2(下面).
![](http://dzceab466r34n.cloudfront.net/Images/ArticleImages/InlineImages/142359-autoabr2-ORG.png)
图2. 添加Output组
从下面四个输出中选择一个(您不能使用Automated ABR来输出文件组), 然后点击选择.
选择自动ABR
在Apple HLS组设置对话框下方,你会看到一个自动ABR选项. 启用该功能,如图3顶部所示. 请注意顶部的定价消息 图3(下面); when you use Automated ABR, MediaConvert实现了两步质量优化编码, 哪种技术最昂贵.
![](http://dzceab466r34n.cloudfront.net/Images/ArticleImages/InlineImages/142360-autoabr3-ORG.png)
图3. 选择和配置您的自动ABR选项
如图3底部所示, 您可以插入MediaConvert将添加到文件名中的名称修饰符.
选择您的自动ABR选项
接下来,以相反的顺序选择Automated ABR选项(参见图3). 这是, 首先选择最大和最小数据速率, 然后选择最大次数.
- 最大ABR比特率:这为您的高质量文件设置了最高数据速率限制. 您可以在这里部署多种策略. 如果您更关心QoE而不是带宽节省, 将此值设置为高于固定比特率阶梯中现有的最大速率. 难以编码的文件将以比以前更高的比特率进行编码, 提高质量, 额外的带宽可能会被易于编码的文件所节省的带宽所抵消. 如果你更关心带宽节省, 而且你对现有的最高费率能提供可接受的质量感到满意, 然后在固定比特率阶梯上使用当前的最高速率. 您将在易于编码的文件上节省带宽,并在难以编码的文件上实现收支平衡.
- 最小ABR比特率:设置您想要发送的最小比特率. 在固定比特率阶梯上使用现有的最小值可能很好.
- 最大限度:与所有云编码设施一样,AWS Elemental对生成的每个梯级收费. 特别是当你将最大比特率限制为, 说, 6 mbps, 考虑将引渡的次数限制在7到8次. 当然,如果您正在编码4K内容,则需要更多的再现.
考虑让MediaConvert在最初的实验中决定适当的梯级数, 然后指定一个最小化成本的数字, 如果合适的话, 在生产过程中. 请看我的文章, 编码阶梯的五种视图,以获取有关编码阶梯中梯级的最佳比特率间距的更多信息.