

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

# 创建存档输出组
<a name="opg-archive"></a>

在创建 AWS Elemental MediaLive 频道时，您可能需要包含一个存档输出组。有关存档输出组使用案例的信息，请参阅[容器、协议和下游系统](outputs-supported-containers-downstream-systems.md)。

**Topics**
+ [在存档输出组中整理编码](design-archive-package.md)
+ [与下游系统协调](archive-op-origin-server-s3.md)
+ [创建存档输出组](creating-archive-output-group.md)

# 在存档输出组中整理编码
<a name="design-archive-package"></a>

存档输出组可以包含以下内容：
+ 一个或多个输出。

输出包含以下内容：
+ 一个视频编码。
+ 零个或多个音频编码。
+ 零个或多个字幕编码。字幕是嵌入式字幕，或对象样式的字幕。

通常，存档输出组会镜像另一个输出组的输出结构。例如，它可能镜像 HLS 输出组中的 ABR 堆栈。

下图为一个包含一个输出的存档输出组，其中包含一个带有嵌入式字幕的视频编码和两个音频编码。

![\[Output group diagram showing one output with a video encode and two audio encodes.\]](http://docs.aws.amazon.com/zh_cn/medialive/latest/ug/images/output3-nonABR-Ve-2A.png)


下图为一个包含一个输出的存档输出组，其中包含一个视频编码、两个音频编码和两个对象式字幕编码。

![\[Output group containing V, A, A, C, C elements representing video, audio, and caption encodes.\]](http://docs.aws.amazon.com/zh_cn/medialive/latest/ug/images/output4-nonABR-V-2A-2C.png)


# 与下游系统协调
<a name="archive-op-origin-server-s3"></a>

存档输出组的目标始终在 Amazon S3 存储桶中。您和 Amazon S3 操作员必须就要使用的存储桶达成一致。

**安排目标设置**

1. 决定是否需要两个输出目标：
   + [标准通道](plan-redundancy.md)需要两个目标。
   + 单管道通道需要一个目标。

1. 我们建议您设计目标（即 Amazon S3 存储桶和所有文件夹）的完整路径。请参阅[输出目标的字段](archive-destinations.md)。

1.  如果有任何尚不存在的存储桶，请让 Amazon S3 用户创建。

   使用 MediaLive，Amazon S3 存储桶名称不得使用点符号，这意味着它不得使用。 （点）存储桶名称中的单词之间。

1. 与 Amazon S3 用户讨论存储桶所有权。如果存储桶属于另一个 AWS 账户，您通常希望该账户成为输出的所有者。有关更多信息，请在此过程后参阅[控制对输出的访问](#setting-dss-archive-canned-acl)。

请注意，您不需要用户凭证即可发送到 S3 存储桶。 MediaLive 有权通过可信实体写入存储桶。您的组织中的某个人应该已设置这些权限。有关更多信息，请参阅 [可信实体的访问要求](trusted-entity-requirements.md)。

## 控制对输出的访问
<a name="setting-dss-archive-canned-acl"></a>

您可能正在将输出文件发送到另一个 AWS 账户所有的 Amazon S3 存储桶中。在这种情况下，您通常希望另一个账户成为输出文件（存储桶中的对象）的所有者。如果存储桶拥有者没有成为对象所有者，则您 (MediaLive) 将是唯一可以在不再需要文件时删除这些文件的代理。

因此，在输出文件存入 Amazon S3 存储桶后转让其所有权符合所有人的利益。

要转移对象所有权，需要进行以下设置：
+ 存储桶拥有者必须添加存储桶权限策略，该策略授予您在向存储桶 MediaLive传送输出文件时添加 Amazon S3 预设访问控制列表 (ACL) 的权限。存储桶拥有者应阅读亚马逊简单存储服务用户指南 ACLs中[使用管理访问权限](https://docs.aws.amazon.com/AmazonS3/latest/userguide/acls)中的信息。存储桶所有者必须为存储桶设置 ACL 权限，而非为对象设置 ACL 权限。
+ 存储桶所有者还应设置对象所有权。此功能实际上使发送者 () 必须包含*存储桶所有者的完全控制* ACL（而不是可选MediaLive）。存储桶所有者应阅读《Amazon Simple Storage Service 用户指南》中[控制对象所有权](https://docs.aws.amazon.com/AmazonS3/latest/userguide/about-object-ownership)中的信息。

  如果存储桶所有者实现了此功能，则必须设置 MediaLive 为包含 ACL。否则，向 Amazon S3 存储桶传输的操作将失败。
+ 您必须设置为在 MediaLive 向*存储桶交付存储桶时包含存储桶所有者的完全控制*** ACL。您将在[创建通道](archive-destinations.md)时执行此设置。

S3 预装 ACL 功能支持 ACLs 除*存储桶所有者完全控制*之外的其他功能。但是其他 ACLs 这些通常不适用于从中传送视频的用例 MediaLive。

# 创建存档输出组
<a name="creating-archive-output-group"></a>

在创建[或编辑 MediaLive 频道时，您可以创建](creating-a-channel-step4.md)输出组及其输出。

1. 在 **Create channel (创建通道)** 页面上的 **Output groups (输出组)** 下，选择 **Add (添加)**。

1. 在 **Add output group (添加输出组)** 部分中，选择 **Archive (存档)**，然后选择 **Confirm (确认)**。将显示更多部分：
   + **存档组目标** – 该部分包含[输出目标](archive-destinations.md)的字段。
   + **存档设置** – 该部分包含[输出目标](archive-destinations.md)的字段。
   + **存档输出** – 该部分显示默认添加的输出。存档输出只能包含一个输出，因此，不要单击**添加输出**。

1. 在 **Archive outputs (存档输出)** 中，选择 **Settings (设置)** 链接以查看该单个输出的部分：
   + **输出设置** – 该部分包含[输出目标](archive-destinations.md)和[输出容器](archive-container.md)的字段。
   + **流设置** – 该部分包含[输出流](archive-streams.md)（视频、音频和字幕）的字段。

1. （可选）输入输出组和输出的名称：
   + 在 **Archive settings (存档设置)** 中，为 **Name (名称)** 输入输出组的名称。此名称是内部名称 MediaLive；它不会出现在输出中。例如，**Sports Game 10122017 ABR** 或 **tvchannel59**。
   + 在 **Archive outputs (存档输出)** 中，为 **Name (名称)** 输入输出的名称。此名称是内部名称 MediaLive；它不会出现在输出中。

1. 要填写其他字段，请参阅该过程后面列出的主题。

**Topics**
+ [输出目标的字段](archive-destinations.md)
+ [输出容器的字段](archive-container.md)
+ [视频、音频和字幕流（编码）的字段](archive-streams.md)

# 输出目标的字段
<a name="archive-destinations"></a>

以下字段配置存档输出文件（目标）的位置和名称。
+ **输出组** – **存档组目标**部分
+ **输出组** – **存档设置** – **CDN 设置**
+ **输出组** – **其他设置** – **滚动间隔**
+ **存档输出** – **名称修饰符**
+ **存档输出** – **扩展名**

您必须为输出设计一个或多个目标路径。然后，必须在控制台的相应字段中输入路径的不同部分。

# 为输出目标设计路径。
<a name="archive-about-destination-path"></a>

1. 按照以下语法设计一个或多个目标路径：

   `protocol bucket folders baseFilename nameModifier counter extension`

   例如，对于标准通道：

   `s3ssl://amzn-s3-demo-bucket/channel59/delivery/curling-20171012T033162.000000.m2ts`

   `s3ssl://amzn-s3-demo-bucket1/channel59/delivery/curling-20171012T033162.000000.m2ts`

如果您有两个目标，则目标路径之间必须有所不同。一个路径中必须至少有一个部分与另一个路径不同。所有部分都不同是可以接受的。

下表将示例中的每个部分映射到语法中的部分。


| URL 的部分 | 示例 | Comment | 
| --- | --- | --- | 
| protocol | s3ssl:// | 协议始终是 s3ssl://，因为存档输出的目标始终是 S3 存储桶。 | 
| 路径的存储桶部分 | amzn-s3 demo-bucket |  使用 MediaLive，Amazon S3 存储桶名称不得使用点符号。例如，可以接受 **mycompany-videos**，但不能接受 **mycompany.videos**。  | 
| 路径的文件夹部分 | channel59/delivery/ | 这些文件夹可以存在，也可以不存在，您可随心意保存任意时长。文件夹必须始终以斜杠结尾。 | 
| baseFilename | curling | 不要将文件名以正斜杠结尾。 | 
| nameModifier | -20171012T033162 | 对于存档输出，修饰符是可选的。 | 
| counter 前面的分隔符 | . | MediaLive 自动插入此分隔符。 | 
| counter | 000000 | MediaLive 自动生成此计数器。最初，这是一个从 000000 开始的六位数字，每次增加 1。即 000000、000001、000002 依此类推。在达到 999999 之后，下一个数字是 1000000（七位数字），然后是 1000001、1000002，依此类推。然后从 9999999 到 10000000（八位数字），依此类推。 | 
| extension 前面的圆点 | . | MediaLive 自动插入这个点。 | 
| extension | m2ts | 始终为 m2ts。 | 

# 在控制台上填写字段
<a name="archive-specify-destination"></a>

1. 在相应的字段中输入目标的各个部分。    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/medialive/latest/ug/archive-specify-destination.html)

1. 将两个 “**存档组目标**” 部分的 “**凭据**” 部分都留空。 MediaLive 有权通过可信实体写入 S3 存储桶。您的组织中的某个人应该已设置这些权限。有关更多信息，请参阅 [可信实体的访问要求](trusted-entity-requirements.md)。

1. 只有在将此输出发送**到 Amazon S3 存储桶时 MediaLive 必须设置预设 ACL 时，才填写 CD** N 设置字段。

   通常，只有当您的组织不是 Amazon S3 存储桶的所有者时，才使用标准 ACL。在讨论[输出目标](archive-op-origin-server-s3.md#setting-dss-archive-canned-acl)时，您应该与存储桶所有者讨论标准 ACL 的使用。

1. 填写 “**存档设置”** 部分中的 “**翻转间隔**” 字段。

   例如，**300** 将输出拆分为单独的文件，每个文件的持续时间为 300 秒（5 分钟）。

   每次展期到期时，都会 MediaLive 关闭 Amazon S3 上的当前文件，然后使用`baseFilename`、和顺序计数器启动一个新文件。`nameModifier`

   当前文件仅在关闭后显示在 Amazon S3 上。

有关更多信息，请参阅[示例](archive-examples.md)。

# 存档输出组的目标字段示例
<a name="archive-examples"></a>

这些示例说明了如何设置与文件位置有关的字段。它们不说明如何设置其他字段，例如单个输出中的字段。

## 示例 1
<a name="archive-example-1"></a>

您希望创建电视频道 59 的流输出的存档。您希望将输出存储在名为 **amzn-s3-demo-bucket** 的 S3 存储桶中，并希望将流拆分为 5 分钟的块。


| Field | Value | 
| --- | --- | 
| Archive settings  (存档设置) 部分中的 Rollover interval (滚动间隔) 字段 | 300 | 
| 存档组目标 A 部分中的 URL | s3ssl://amzn-s3-demo-bucket/channel59/delivery/curling | 
| 存档组目标 B 部分中的 URL | s3ssl://amzn-s3-demo-bucket/channel59/backup/curling将 *delivery* 和 *backup* 作为文件夹名称只是一个例子。 | 
| Archive outputs (存档输出) 部分中的 Name modifier (名称修饰符) | -\$1dt\$1有关变量数据的标识符的信息（例如 `$dt$`），请参阅[中变量数据的标识符 MediaLive](variable-data-identifiers.md)。 | 
| Archive outputs (存档输出) 部分中的 Extension (扩展名) | 保留空白以使用默认值 (.m2ts)。 | 

结果：输出将拆分为一些文件，每个文件为 5 分钟（300 秒）。每个文件都具有 **curling** 文件名、通道启动时间和计数器（000000、000001 等）以及文件扩展名。例如：
+ 第一个文件为 **curling-20171012T033162-000001.m2ts**。
+ 第二个文件为 **curling-20171012T033162-000002.m2ts**。

每个文件将存储在 **s3ssl://amzn-s3-demo-bucket/channel59/delivery** 和 **s3ssl://amzn-s3-demo-bucket/channel59/backup** 中。

给定文件在写入时未显示在 Amazon S3 中。一旦发生翻转（或者用户停止了频道），就会 MediaLive 关闭当前文件。此时，该文件将变得可见。

## 示例 2
<a name="archive-example-3"></a>

您希望从冰壶游戏创建一份精彩内容存档，这些精彩内容还将流式传输 (在单独的 HLS 输出组中)。您希望创建三个输出：一个在音频中使用欧洲语言，另一个在音频中使用亚洲语言，还有一个在音频中使用非洲语言。您希望将输出存储在名为 **amzn-s3-demo-bucket1** 和 **amzn-s3-demo-bucket2** 的 S3 存储桶中。您希望将流分为 5 分钟的块。


| Field | Value | 
| --- | --- | 
| Archive settings  (存档设置) 部分中的 Rollover interval (滚动间隔) 字段 | 300 | 
| 存档组目标 A 部分中的 URL | s3ssl://amzn-s3-demo-bucket1/sports-delivery/highlights/curling/10312017在此示例中，**10312017** 文件夹设置为与当天日期匹配。 | 
| 存档组目标 B 部分中的 URL | s3ssl://amzn-s3-demo-bucket2/sports-delivery/highlights/curling/10312017在此示例中，路径具有不同的存储桶名称。 | 
| Archive outputs (存档输出) 部分中的 Name modifier (名称修饰符) |  选择 **Add output (添加输出)** 两次：另外向此部分中添加两个 **Output (输出)** 行，总共三行。在每一行中，输入一个修饰符：**-audiogroup1**、**-audiogroup2** 和 **-audiogroup3**。  | 
| Archive outputs (存档输出) 部分中的 Extension (扩展名) | 保留空白以使用默认值 (.m2ts)。 | 

结果：为每个输出创建三个独立类别的文件。每个文件都具有 **10312017** 文件名以及修饰符、顺序计数器和文件扩展名。例如：
+ `10312017-audiogroup1-000000.m2ts`、`10312017-audiogroup2-000000.m2ts` 和 `10312017-audiogroup3-000000.m2ts`。
+ `10312017-audiogroup1-000001.m2ts`、`10312017-audiogroup2-000001.m2ts` 和 `10312017-audiogroup3-000001.m2ts`。

每个文件将存储在 `s3ssl://amzn-s3-demo-bucket1/sports-delivery/highlights/curling` 和 `s3ssl://amzn-s3-demo-bucket2/sports-delivery/highlights/curling` 中。

给定文件在写入时未显示在 Amazon S3 中。一旦发生翻转（或者用户停止了频道），就会 MediaLive 关闭当前文件。此时，该文件将变得可见。

# 输出容器的字段
<a name="archive-container"></a>

以下字段与存档传输流打包和传送有关：
+ 在**输出设置** – **容器设置**部分中
+ 在**输出设置** – **PID 设置**部分中

对于所有这些字段，可以选择更改任何值。有关某个字段的详细信息，请选择 MediaLive 控制台中该字段旁边的 “**信息**” 链接。

# 视频、音频和字幕流（编码）的字段
<a name="archive-streams"></a>

以下字段与输出中的视频、音频和字幕流（编码）的编码有关。
+ **Stream settings (流设置)** 部分

有关创建编码的信息，请参见以下部分：
+ [设置视频编码](creating-a-channel-step6.md)
+ [设置音频编码](creating-a-channel-step7.md)
+  [设置字幕编码](creating-a-channel-step8.md)