在 AWS Elemental MediaConvert 中使用视频帧速率 - MediaConvert
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

在 AWS Elemental MediaConvert 中使用视频帧速率

视频资源的帧速率表示视频播放器设备播放视频帧的速度,以每秒帧数 (fps) 为单位。例如,电影的帧速率为 24 fps,NTSC 电视广播为 29.97/59.94 fps,PAL 电视广播为 50/25 fps。如果您在作业中保留 MediaConvert 的默认设置,则输出视频的帧速率将与输入视频的帧速率相同。

有些视频的帧速率会随着视频的持续时间而变化。例如,某些摄像机会自动生成视频,这些视频对于高动作序列使用更多的帧,而对于动作较少的序列,则使用更少的帧。MediaConvert 支持可变帧速率 (VFR) 输入,但只能创建恒定帧速率 (CFR) 输出。有关更多信息,请参阅使用可变帧速率输入

帧速率转换设置

要创建与输入帧速率不同的输出,请使用以下 MediaConvert 设置:

帧速率framerateControlframerateNumeratorframerateDenominator

对于帧速率转换,请在输出编码设置中指定与输入视频帧速率不同的帧速率。然后,MediaConvert 将按照您指定的帧速率而不是输入视频的帧速率创建输出。

直接在 JSON 作业规范中指定输出帧速率可能比在 MediaConvert 控制台中更复杂。有关详细信息,请参阅主题 转换视频帧速率 中 API、CLI 和 SDK 的使用流程。

帧速率转换算法 (framerateConversionAlgorithm)

选择您希望 MediaConvert 在提高或降低帧速率时使用的方法。此设置的最佳选择取决于视频内容。

当您使用删除重复项时,MediaConvert 会复制或删除帧,但不会对其进行更改。这样可以保留每帧的画质,但在某些转换中可能会出现卡顿现象。对于数字上简单的转换,例如 60 fps 到 30 fps,删除重复项通常是最佳选择。

当您使用插入时,MediaConvert 会将帧混合在一起,从而无需重复或移除帧。这样可以获得流畅的动作效果,但可能会导致不良的视频构件。对于数值复杂的转换,插入可能比删除重复项提供更好的结果。

当您使用 FrameFormer 时,MediaConvert 会使用 InSync FrameFormer 库。转换使用基于输入视频内容的动作补偿插值。FrameFormer 可按场景执行各种帧速率转换技术,并且可以在每帧的不同区域使用不同的技术。FrameFormer 在自动检测源视频的基础上进行转换,而不是依赖文件元数据中报告的帧速率。

功能限制:

  • 使用 FrameFormer 时,输入分辨率最高只能达到 4K。MediaConvert 不支持 8K 输入的 FrameFormer 转换。

  • 只有通过按需队列运行的作业才能使用 FrameFormer。不能在 FrameFormer 中使用预留队列。

使用 FrameFormer 会增加转码时间,并会产生大量附加费用。有关更多信息,请参阅 MediaConvert 定价页面

根据转换情况,您也可以使用以下设置:

缓慢 PAL (slowPal)

当您将帧速率从 23.976 或 24 帧/秒 (fps) 转换为 25 fps 时,可以选择启用慢 PAL(慢逐行倒相)。启用慢 PAL 时,MediaConvert 不会复制帧以提高帧速率,而是将视频帧重新标记为 25 fps,并对音频进行重新采样,使其与视频保持同步。慢 PAL 帧速率转换会小幅缩短视频的持续时长。通常,您可以使用慢 PAL 将电影格式转换为基于文件的播放或 Internet 流媒体。

电视电影 (telecine)

当您将帧速率从每秒 23.976 帧 (fps) 转换为 29.97 fps,并且输出扫描类型为隔行扫描时,您可以选择将电视电影设置为创建更流畅的画面。通常,当您准备要向机顶盒广播的视频资产时,您会使用电视电影。

有关更多信息,请参阅电视电影

扫描类型 (inputScanType)

