本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
在中使用自动 ABR MediaConvert
借助自动 ABR,AWS Elemental MediaConvert 可以为您设置自适应比特率 (ABR) 堆栈。 MediaConvert 根据输入的视频选择正确的格式副本数量和分辨率。 MediaConvert 通过消除在不提高视频质量的情况下增加比特率的格式副本,最大限度地减少转码输出的总分钟数。自动化 ABR 还通过采用质量定义的可变比特率 (QVBR) 速率控制模式,最大限度地提高不同比特率下的视频质量。
自动化 ABR 的工作原理
在所有自适应比特率(ABR)流媒体中,终端观看者的播放设备会根据可用带宽调整下载软件包的版本。例如,观看者如果能使用高质量的无线网络,就会自动看到高比特率的副本。而当他们移动到一个带宽有限的地方时,他们的播放设备会自动切换到低比特率副本。自适应流媒体的效果取决于 ABR 堆栈的构造以及该构造与特定视频内容的匹配程度。例如,对于快速移动、视觉复杂的资产,您的 ABR 堆栈可能包括两个不同比特率的 720p 输出。如果您在简单的卡通中使用相同的堆栈设置,那么这两个输出可能看起来是一样的。额外的编码、存储和分发将耗费资金,却不会给终端观看者带来任何好处。
运行自动 ABR 作业时,可根据最终观看者的可用带宽 MediaConvert 最大限度地提高其所看到的视频质量。它通过分析各种可能的副本,并在不提高视频质量的情况下消除任何增加所需带宽的格式来做到这一点。当你运行任务时, MediaConvert 会分析输入视频的内容,然后为你选择格式副本的数量和每个格式副本的特征。
您可以使用 MediaConvert 控制台运行作业,而无需进行任何设置。您可以选择指定三类可选设置:
-
对自适应比特率 (ABR) 堆栈的限制。
-
适用于 ABR 堆栈中副本的限制。这些输出级别限制适用于堆栈中的所有副本。
-
所有其他编码设置。
对于这些设置,除非您指定了不同的值,否则将 MediaConvert 使用默认值。这与不使用自动化 ABR 的输出相同,唯一的不同是您设置的所有值都将应用于堆栈中的所有副本。例如,如果您将配置文件设置为 High 10-bit,则每个副本都将具有该编解码器配置文件。
适用于 ABR 堆栈的设置
您可以设置与整个 ABR 堆栈相关的以下限制:
-
最大副本数:这是 ABR 堆栈中副本数量的上限。您堆栈中的副本数量可能少于此数,但不会多于此数。
您可以指定 3 到 15 之间的数字。如果您未指定此项,则端口默认值将为 15.。
-
最大 ABR 比特率:堆栈中比特率最高的副本的最大平均比特率。
这是用最快的网络连接向观看者提供的副本。用于限制向观看者输出的总字节数,这些观看者会收到最高比特率的副本。
如果您未指定此项,则默认最大值将为 8 mb/s。
最高质量副本的平均比特率将等于或低于该值,具体取决于内容的质量、复杂性和分辨率。瞬时最大比特率可能高于您指定的值。
-
最小 ABR 比特率:堆栈中质量最低副本的最低平均比特率。
这是向互联网连接速度最慢的观看者提供的。
如果您未指定此项,则默认最小值将为 600 kb/s。
瞬时最小比特率可能低于您指定的值。
适用于堆栈中副本的设置
您可以设置以下与堆栈中副本属性相关的限制:
-
最大分辨率:这是最高比特率副本的最大分辨率。设置此值时,请选择您期望终端观看者使用的最高质量设备的分辨率。 MediaConvert 无法创建分辨率大于此分辨率的格式副本。
如果没有指定,默认的最大值就是输入视频的分辨率。
如果您指定的值大于输入视频的分辨率,则 MediaConvert 使用您的输入分辨率作为最大分辨率。 MediaConvert 对于任何格式副本,都不会使用大于输入分辨率的分辨率,因为提高输入分辨率可以在不增加视频质量的情况下增加带宽。
-
最大帧速率: MediaConvert 使用此值作为堆栈中带宽最高的格式副本的帧速率。根据输入情况,这可能是所有副本的帧速率。当您的输入帧速率较高时, MediaConvert 可能会将低带宽再现的帧速率减半。例如,如果您的输入帧速率为 60 fps,则 MediaConvert 可能对某些较低带宽的格式副本使用 30 fps,而对于最低带宽的格式副本,则可能使用 15 fps。
如果不指定该值,默认的最大值就是输入帧频。
对于这些设置,会自动 MediaConvert 确定每个格式副本的以下值:
-
质量调整级别:使用 M ul MediaConvert ti pass HQ 对所有格式副本进行编码。
此行为在 MediaConvert 控制台中是自动的,但当您以编程方式提交作业时不会自动执行此行为。在不使用 MediaConvert 控制台的情况下设置 JSON 作业规范时,必须明确设置
qualityTuningLevel
为MULTI_PASS_HQ
。 -
速率控制模式:使用 QV BR 速率控制模式对所有格式副本进行 MediaConvert 编码。
此行为在 MediaConvert 控制台中是自动的,但当您以编程方式提交作业时不会自动执行此行为。在不使用 MediaConvert 控制台的情况下设置 JSON 作业规范时,必须明确设置
rateControlMode
为QVBR
。 -
这些 QVBR 必需的设置:
-
QVBR 质量级别:
-
最大比特率
-
最大平均比特率
-
-
HDR 缓冲区尺寸
-
HDR 缓冲初始填充
创建自动化 ABR 堆栈
当您知道是否要为可选限制指定值时,请跟随以下过程之一在任务中设置自动化 ABR。有关这些可选设置的更多信息,请参阅 自动化 ABR 的工作原理。
自动化 ABR 规则
使用自动 ABR 规则为在自动 ABR 堆栈中 MediaConvert 创建的格式副本大小指定限制。如果您的 ABR 工作流程有特定的格式副本大小要求,但您仍想针对视频质量和整体文件大小 MediaConvert 进行优化,我们建议您使用这些规则。
您可以定义以下规则:
-
最小顶部副本尺寸
-
最小底部副本尺寸
-
强制包含副本
-
允许的副本
最小顶部副本尺寸
为 ABR 堆栈中最高视频分辨率指定最小尺寸。最高分辨率大于或等于您输入的值。
例如:如果您指定 1920x1080,则 ABR 堆栈中的最高分辨率将大于或等于 1920x1080。
最小底部副本尺寸
为 ABR 堆栈中最低视频分辨率指定最小尺寸。ABR 堆栈中的最低分辨率大于或等于您输入的值。
例如:如果您指定 512x288,则 ABR 堆栈中的最低分辨率将大于或等于 512x288。
强制包含副本
指定要包含在 ABR 堆栈中的一个或多个视频分辨率。为了优化自动化 ABR,我们建议您指定尽可能少的分辨率。
ABR 堆栈可能包括您未在此处指定的其他分辨率,具体取决于 “最大格式副本” 设置。例如:如果您在强制包含副本下指定 2 个分辨率,并指定 7 个最大副本,则会自动确定 5 个分辨率。
强制包含副本与其他自动化 ABR 规则或设置有以下限制:
-
至少有一种分辨率必须大于或等于最小顶部副本尺寸。
-
所有分辨率必须大于或等于最小底部副本尺寸。
-
必须指定允许的副本。
-
分辨率数必须小于或等于最大副本数。
-
重复的分辨率将被忽略。
允许的副本
在 ABR 堆栈中指定可能的视频分辨率列表。 MediaConvert仅从您指定的分辨率列表中创建 ABR 堆栈。
“允许的格式副本” 列表中的某些分辨率可能不包括在内。但是,您可以通过将必需设置为启用来强制包含分辨率。
允许的副本与其他自动化 ABR 规则有以下限制:
-
至少有一种分辨率必须大于或等于最小顶部副本尺寸。
-
至少有一种分辨率必须大于或等于最小底部副本尺寸。
-
必须指定强制包含副本。
-
分辨率数必须小于或等于最大副本数。
-
重复的分辨率将被忽略。
自动化 ABR 常见问题解答
我怎样才能看到 AWS Elemental MediaConvert 为我制作了哪些格式副本?
您可以在以下位置查看 ABR 堆栈中输出的属性:
-
来自 Amazon 的任务完成事件 EventBridge。有关更多信息,请参阅 EventBridge 与一起使用 AWS Elemental MediaConvert。
-
MediaConvert 控制台上的 Job 摘要页面。有关更多信息,请参阅 查看您的作业历史记录。
我的自动化 ABR 任务需要很长时间才能运行吗?
我们建议您始终使用自动化 ABR 加速转码。如果这样做,您的任务所需时间应该只比手动指定 ABR 堆栈的加速转码任务稍长,输出结果也类似。您无需为启用加速转码支付更多费用,因为自动化 ABR 已经按照 2 Pass(质量优化)专业等级费率计费。
当您在没有加速转码的情况下运行自动化 ABR 任务时,运行时间要比具有手动指定 ABR 堆栈且输出相似的任务长得多。
为什么我的某些输出副本具有相同的分辨率?
当显示设备流式传输 ABR 资源时,它们会根据副本的比特率而不是根据副本的分辨率来请求分段。因此,一个 ABR 堆栈可以有不同带宽但分辨率相同的副本。在相同分辨率下,带宽越高的副本质量越好。
当您进入堆栈的下一个副本时,提高分辨率能否提高视频质量取决于视频的复杂性。该功能可以根据每个任务自动调整这些选择,是让您事半功倍的方法之一。
我能提前知道我的文件堆里会有多少副本吗?
不是。 MediaConvert 决定在转码过程中要使用哪些格式副本。由于编码决定取决于输入视频的质量,因此在运行任务前无法知道编码决定是什么。
您可以使用可选的限制设置,确保副本数量和副本大小不会超出您的要求。
自动化 ABR 堆栈将如何计费?
MediaConvert 仅向您收取它写入您的输出位置的格式副本的费用。例如,您可以将 “最大格式副本” 设置为 12,但 MediaConvert 可能会确定创建八个以上的格式副本没有好处。在这种情况下,只 MediaConvert 会向您收取八次演绎的费用。
自动化 ABR 是一项专业级功能,还需要 2 Pass 编码。每次副本均按 2 Pass(质量优化)费率以每分钟计费。例如,假设您的自动化 ABR 堆栈最后有 10 个副本,每个副本长达 60 分钟。您总共会被收取 600 分钟的费用。有关具体费率,请参阅 AWS 云产品网站中的AWS Elemental MediaConvert 定价
那音频呢?
自动化 ABR 仅为您的视频副本进行设置。您可以将音频副本作为纯音频输出添加到自动化 ABR 输出组中。有关说明,请参阅创建自动化 ABR 堆栈。
那字幕呢?
您可以将字幕作为仅限字幕的输出添加到您的自动化 ABR 包中。有关说明,请参阅创建自动化 ABR 堆栈。
自动化 ABR 功能限制
包含自动化 ABR 输出组的任务会受到以下限制:
-
您必须使用按需队列。您不能使用预留队列。
-
您只能在任务和任务模板中启用自动化 ABR。您不能在输出预设中使用自动化 ABR。
-
在包含自动化 ABR 输出组的任务中,所有 ABR 输出组都必须使用自动化 ABR。
-
您的输出视频编解码器必须是 AVC (H.264) 或 H E VC (H.265)。
-
您的输出视频缩放行为必须是 “默认”、“拉伸到输出”、“适合” 或 “填充”。如果不升级,就无法使用 Fit。
-
手动创建 JSON 任务规范时,必须指定这些必需的设置。当您启用自动 ABR 时, MediaConvert 控制台会为您设置它们。
-
将
qualityTuningLevel
设置为MULTI_PASS_HQ
。 -
将
rateControlMode
设置为QVBR
。
-