在 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 要如何提高或降低帧速率。此设置的最佳选择取决于视频内容。

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

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

使用时 FrameFormer, MediaConvert 使用该InSync FrameFormer 库。转换使用基于输入视频内容的运动补偿插值。 FrameFormer scene-by-scene 根据需要执行各种帧速率转换技术,并且可以在每帧的不同区域使用不同的技术。 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.9 MediaConvert 7 之前,主机上的 T@@ elecin e 不可用。

API, SDK, or CLI

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

要使用 API、SDK 或 Amazon Command Line Interface (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