MediaConvert
用户指南
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

SCC、SRT、STL TTML (附加)

SCC、SRT、STL 和 TTML 是附加字幕格式。借助这些格式,您输入字幕需要以单独的文件提供。AWS Elemental MediaConvert 会以相同方式处理所有附加格式。服务可将它们以相同格式直通传输到输出,或将它们转换为另一种附加格式。在任何情况下,都必须为整个字幕轨道集创建一个字幕选择器。

为字幕选择器字段提供以下值:

  • 外部字幕文件:字幕文件的 URI。MediaConvert 接受来自 Amazon S3 的字幕文件。

  • Time delta (时间增量):(可选) 如果您需要调整字幕与视频之间的同步,请使用此设置:

    • 输入正数表示要将字幕文件中时间增加。例如,键入 15,将字幕文件中的所有时间增加 15 秒。

    • 输入负数表示将字幕文件中时间减少。例如,键入 -5,将字幕文件中的所有时间减去 5 秒。

      无论字幕文件中使用何种格式指定开始和结束时间,都以秒为单位输入时间增量。为 Time delta (时间增量) 输入的数字只是用于延后或提前显示字幕,与时间码格式无关。

注意

为确保字幕与视频正确同步,请检查 Video selector (视频选择器) 部分中的 Timecode source (时间码源) 的值与字幕文件中的时间码是否匹配。例如,如果字幕文件中的时间码从零开始,但是视频的嵌入式时间码从 01:00:00:00 开始,请将 Timecode source (时间码源) 的默认值从 Embedded (嵌入式) 更改为 Start at 0 (以 0 开始)。如果您的作业的其他方面阻止了这种情况,请使用 Time delta (时间增量) 设置来调整字幕,如时间增量的使用案例中所述。

如果您使用 API 或 SDK,则可以在作业的 JSON 文件中找到此设置,名为 TimecodeSource,位于 SettingsInputs 中。使用 SCC 时,您必须提供 TimecodeSource 的值。否则,MediaConvert 不会插入字幕。

将双 SCC 输入文件转换为嵌入式字幕

如果要将两个 SCC 文件用作字幕输入,并将字幕作为两个输出字幕通道嵌入到输出视频流中,请根据此过程设置字幕。

将双 SCC 转换为嵌入式字幕

  1. 设置两个输入字幕选择器。按照创建输入字幕选择器中过程操作。按以下所示指定值:

    • 在每个字幕选择器中,为 Source (源) 指定 SCC

    • 对于 Source file (源文件),请在每个选择器中选择其中一个输入 SCC 文件。

    • 如果您希望在输出中嵌入 608 和 708 字幕,请在两个字幕选择器中为 Force 608 to 708 upconvert (强制 608 到 708 的向上转换) 选择 Upconvert (向上转换)

  2. 设置您的输出中的字幕。按照设置输出中的字幕中过程操作。按照以下特定选项操作:

    • 在与要嵌入字幕的视频相同的输出中指定字幕。

    • 选择 Add captions (添加字幕) 两次,在 Encoding settings (编码设置) 部分中创建 Captions 1 (字幕 1)Captions 2 (字幕 2) 选项卡。

    • 对于 Captions source (字幕源),在每个字幕选项卡中,选择您在此过程的上一步中创建的字幕选择器之一。

    • 对于 CC channel number (CC 通道编号),为不共享字段的每个字幕选项卡选择一个数字。例如,在 Captions 1 (字幕 1) 中,为 CC channel number (CC 通道编号) 选择 1;在 Captions 2 (字幕 2) 中,为 CC channel number (CC 通道编号) 选择 3

      请勿选择组合 1 和 2 或 3 和 4,因为这些通道对共享相同的字段。

    • 如果在此过程的上一步中选择了 Upconvert (向上转换),则可以选择为 708 service number (708 服务编号) 指定服务编号。在输出中,每个字幕选项卡必须指定不同的服务编号。

      如果您执行向上转换,但没有为 708 service number (708 服务编号) 指定值,则服务将使用您为 CC channel number (CC 通道编号) 指定的值作为 708 服务编号。

时间增量的使用案例

如何使用 Time delta (时间增量) 取决于您尝试解决的问题以及您正在使用的字幕格式。

调整视频和字幕文件之间的不同时间码

使用基于时间码的字幕格式,例如 SCC 和 STL,字幕中的时间码可能基于以下假设:视频时间码以与实际时间码不同的时间码开始。您可以使用 Time delta (时间增量) 来调整差异。

示例问题:例如,您的视频文件可能嵌入了从 00:05:00:00 开始的时间码,并且需要字幕的第一个对话实例可能是视频的一分钟,时间码为 00:06:00:00。您的字幕文件可能会根据以下假设编写:您的视频时间码从 00:00:00:00 开始,第一个字幕从 00:01:00:00 开始。如果您不使用 Time delta (时间增量),则 MediaConvert 不会包含此第一个字幕,因为它出现在视频开始之前。

解决方案:在字幕中增加五分钟时间。为 Time delta (时间增量) 输入 300

同样,您的字幕文件可能与视频中嵌入的字幕对齐,但您可能需要使用输入 Timecode source (时间码源) 设置来更改输入时间码,这会在视频和字幕之间产生差异。

示例问题:例如,您的视频文件可能嵌入了从 00:05:00:00 开始的时间码,并且需要字幕的第一个对话实例可能是视频的一分钟,时间码为 00:06:00:00。您的字幕文件已正确编写以实现同步,第一个字幕从 00:06:00:00 开始。但是,您需要在输入中更改嵌入式字幕,以便与音频文件正确同步。因此,您将 Timecode source (时间码源) 设置为 Start at Zero (从零开始)。如果您不使用 Time delta (时间增量),则 MediaConvert 会将输出中六分钟开始的第一个字幕放在视频中。

解决方案:从字幕中减去五分钟时间。为 Time delta (时间增量) 输入 -300

更正字幕同步中的轻微错误

对于任何类型的附加字幕格式,输入字幕文件中可能会出现某个小错误,导致字幕始终延迟或提前。

示例问题:您的视频包含从零开始的嵌入式字幕。需要字幕的第一个对话实例是 00:06:15:00,但字幕在屏幕上显示时有 3 秒的延迟,即 00:06:18:00。

解决方案:从字幕减去三秒时间。为 Time delta (时间增量) 输入 -3