

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

# 创建输出
<a name="output-settings"></a>

单个 MediaConvert 作业可以将输出创建为独立文件（例如，.mp4 文件）、一组用于自适应比特率 (ABR) 流媒体的文件（例如，一个Apple HLS包）或两者的组合。创建输出组及其内部的输出时，可以指定作业生成的文件的数量和类型。

 MediaConvert 任务完成后，您可以使用 Amazon CloudFront 或其他内容分发网络 (CDN) 来交付您的直播套餐。CDN 会将您的视频发送给想要观看的人。有关更多信息，请参阅[使用 CloudFront提供视频点播 (VOD)](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/on-demand-video.html)。

本节中的主题解释了 MediaConvert 输出组、 MediaConvert 输出和 MediaConvert 交付给您的实际输出文件之间的关系。

**Topics**
+ [设置输出中的字幕](set-up-captions-in-outputs.md)
+ [使用输出组指定流媒体程序包类型或独立文件](outputs-file-ABR.md)
+ [选择您的 ABR 流式处理输出组](choosing-your-streaming-output-groups.md)
+ [推荐的视频质量编码设置](video-quality.md)
+ [在作业设置中使用变量](using-variables-in-your-job-settings.md)

# 设置输出中的字幕
<a name="set-up-captions-in-outputs"></a>

作业中的字幕位置取决于输出字幕格式：字幕可能在与视频相同的输出中、在与视频相同的输出组中的不同输出中，或在完全不同的输出组中。您设置多个字幕轨道的方式也取决于输出字幕格式。

有关支持的输入和输出字幕的完整列表，请参阅 [字幕参考表](captions-support-tables.md)。

有关为您的输入设置字幕的更多信息，请参阅 [设置输入字幕](including-captions.md)。

以下过程演示如何为不同输出设置字幕。

**为不同输出设置字幕**