此设置仅用于逐行分段帧 (PsF) 输入。MediaConvert 会自动检测逐行和隔行输入。但它无法检测到 psF。当您的输入为 psF 时,请将扫描类型设置为 PsF,以便在进行去隔行扫描和帧速率转换时更好地保持画质。

在 AWS Elemental MediaConvert 中使用可变帧速率输入

有些视频的帧速率会随着视频的持续时间而变化。有些摄像机(例如许多智能手机中的摄像机)会自动生成视频,这些视频在高动作序列中使用更多的帧,而对于动作较少的序列,则使用更少的帧。MediaConvert 支持可变帧速率 (VFR) 输入,但只能创建恒定帧速率 (CFR) 输出。

输出帧速率的默认设置为跟随源跟随源会导致不同的行为,具体取决于您的输入视频是恒定还是可变帧速率。

  • 对于恒定帧速率输入,跟随源会生成与输入视频具有相同帧速率的输出。

  • 对于可变帧速率输入,跟随源会生成具有恒定帧速率输出的结果,其帧速率为输入帧速率的平均值,四舍五入到最接近的整数标准帧速率:1、5、10、15、24、30、50 或 60 fps。

特征限制

MediaConvert 对可变帧速率视频的支持在以下方面受到限制:

  • 仅支持将可变帧速率作为输入。输出仅为恒定帧速率。

  • 只有以下容器支持可变帧速率输入:MP4、MOV、WEBM、和 MKV。

转换视频帧速率

知道要如何指定相关设置后,请使用以下过程之一来设置您的任务。有关为这些设置选择正确值的概念信息和指导,请参阅 帧速率转换设置

Console

要使用 MediaConvert 控制台设置带有帧速率转换的转码作业,请执行以下操作:

  1. 确定要为帧速率转换设置的值。有关更多信息,请参阅帧速率转换设置

  2. 按照 在 MediaConvert 中配置作业中所述设置任务输入和输出。

  3. 创建作业页面左侧的作业窗格中,选择要使用帧速率转换的输出。

    提示

    要在 MediaConvert 控制台上查找特定的编码设置,请使用浏览器的搜索功能。

  4. 编码设置部分中,针对帧速率,为输出选择所需的帧速率。如果未列出所需的帧速率,请选择自定义。然后在帧速率右侧的字段中以分数形式指定帧速率

  5. 对于帧速率转换算法,请选择最适合您内容的算法。

    请注意,在您选择输出帧速率之前,MediaConvert 控制台上无法使用帧速率转换算法

  6. 可选。如果您的输出为 25 fps,并且您想使用慢 PAL,请将其启用。

  7. 可选。如果您要从 23.976 fps 转换为 29.97 fps,并且想要进行电视电影转换,请将电视电影设置为

    请注意,在将输出帧速率设置为 29.97 之前,MediaConvert 主机上的电视电影不可用。

API, SDK, or CLI

如果您使用 API、CLI 或 SDK,请在您的 JSON 任务规范中指定相关设置,然后以编程方式将其与您的任务一起提交。有关以编程方式提交任务的更多信息,请参阅 AWS Elemental MediaConvert API 参考的一介绍性门主题之:

要使用 API、SDK 或 Amazon 命令行界面 (CLI) 设置带有帧速率转换的转码作业,请执行以下操作:

  1. 确定要为帧速率转换设置的值。有关更多信息,请参阅帧速率转换设置

  2. 使用 MediaConvert 控制台生成您的 JSON 任务规范。我们推荐这种方法,因为控制台可以充当与 MediaConvert 任务架构对应的交互式验证器。按照以下步骤使用控制台生成 JSON 任务规范:

    1. 在控制台中按照前面的步骤操作。

    2. 在左侧的 Job (作业) 窗格中的 Job settings (作业设置) 下,选择 Show job JSON (显示作业 JSON)

AWS Elemental MediaConvert API 参考中查找更多信息,包括每项设置在任务设置结构中的位置。此列表中的链接指向有关该文档中有关设置的信息:

常见的帧速率比
帧速率常用名 frameRateNumerator 的值 framerateDenominator 的值
23.976 24,000 1,001
29.97 30000 1,001
59.94 60000 1,001