

终止支持通知：2025 年 11 月 13 日， AWS 我们将停止对亚马逊 Elastic Transcoder 的支持。2025 年 11 月 13 日之后，您将无法再访问 Elastic Transcoder 控制台或 Elastic Transcoder 资源。

有关过渡到的更多信息 AWS Elemental MediaConvert，请访问此[博客文章](https://aws.amazon.com/blogs/media/how-to-migrate-workflows-from-amazon-elastic-transcoder-to-aws-elemental-mediaconvert/)。

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

# 您在创建 Elastic Transcoder 任务时指定的设置
<a name="job-settings"></a>

使用 Elastic Transcoder 控制台创建任务时，您可以指定以下值。

**注意**  
您可以将 Elastic Transcoder 配置为在任务状态发生更改时通知您，包括 Elastic Transcoder 开始和完成任务处理时，以及在 Elastic Transcoder 遇到警告或错误情况时。有关更多信息，请参阅 [任务状态通知](notifications.md)。

**Topics**
+ [区域](#job-settings-region)
+ [常规设置](#job-settings-general)
+ [输入详细信息，第 1 部分](#job-settings-input-details)
+ [输入详细信息，第 2 部分，剪辑和字幕设置](#job-settings-input-details-part-2)
+ [输出详细信息，第 1 部分](#job-settings-output-details)
+ [输出详细信息，第 2 部分](#job-settings-output-details-part-3)
+ [输出详细信息，第 3 部分，字幕设置](#job-settings-output-details-part-2)
+ [（可选）输出加密](#job-encryption-settings)
+ [（仅限视频/缩略图）水印](#job-settings-watermarks)
+ [（仅FLAC/MP3/MP限 4 张）专辑封面](#job-settings-album-art)
+ [（可选）用户元数据](#job-settings-user-metadata)
+ [（仅限零碎的 MP4 /MPEG-TS 输出）播放列表](#job-settings-playlist)
+ [（仅限碎片 MP4 /MPEG-TS 输出，可选）HLS 内容保护](#job-settings-hls-cp)
+ [（HLSv3 仅限流畅播放列表，可选）数字版权管理](#job-settings-drm)

## 区域
<a name="job-settings-region"></a>

Elastic Transcoder 将在您所在的区域中创建任务。

## 常规设置
<a name="job-settings-general"></a>

 **管道**  
您希望 Elastic Transcoder 用于转码的管道的名称。管道确定多项设置，包括 Elastic Transcoder 获取待转码文件的 Amazon S3 存储桶、Elastic Transcoder 存放已转码文件的存储桶。

 **输出密钥前缀**  
您希望 Elastic Transcoder 向该任务创建的所有文件（包括输出文件、缩略图和播放列表）的名称追加的值（如有）。如果指定一个值，则它必须在第一个字符之后的某个位置包含一个**/**，以简化 Amazon S3 文件管理。

![\[“常规设置”屏幕截图。\]](http://docs.aws.amazon.com/zh_cn/elastictranscoder/latest/developerguide/images/job-create-general.png)


## 输入详细信息，第 1 部分
<a name="job-settings-input-details"></a>

使用此部分中的设置以指定有关输入文件的信息。如果您提供多个输入文件，则 Elastic Transcoder 将对这些文件进行转码，然后将它们拼接成一个输出文件。有关更多信息，请参阅 [剪辑拼接](clip-stitching.md)。

 **输入密钥**‎  
要转码的文件的名称。为了确定从哪个 Amazon S3 存储桶获取该文件，Elastic Transcoder 将引用您在管道中为此任务指定的**输入存储桶**字段。  
如果文件名包含前缀，例如 `cooking/lasagna.mpg`，请在密钥中包含前缀。如果文件不在指定存储桶中，则 Elastic Transcoder 将返回错误。

 **输入解密**  
用于解密输入文件的加密设置（如果有）。如果您的输入文件已加密，则必须指定 Elastic Transcoder 用于解密文件的模式。

 **解密模式 (对于解密是必需的)**  
您希望 Elastic Transcoder 在解密文件时使用的特定加密模式。  
Elastic Transcoder 支持以下选项：  
+ **Amazon S3 服务器端加密：**Amazon S3 负责处理文件的加密和解密。只要 Elastic Transcoder 拥有对 Amazon S3 存储桶的访问权限，您就无需执行任何操作。

  有关更多信息，请参阅《Amazon Simple Storage Service 用户指南》**中的[使用服务器端加密保护数据](https://docs.aws.amazon.com/AmazonS3/latest/userguide/serv-side-encryption.html)。
+ **使用客户提供的密钥进行客户端加密：**Elastic Transcoder 支持使用客户提供的密钥进行三种类型的加密：
  + **aes-cbc-pkcs7：**填充密码块操作模式。
  + **aes-ctr：**AES 计数器模式。
  + **aes-gcm：**AES Galois 计数器模式，这种操作模式是一种经过身份验证的加密格式，这意味着被篡改的文件、密钥或初始化向量将无法完成解密过程。

  如果您选择了 AES 加密模式之一，则还必须指定以下三个值（所有三个值都必须采用 base64 编码）：
  + **加密密钥**
  + **加密密钥 MD5**
  + **加密初始化向量**

 **解密密钥 (对于 AES 解密是必需的）**  
用于加密文件的数据加密密钥。密钥必须采用 base64 编码，并且在进行 base64 编码之前必须是下列位长度之一：  
`96`（仅限 AES-GCM）、`128`、`192` 或 `256`。  
还必须使用对密钥进行加密 AWS KMS。有关更多信息，请参阅《AWS Key Management Service 开发人员指南》**中的[数据加密和解密](https://docs.aws.amazon.com/kms/latest/developerguide/programming-encryption.html)。

**解密密钥 MD5 （AES 解密所需）**  
用于加密输入文件的密钥 MD5 摘要，您希望 Elastic Transcoder 将其用作校验和以确保您的密钥在传输过程中不会损坏。密钥 MD5 必须经过base64编码，并且在进行base64编码之前必须正好为 16 个字节。

 **解密初始化向量 (对于 AES 解密是必需的）**  
由随机位生成器创建的用于加密输入文件的一系列随机位，对于每次加密操作来说这些随机位都是唯一的。初始化向量必须采用 base64 编码，并且在进行 base64 编码之前必须正好为 16 个字节。  
有关更多信息，请转到[初始化向量](http://en.wikipedia.org/wiki/Initialization_vector)。

![\[“输入设置”屏幕截图。\]](http://docs.aws.amazon.com/zh_cn/elastictranscoder/latest/developerguide/images/job-create-general-encrypt.png)


## 输入详细信息，第 2 部分，剪辑和字幕设置
<a name="job-settings-input-details-part-2"></a>

使用此部分中的设置以指定有关输入文件的剪辑和字幕的信息。这些设置仅在您提供多个输入时可用。

有关字幕的更多信息，请参阅 [字幕](captions.md)

 **（可选）剪辑开始时间**  
您可以创建一个输出文件，该文件包含来自输入文件的摘录。**剪辑开始时间**指示剪辑在输入文件中的开始位置。格式可以是 HH:mm:ss.SSS（最大值：23:59:59.999；SSS 为千分之一秒）或 sssss.SSS（最大值：86399.999）。如果未指定值，则 Elastic Transcoder 将从输入文件的开头处开始。

 **（可选）剪辑持续时间**  
摘录剪辑的持续时间。格式可以是 HH:mm:ss.SSS（最大值：23:59:59.999；SSS 为千分之一秒）或 sssss.SSS（最大值：86399.999）。如果未指定值，则 Elastic Transcoder 将从**剪辑开始时间**剪辑到文件末尾。  
如果指定比输入文件持续时间长的值，则 Elastic Transcoder 将从**剪辑开始时间**转码到文件末尾并返回警告消息。

 **（仅限视频）字幕合并策略**  
确定 Elastic Transcoder 如何处理多个字幕的策略。  
+ **MergeOverride:** Elastic Transcoder 将嵌入式字幕和附带字幕都转码为输出。如果输入文件中嵌有某种语言的字幕，附加文件中也有该语言的字幕，则 Elastic Transcoder 将使用附加字幕，忽略该语言的嵌入式字幕。
+ **MergeRetain:** Elastic Transcoder 将嵌入式字幕和附带字幕都转码为输出。如果输入文件中嵌有某种语言的字幕，附加文件中也有该语言的字幕，则 Elastic Transcoder 将使用嵌入式字幕，忽略该语言的附加字幕。如果**字幕源**为空，则 Elastic Transcoder 将在输出文件中省略所有附加字幕。
+ **覆盖：**Elastic Transcoder 仅转码您在**字幕源**中指定的附加字幕。

 **（仅限视频，可选）输入密钥**  
您希望 Elastic Transcoder 转码并包含在输出中的附加字幕文件的名称。

 **（仅限视频）语言**  
一个字符串，该字符串使用下列格式之一指定字幕语言：  
+ 2 个字符的 ISO 639-1 代码，例如，**en** 表示英语
+ 3 个字符的 ISO 639-2 代码，例如，**eng** 表示英语
有关 ISO 语言代码的更多信息，请参阅 [ISO 639-1 代码的列表](http://en.wikipedia.org/wiki/List_of_ISO_639-2_codes)。

**（仅限视频，可选） TimeOffset**  
对于片段生成或与关联视频文件不同时启动的字幕，会**TimeOffset**告知 Elastic Transcoder 在包含字幕之前需要编码多少视频。  
以 [\$1-] ss.sss 或 [\$1-] HH: mm: ss.ss 的形式指定。 TimeOffset 

 **（仅限视频，可选）标签**  
选择语言时在播放器中显示的字幕标签。建议在此处输入字幕语言名称（用字幕语言填写）。

![\[“输入剪辑和字幕”屏幕截图。\]](http://docs.aws.amazon.com/zh_cn/elastictranscoder/latest/developerguide/images/job-create-input-clip.png)


## 输出详细信息，第 1 部分
<a name="job-settings-output-details"></a>

使用此部分中的设置以指定有关输出文件的信息。

 **预设**  
要用于此输出的预设。预设确定 Elastic Transcoder 转码所用的音频、视频和缩略图设置。

**（仅限分段 MP4 /MPEG-TS 输出）片段持续时间**  
如果您为当前输出指定预设，其**容器的**值为 **ts (MPEG-TS**) 或 **fmp4**（片段），则片**段持续时间是每个片段的目标最大持续时间**（以秒为单位 MP4）。对于**HLSv3**格式播放列表，每个媒体片段都存储在单独`.ts`的文件中。对于 **HLSv4****MPEG-DASH** 和 Smoot **h** 播放列表，输出的所有媒体片段都存储在单个文件中。每个分段可长可短，但大致长度为**分段持续时间**。  
有效值的范围为 1 到 60 秒。如果视频的持续时间不能被**分段持续时间**整除，则最后一个段的持续时间为以下计算公式的余数：  
`total length/Segment Duration`  
Elastic Transcoder 会为您在**输出密钥**中指定的每个 **HLS** 输出创建一个特定于输出的播放列表。要将输出添加到该任务的主播放列表中，请将其包含在 [Outputs in Master Playlist](#job-settings-playlist-outputs) 中。  
Elastic Transcoder 将该分段应用到与输出视频关联的任何字幕。

 **输出密钥**  
您需要 Elastic Transcoder 分配给转码文件和播放列表的名称。Elastic Transcoder 将这些文件保存在 Amazon S3 存储桶中，该存储桶由您在 [Pipeline](#job-settings-pipeline-id) 中指定的管道中的**存储桶**字段指定。如果存储桶已包含具有指定名称的文件，则输出失败。但是，同一任务中的其他输出可能成功。  
文件名的格式取决于容器类型以及是否设置了分段持续时间。如果容器类型不是 `ts`，或未提供分段持续时间，则输出文件的名称是**输出密钥前缀**与**输出密钥**的联接。  
如果容器类型为 `ts`，并且提供了分段持续时间，则 Elastic Transcoder 将使用**输出密钥**的值为输出播放列表和 `.ts` 文件命名：  
+ **播放列表：**
  + **HLSv3:** **文件名由**输出键前缀和**输出键****加上文件扩展名.m3u8 的串联而成：**

    输出密钥前缀**输出密钥**.m3u8
  + **HLSv4:** **文件名是**输出键前缀和**输出键****加上文件扩展名 \$1v4.m3u8 的串联。**视频输出会创建第二个文件，其文件名为**输出密钥前缀**和**输出密钥**的联接加上文件扩展名 **\$1iframe.m3u8**：

    输出密钥前缀**输出密钥**\$1v4.m3u8

    输出密钥前缀**输出密钥**\$1iframe.m3u8（仅限视频）
+ **分段 (.ts) 文件：**
  + **HLSv3:** **文件名是**输出键前缀和**输出**密钥**的串联，再加上一个以 **00000** 开头的五位数顺序计数器，文件扩展名为.ts:**

    输出密钥前缀**输出密钥**00000.ts
  + **HLSv4:** **文件名由**输出键前缀和**输出键****加上文件扩展名.ts: 的组合而成**

    输出密钥前缀**输出密钥**.ts
如果主播放列表中未包含分段`ts`输出，则 Elastic Transcoder 会将输出视为。**HLSv3**  
Elastic Transcoder 会自动将相关的文件扩展名附加到或播放列表中的输出中。**HLSv3**HLSv4****如果您在**HLSv4**播放列表**输出的输出键**中包含文件扩展名，**HLSv3**则该文件名将有两个扩展名。
**输出密钥前缀**（输出密钥前缀）将一个任务的所有文件一起分组到您的 Amazon S3 存储桶中。如果需要将任务中每个输出的文件组合在一起，可以在**输出密钥**的值中包含一个前缀，例如：  
OutputKeyPrefix**iPhone/Key 00000.** ts  
OutputKeyPrefix**KindleFireHD/key 00000.ts**

 **分段文件名预览**  
第一个分段文件的名称（基于您为“输出密钥”输入的值）。

![\[“输出详细信息，第 1 部分”屏幕截图。\]](http://docs.aws.amazon.com/zh_cn/elastictranscoder/latest/developerguide/images/job-create-output-details-1.png)


## 输出详细信息，第 2 部分
<a name="job-settings-output-details-part-3"></a>

使用此部分中的设置以指定有关输出文件的信息。

 **（仅限视频）创建缩略图**  
如果您希望 Elastic Transcoder 为视频创建缩略图，请选择**是**，然后在**缩略图文件名模式**字段中指定文件名格式。

 **（仅限视频）缩略图文件名模式**  
如果您为**缩略图文件名模式**选择**是**，请指定文件名的格式。可以按任意顺序指定以下值：  
+ **\$1count\$1**（必需）：一个以 **00001** 开头的五位数，指示给定缩略图出现在转码文件缩略图序列中的位置。您必须在字段中的某个位置包含 **\$1count\$1**。如果您忽略它，Elastic Transcoder 会自动将计数追加到文件名的末尾、文件扩展名（.jpg 或 .png）的前面。
+ （可选）**字面值**：您可以在字段中的任何位置指定文字值；例如，作为文件名前缀或 `{resolution}` 与 `{count}` 之间的分隔符。
+ （可选）**\$1resolution\$1：**如果您希望 Elastic Transcoder 在文件名中包含分辨率，请在字段中包含 `{resolution}`。
**缩略图文件名预览**字段根据您在**缩略图文件名模式**中输入的值显示缩略图的文件名的示例。  
创建缩略图时，Elastic Transcoder 将文件自动保存为您在 [Preset](#job-settings-preset-id) 中指定的预设中显示的格式（.jpg 或 .png）。Elastic Transcoder 还会追加适用的文件扩展名。

 **（仅限视频/缩略图，可选）输出旋转**  
您希望 Elastic Transcoder 相对于输入顺时针旋转输出的度数。如果您希望 Elastic Transcoder 自动检测输入文件是否已旋转，请选择**自动**。但请注意，Elastic Transcoder 通常只能检测当您转码的文件包含旋转元数据时是否需要旋转输出。

![\[“输出详细信息，第 3 部分”屏幕截图。\]](http://docs.aws.amazon.com/zh_cn/elastictranscoder/latest/developerguide/images/job-create-output-details-3.png)


## 输出详细信息，第 3 部分，字幕设置
<a name="job-settings-output-details-part-2"></a>

使用此部分中的设置可指定有关输出文件的字幕的信息。

有关字幕的更多信息，请参阅 [字幕](captions.md)。

 **（仅限视频）字幕格式**  
您指定的格式确定 Elastic Transcoder 为该输出生成嵌入式字幕还是附加字幕。如果将该值留空，则 Elastic Transcoder 将返回错误。  
+ **嵌入式字幕格式：**对于 MP4 容器，支持 mov-text 和 CEA-708。对于 MPEG-TS 容器，支持 CEA-708。对于其他容器类型，不支持任何嵌入式字幕格式。

  CEA-708 字幕嵌入在流的 H.264 SEI 用户数据中。对于每个输出，Elastic Transcoder 支持最多一个嵌入式格式。
+ **附加字幕格式：**Elastic Transcoder 支持 dfxp、scc、srt 和 webvtt。具有 Smooth 播放列表的 Fmp4 容器只支持 dfxp；Elastic Transcoder 将创建一个扩展名为 `.ismt` 的文件。具有 MPEG-DASH 播放列表的 Fmp4 容器只支持 webvtt；Elastic Transcoder 将创建一个扩展名为 `.vtt` 的文件。如果需要使用 ttml 或 smpte-tt 兼容字幕，请指定 dfxp 作为输出格式。

 **（仅限视频）字幕文件名模式**  
标题文件名的前缀，格式为 *description*-`{language}`，其中：  
+ *description*是对视频的描述。
+ `{language}` 是一个字面值，Elastic Transcoder 在输出文件名中将其替换为该字幕语言的两字母或三字母代码。
如果您未包含`{language}`在文件名模式中，Elastic Transcoder 会自动在您为指定的值后面追加 “`{language}`”。*description*此外，Elastic Transcoder 将向分段文件末尾自动追加计数。  
例如，假设要转码为 srt 格式。如果输入“Sydney-\$1language\$1-sunrise”，并且字幕语言为“English (en)”，则第一个字幕文件的名称为 `Sydney-en-sunrise00000.srt`。

 **（仅限视频）字幕文件名预览**  
第一个字幕文件的名称（基于您为**字幕文件名模式**输入的值）。预览使用英语 ISO 代码“en”来说明 `{language}` 在文件名中的实际情况。

![\[“输出详细信息，第 2 部分”屏幕截图。\]](http://docs.aws.amazon.com/zh_cn/elastictranscoder/latest/developerguide/images/job-create-output-details-2.png)


## （可选）输出加密
<a name="job-encryption-settings"></a>

您可以为任何输出文件指定要用于转码任务的加密设置。这包括要使用的输出文件、任何水印、缩略图、专辑封面或字幕。您必须为每个文件单独指定加密设置。

 **输出加密**  
您希望 Elastic Transcoder 应用于输出文件的加密设置（如果有）。如果选择使用加密，则必须指定使用的模式。如果您选择不使用加密，Elastic Transcoder 会将未加密的文件写入您的 Amazon S3 存储桶。

 **（对于文件级别加密是必需的）加密模式**  
您希望 Elastic Transcoder 在单独加密输出文件时使用的特定加密模式。Elastic Transcoder 支持以下**加密模式**选项：  
+ **s3：**Amazon S3 创建并管理用于加密文件的密钥。

  有关更多信息，请参阅《Amazon Simple Storage Service 用户指南》**中的[使用服务器端加密保护数据](https://docs.aws.amazon.com/AmazonS3/latest/userguide/serv-side-encryption.html)。
+ **s3-aws-kms：Ama** zon S3 调用 AWS KMS，它会创建和管理用于加密文件的密钥。如果指定了 **s3-aws-kms**，但不想使用默认密钥，则必须将要使用的 AWS-KMS 密钥添加到管道中。

  有关更多信息，请参阅《Amazon Simple Storage Service 用户指南》**中的[使用采用 AWS KMS 托管式密钥的服务器端加密保护数据](https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingKMSEncryption.html)。
+ **aes-cbc-pkcs7：**填充密码块操作模式。
+ **aes-ctr：**AES 计数器模式。
+ **aes-gcm：**AES Galois 计数器模式，这种操作模式是一种经过身份验证的加密格式，这意味着被篡改的文件、密钥或初始化向量将无法完成解密过程。
如果您选择了 AES 加密模式之一，则还必须指定以下三个值（所有三个值都必须采用 base64 编码）：  
+ **加密密钥**
+ **加密密钥 MD5**
+ **加密初始化向量**
****如果您选择了 AES 加密模式之一，并且希望 Elastic Transcoder 为您生成`128`一个位的 AES 加密密钥，请不要为加密密钥、加密密钥或**加密初始化向**量指定值。 MD5****Elastic Transcoder 生成密钥后，就可以通过调用 `ReadJob` 来检索密钥。密钥不包含在 `CreateJobResponse` 对象中。  
对于 AES 模式，AWS 不会存储您的特定媒体私有加密密钥和未加密的数据，因此请您务必妥善管理加密密钥。如果您丢失了加密密钥，将无法解密数据。

 **（可选）加密密钥**  
如果您希望 Elastic Transcoder 为您生成密钥，请将此字段留空。Elastic Transcoder 生成密钥后，您可以通过调用**读取任务**来检索密钥。该密钥不包含在**创建任务响应**对象中。  
如果您选择提供自己的密钥，则必须使用 AWS KMS 加密该密钥。密钥必须进行 base64 编码，并且在进行 base64 编码之前必须是下列位长度之一：  
`96`（仅限 AES-GCM）、`128`、`192` 或 `256`。  
如果您将 Elastic Transcoder 配置成为您生成密钥，则 Elastic Transcoder 会在**创建任务**响应中将此字段留空。要检索生成的数据加密密钥，请提交**创建任务**请求。  
*有关使用加密密钥的更多信息 AWS KMS，请参阅开发人员[指南中的加密和解密数据](https://docs.aws.amazon.com/kms/latest/developerguide/programming-encryption.html)。AWS Key Management Service *

**（如果提供了加密密钥，则为必填项）加密密钥 MD5**  
您希望 Elastic Transcoder 用来加密输出文件的密钥 MD5 摘要，以及您希望 Elastic Transcoder 用作校验和的密钥摘要，以确保您的密钥在传输过程中不会损坏。密钥 MD5 必须经过base64编码，并且在进行base64编码之前必须正好为 16 个字节。  
如果 Elastic Transcoder 正在为您生成密钥，则必须将此字段留空。

 **（如果提供加密密钥，则是必需的）加密初始化向量**  
由随机位生成器创建的一系列随机位，每次加密操作都是唯一的，您希望 Elastic Transcoder 使用这些随机位对输出文件进行加密。初始化向量必须采用 base64 编码，并且在进行 base64 编码之前必须正好为 16 个字节。  
如果 Elastic Transcoder 正在为您生成密钥，则必须将此字段留空。  
有关更多信息，请转到[初始化向量](http://en.wikipedia.org/wiki/Initialization_vector)。

![\[“输出加密”屏幕截图。\]](http://docs.aws.amazon.com/zh_cn/elastictranscoder/latest/developerguide/images/job-create-encryption.png)


## （仅限视频/缩略图）水印
<a name="job-settings-watermarks"></a>

有关您希望 Elastic Transcoder 在转码过程中添加到视频的水印的信息。每个输出最多可指定四个水印。每个水印的设置都必须在当前输出的**预设**中指定的预设中定义。

水印按照其在任务输出中列出的顺序添加到输出视频中——列表中的第一个水印先添加到输出视频中，然后添加列表中的第二个水印，以此类推。因此，如果预设中的设置导致 Elastic Transcoder 将所有水印放在同一位置，则添加的第二个水印将覆盖第一个水印，第三个将覆盖第二个，第四个将覆盖第三个。

有关水印的更多信息，请参阅 [水印](watermarks.md)。

 **预设水印 ID**  
Elastic Transcoder 在转码过程中将水印添加到视频时所用的水印设置的 ID。设置位于当前输出的**预设**指定的预设中。在该预设中，**水印 ID** 的值指示 Elastic Transcoder 使用哪些设置。

 **预设水印 ID 的输入密钥**  
要用于水印的 .png 或 .jpg 文件的名称。为确定哪个 Amazon S3 存储桶包含指定文件，Elastic Transcoder 将检查**管道**指定的管道；该管道的**输入存储桶**对象标识存储桶。  
如果文件名包含前缀，例如 **logos/128x64.png**，请在密钥中包含前缀。如果文件不在指定存储桶中，则 Elastic Transcoder 将返回错误。

![\[“水印”屏幕截图。\]](http://docs.aws.amazon.com/zh_cn/elastictranscoder/latest/developerguide/images/job-create-watermarks.png)


## （仅FLAC/MP3/MP限 4 张）专辑封面
<a name="job-settings-album-art"></a>

要与输出文件关联的专辑封面（如果有）。

要删除艺术作品或将艺术作品留空，可以将**艺术作品**设置为空值，或将**合并策略**设置为“替换”并使用空**艺术作品**数组。

要按原样传递艺术作品，请将**合并策略**设置为“前置”、“附加”或“回退”，并使用空的**艺术作品**数组。

**注意**  
专辑封面只适用于 `flac`、`mp3` 或 `mp4` 容器中的纯音频输出。

 **专辑封面合并策略**  
确定 Elastic Transcoder 将如何处理多个专辑艺术作品文件的策略。  
+ **替换：**用指定的专辑封面替换任何现有的专辑封面。
+ **前置：**将指定的专辑封面放置在任何现有专辑封面之前。
+ **附加：**将指定的专辑封面放置在任何现有专辑封面之后。
+ **回退：**如果输入文件包含艺术作品，则 Elastic Transcoder 将该艺术作品用于输出。如果输入不包含艺术作品，则 Elastic Transcoder 将使用指定的专辑封面文件。

 **专辑封面艺术作品**  
要用作专辑封面的文件。每个音频文件最多可以关联 20 个艺术作品。

 **专辑封面输入密钥**  
要用作专辑封面的文件的名称。为了确定哪个 Amazon S3 存储桶包含指定文件，Elastic Transcoder 会检查**PipelineId**由指定的管道；**InputBucket**该管道中的对象会识别该存储桶。  
如果文件名包含前缀，例如 `cooking/pie.jpg`，请在密钥中包含前缀。如果文件不在指定存储桶中，则 Elastic Transcoder 将返回错误。

 **专辑封面格式**  
专辑封面的格式（如果有）。有效格式为 `jpg` 和 `png`。

 **专辑封面最大宽度**  
输出专辑封面的最大宽度（像素）。如果指定 `auto`，则 Elastic Transcoder 将使用 600 作为默认值。要指定数值，请输入介于 32 和 4096 之间的偶数（含端值）。

 **专辑封面最大高度**  
输出专辑封面的最大高度（像素）。如果指定 `auto`，则 Elastic Transcoder 将使用 600 作为默认值。要指定数值，请输入介于 32 和 3072 之间的偶数（含端值）。

 **专辑封面大小调整策略**  
控制输出专辑封面缩放的值：  
+ **适合：**Elastic Transcoder 会缩放输出图片，使其与您在任一值中指定的值相匹配，**MaxWidth**MaxHeight****或者不超过其他值。
+ **填充：**Elastic Transcoder 缩放输出图片，使其与您在或中指定的值相匹配，并匹配**MaxWidth**MaxHeight****或超过其他值。Elastic Transcoder 将输出专辑封面居中放置，然后裁切超出最大值的尺寸（如果有）。
+ **拉伸：**Elastic Transcoder 会拉伸输出图片以匹配你为和指定的值。**MaxWidth**MaxHeight****如果输入专辑封面和输出专辑封面的相对比例不同，输出专辑封面会失真。
+ **保持：**Elastic Transcoder 不会缩放输出专辑封面。如果输入图稿的任一维度超过您为**MaxWidth**和**MaxHeight**指定的值，Elastic Transcoder 会裁剪输出图稿。
+ **ShrinkToFit:** Elastic Transcoder 缩小输出图稿的尺寸，使其尺寸与您为其中至少一个值指定的值相匹配，**MaxHeight**且不超过任何一个**MaxWidth**值。如果指定该选项，则 Elastic Transcoder 不会缩放专辑封面。
+ **ShrinkToFill:** Elastic Transcoder 缩小输出图稿的尺寸，使其尺寸与您为其中至少一个值指定的值相匹配，**MaxHeight**并且不会降至任何一个**MaxWidth**值以下。如果指定该选项，则 Elastic Transcoder 不会缩放专辑封面。
下表显示了**SizingPolicy**设置对输出专辑封面可能产生的影响：      
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/elastictranscoder/latest/developerguide/job-settings.html)

 **专辑封面填充策略**  
当您设置**PaddingPolicy**为时`Pad`，Elastic Transcoder 可能会在输出专辑封面的顶部和底部和/或左侧和右侧添加白条，以使输出封面的总大小与您为和指定的值相匹配。**MaxWidth**MaxHeight****有关更多信息，请参阅 `AlbumArt:Art:SizingPolicy` 处的表。

![\[“艺术作品”屏幕截图。\]](http://docs.aws.amazon.com/zh_cn/elastictranscoder/latest/developerguide/images/job-create-artwork.png)


![\[“艺术作品加密”屏幕截图。\]](http://docs.aws.amazon.com/zh_cn/elastictranscoder/latest/developerguide/images/job-create-artwork-encryption.png)


## （可选）用户元数据
<a name="job-settings-user-metadata"></a>

您想要与 Elastic Transcoder 任务关联的用户定义元数据。您可以在 `key/value` 对中指定元数据。例如，您可以使用 `key/value` 对来跟踪有关文件的详细信息，例如 `Season 1: Episode 3`。

每个任务最多可添加 10 个密钥/值对。Elastic Transcoder 不保证按照您指定的顺序返回 `key/value` 对。

**元数据密钥**  
您希望与输出文件一起返回的元数据 `key/value` 对的密钥。每个密钥必须是介于 `1-128` 个字符的唯一字符串，并且只能使用以下列表中的字符：  
+ `0-9`
+ `A-Z` 和 `a-z`
+ `Space`
+ 以下符号：`_.:/=+-%@`
您可以使用密钥作为组织元数据的编号系统，存储额外的 128 个字符的元数据，或标记存储在**值**中的元数据。如果您只想使用值元数据，可以在密钥中放置临时字符串（例如 `key1`），并在从 Elastic Transcoder 检索元数据时忽略这些密钥。  
您必须为任务中的所有密钥指定唯一的字符串。如果任务中的多个密钥使用相同的字符串，则 Elastic Transcoder 将仅返回使用该密钥的密钥/值对中的一个。无法保证返回的是哪个值。

** 元数据值**  
您希望与任务一起返回的元数据 `key/value` 对的值。每个值必须是 `0-256` 个字符之间的字符串，并且只能使用以下列表中的字符：  
+ `0-9`
+ `A-Z` 和 `a-z`
+ `Space`
+ 以下符号：`_.:/=+-%@`

![\[“用户元数据”屏幕截图。\]](http://docs.aws.amazon.com/zh_cn/elastictranscoder/latest/developerguide/images/job-create-metadata.png)


## （仅限零碎的 MP4 /MPEG-TS 输出）播放列表
<a name="job-settings-playlist"></a>

如果您在预设列表中选择**容器的**值为 **ts (MPEG-TS**) 或 **fmp4**（碎片 MP4）的**预设**，请使用本节中的设置来指定希望 Elastic Transcoder 创建的主播放列表的相关信息。对于每种播放列表格式，我们建议最多只创建一个主播放列表。

 **主播放列表名称**  
您希望 Elastic Transcoder 分配给主播放列表的名称。如果名称中包含 `/` 字符，则对于所有**播放列表名称**，最后一个**/**之前的名称部分必须相同。如果创建多个主播放列表，则每个列表必须具有唯一名称。  
********Elastic Transcoder 会自动将相关的文件扩展名附加到文件名**（**.m3u8 表示和播放列表，.mpd 表示M **HLSv3**PEG-DASH 播放列表**，**.ism **HLSv4**和.ismc 表示流畅播放列表）。********如果在**主播放列表名称**中包含了文件扩展名，则文件名将包含两个扩展名。
播放列表中所有输出的任何段持续时间设置、剪辑设置或字幕设置都必须相同。对于 **Smooth** 播放列表，所有输出的 **Audio:Profile**、**Video:Profile** 和 **Frame Rate** 与 **Maximum Number of Frames Between Keyframes** 的比率必须相同。

 **播放列表格式**  
播放列表的格式。**有效的格式包括**HLSv3**、**HLSv4**、**MPEG-DASH 和 Smooth**。**

 **主播放列表中的输出**  
对于要包含在主播放列表中的该任务的每个输出，**输出密钥**字段的值必须相同。如果在播放列表中包含了多个输出，则所有输出的**分段持续时间**的值必须相同。  
对于**HLSv4**主播放列表，Elastic Transcoder 会选择在输出播放列表中关联哪些音频和视频输入组合。第一个音频和视频输入将链接并呈现为默认播放体验，这使得您能够选择首选的播放默认设置。对于主播放列表中的其他各个播放列表，Elastic Transcoder 将选择何种音频和视频位元速率组合能够提供最佳播放效果。

![\[“播放列表”屏幕截图。\]](http://docs.aws.amazon.com/zh_cn/elastictranscoder/latest/developerguide/images/job-create-playlist.png)


## （仅限碎片 MP4 /MPEG-TS 输出，可选）HLS 内容保护
<a name="job-settings-hls-cp"></a>

**注意**  
HLS 内容保护对文件的每个分段进行加密，而 Elastic Transcoder 不支持将 HLS 内容保护与文件级别加密组合使用。

如果您在 “预设” 列表中选择**容器的**值为 **ts (MPEG-TS**) 或 **fmp4**（片段 MP4）且播放列表为**平滑**播放列表的**预**设，则可以为流式传输文件指定加密设置。您不能将数据流加密与文件或字幕加密结合使用。如果您选择对数据流进行加密，请使用此部分中的设置来指定有关数据流加密的信息。

要使用 HLS 内容保护，您必须拥有可以对会话进行身份验证的 Web 服务器（例如 Amazon Elastic Compute Cloud）、分发流媒体文件的方式（例如亚马逊 CloudFront）以及播放加密流媒体的方法（例如支持播放器的浏览器）。

** 方法**  
输出的内容保护方法。唯一有效值为：  
`aes-128`.  
该值将写入输出播放列表中 `EXT-X-KEY` 元数据标签的 `method` 属性中。

** 密钥**  
如果您希望 Elastic Transcoder 为您生成密钥，请将此字段留空。Elastic Transcoder 生成密钥后，就可以通过调用 `ReadJob` 来检索密钥。密钥不包含在 `CreateJobResponse` 对象中。  
如果您选择提供自己的密钥，则必须使用 AWS KMS 加密该密钥。密钥必须进行 base64 编码，并且在进行 base64 编码之前必须是下列位长度之一：  
`96`（仅限 AES-GCM）、`128`、`192` 或 `256`。  
如果您将 Elastic Transcoder 配置成为您生成密钥，则 Elastic Transcoder 会在 `CreateJob` 响应中将此字段留空。要检索生成的数据加密密钥，请提交 `ReadJob` 请求。  
*有关使用加密密钥的更多信息 AWS KMS，请参阅开发人员[指南中的加密和解密数据](https://docs.aws.amazon.com/kms/latest/developerguide/programming-encryption.html)。AWS Key Management Service *  
如果您选择 `aes-128` 的 HLS 内容保护方法，则密钥必须是 `128` 位。如果你有一`relative`**KeyStoragePolicy**套，Elastic Transcoder 会将你的密钥写入使用亚马逊 S3 服务器端加密的 Amazon S3 存储桶。

**密钥 MD5 （如果提供了加密密钥，则为必填项）**  
您希望 Elastic Transcoder 用来加密输出文件的密钥 MD5 摘要，以及您希望 Elastic Transcoder 用作校验和的密钥摘要，以确保您的密钥在传输过程中不会损坏。密钥 MD5 必须经过base64编码，并且在进行base64编码之前必须正好为 16 个字节。  
如果 Elastic Transcoder 正在为您生成密钥，则必须将此字段留空。

** 初始化向量（如果提供加密密钥，则是必需的）**  
由随机位生成器创建的一系列随机位，每次加密操作都是唯一的，您希望 Elastic Transcoder 使用这些随机位对输出文件进行加密。初始化向量必须采用 base64 编码，并且在进行 base64 编码之前必须正好为 16 个字节。  
如果 Elastic Transcoder 正在为您生成密钥，则必须将此字段留空。  
有关更多信息，请转到[初始化向量](http://en.wikipedia.org/wiki/Initialization_vector)。

** 许可证获取网址**  
解密 HLS 播放列表所需的许可证密钥的位置。URL 必须是绝对路径，并且在播放列表文件中 EXT-X-KEY元数据标签的 URI 属性中引用。例如：  

```
https://www.example.com/exampleKey/
```

** 密钥存储策略**  
指定您是否希望 Elastic Transcoder 将 HLS 许可证密钥写入 Amazon S3 存储桶中。如果您选择 `WithVariantPlaylists`，Elastic Transcoder 会将加密密钥写入与关联播放列表相同的 Amazon S3 存储桶中。  
如果您选择 `NoStore`，Elastic Transcoder 不会存储您的密钥。您有责任存储该密钥，并通过向用户提供您存储密钥的**许可证获取网址**将其提供给用户。

![\[“播放列表 HLS 内容保护”屏幕截图。\]](http://docs.aws.amazon.com/zh_cn/elastictranscoder/latest/developerguide/images/job-create-playlist-hls.png)


## （HLSv3 仅限流畅播放列表，可选）数字版权管理
<a name="job-settings-drm"></a>

如果您在 “预设” 列表中选择**容器的**值为 **fmp4**（碎片 MP4）或 **ts（MPEG-TS**）的**预**设，并且您的**播放列表**类型**HLSv3**为 “**平滑**”，则可以为文件指定 DRM 设置。如果您选择使用 DRM 来保护您的文件，请使用此部分中的设置来指定有关您的 DRM 设置的信息。

要使用 DRM，您必须拥有可以跟踪和授予许可的许可证提供商服务器、可以对用户进行身份验证的 Web 服务器、用于使用 DRM 加密文件的包服务器（例如 Elastic Transcoder）、分发媒体文件的方式（例如 CloudFront亚马逊）以及播放受 DRM 保护的媒体的方法（例如支持 DRM 的播放器）。

**注意**  
PlayReady DRM、HLS 内容保护和输出加密是相互排斥的选项。

**（可选） PlayReady DRM**  
DRM 设置用于限制谁可以观看您的文件。这是通过在输出播放列表中加入一个 PlayReady DRM 标题来完成的。这不适用于插图、字幕、缩略图或水印。 PlayReady DRM 使用`aes-ctr`加密来加密您的媒体文件。  
如果您将 DRM 用于**HLSv3**播放列表，则您的输出必须具有主播放列表。  
有关更多信息，请参阅 [数字权限管理](drm.md)。

 **（对于 DRM 保护是必需的）DRM 格式**  
输出播放列表的 DRM 格式。有效格式为 `discretix-3.0` 和 `microsoft`。  
对于 **Smooth** 类型的播放列表，请指定 `microsoft`。对于类型的播放列表 **HLSv3**，请指定`discretix-3.0`。

 **（对于 DRM 保护是必需的）DRM 密钥**  
您的文件的 DRM 密钥，由您的 DRM 许可证提供商提供。密钥必须进行 base64 编码，并且在进行 base64 编码之前必须是下列位长度之一：  
`128`、`192` 或者 `256`。  
还必须使用对密钥进行加密 AWS KMS。有关更多信息，请参阅《AWS Key Management Service 开发人员指南》**中的[数据加密和解密](https://docs.aws.amazon.com/kms/latest/developerguide/programming-encryption.html)。

 **（对于 DRM 保护是必需的）DRM 密钥 ID**  
您的 DRM 密钥的 ID，以便您的 DRM 许可证提供商知道要提供哪个密钥。  
密钥 ID 必须以大端形式提供，Elastic Transcoder 会在将其插入到 DRM 标头中之前将其转换为小端字节序。 PlayReady 如果您不确定许可证服务器是以大端序还是小端序形式提供的密钥 ID，请咨询您的 DRM 提供商。

 **（对于 DRM 保护是必需的）DRM 密钥 MD5**  
文件中用于 DRM 的密钥 MD5 摘要，您希望 Elastic Transcoder 将其用作校验和，以确保您的密钥在传输过程中不会损坏。密钥 MD5 必须经过base64编码，并且在进行base64编码之前必须正好为 16 个字节。

 **（对于 DRM 保护是必需的）DRM 初始化向量**  
由随机位生成器创建的一系列随机位，每次加密操作都是唯一的，您希望 Elastic Transcoder 使用这些随机位对文件进行加密。初始化向量必须采用 base64 编码，并且在进行 base64 编码之前必须正好为 8 个字节长。如果未提供初始化向量，Elastic Transcoder 会为您生成一个初始化向量。  
有关更多信息，请转到[初始化向量](http://en.wikipedia.org/wiki/Initialization_vector)。

 **（对于 DRM 保护是必需的）DRM 许可证获取网址**  
播放 DRM 内容所需的许可证密钥的位置。URL 必须是绝对路径，并且由 PlayReady 标题引用。平滑直播输出的客户端清单的保护标头中引用了标头，HLS 播放列表输出的和 EXT-XDXDRMINFO 元数据标签中引用了标头。 PlayReady EXT-X-DXDRM网址的示例如下：  

```
https://www.example.com/exampleKey/
```

![\[“播放列表数字权限管理”屏幕截图。\]](http://docs.aws.amazon.com/zh_cn/elastictranscoder/latest/developerguide/images/job-create-playlist-drm.png)