1. 在 [https://console.aws.amazon.com/medi](https://console.aws.amazon.com/mediaconvert) a MediaConvert Convert 上打开控制台。

1. 请选择 **Create job（创建任务）**。

1. 为视频和音频设置输入、输出组和输出，如[教程：配置作业设置](setting-up-a-job.md)和[创建输出](output-settings.md)中所述。

1. 如[创建输入字幕选择器](including-captions.md#create-input-caption-selectors)中所述创建输入字幕选择器。

1. 确定在您的作业中何处指定字幕。此选择取决于输出字幕格式。请参阅下面的相关主题，以查询所需信息。

1. 在 **Create job** (创建作业) 页面的左侧窗格中，从输出列表中选择相应的输出。

1. 在 **Encoding settings** (编码设置) 下，选择 **Add caption** (添加字幕)。此操作会在 **Encoding settings** (编码设置) 下显示字幕设置区域。

1. 如果输出字幕格式要求输出中的每个轨道均对应一组单独的字幕设置，请再次选择 **Add captions (添加字幕)**，直至每个轨道对应一个字幕组。要确定是所有轨道需要一个字幕设置组，还是每个轨道一个字幕设置组，请参阅以下相关主题。

1. 在 **Encoding Settings** (编码设置) 下，从列表中选择 **Captions 1** (字幕 1)。

1. 在 **Captions source** (字幕源) 下，选择一个字幕选择器。这会选择您在设置输入时与选择器关联的一个或多个曲目，因此这些字幕 AWS Elemental MediaConvert 将在此输出中包含这些字幕。

1. 在 **Destination type** (目标类型) 中，选择输出字幕格式。按[视频容器中支持的输入字幕](captions-support-tables-by-container-type.md)进行检查以确保选择受支持的格式。

1. 按下面的相关主题中所述，为任何附加字段提供值。



**Topics**
+ [CEA/EIA-608 and CEA/EIA-708（嵌入式）输出字幕](embedded-output-captions.md)
+ [DVB-Sub 输出字幕](dvb-sub-output-captions.md)
+ [IMSC、TTML 和 WebVTT（附加）输出字幕](ttml-and-webvtt-output-captions.md)
+ [SCC、SRT 以及 SMI (sidecar) 输出字幕](scc-srt-output-captions.md)
+ [图文输出字幕](teletext-output-captions.md)
+ [烧入输出字幕](burn-in-output-captions.md)
+ [无障碍字幕的设置](accessibility-captions.md)

# CEA/EIA-608 and CEA/EIA-708（嵌入式）输出字幕
<a name="embedded-output-captions"></a>

 本节介绍如何在中 AWS Elemental MediaConvert配置嵌入式输出字幕。主要主题包括：
+ 在何处指定字幕。
+ 如何指定多个字幕轨道。
+ MXF 输出中的嵌入式和辅助字幕。

## 在何处指定字幕
<a name="where-embedded-output-captions"></a>

将字幕放在与视频相同的输出组和输出中。

## 如何指定多个字幕轨道
<a name="multilang-embedded-output-captions"></a>
+ 如果您的输入字幕格式是嵌入式的（也就是说，您正在通过 embedded-to-embedded），则只需创建一组字幕设置。您在 **Captions source (字幕源)** 下选择的字幕选择器包括输入中的所有轨道。
+ 如果输入字幕是两个 SCC 文件，您可以使用嵌入在输出视频流中的两个输出字幕通道的方式，创建两个输出字幕。有关更多信息，请参阅 [将双 SCC 输入文件转换为嵌入式字幕](converting-dual-scc-input-files-to-embedded-captions.md)。
+ 如果输入字幕未嵌入或 SCC，则对于每个输出只能包含一个字幕轨道。在每个输出中，包含一组字幕设置。在 **Captions source (字幕源)** 中，选择为您想包括的轨道设置的选择器。

## MXF 输出中的嵌入式和辅助字幕
<a name="embedded-and-ancillary-captions-in-mxf-outputs"></a>

MXF 输出是否可以包含辅助字幕取决于 MXF 配置文件：
+ MXF XDCAM HD：此 MXF 配置文件指定 smpte 436 轨道中的辅助数据。使用这些输出，除了将其包含在视频流中外，还可以将嵌入式字幕 MediaConvert 复制到 smpte 436 辅助曲目中。
+ MXF D-10：此 MXF 配置文件规范不允许辅助数据。因此，您的 MXF D-10 输出仅有嵌入在视频流中的字幕。

MediaConvert 根据以下编码设置的值确定输出的 MXF 配置文件：
+ 解决方案
+ 帧率
+ 视频编解码器配置文件
+ 隔行扫描模式

有关这些设置的哪些值对哪个 MXF 配置文件有效的信息，请参阅相关规范。低于 XDCAM HD，请参阅 IEEE Xplore 数字库中的 [RDD 9:2009 - SMPTE 标准文档 - Sony MPEG Long GOP 产品的 MXF 互操作性规范 ](https://ieeexplore.ieee.org/document/7290306)。对于 MXF D-10，请参阅 [ST 356:2001 - SMPTE 标准 - 适用于电视 — 类型 D-10 流规范 — MPEG-2 4:2:2P @ ML，适用于 525/60 和 625/50](https://ieeexplore.ieee.org/document/7290684)。

# DVB-Sub 输出字幕
<a name="dvb-sub-output-captions"></a>

 本节介绍如何在中配置 DVB-Sub 输出字幕。 AWS Elemental MediaConvert主要主题包括：
+ 在何处指定字幕。
+ 如何指定多个字幕轨道。
+ 如何指定字体脚本。

## 在何处指定字幕
<a name="where-dvb-sub-output-captions"></a>

将字幕放在与视频相同的输出组和输出中。

## 如何指定多个字幕轨道
<a name="multilang-dvb-sub-output-captions"></a>
+ 如果您的输入字幕与输出字幕格式相同 (直通传输)，只需创建一个字幕设置组。您在 **Captions source (字幕源)** 下选择的字幕选择器包括输入中的所有轨道。
+ 如果输入字幕格式不同，请为每个轨道创建一个字幕设置组。在相同输出中放入每个字幕设置组。它们将出现在设置组列表中：“Captions 1 (字幕 1)”、“Captions 2 (字幕 2)”，以此类推。在每组设置中，在 **Captions source (字幕源)** 下选择为要包括的轨道设置的字幕选择器。

## 如何指定字体脚本
<a name="how-to-specify-lang-script-dvb-sub"></a>

AWS Elemental MediaConvert 根据您在输出字幕设置中指定的语言，自动为您的字幕选择合适的脚本。如果您选择的语言有多个可能的脚本，请指定您想要的脚本。

**确保服务使用正确的字体脚本**

1. 在 **Encoding settings**（编码设置）下的 **Captions**（字幕）部分中，为 **Language**（语言）选择字幕文本的语言。

1. 如果您指定的语言有多个可能的脚本，请使用 **Font script**（字体脚本）来指定脚本。

   例如，如果您 **语言**选择 **中文**，请使用 **字体脚本**选择 **简体中文**或 **繁体中文**。在这种情况下，如果您没有为 **Font script**（字体脚本）指定值，则该服务将默认为简体中文。
**提示**  
在大多数情况下，对于 **Font script**（字体脚本），您可以保留 **Automatic**（自动）默认值。当您这样做时，服务会根据字幕文本的语言选择脚本。

# IMSC、TTML 和 WebVTT（附加）输出字幕
<a name="ttml-and-webvtt-output-captions"></a>

 本节介绍如何在中配置 IMSC、TTML 和 WebVTT（边车）输出字幕。 AWS Elemental MediaConvert主要主题包括：
+ 在何处指定字幕。
+ 如何指定多个字幕轨道。
+ Sidecar 字幕容器选项。

如果您的输出字幕是 IMSC、TTML 或 WebVTT 格式，请根据以下信息在输出中设置字幕。有关 IMSC 支持的限制，请参阅 [IMSC 要求](imsc-captions-support.md)。

## 在何处指定字幕
<a name="where-ttml-and-webvtt-output-captions"></a>

将字幕放在同一个输出组中，但输出与视频不同。

向输出增加字幕后，删除服务在输出中自动创建的 **Video**（视频）和**Audio 1**（音频 1）组设置。

**删除“视频”和“音频 1”组设置**

1. 在 **Create job**（创建任务）页面上，在左侧 **Job**（任务）窗格的 **Output groups**（输出组）下，选择包含要删除的设置组输出。

1. **Video**（视频）组设置将自动显示在 **Stream settings**（直播设置）部分中。选择 **Remove video selector**（移除视频选择器）按钮。

1. **Audio 1**（音频 1）组设置将自动显示在 **Stream settings**（直播设置）部分中。选择 **移除** 按钮。

## 如何指定多个字幕轨道
<a name="multilang-ttml-and-webvtt-output-captions"></a>

为每个字幕轨道单独生成输出。

**注意**  
您在作业中首先指定的字幕轨道作为 HLS 清单中的默认轨道发出信号。

## Sidecar 字幕容器选项
<a name="sidecar-captions-container-options"></a>

根据您的输出组，您可以为 IMSC 和 TTML 字幕输出选择字幕容器。

对于 **DASH ISO** 输出组，您可以从以下各项中进行选择：
+ 碎片 MP4 (`.fmp4`)
+ 原始（对于 IMSC 为 `.xml`，对于 TTML 为 `.ttml`）

对于所有其他输出组，IMSC 和 TTML 文件都是原始的。

**为 DASH ISO 输出组中的 IMSC 和 TTML 字幕指定字幕容器**

1. 按照 [在 ABR 流式处理输出组中创建输出](setting-up-a-job.md#create-outputs-in-abr-streaming-output-groups) 中所述在 **DASH ISO** 输出组中设置输出。将字幕放在单独的输出中。

1. 在 **Create job**（创建任务）页面上，在左侧 **Job**（任务）窗格中，选择字幕输出。

1. 在右侧的 **Output settings (输出设置)** 部分中，选择 **Container settings (容器设置)**，然后启用 **DASH container settings (DASH 容器设置)**。

1. 对于 **Captions container (字幕容器)**，保留默认的 **Raw (原始)** 或选择 **Fragmented MPEG-4 (片段化的 MPEG-4)**。

# SCC、SRT 以及 SMI (sidecar) 输出字幕
<a name="scc-srt-output-captions"></a>

 本节介绍如何在中配置 SCC、SRT 和 SMI（边车）输出字幕。 AWS Elemental MediaConvert主要主题包括：
+ 在何处指定字幕。
+ 如何指定多个字幕轨道。

## 在何处指定字幕
<a name="where-scc-srt-output-captions"></a>

将字幕放在同一个输出组中，但输出与视频不同。

向输出增加字幕后，删除服务在输出中自动创建的 **Video**（视频）和**Audio 1**（音频 1）组设置。

**删除“视频”和“音频 1”组设置**

1. 在 **Create job**（创建任务）页面上，在左侧 **Job**（任务）窗格的 **Output groups**（输出组）下，选择包含要删除的设置组输出。

1. **Video**（视频）组设置将自动显示在 **Stream settings**（直播设置）部分中。选择 **Remove video selector**（移除视频选择器）按钮。

1. **Audio 1**（音频 1）组设置将自动显示在 **Stream settings**（直播设置）部分中。选择 **移除** 按钮。

## 如何指定多个字幕轨道
<a name="multilang-scc-srt-output-captions"></a>

 对于每个 SRT、SCC 或 SMI 输出，每个字幕选择器必须有一个输出。在字幕输出中，在 **字幕源** 下选择为要包括的轨道设置的字幕选择器。它们将出现在设置组列表中：**字幕选择器 1**、**字幕选择器 2**，以此类推。

# 图文输出字幕
<a name="teletext-output-captions"></a>

 本节介绍如何在中配置图文电视输出字幕。 AWS Elemental MediaConvert主要主题包括：
+ 图文电视到图文电视传递
+ 图文电视到图文电视，页面重新映射。
+ 来自其他字幕格式的图文电视。

如何设置输出图文电视字幕，取决于您是要将字幕移动到不同的图文电视页面，还是只想将字幕从输入传送到输出。

## 图文电视转图文电视直通
<a name="teletext-to-teletext-passthrough"></a>

如果您的输入字幕格式为图文电视，并且您希望输出字幕与输入字幕位于相同的页面上，且样式相同，则可以将输入字幕传递到输出中。为此，请设置字幕：
+ 确保您的输入字幕使用一个字幕选择器进行设置。有关更多信息，请参阅 [图文输出字幕](teletext.md)。
+ 在与视频相同的输出组和相同的输出中，创建一个字幕选项卡。无论您有多少输出图文电视页面，这个字幕选项卡都代表您的所有输出字幕。
+ 在输出字幕选项卡中，为字幕来源选择输入 **Captions source**（字幕来源）。
+ 不要在“输出字幕”选项卡上为任何其他设置指定值。

当您直接在 JSON 任务规范中任务时，一个字幕选项卡对应一个 `CaptionDescriptions` 子项。

## 图文电视到图文电视，页面重新映射
<a name="teletext-to-teletext-page-remapping"></a>

如果您的输入字幕格式为图文电视，并且在输出中想要更改字幕所在的图文电视页面，则可以在输入和输出中指定页面。为此，请设置字幕：
+ 确保您的输入字幕为每个图文电视页面设置了一个字幕选择器，并且在设置中为每个输入字幕选择器指定页码。有关更多信息，请参阅 [图文输出字幕](teletext.md)。
+ 在与视频相同的输出组和相同的输出中，为每个输出图文电视页面创建一个字幕选项卡。
+ 在每个输出字幕选项卡中，为字幕来源选择一个输入 **Captions source**（字幕来源）。
+ 在每个输出字幕选项卡中，为 **Page number**（页码）指定输出中这些字幕所需的图文电视页码。可选择为 **Language**（语言）、**Description**（描述）和 **Page types**（页面类型）提供值。

## 来自其他字幕格式的图文电视
<a name="teletext-from-other-captions-formats"></a>

如果您的输入字幕采用图文电视以外的格式，则必须为输出字幕指定图文电视页面。 MediaConvert 支持以下字幕工作流程：
+ 单个输入字幕可追踪到单个输出图文电视页面。
+ 单个输入字幕可以追踪到多个输出图文电视页面。每个输出页面都复制其他输出页的内容。
+ 多个输入字幕可追踪到多个输出图文电视页面。您可以使用字幕选择器来指定要在每个输出图文电视页面上包含哪些字幕。

像这样设置字幕：
+ 确保您的输入字幕设置为要映射到图文电视页面的每个字幕轨道都有一个字幕选择器。有关更多信息，请参阅 [创建输入字幕选择器](including-captions.md#create-input-caption-selectors)。
+ 在与视频相同的输出组和相同的输出中，为每个输出图文电视页面创建一个字幕选项卡。
+ 在每个输出字幕选项卡中，为字幕来源选择一个输入 **Captions source**（字幕来源）。
+ 在每个输出字幕选项卡中，为 **Page number**（页码）指定输出中这些字幕所需的图文电视页码。可选择为 **Language**（语言）、**Description**（描述）和 Page types（页面类型）提供值。

# 烧入输出字幕
<a name="burn-in-output-captions"></a>

 本节介绍如何在中配置烧录输出字幕。 AWS Elemental MediaConvert主要主题包括：
+ 在何处指定字幕。
+ 如何指定多个字幕轨道。
+ 如何使用样式传递。
+ 非英语字体和不支持的字符。

*烧入*是一种传输字幕的方式，而不是字幕格式。烧入方法将字幕直接写入视频帧，将视频内容的一些像素替换为字幕。如果您希望在输出中烧入字幕，请根据以下信息设置字幕。

## 在何处指定字幕
<a name="where-burn-in-output-captions"></a>

将字幕放在与视频相同的输出组和输出中。

## 如何指定多个字幕轨道
<a name="multilang-burn-in-output-captions"></a>

您只能在每个输出中烧入一个字幕轨道。

## 如何使用样式直通
<a name="how-to-use-style-passthrough"></a>

您可以选择如何对输出视频中显示的烧录字幕文本进行样式化。有几个选项，包括样式直通、默认设置或手动覆盖。

当您将样式直通设置为 “启用” 时，将 MediaConvert 使用输入字幕中的可用样式和位置信息。请注意，所有缺失的样式信息都 MediaConvert使用默认设置。

MediaConvert 支持以下输入字幕格式的样式直通：
+ 辅助
+ 嵌入
+ SCTE-20
+ SCC
+ TTML
+ STL (EBU STL)
+ SMPTE-TT（基于文本）
+ 图文
+ IMSC
+ WebVTT

当您将样式直通设置为 “禁用” 时， MediaConvert 会忽略输入中的样式信息并使用默认设置：带有黑色轮廓的白色文本、底部居中位置和自动调整大小。

 无论您是否将样式直通设置为启用，您都可以选择手动覆盖任何单个样式选项。

**注意**  
TTML 和类似 TTML（IMSC、SMPTE-TT）的输入有特殊的样式格式要求。有关更多信息，请参阅 [TTML 样式格方式](ttml-style-formatting.md)。

## 如何指定字体脚本
<a name="how-to-specify-the-language-script-burnin"></a>

AWS Elemental MediaConvert 根据您在输出字幕设置中指定的语言，自动为您的字幕选择合适的脚本。如果您选择的语言有多个可能的脚本，请指定您想要的脚本。

**确保服务使用正确的字体脚本**

1. 在 **Encoding settings**（编码设置）下的 **Captions**（字幕）部分中，为 **Language**（语言）选择字幕文本的语言。

1. 如果您指定的语言有多个可能的脚本，请使用 **Font script**（字体脚本）来指定脚本。

   例如，如果您 **语言**选择 **中文**，请使用 **字体脚本**选择 **简体中文**或 **繁体中文**。在这种情况下，如果您没有为 **Font script**（字体脚本）指定值，则该服务将默认为简体中文。
**提示**  
在大多数情况下，对于 **Font script**（字体脚本），您可以保留 **Automatic**（自动）默认值。当您这样做时，服务会根据字幕文本的语言选择脚本。

## 非英语字体和不支持的字符
<a name="non-english-unsupported"></a>

当您的输入字体使用非英语字体脚本时，您的输出烧录字幕可能包含不支持的 Unicode 字符 `□`。要解决此问题，请将 **Style passthrough**（样式直通）设置为 **Enabled**（启用）。

# 无障碍字幕的设置
<a name="accessibility-captions"></a>

在创建 HLS 或 CMAF HLS 输出并包含 ISMC 或 WebVTT 字幕曲目时，可以在输出清单中添加字幕的可访问性属性。 MediaConvert 根据 [Apple 设备的 HLS 创作规范第 4.5 和 4.6 节](https://developer.apple.com/documentation/http_live_streaming/hls_authoring_specification_for_apple_devices)添加这些属性。

当你将 “**无障碍字幕**” (`accessibility`) 设置为 “**启用**” (`ENABLED`) 时， MediaConvert 会将以下属性添加到清单中的字幕轨道中`EXT-X-MEDIA`：`CHARACTERISTICS="public.accessibility.describes-spoken-dialog,public.accessibility.describes-music-and-sound"`和`AUTOSELECT="YES"`。

如果字幕轨道不打算提供此类**无障碍**功能，则保留默认值 “禁用” (`DISABLED`)。 MediaConvert 不会添加上一段中的属性。

# 使用输出组指定流媒体程序包类型或独立文件
<a name="outputs-file-ABR"></a>

AWS Elemental MediaConvert 输出函数因其所属的输出组类型而异。

文件  
 在 **File**（文件）输出组中，您设置的每个输出都会生成一个独立的输出文件。  
例如，您可以设置一个包含所有视频、音频和字幕的输出。您也可以为 sidecar 字幕设置单独的输出（例如，TTML）。

流式传输输出程序包  
在以下输出组中，您设置的输出是单个自适应比特率 (ABR) 流媒体程序包的不同部分：CMAF、Apple HLS、DASH ISO 和 Microsoft Smooth Streaming。

在 ABR 输出组中，每个输出通常是媒体的一个元素。也就是说，每个输出都是自适应比特率 (ABR) 堆栈中的一个部分。例如，您可能有三种分辨率的视频的输出、两种音频语言轨道中每一种的输出以及两种字幕语言中每一种的输出。

下图显示了 ABR 输出组中的输出与 MediaConvert 创建的文件之间的关系。每个橙色框对应于输出组中的一个输出。在本例中，有三个视频分辨率、采用两种语言的音频和采用两种语言的字幕。该程序包包含分段音频、视频和字幕文件以及告知播放器要下载哪些文件和何时播放这些文件的清单文件。

![\[ABR 堆栈中的每个副本在输出组中具有自己的输出。\]](http://docs.aws.amazon.com/zh_cn/mediaconvert/latest/ug/images/ABRsegSeparately.png)


单个作业可以生成零到多个 独立文件以及零到多个流式处理包。要创建多个单独文件，请在您的作业中添加单个文件输出组，并在该输出组中添加多个输出。要创建多个流式处理包，请将多个 **CMAF**、**AppleHLS**、**DASH ISO** 或 **Microsoft 平滑流**输出组添加到您的作业。

下图显示了一个生成两个独立的.mp4 文件、两个Apple HLS软件包和一个CMAF软件包的作 MediaConvert 业。包含 2 个输出的单个文件输出组将生成 2 个单独的文件。包含 7 个输出的单个 Apple HLS 输出组将生成包含 7 个 ABR 部分的单个可查看包。

![\[MediaConvert 生成两个独立的.mp4 文件、两个 Apple HLS 包和一个 CMAF 软件包。\]](http://docs.aws.amazon.com/zh_cn/mediaconvert/latest/ug/images/jobSetupToOutput.png)


有关在您的作业中设置输出组和输出的信息，请参阅[教程：配置作业设置](setting-up-a-job.md)。

# 选择您的 ABR 流式处理输出组
<a name="choosing-your-streaming-output-groups"></a>

要创建媒体资产以供用户流式传输到其设备，请选择一个或多个自适应比特率 (ABR) 输出组：Apple HLS、DASH ISO、Microsoft Smooth Streaming 或 CMAF。输出组的类型决定了哪些媒体播放器可以播放从该输出组 MediaConvert 创建的文件。

**注意**  
在设置 CMAF、DASH ISO 或 Microsoft Smooth Streaming 输出组时，请确保正确设置片段长度。有关设置片段长度的信息，请参阅[设置流输出的片段长度](setting-the-fragment-length.md)。

下表总结了输出组与媒体播放器之间的关系。


| 媒体播放器 | 使用此输出组 | 
| --- | --- | 
| 大约 2013 年之前的 Apple 设备 | Apple HLS | 
| Apple 设备，较新 | CMAF | 
| 最智能的安卓设备 TVs | CMAF 或 DASH ISO | 
| Microsoft 设备 | Microsoft Smooth Streaming | 

**注意**  
MediaConvert 按转码输出时间的每分钟计费，而不是按作业收费。因此，当您将输出组添加到作业时，成本将变得更高。  
例如，包含一个 Apple HLS 程序包和一个 DASH ISO 程序包的作业的费用是只包含其中一个程序包的作业的两倍。这是假设转码设置相同。

**确定所需的输出组**

1. 确定您希望最终观看者能够在其上播放转码媒体资产的设备。如果您想让您的资产在所有可能的设备上播放，则包含以下输出组：
   + Apple HLS
   + DASH ISO 或 CMAF
   + Microsoft Smooth Streaming

1. 考虑是否使用高级编码功能。要将以下任一内容传输到 Apple 设备，您还必须包含一个 CMAF 输出组：
   + High-dynamic-range (HDR) 视频
   + H.265 (HEVC) 编码的视频

   如果您包含 CMAF 输出，则无需创建 DASH ISO 输出，因为与 DASH 兼容的所有常用播放器也与 CMAF 兼容。
**注意**  
有一些不常见的DASH播放器明确要求使用视频分割扩展名类型.mp4。 MediaConvert 输出.cmfv 格式的 CMAF 视频片段。要创建与这些播放器兼容的输出，请将 DASH ISO 输出组包含在作业中。

1. 考虑成本权衡。

   如果您不需要支持在大约 2013 年之前生产的播放器，并且您不需要支持需要 .mp4 视频段的极少使用的 DASH 播放器，则可以包含单个 CMAF 输出组而不是同时包含 DASH ISO 和 Apple HLS。创建单个 CMAF 包而不是单独的 DASH ISO 和 Apple HLS 程序包也可以在视频存储和分发方面节省成本。这是因为您只能存储和分发一组视频和音频文件。

# 设置流输出的片段长度
<a name="setting-the-fragment-length"></a>

对于除 HLS（CMAF、DASH 和 Microsoft Smooth Streaming）之外的所有 ABR 流输出组，您为 **Fragment length (片段长度)** (`FragmentLength`) 指定的值必须与您指定的其他输出设置配合使用。如果错误设置了 **Fragment length (片段长度)**，在查看者观看输出视频时，其播放器可能会发生崩溃。这种情况可能会发生，因为播放器期望在视频结尾有其他片段，并请求不存在的片段。

**片段长度**受**已关闭的 GOP 节奏**（`GopClosedCadence`）、**GOP 大小**（`GopSize`）和**帧率**（`FramerateNumerator`、`FramerateDenominator`）的值约束。有关在控制台和 JSON 作业规范中查找这些设置的信息，请参阅[查找与片段长度相关的设置](#finding-the-settings-related-to-fragment-length)。

**注意**  
在将输出**帧率**设置为**跟随源**时，确保输入视频文件的帧率与您为输出**片段长度**指定的值配合使用。输入视频文件的帧速率与输出帧速率相同。

**Topics**
+ [片段长度的规则](#rule-for-fragment-length)
+ [片段长度示例](#fragment-length-examples)
+ [查找与片段长度相关的设置](#finding-the-settings-related-to-fragment-length)

## 片段长度的规则
<a name="rule-for-fragment-length"></a>

片段长度必须是整数，并且必须是此值的倍数：**GOP 大小** x **已关闭的 GOP 节奏** ÷ **帧率**

## 片段长度示例
<a name="fragment-length-examples"></a>

**示例：正确设置**  
已关闭的 GOP 节奏 = 1

帧率 = 30

GOP 大小 = 60 帧

片段长度 = 2

**示例：错误设置**  
已关闭的 GOP 节奏 = 1

帧率 = 50

GOP 大小 = 90 帧

片段长度 = 2

## 查找与片段长度相关的设置
<a name="finding-the-settings-related-to-fragment-length"></a>

在设置**片段长度**时，请检查**已关闭的 GOP 节奏**、**GOP 大小**和**帧率**的值。

### 片段长度
<a name="fragment-length"></a>

您可以使用控制台或 JSON 作业规范来设置片段长度。**Fragment length (片段长度)** 设置将应用于输出组，并会影响该组中的每个输出。

**查找 **Fragment length (片段长度)** 设置（控制台）**

1. 在 **Create job**（创建任务）页面上，在左侧 **Job**（任务）窗格的 **Output groups**（输出组）下，选择 CMAF、DASH ISO 或 Microsoft 平滑流式处理输出组的名称。

1. 在右侧的组设置部分中，找到 **Fragment length (片段长度)**。

   组设置部分的标题为 **CMAF group settings (CMAF 组设置)**、**DASH ISO group settings (DASH ISO 组设置)** 或 **MS Smooth group settings (MS Smooth 组设置)**。

**查找 **Fragment length (片段长度)** 设置（JSON 作业规范）**
+ 查找作为 `OutputGroupSettings` 的子级的 `FragmentLength`，如以下示例所示：

  ```
  {
    "Settings": {
      ...
      "Inputs": [
        ...
      ],
      "OutputGroups": [
        {
          "Name": "DASH ISO",
          "OutputGroupSettings": {
            "Type": "DASH_ISO_GROUP_SETTINGS",
            "DashIsoGroupSettings": {
              "SegmentLength": 30,
              "FragmentLength": 2,
              "SegmentControl": "SINGLE_FILE",
              "HbbtvCompliance": "NONE"
            }
          },
  		...
  ```

### 已关闭的 GOP 节奏、GOP 大小和帧速率
<a name="closed-gop-cadence-gop-size-and-framerate"></a>

您可以使用控制台或 JSON 作业规范来设置**已关闭的 GOP 节奏**、**GOP 大小**和**帧率**。这些设置分别应用于每个输出。确保为输出组中的每个输出设置的值与您为输出组的 **片段长度** 指定的值配合使用。

**注意**  
您的 ABR 堆栈包含多个输出。确保在每个输出中设置这些值。

**查找输出的编码设置（控制台）**

1. 在 **Create job**（创建任务）页面上，在左侧 **Job**（任务）窗格的 **Output groups**（输出组）下，选择输出的名称，例如 **Output 1**（输出 1）、**Output 2**（输出 2）等。

1. 在 **Encoding settings (编码设置)** 部分中，已自动选择 **Video (视频)** 选项卡。在此选项卡上找到**已关闭的 GOP 节奏**、**GOP 大小**和**帧率**。

**查找输出的编码设置（JSON 作业规范）**
+ 

查找作为编解码器设置的子级的 `GopClosedCadence`、`GopSize`、`FramerateNumerator` 和 `FramerateDenominator`，如以下示例所示。在此示例中，编解码器为 `H_264`，因此，编解码器设置的父设置为 `H264Settings`。

  ```
  {
    "Settings": {
      ...
      "Inputs": [
        ...
      ],
      "OutputGroups": [
        {
          "Name": "DASH ISO",
          ...
          },
          "Outputs": [
            {
              "VideoDescription": {
                ...
                "CodecSettings": {
                  "Codec": "H_264",
                  "H264Settings": {
                    "InterlaceMode": "PROGRESSIVE",
                    "NumberReferenceFrames": 3,
                    "Syntax": "DEFAULT",
                    "Softness": 0,
                    "GopClosedCadence": 1,
                    "GopSize": 60,
  				  ...
                    "FramerateNumerator": 60,
                    "FramerateDenominator": 1
                  }
                },
                ...
              },
  ```

# HLS 播放器版本支持
<a name="hls-player-version-support"></a>

AWS Elemental MediaConvert 根据您启用的功能自动设置玩家版本元数据。您创建的大多数 HLS 资源 MediaConvert 都与 HLS 玩家版本 2 及更高版本兼容。

该列表显示可能需要更新的播放器支持的功能：

**Add I-frame only manifest** (添加仅 I 帧清单)：HLS output group (HLS 输出组) > Output (输出) > Advanced (高级) > Add I-frame only manifest (添加仅 I 帧清单)  
在选择 **Include** (包括) 时，查看者可以使用 HLS 播放器版本 4 和更高版本播放资产。  
在选择 **Exclude** (排除) 时，查看者可以使用 HLS 播放器版本 2 和更高版本播放资产。

**音轨类型** ：HLS 输出组 > 输出 > 输出设置 > 高级 > 音轨类型  
在为您的任何音频变体选择 **Alternate audio** (备用音频) 选项之一时，查看器可以使用 HLS 播放器版本 4 和更高版本播放资产。  
如果为 **音轨类型** 选择 **仅音频变体流**，或者为您的任何音频变体取消选择 **音轨类型**，查看器可以使用 HLS 播放器版本 2 和更高版本播放资产。

**DRM encryption method** (DRM 加密方法)：HLS output group (HLS 输出组) > DRM encryption (DRM 加密) > Encryption method (加密方法)  
在为 **DRM encryption** (DRM 加密) > **Encryption method** (加密方法) 选择 **SAMPLE-AES** 时，查看者可以使用 HLS 播放器版本 5 和更高版本播放资产。  
在为 **DRM encryption** (DRM 加密) > **Encryption method** (加密方法) 选择任何其他值时，查看者可以使用 HLS 播放器版本 2 和更高版本播放资产。

**描述性视频服务标志**：HLS 输出组 > 输出（必须纯音频）> 输出设置 > 描述性视频服务标志  
此设置在 CMAF 输出组中也可用：CMAF 输出组 > 输出 > CMAF 容器设置 > 高级 > 描述性视频服务标志  
要找到此设置，您的 HLS 或 CMAF 输出必须只有音频设置。在 HLS 输出中，必须删除默认的 **Video**（视频）选项卡。  
当您为 **Descriptive video service flag**（描述性视频服务标志）选择 **Flag**（标志）时，观看者可以在版本 5 及更高版本的 HLS 玩家中播放该资产。  
要创建兼容的 Apple HLS 输出：将 **Descriptive video service flag**（描述性视频服务标志）设置为 **Flag**（标志）时，还必须将 **Audio track type**（音频轨道类型）设置为 **Alternative audio, auto select, default**（备选音频、自动选择、默认）或 **Alternative audio, auto select, not default**（备选音频、自动选择，而不是默认）。

**Manifest duration format** (清单持续时间格式)：HLS output group (HLS 输出组) > Apple HLS group settings (Apple HLS 组设置) > Advanced (高级) > Manifest duration format (清单持续时间格式)   
在将清单持续时间格式设置为 **Integer** (整数) 时，查看者可以使用 HLS 播放器版本 2 和更高版本播放资产。  
在将清单持续时间格式设置为 **Floating point** (浮点) 时，查看者可以使用 HLS 播放器版本 3 和更高版本播放资产。

**Segment control** (段控制)：HLS output group (HLS 输出组) > Apple HLS group settings (Apple HLS 组设置) > Segment control (段控制)  
在将段控制设置为 **Single file** (单个文件) 时，查看者可以使用 HLS 播放器版本 4 和更高版本播放资产。  
在将段控制设置为 **Segmented files** (分段文件) 时，查看者可以使用 HLS 播放器版本 2 和更高版本播放资产。

# 推荐的视频质量编码设置
<a name="video-quality"></a>

使用创建作业时 AWS Elemental MediaConvert，您选择的编码设置会影响视频质量、文件大小和播放器兼容性。

您可以将作业配置为 MediaConvert 允许自动选择视频质量的最佳编码设置，同时保持输出文件大小均衡。或者，您也可以手动指定编码设置，以满足您的输出或交付要求。

本节将介绍基本概念，并描述一些典型设置，同时指导您选择适用于视频质量的优化设置。

**Topics**
+ [GOP 结构和帧类型参考](#gop-structure)
+ [GOP 大小推荐设置](#gop-size-settings)
+ [参考帧之间的 B 帧推荐设置](#reference-frames)
+ [已关闭的 GOP 节奏推荐设置](#closed-gop-cadence)
+ [动态子 GOP 推荐设置](#dynamic-sub-gop)
+ [GOP 参考 B 帧推荐设置](#gop-reference-b-frames)
+ [最小 I 间隔推荐设置](#min-i-interval)
+ [自适应量化推荐设置](#adaptive-quantization)

## GOP 结构和帧类型参考
<a name="gop-structure"></a>

创建作业时，为输出选择的图片组 (GOP) 设置会影响视频质量和播放器兼容性。本节介绍 GOP 的基本概念，并描述一些典型 GOP 设置，同时指导您选择适用于视频质量的优化设置。

GOP 是多种压缩视频帧类型的一种特定排列形式。这些帧类型包括以下内容：

 **I-Frames**   
内编码帧。包含解码器用于解码帧的所有信息。通常，I 帧在视频流中占用的位数最多。

 **IDR-Frames**   
即时解码器刷新帧。与 I 帧类似，它们包含解码器用来解码帧的所有信息。但是，帧不能引用在 IDR 帧之前出现的任何帧。

 **P-Frames**   
预测帧。包含当前帧与其之前一个或多个帧之间的差值。P 帧的压缩效果比 I 帧好得多，并且在视频流中使用的位数更少。

 **B-Frames**  
双向预测帧。包含当前帧与前后一个或多个帧之间的差值。B 帧的压缩率最高，在视频流中占用的位数最少。

典型的 GOP 以 IDR 帧开头，并按照 B- 和 P- 帧重复出现的模式依次进行。例如：`IDRBBPBBPBBPBB`

以下主题提供了有关各个 GOP 设置的更多信息，并提供了可优化视频质量的建议设置。

## GOP 大小推荐设置
<a name="gop-size-settings"></a>

GOP 大小是指 GOP 中的帧数，它定义了 IDR 帧之间的间隔。例如，如果 GOP 以 IDR 帧开头，并且有 29 个 B 帧 和 P 帧的组合，则 GOP 的大小为 30 帧。

典型的 GOP 大小为 1-2 秒，与视频帧速率相对应。例如，如果输出帧速率为每秒 30 帧，则典型的 GOP 大小为 30 或 60 帧。

当您将输出视频编解码器设置为 `AVC (H.264)` 或 `HEVC (H.265)` 时，请将 **GOP 模式控制**设置为 `Auto`。这 MediaConvert 允许选择最佳 GOP 大小。

**注意**  
流媒体视频格式，包括 HLS、DASH、CMAF 和 MSS，要求片段或片段长度为 GOP 大小的倍数。有关更多信息，请参阅 [设置流输出的片段长度](setting-the-fragment-length.md)。当您将这些视频格式的 GOP 模式控制设置为 “自动” 时， MediaConvert 会自动选择相对于片段或片段长度的兼容且经过优化的 GOP 大小。

## 参考帧之间的 B 帧推荐设置
<a name="reference-frames"></a>

定义 MediaConvert 可以在参考帧之间使用的最大 B 帧数。

如果 **GOP 参考 B 帧**设置为 `Disabled`，则典型值为 1 或 2；如果 **GOP 参考 B 帧**设置为 `Enabled`，则典型值为 3–5。

当您将输出视频编解码器设置为 `AVC (H.264)` 或 `HEVC (H.265)` 时，请将**参考帧之间的 B 帧**留空。这 MediaConvert 允许在参考帧之间选择最佳数量的 B 帧。

## 已关闭的 GOP 节奏推荐设置
<a name="closed-gop-cadence"></a>

**封闭的 GOP 节奏**定义了 P 或 B 帧能够参考的数量。 GOPs GOP 可以是*打开*的，也可以是*关闭*的。开放的框架 GOPs 可以引用来自其他 GOP 的框架，而封闭 GOPs 的框架只能引用 GOP 本身内部的框架。

当您将输出视频编解码器设置为`AVC (H.264)`或时`HEVC (H.265)`，请将 Closed **GOP 节奏**留空， MediaConvert 以便选择最佳的闭合 GOP 节奏。

## 动态子 GOP 推荐设置
<a name="dynamic-sub-gop"></a>

动态子 GOP 可以提高高动态内容的主观视频质量。它通过允许 B 帧的数量变化来做到这一点。

当您将输出视频编解码器设置为 `AVC (H.264)` 或 `HEVC (H.265)` 时，请将**动态子 GOP** 设置为 `Adaptive`。这 MediaConvert 允许确定最佳的子GOP。

## GOP 参考 B 帧推荐设置
<a name="gop-reference-b-frames"></a>

将输出视频编解码器设置为 `AVC (H.264)` 或 `HEVC (H.265)` 时，将 **GOP 参考 B 帧**设置为 `Enabled`，以允许其他帧类型引用 B 帧。相对于位元速率，这可以提高输出的视频质量。

## 最小 I 间隔推荐设置
<a name="min-i-interval"></a>

最小 I 间隔强制执行 IDR 帧之间的最小帧数。这包括在 GOP 开头或通过场景变化检测创建的​​帧。当在彼此附近创建两个 IDR 帧时，使用最小 I 间隔通过改变 GOP 大小来提高视频压缩率。

当您将输出视频编解码器设置为 `AVC (H.264)` 或 `HEVC (H.265)` 时，将**最小 I 间隔**留空。这 MediaConvert 允许选择最佳的最小 i 间隔。

## 自适应量化推荐设置
<a name="adaptive-quantization"></a>

自适应量化选择应用于所使用的不同量化模式的强度，包括闪烁、 MediaConvert 空间和时间量化。 MediaConvert 使用自适应量化根据视频的复杂程度分配比特。

当您将输出视频编解码器设置为`AVC (H.264)``HEVC (H.265)``XAVC`、或时，请将**自适应量化**设置为`Auto` MediaConvert 以允许选择最佳的自适应量化。

# 在作业设置中使用变量
<a name="using-variables-in-your-job-settings"></a>

您可以在作业设置中使用变量（也称为*格式标识符*） 。格式标识符是可以放在作业设置中的值，这些值在输出中的解析方式不同，具体取决于输入文件或作业的特征。它们在您打算复制和重复使用的输出预设、作业模板和作业中特别有用。请注意，变量区分大小写。

例如，您可以在**目标**设置中使用日期格式标识符 `$d$`。如果您希望按作业的开始日期和时间组织输出，则可为 **Destination (目标)** 输入 **s3://amzn-s3-demo-bucket1/\$1d\$1/**。对于在 2020 年 6 月 4 日开始的作业，该服务将在 `s3://amzn-s3-demo-bucket1/20200604/` 中创建您的输出。

有关可用格式标识符的列表以及如何使用这些标识符的示例，请参阅 [设置变量与示例列表](#list-of-settings-variables-with-examples)。

有关在流输出中功能不同的格式标识符的信息，请参阅 [将设置变量与流式处理输出结合使用](#using-settings-variables-with-streaming-outputs)。

**Topics**
+ [设置变量与示例列表](#list-of-settings-variables-with-examples)
+ [将设置变量与流式处理输出结合使用](#using-settings-variables-with-streaming-outputs)
+ [指定最小位数](#specifying-a-minimum-number-of-digits)

## 设置变量与示例列表
<a name="list-of-settings-variables-with-examples"></a>

下表提供了有关可在 AWS Elemental MediaConvert 作业中使用的每种格式标识符的信息。有关在流输出中功能不同的格式标识符的信息，请参阅 [将设置变量与流式处理输出结合使用](#using-settings-variables-with-streaming-outputs)。


| 格式标识符 | 要放在作业设置中的值 | 兼容的作业设置 | 说明和示例 | 
| --- |--- |--- |--- |
| 日期和时间 |  `$dt$`  |  目标位置 名称修饰符 段修饰符  |  作业开始时间的 UTC 日期和时间。 格式：YYYYMMDDTHHMMSS 示例：对于在 2020 年 6 月 4 日下午 3:05:28 开始的作业，**\$1dt\$1** 将解析为 `20200604T150528`。  | 
| 日期 |  `$d$`  |  目标位置 名称修饰符 段修饰符  |  作业的开始时间的 UTC 日期。 格式：YYYYMMDD 示例：对于在 2020 年 6 月 4 日开始的作业，**\$1d\$1** 将解析为 `20200604`。  | 
| 时间 |  `$t$`  |  目标位置 名称修饰符 段修饰符  |  作业的 UTC 开始时间。 格式：HHMMSS 示例：对于在下午 3:05:28 开始的作业，**\$1t\$1** 将解析为 `150528`。  | 
| 视频比特率 |  `$rv$`  |  名称修饰符 段修饰符  |  输出的视频比特率（以千位为单位）。对于 QVBR 输出，该服务使用视频最大比特率（以千位为单位）。 示例：如果您将 **Encoding settings (编码设置)**、**Video (视频)**、**Bitrate (bits/s) (比特率(位/秒))** 设置为 **50000000**，则 **\$1rv\$1** 将解析为 `50000`。  | 
| 音频比特率 |  `$ra$`  |  名称修饰符 段修饰符  |  输出中所有音频比特率的总计（以千位为单位）。 示例：如果您有一个带单个音频选项卡的输出，并且您将 **Encoding settings (编码设置) **、**Audio 1 (音频 1) **、**Bitrate (kbit/s) (比特率(千位/秒)) ** 设置为 **256000**，则 **\$1ra\$1** 将解析为 `256000`。  | 
| 容器比特率 |  `$rc$`  |  名称修饰符 段修饰符  |  输出的组合音频和视频比特率（以千位为单位）。 示例：您有一个带 **Video (视频)** 设置选项卡和 **Audio 1 (音频 1)** 设置选项卡的输出。如果您将 **Encoding settings (编码设置)**、**Video (视频)**、**Bitrate (bits/s) (比特率(位/秒))** 设置为 **5000000**，并将 **Encoding settings (编码设置)**、**Audio (音频)**、**Bitrate (bits/s) (比特率(位/秒))** 设置为 **96000**（96 千位），则 **\$1rc\$1** 将解析为 `5096`。  | 
| 视频帧宽度 |  `$w$`  |  名称修饰符 段修饰符  |  帧宽度或水平分辨率（以像素为单位）。 示例：如果您将 **Encoding settings (编码设置)**、**Video (视频)**、**Resolution (w x h) (分辨率(宽 x 高))** 设置为 **1280** x **720** ，则 **\$1w\$1** 将解析为 `1280`。  | 
| 视频帧高度 |  `$h$`  |  名称修饰符 段修饰符  |  帧高度或垂直分辨率（以像素为单位）。 示例：如果您将 **Encoding settings (编码设置)**、**Video (视频)**、**Resolution (w x h) (分辨率(宽 x 高))** 设置为 **1280** x **720** ，则 **\$1h\$1** 将解析为 `720`。  | 
| Framerate |  `$f$`  |  名称修饰符 段修饰符  |  帧速率（以每秒帧数为单位），截断到最接近的整数。 示例：如果您的帧速率为 **59.940**，则 **\$1f\$1** 将解析为 `59`。  | 
| 输入文件名 |  `$fn$`  |  目标位置 名称修饰符 段修饰符  |  输入文件的名称（不带文件扩展名）。对于具有多个输入的作业，这是作业中指定的第一个文件。 示例：如果作业的 **Input 1 (输入 1)** 为 **s3://amzn-s3-demo-bucket/my-video.mov**，则 **\$1fn\$1** 将解析为 `my-video`。  | 
| 输出容器文件扩展名 |  `$ex$`  |  名称修饰符 段修饰符  |  因输出组而异。对于 **File group (文件组)** 输出，这是输出容器文件的扩展名。对于其他输出组，这是清单的扩展名。 文件组示例：如果您为**输出设置**选择 **MPEG2-TS**，则**容器**将**\$1ex\$1**解析为。`m2ts` HLS 组的示例：如果您的输出组是 HLS，则 **\$1ex\$1** 将解析为 `m3u8`。  | 
| \$1 |  `$$`  |  名称修饰符 段修饰符  |  转义的 `$`。 示例： 假设您提供以下值：   输入文件名： **file1.mp4**   目的地：**s3://amzn-s3-demo-bucket/**   名称修饰符：**my-video\$1\$1hi-res-**   您的输出文件名和路径将解析为 `s3://amzn-s3-demo-bucket/my-video$hi-res-file1.mp4`。  | 

## 将设置变量与流式处理输出结合使用
<a name="using-settings-variables-with-streaming-outputs"></a>

作业中的变量（也称作*格式标识符*）对 Apple HLS 和 DASH ISO 输出组中的输出的功能不同。差异如下：

**对于 Apple HLS 输出**  
当您在**分段修饰符**设置中使用日期和时间格式标识符（`$dt$`、`$t$`、`$d$`）时，这些格式标识符会解析为每个分段的完成时间，而不是作业的开始时间。

**注意**  
对于使用加速转码的作业，各个段可能将同时完成。这意味着日期和时间格式标识符并不总是解析为唯一值。

**对于 DASH ISO 输出**  
您可以在 **Name modifier (名称标识符)** 设置中使用两个额外的格式标识符。它们将影响 DASH 清单以及输出文件名。以下是标识符：

\$1Number\$1  
在您的输出文件名中，`$Number$` 将解析为一系列数字（从 1 开始递增）。这将替换段文件名中默认的九位段编号。例如：  
+ 如果为**名称修饰符**指定 **video\$1\$1Number\$1**，则该服务会创建名为 `video_1.mp4`、`video_2.mp4` 等的分段文件。
+ 如果只为**名称修饰符**指定 **video\$1**，则该服务会创建名为 `video_000000001.mp4`、`video_000000002.mp4`等的分段文件。
在你的 DASH 清单中， AWS Elemental MediaConvert 包含元素`startNumber`内部`duration`和`SegmentTemplate`元素，如下所示：`<SegmentTemplate timescale="90000" media="main_video_$Number$.mp4" initialization="main_video_$Number$init.mp4" duration="3375000"/>`  
如果您在一个输出中使用 `$Number$` 格式标识符，则也必须在输出组的所有其他输出中使用该标识符。

\$1Bandwidth\$1   
在您的输出文件名中，`$Bandwidth$` 将解析为输出中 **Video** **Bitrate (视频比特率)** 的值以及 **Audio** **Bitrate (音频比特率)** 的值。无论您是否包含此格式标识符，该服务都会在段文件名中使用九位段编号。  
例如，假设您指定以下值：  
+ **Video (视频)** **Bitrate (bits/s) (比特率(位/秒))**：**50000000**
+  **Audio (音频)** **Bitrate (kbits/s) ( 比特率(千位/秒))**：**96.0**（96000 位/秒）
+ **Name modifier (名称修饰符)**：**video\$1\$1Bandwidth\$1**
\$1Bandwidth\$1 的值解析为 50096000。该服务将创建段文件，这些文件名为 `video_50096000_000000001.mp4`、`video_50096000_000000002.mp4`，以此类推。  
在清单中， AWS Elemental MediaConvert 包含元素`startNumber`内部`duration`和`SegmentTemplate`元素，如下所示：`<SegmentTemplate timescale="90000" media="main_video_$Bandwidth$.mp4" initialization="main_video_$Bandwidth$init.mp4" duration="3375000"/>`。

\$1Time\$1  
在您的输出文件名中，`$Time$` 将解析为段的持续时间（以毫秒为单位）。在包含此格式标识符时，该服务不会在段文件名中使用默认的九位段编号。  
例如，如果您为**名称修饰符**指定 **video180\$1\$1\$1Time\$1**，则该服务会创建名为 `video180__345600.mp4`、`video180__331680.mp4` 等的分段文件。在这些示例中，段持续时间为 345600 毫秒和 331680 毫秒。  
在清单中， AWS Elemental MediaConvert 包含`SegmentTemplate`元素`SegmentTimeline`内部，如下所示：  

```
<Representation id="5" width="320" height="180" bandwidth="200000" codecs="avc1.4d400c">
        <SegmentTemplate media="video180_$Time$.mp4" initialization="videovideo180_init.mp4">
          <SegmentTimeline>
            <S t="0" d="345600" r="2"/>
            <S t="1036800" d="316800"/>
          </SegmentTimeline>
        </SegmentTemplate>
      </Representation>
```
如果您在一个输出中使用 `$Time$` 格式标识符，则也必须在输出组的所有其他输出中使用该标识符。

\$1陈述ID\$1  
在输出文件名中，`$RepresentationID$`解析为作业设置中输出的数字顺序。  
在清单中，在`SegmentTemplate`元素中 AWS Elemental MediaConvert 使用此标识符来引用每种表示的正确路径。  
当您需要按表示法 ID 整理 DASH 输出时，此格式标识符特别有用。

## 指定最小位数
<a name="specifying-a-minimum-number-of-digits"></a>

对于返回数字的格式标识符，您可以指定格式标识符将解析为的最小位数。执行此操作时，该服务会在任何返回较少位数的值之前添加填充零。

使用以下语法来指定位数：**%0[number of digits]**。将此值放在格式标识符的最后的 `$` 的前面。

例如，假设您的视频帧高度为 720，并且您希望指定至少四位数，以便它在您的文件名中显示为 `0720`。要执行此操作，请使用以下格式标识符：**\$1h%04\$1**。

**注意**  
值太大，无法用指定的位数表示，请使用更多的位数进行解析。