

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

# 创建 HLS 输出组
<a name="opg-hls"></a>

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

**Topics**
+ [整理 HLS 输出组中的编码](design-hls-package.md)
+ [与下游系统协调](hls-opg-coordinate-dss.md)
+ [创建 HLS 输出组。](creating-hls-output-group.md)

# 整理 HLS 输出组中的编码
<a name="design-hls-package"></a>

HLS 输出组通常设置为视频 ABR 堆栈。视频 ABR 堆栈是一个包含以下内容的输出组：
+ 多个输出。

每个输出可以包含以下内容：
+ 一个视频编码（格式副本）。通常，每个视频编码的分辨率都不同。
+ 一个或多个音频编码。
+ 一个或多个字幕编码。字幕是嵌入式，要么是附加式。

有两种方法可以整理编码，具体取决于音频编码是必须捆绑在一起还是每种编码都以自己的格式副本呈现。您应该已经从下游系统[获取此信息](identify-dss-video-audio.md)。

**需要捆绑音频的下游播放器**

计划输出组包含以下内容：
+ 每个视频编码一个输出。此输出包含一个视频编码、所有音频编码和所有字幕编码（如果嵌入了字幕）。

  每个输出中都将出现相同的音频编码。例如，英语和法语编码将出现在高分辨率输出中，然后，同样的英语和法语编码也将出现在低分辨率输出中。
+ 如果字幕是附件字幕，则每个字幕编码一个输出。

下图说明了嵌入字幕编码时的 HLS 输出组。

![\[Output group diagram showing embedded and non-embedded outputs with associated elements.\]](http://docs.aws.amazon.com/zh_cn/medialive/latest/ug/images/output11-ABR-2Ve-2A.png)


下图说明了附加字幕编码时的 HLS 输出组。

![\[Output group diagram showing V, A, A components, V, A, A outputs, and two C outputs.\]](http://docs.aws.amazon.com/zh_cn/medialive/latest/ug/images/output12-ABR-2V-2A-2C.png)


**需要单独音频的下游播放器**

计划输出组包含以下内容：
+ 每个视频编码一个输出。此输出包含一个视频和所有字幕编码（如果嵌入了字幕）。
+ 每个音频编码一个输出。

  音频编码可能适用于不同的语言，可能适用于不同的比特率，也可能适用于不同的语言和比特率。
+ 如果字幕是附件字幕，则每个字幕编码一个输出。

此输出组中音频编码的排列方式称为*音频格式副本组*。

下图说明了带有音频格式副本组和嵌入式字幕编码的 HLS 输出组。

![\[Output group diagram showing four outputs: two marked as embedded, and two marked as A.\]](http://docs.aws.amazon.com/zh_cn/medialive/latest/ug/images/output13-ABR-2Ve-2Asep.png)


下图说明了带有音频格式副本组和 Sidecar 字幕编码的 ABR 堆栈的 HLS 输出组。

![\[Output group diagram showing six outputs: two V, two A, and two C, arranged in a row.\]](http://docs.aws.amazon.com/zh_cn/medialive/latest/ug/images/output14-ABR-2V-2Asep-2C.png)


# 与下游系统协调
<a name="hls-opg-coordinate-dss"></a>

AWS MediaLive Elemental 中的 HLS 输出组支持多种类型的下游系统。阅读适用于您正在使用的系统的信息。

**Topics**
+ [HLS 输出组到 Amazon S3](origin-server-hls-s3.md)
+ [HLS 输出组为 MediaStore](origin-server-ems.md)
+ [HLS 输出组为 MediaPackage](origin-server-hls-emp.md)
+ [HLS 输出组到 v2 MediaPackage](origin-server-hls-empv2.md)
+ [HLS 输出组到 HTTP](origin-server-http.md)

# HLS 输出组到 Amazon S3
<a name="origin-server-hls-s3"></a>

如果您[确定](identify-downstream-system.md)要创建以 Amazon S3 为目标的 HLS 输出组，请按照以下步骤操作。您和下游系统的操作员必须就 HLS 输出组的输出目标达成一致。

**安排目标设置**

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

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

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

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

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

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

## 控制对输出的访问
<a name="setting-dss-hls-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。您将在[创建通道](hls-destinations-s3-specify.md)时执行此设置。

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

# HLS 输出组为 MediaStore
<a name="origin-server-ems"></a>

如果您[确定](identify-downstream-system.md)要创建以目标为目标的 HLS 输出组，请按照以下步骤操作。 AWS Elemental MediaStore 您和下游系统的操作员必须就 HLS 输出组的输出目标达成一致

**安排目标设置**

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

1. 我们建议您设计目标的完整路径。请参阅[为输出目标设计路径。](hls-destinations-design-step.md)。

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

1. 要求 MediaStore 用户创建任何尚不存在的容器。

1. 获取一个或多个容器的数据端点。例如：

   `https://a23f.data.mediastore.us-west-2.amazonaws.com`

   `https://fe30.data.mediastore.us-west-2.amazonaws.com`

   您需要数据端点。您不需要容器名称。

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

# HLS 输出组为 MediaPackage
<a name="origin-server-hls-emp"></a>

如果您[确定](identify-downstream-system.md)要创建 HLS 输出组并通过 HTTPS 发送到 AWS Elemental MediaPackage ，请按照以下步骤操作。您和下游系统的操作员必须就 HLS 输出组的输出目标达成一致。

**安排目标设置**

1. 要求 MediaPackage 用户创建一个频道 MediaPackage。即使该 MediaLive频道是[标准频道](plan-redundancy.md)（有两个管道），您也只需要一个 MediaPackage 频道。

1. 与 MediaPackage 用户安排设置 HTTPS 用户凭证。您必须通过安全连接发送到 MediaPackage 。

1. 获取以下信息：
   + 频道的两个 URLs （输入端点是 MediaPackage 术语）。一个频道 URLs 的两个看起来像这样：

      `https://6d2c.mediapackage.uswest-2.amazonaws.com/in/v2/9dj8/9dj8/channel`

      `https://6d2c.mediapackage.uswest-2.amazonaws.com/in/v2/9dj8/e333/channel`

     除了前 URLs 面的文件夹，两者总是相同的`channel`。

     确保获取的是 URLs （以开头`https://`），而不是频道名称（以开头`arn`）。
   + 访问下游系统的用户名和密码，如果下游系统需要经过身份验证的请求。请注意，这些用户凭证与用户身份验证（而不是与协议）相关。用户身份验证与下游系统是否将接受您的请求有关。协议与请求是否通过安全连接发送有关。

# HLS 输出组到 v2 MediaPackage
<a name="origin-server-hls-empv2"></a>

如果您[确定](hls-choosing-hls-vs-emp.md)要创建 HLS 输出组并发送到 MediaPackage v2，请按照以下步骤操作。您和下游系统的操作员必须就 HLS 输出组的输出目标达成一致。

**安排目标设置**

1. 要求 MediaPackage 用户创建一个频道 MediaPackage。即使该 MediaLive频道是[标准频道](plan-redundancy.md)（有两个管道），您也只需要一个 MediaPackage 频道。

1. 获取该频道的两个 URLs （输入端点是 MediaPackage 术语）。一个频道 URLs 的两个看起来像这样：

    `https://mz82o4-1.ingest.hnycui.mediapackagev2.us-west-2.amazonaws.com/in/v1/live-sports/1/curling/index` 

    `https://mz82o4-2.ingest.hnycui.mediapackagev2.us-west-2.amazonaws.com/in/v1/live-sports/2/curling/index`

   两 URLs 者略有不同，如上面的示例所示。

   确保获取的是 URLs （以开头`https://`），而不是频道名称（以开头`arn`）。

   请注意，您不会使用用户凭据来发送到 MediaPackage v2。

# HLS 输出组到 HTTP
<a name="origin-server-http"></a>

如果您[确定](identify-downstream-system.md)要创建以下列下游系统之一为目标的 HLS 输出组，请按照以下步骤操作：
+ HTTP 或 HTTPS PUT 服务器。
+ HTTP 或 HTTPS WebDAV 服务器。
+ Akamai 原始服务器。

您和下游系统的操作员必须就 HLS 输出组的输出目标达成一致。

通过 HTTP 传输 HLS 时，通常是向原始服务器传输。原始服务器通常对目标路径规则有明确的指南，包括主清单（`.M3U8` 文件）的文件名。

**安排目标设置**

您必须与下游系统的操作员沟通，以协调您的设置。

1. 如果下游系统不是 Akamai 服务器，请弄清楚它使用的是 PUT 还是 WebDAV。

1. 确定下游系统是否具有特殊的连接要求。这些连接字段在控制台的 HLS 输出组 **CDN 设置**部分中进行了分组。要在 MediaLive 控制台上显示此页面，请在**创建频道**页面的**输出组**部分中，选择**添加**，然后选择 **HLS**。选择群组，然后在 **HLS 设置**中打开 **CDN 设置**。

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

1. 了解下游系统是否使用安全连接。如果是，请与操作员安排设置用户凭证。

1. 确定下游系统是否需要在主清单和子清单中使用自定义路径。有关更多信息，请参阅 [自定义 HLS 清单中的路径](hls-manifest-paths.md)。

1. 如果您设置[标准通道](plan-redundancy.md)，请弄清楚下游系统是否支持冗余清单。如果支持，请确定是否要实施该功能。有关更多信息，请参阅 [创建冗余 HLS 清单](hls-redundant-manifests.md)，并特别查看 [适用于大多数下游系统的规则](hls-redundant-manif-most-systems.md) 和 [Akamai 的规则 CDNs](hls-redundant-manif-akamai.md) 了解具体说明。

1. 与下游系统的操作员交谈，商定三类 HLS 文件（主清单、子清单和媒体文件）的完整目标路径。 MediaLive 始终将每个目标的所有三类文件放在同一个位置。无法配置为 MediaLive 将某些文件放在其他位置。

   如果您有两个目标，则目标路径之间必须有所不同。一个路径中必须至少有一个部分与另一个路径不同。所有部分都不同是可以接受的。与下游系统的操作员讨论此要求。下游系统可能有关于唯一性的特定规则。

1. 与下游系统的操作员讨论对三类 HLS 文件的名称的特殊要求。通常，下游系统没有特殊要求。

1. 与下游系统的操作员讨论对子清单和媒体文件名称的修饰符的特殊要求。

   子清单和媒体文件始终在其文件名中包含该修饰符。该修饰符将每个输出与其他输出区分开来，因此，它在每个输出中必须是唯一的。例如，高分辨率输出的文件必须与低分辨率输出文件的名称不同。例如，一个输出的文件可能有文件名和修饰符 `curling_high`，而另一个输出的文件则可能有文件名和修饰符 `curling_low`。

   通常，下游系统没有特殊要求。

1. 询问下游系统操作员是否应在单独的子目录中设置媒体文件。例如，一个子目录包含前 1000 个分段，另一个子目录包含后 1000 个分段，依此类推。

   大多数下游系统不需要具有单独的子目录。

1. 商定下游系统是否对目标路径的某些部分具有特殊要求。
   + 例如，下游系统可能只要求您发送到特定主机。下游系统不需要知道您将使用的文件夹或文件名。

     例如，发送到两个您命名的文件夹，但位于主机上的 `https://203.0.113.55`

     或者发送到两个您命名的文件夹，但位于主机上的 `https://203.0.113.55` 和 `https://203.0.113.82`
   + 或者，下游系统可能要求使用特定的主机和文件夹，但文件名由您选择。例如，此主机和文件夹：

     `https://203.0.113.55/sports/delivery/`

     `https://203.0.113.55/sports/backup/`

1. 记录您收集的信息：
   + 下游系统的连接类型 – Akamai、PUT 或 WebDAV。
   + 连接字段的设置（如果下游系统有特殊要求）。
   + 传输协议 – HTTP 或 HTTPS。
   + 访问下游系统的用户名和密码，如果下游系统需要经过身份验证的请求。请注意，这些用户凭证与用户身份验证（而不是与协议）相关。用户身份验证与下游系统是否将接受您的请求有关。协议与请求是否通过安全连接发送有关。
   + 全部或部分目标路径，可能包括文件名。
   + 是否需要设置单独的子目录。

# 创建 HLS 输出组。
<a name="creating-hls-output-group"></a>

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

## 过程
<a name="hls-create-procedure"></a>

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

1. 在 **Add output group (添加输出组)** 部分中，选择 **HLS**，然后选择 **Confirm (确认)**。将显示更多部分：
   + **HLS 组目标** – 该部分包含输出目标的字段。有关更多信息，请参阅下游系统类型部分：
     + [输出目标的字段 – 发送到 Amazon S3](hls-destinations-s3.md)
     + [输出目的地的字段-发送到 MediaStore](hls-destinations-ems.md)
     + [输出目的地的字段-发送到 MediaPackage](hls-destinations-emp.md)
     + [输出目标的字段 – 发送到 HTTP 服务器](hls-destinations-http.md)
   + **HLS 设置** – 该部分包含[输出目标](hls-destinations-http.md)、[弹性](hls-other-features.md#hls-resiliency)和[字幕](hls-other-features.md#hls-captions)的字段。
   + **HLS 输出** – 该部分显示默认添加的单个输出。
   + **位置** – 该部分包含用于[在清单中自定义路径](hls-manifest-paths.md)的字段。
   + **清单和分段** – 该部分包含用于[配置冗余清单](hls-opg-redundant-manifest.md)、配置[清单内容](hls-other-features.md#hls-manifest-contents)和[配置媒体分段](hls-other-features.md#hls-segment-fields)的字段。
   + **DRM** – 该部分包含用于配置[输出加密](hls-other-features.md#hls-drm)的字段。
   + **广告标记** – 该部分包含用于设置 [SCTE-35 广告效用](hls-other-features.md#hls-ad-markers)的字段。
   + **字幕** – 该部分包含用于配置[字幕](hls-other-features.md#hls-captions)的字段。
   + **ID3**— 本节包含用于设置的字段[ID3](hls-other-features.md#hls-id3)。

1. 如果您的计划在该输出组中包含多个输出，则在 **HLS outputs (HLS 输出)** 中选择 **Add output (添加输出)** 以添加相应数量的输出。

1. 在 **HLS outputs (HLS 输出)** 中，选择第一个 **Settings (设置)** 链接以查看第一个输出的部分：
   + **输出设置** – 该部分包含输出目标的字段。请参阅以下部分：
     + [输出目标的字段 – 发送到 Amazon S3](hls-destinations-s3.md)
     + [输出目的地的字段-发送到 MediaStore](hls-destinations-ems.md)
     + [输出目的地的字段-发送到 MediaPackage](hls-destinations-emp.md)
     + [输出目标的字段 – 发送到 HTTP 服务器](hls-destinations-http.md)

     该部分还包含 [HLS 容器](hls-container.md)的容器字段。
   + **流设置** – 该部分包含[输出流](hls-streams-section.md)（视频、音频和字幕）的字段。

1. （可选）输入输出组和输出的名称：
   + 在 **HLS settings (HLS 设置)** 中，为 **Name (名称)** 输入输出组的名称。此名称是内部名称 MediaLive；它不会出现在输出中。例如 **Sports Curling**。
   + 在每个输出的 **HLS outputs (HLS 输出)** 部分中，为 **Name (名称)** 输入输出的名称。此名称是内部名称 MediaLive；它不会出现在输出中。例如 **high resolution**。

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

1. 在设置完该输出组及其输出后，如果您的计划需要，您可以创建另一个（任意类型的）输出组。否则，请转到[保存通道](creating-a-channel-step9.md)。

**Topics**
+ [过程](#hls-create-procedure)
+ [HLS 输出组中的目标字段](hls-destinations.md)
+ [HLS 容器的字段](hls-container.md)
+ [用于在清单中自定义路径的字段](hls-custom-manifests.md)
+ [冗余清单的字段](hls-opg-redundant-manifest.md)
+ [视频、音频和字幕流（编码）的字段](hls-streams-section.md)
+ [其他 HLS 功能的字段](hls-other-features.md)

# HLS 输出组中的目标字段
<a name="hls-destinations"></a>

中的 HLS 输出组 MediaLive 支持多种类型的目的地。每种类型都有不同的配置要求。

**Topics**
+ [输出目标的字段 – 发送到 Amazon S3](hls-destinations-s3.md)
+ [输出目的地的字段-发送到 MediaStore](hls-destinations-ems.md)
+ [输出目的地的字段-发送到 MediaPackage](hls-destinations-emp.md)
+ [输出目标的字段 – 发送到 HTTP 服务器](hls-destinations-http.md)

# 输出目标的字段 – 发送到 Amazon S3
<a name="hls-destinations-s3"></a>

在[计划 HLS 输出组的目标](origin-server-hls-s3.md)时，您可能已经决定将输出发送到 Amazon S3。您必须为输出设计一个或多个目标路径。然后，必须在控制台的相应字段中输入路径的不同部分。

**Topics**
+ [为输出目标设计路径。](hls-destinations-s3-design.md)
+ [在控制台上填写字段](hls-destinations-s3-specify.md)

# 为输出目标设计路径。
<a name="hls-destinations-s3-design"></a>

如果您尚未设计一个或多个完整目标路径，请执行此步骤。如果您已经设计了路径，请转到 [在控制台上填写字段](hls-destinations-s3-specify.md)。

**设计路径**

1. 收集您[之前从 Amazon S3 用户处获取](origin-server-hls-s3.md)的存储桶名称。例如：

   `amzn-s3-demo-bucket`

1. 设计目标路径中跟随一个或多个存储桶的部分。有关详细信息，请参阅以下部分。

**Topics**
+ [输出路径的语法](#hls-syntax-s3)
+ [设计文件夹和 baseFilename](#hls-path-s3)
+ [设计 nameModifier](#hls-nameModifier-design-s3)
+ [设计 segmentModifier](#hls-segmentModifier-design-s3)

## 输出路径的语法
<a name="hls-syntax-s3"></a>

HLS 输出始终包含三类文件：
+ 主清单
+ 子清单
+ 媒体文件

下表描述了构成这三类文件的目标路径的各个部分。

这三类文件的目标路径在 *baseFileN* ame 之前是相同的，这意味着 MediaLive 将所有这些类别的文件发送到同一个文件夹。每类文件的修饰符和文件扩展名都不同。发送到 Amazon S3 时，您必须将所有文件发送到同一个文件夹。下游系统希望所有文件都在一起。


| 文件 | 路径语法 | 示例 | 
| --- | --- | --- | 
| 主清单文件 | protocol bucket path baseFilename extension | 存储桶 *sports* 中主清单的路径，文件名*索引*为：s3ssl://amzn-s3-demo-bucket/sports/delivery/curling/index.m3u8 | 
| 子清单文件 | protocol bucket path baseFilename nameModifier extension | curling 输出的高分辨率格式副本的子清单路径`s3ssl://amzn-s3-demo-bucket/sports/delivery/curling/index-high.m3u8` | 
| 媒体文件（分段） | protocol bucket path baseFilename nameModifier optionalSegmentModifier counter extension | 第 230 个分段的文件的路径可能是：s3ssl://amzn-s3-demo-bucket/sports/delivery/curling/index-high-00230.ts | 

这些目标路径的构造如下：
+ Amazon S3 用户应该已经向您提供了存储桶名称。
+ 您必须确定以下内容：
  + 文件夹
  + baseFilename
  + 修饰符
  + segmentModifier

  请参阅以下各节。
+ MediaLive 在计数器前插入下划线。
+ MediaLiveautomatically 生成这个计数器。最初，这是一个从 00001 开始的五位数字，每次增加 1。即 00001、00002、00003 依此类推。在达到 99999 之后，下一个数字是 100000（六位数字），然后是 100001、100002，依此类推。然后从 999999 到 1000000（七位数字），依此类推。
+ MediaLive 在扩展名前插入圆点。
+ MediaLive 选择扩展名：
  + 对于清单文件 – 始终为 `.m3u8`
  + 对于媒体文件 — .ts 表示传输流中的文件，.mp4 表示 f 容器中的文件 MP4 

## 设计文件夹和 baseFilename
<a name="hls-path-s3"></a>

设计适合您目的的文件夹路径和 baseFilename。

如果每个输出有两个目标，则目标路径之间必须有所不同。请遵循以下准则：
+ 一个路径中必须至少有一个部分与另一个路径不同。所有部分都不同是可以接受的。

  因此，如果存储桶*不同*，则两个目标的文件夹路径和文件名可以彼此不同，也可以相同。例如：

  `s3ssl://amzn-s3-demo-bucket/sports/delivery/curling/index-high.m3u8`

  `s3ssl://amzn-s3-demo-bucket1/sports/delivery/curling/index-high.m3u8`

  或者

  `s3ssl://amzn-s3-demo-bucket/sports/delivery/curling/index-high.m3u8`

  `s3ssl://amzn-s3-demo-bucket1/sports/redundant/curling/index-high.m3u8`
+ 如果存储桶*相同*，则两个目标的文件夹路径和文件名必须彼此不同。例如：

  `s3ssl://amzn-s3-demo-bucket/sports/delivery/curling/index-high.m3u8`

  `s3ssl://amzn-s3-demo-bucket/sports/redundant/curling/index-high.m3u8`

## 设计 nameModifier
<a name="hls-nameModifier-design-s3"></a>

设计文件名的 `nameModifier` 部分。子清单和媒体文件在其文件名中包含该修饰符。该 `nameModifier` 将每个输出与其他输出区分开来，因此，它在每个输出中必须是唯一的。请遵循以下准则：
+ 对于包含视频（可能还包含其他流）的输出，您通常会描述视频。例如，**-high** 或 **-1920x1080-5500kpbs**（以描述分辨率和比特率）。
+ 对于仅包含音频或仅包含字幕的输出，您通常会描述音频或字幕。例如，**-aac** 或 **-webVTT**。
+ 最好以分隔符（例如连字符）为 `nameModifier` 开头，以便将 ` baseFilename` 与 `nameModifier` 分开。
+ `nameModifier` 可以包含[数据变量](variable-data-identifiers.md)。

## 设计 segmentModifier
<a name="hls-segmentModifier-design-s3"></a>

设计目标路径的 segmentModifier 部分。segmentModifier 是可选的；如果包含，则仅媒体文件名包含该部分。

该修饰符的典型使用案例是使用数据变量创建时间戳，以防止在通道重新启动时分段相互覆盖。例如，假设您包含时间戳 **\$1t\$1-**。分段 00001 可能具有 `index-120028-00001` 名称。如果输出在几分钟后重新启动（这会导致分段计数器重新启动），新的分段 00001 将具有 `index-120039-00001` 名称。新文件不会覆盖原始分段 00001 的文件。一些下游系统可能希望具有该行为。

# 在控制台上填写字段
<a name="hls-destinations-s3-specify"></a>

在设计输出名称和目标路径后，您可以设置 HLS 输出组。

以下字段配置 HLS 媒体和清单文件（目标）的位置和名称。
+ **Output group - HLS group destination (输出组 - HLS 组目标)** 部分
+ **Output group - HLS settings - CDN (输出组 - HLS 设置 - CDN)** 部分
+ **Output group - Location - Directory structure (输出组 - 位置 - 目录结构)**
+ **Output group - Location - Segments per subdirectory (输出组 - 位置 - 每个子目录的分段)**
+ **HLS 输出 – 输出设置 – 名称修饰符**
+ **HLS 输出 – 输出设置 – 分段修饰符**

**为大多数下游系统设置目标**

1. 填写 **HLS 组目标**部分中的 **URL** 字段。在通道设置为标准通道时指定两个目标，或者在通道设置为单管道通道时指定一个目标。    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/medialive/latest/ug/hls-destinations-s3-specify.html)

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

1. 在 **CDN** 设置部分中，选择 `Hls S3`。

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

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

# 输出目的地的字段-发送到 MediaStore
<a name="hls-destinations-ems"></a>

在[规划 HLS 输出组的目的地](origin-server-ems.md)时，您可能已决定将输出发送到 MediaStore。您必须为输出设计一个或多个目标路径。然后，必须在控制台的相应字段中输入路径的不同部分。

**Topics**
+ [为输出目标设计路径。](hls-destinations-ems-design.md)
+ [在控制台上填写字段](hls-specify-destination-ems.md)

# 为输出目标设计路径。
<a name="hls-destinations-ems-design"></a>

如果您尚未设计一个或多个完整目标路径，请执行此步骤。如果您已经设计了路径，请转到 [在控制台上填写字段](hls-specify-destination-ems.md)。

**设计路径**

1. 收集一个或多个容器的数据端点。您[之前从 MediaStore 用户那里获得了](origin-server-ems.md)此信息。例如：

   `a23f.data.mediastore.us-west-2.amazonaws.com`

1. 设计目标路径中跟随数据端点的部分（for MediaStore）。

**Topics**
+ [输出路径的语法](#hls-syntax-ems)
+ [如何 MediaLive 构造路径](#hls-how-construct-urls-ems)
+ [设计文件夹和 baseFilename](#hls-path-ems)
+ [设计 nameModifier](#hls-nameModifier-design-ems)
+ [设计 segmentModifier](#hls-segmentModifier-design-ems)

## 输出路径的语法
<a name="hls-syntax-ems"></a>

HLS 输出始终包含三类文件：
+ 主清单
+ 子清单
+ 媒体文件

下表描述了构成这三类文件的目标路径的各个部分。

这三类文件的目标路径在 *baseFileN* ame 之前是相同的，这意味着 MediaLive 将所有这些类别的文件发送到同一个文件夹。每类文件的修饰符和文件扩展名都不同。发送到时 MediaStore，必须将所有文件发送到同一个文件夹。下游系统希望所有文件都在一起。


| 文件 | 路径语法 | 示例 | 
| --- | --- | --- | 
| 主清单文件 | protocol dataEndpoint path baseFilename extension | 容器中路径*传输*中主清单的路径，文件名*索引*为：mediastoressl://a23f.data.mediastore.us-west-2.amazonaws.com/delivery/index.m3u8 | 
| 子清单文件 | protocol dataEndpoint path baseFilename nameModifier extension | 输出的高分辨率格式副本的子清单路径`mediastoressl://a23f.data.mediastore.us-west-2.amazonaws.com/delivery/index-high.m3u8` | 
| 媒体文件（分段） | protocol dataEndpoint path baseFilename nameModifier optionalSegmentModifier counter extension | 第 230 个分段的文件的路径可能是：mediastoressl://a23f.data.mediastore.us-west-2.amazonaws.com/delivery/index-high-00230.ts | 

## 如何 MediaLive 构造路径
<a name="hls-how-construct-urls-ems"></a>

这些路径的构造如下：
+ 该 AWS 服务的用户应该已经向您提供了容器名称。
+ 对于 MediaStore，您必须确定以下各项：
  + 文件夹
  + baseFilename
  + 修饰符
  + segmentModifier

  请参阅以下各节。
+ MediaLive 在计数器前插入下划线。
+ MediaLive 生成计数器，计数器始终是从 00001 开始的五位数。
+ MediaLive 在扩展名前插入圆点。
+ MediaLive 选择扩展名：
  + 对于清单文件 – 始终为 ` .m3u8`
  + 对于媒体文件 — .ts 表示传输流中的文件，.mp4 表示 f 容器中的文件 MP4 

## 设计文件夹和 baseFilename
<a name="hls-path-ems"></a>

设计适合您目的的文件夹路径和 baseFilename。

如果每个输出有两个目标，则目标路径之间必须有所不同。请遵循以下准则：
+ 一个路径中必须至少有一个部分与另一个路径不同。所有部分都不同是可以接受的。

  因此，如果存储桶或容器不同，则两个目标的文件夹路径和文件名可以彼此不同，也可以相同。例如：

  `mediastoressl://a23f.data.mediastore.us-west-2.amazonaws.com/delivery/index.m3u8`

  `mediastoressl://fe30.data.mediastore.us-west-2.amazonaws.com/delivery/index.m3u8`

  或者

  `mediastoressl://a23f.data.mediastore.us-west-2.amazonaws.com/delivery/index.m3u8`

  `mediastoressl://fe30.data.mediastore.us-west-2.amazonaws.com/redundant/index.m3u8`
+ 如果存储桶或容器相同，则两个目标的文件夹路径和文件名必须彼此不同。例如：

  `mediastoressl://a23f.data.mediastore.us-west-2.amazonaws.com/delivery/index.m3u8`

  `mediastoressl://a23f.data.mediastore.us-west-2.amazonaws.com/redundant/index.m3u8`

## 设计 nameModifier
<a name="hls-nameModifier-design-ems"></a>

设计文件名的 `nameModifier` 部分。子清单和媒体文件在其文件名中包含该修饰符。该 `nameModifier` 将每个输出与其他输出区分开来，因此，它在每个输出中必须是唯一的。请遵循以下准则：
+ 对于包含视频（可能还包含其他流）的输出，您通常会描述视频。例如，**-high** 或 **-1920x1080-5500kpbs**（以描述分辨率和比特率）。
+ 对于仅包含音频或仅包含字幕的输出，您通常会描述音频或字幕。例如，**-aac** 或 **-webVTT**。
+ 最好以分隔符（例如连字符）为 `nameModifier` 开头，以便将 ` baseFilename` 与 `nameModifier` 分开。
+ `nameModifier` 可以包含[数据变量](variable-data-identifiers.md)。

## 设计 segmentModifier
<a name="hls-segmentModifier-design-ems"></a>

设计目标路径的 segmentModifier 部分。segmentModifier 是可选的；如果包含，则仅媒体文件名包含该部分。

该修饰符的典型使用案例是使用数据变量创建时间戳，以防止在通道重新启动时分段相互覆盖。例如，假设您包含时间戳 **\$1t\$1-**。分段 00001 可能具有 `index-120028-00001` 名称。如果输出在几分钟后重新启动（这会导致分段计数器重新启动），新的分段 00001 将具有 `index-120039-00001` 名称。新文件不会覆盖原始分段 00001 的文件。一些下游系统可能希望具有该行为。

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

在设计输出名称和目标路径后，您可以设置 HLS 输出组。

以下字段配置 HLS 媒体和清单文件（目标）的位置和名称。
+ **Output group - HLS group destination (输出组 - HLS 组目标)** 部分
+ **Output group - HLS settings - CDN (输出组 - HLS 设置 - CDN)** 部分
+ **Output group - Location - Directory structure (输出组 - 位置 - 目录结构)**
+ **Output group - Location - Segments per subdirectory (输出组 - 位置 - 每个子目录的分段)**
+ **HLS 输出 – 输出设置 – 名称修饰符**
+ **HLS 输出 – 输出设置 – 分段修饰符**

**为大多数下游系统设置目标**

1. 填写 **HLS 组目标**部分中的 **URL** 字段。在通道设置为标准通道时指定两个目标，或者在通道设置为单管道通道时指定一个目标。    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/medialive/latest/ug/hls-specify-destination-ems.html)

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

1. 在 **CDN** 设置部分中，选择 `Hls media store`。

1. 如果 MediaStore 用户为您提供了[配置连接的](origin-server-http.md)值，请在 **CDN** 设置部分的字段中输入这些值。

# 输出目的地的字段-发送到 MediaPackage
<a name="hls-destinations-emp"></a>

当你[计划输出到](hls-choosing-hls-vs-emp.md)时 MediaPackage，你可能已经决定通过创建 HLS 输出组来发送输出。（或者你可能已经决定创建一个[MediaPackage 输出组](creating-mediapackage-output-group.md)。）

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

您可以使用 HLS 输出组发送到标准版 MediaPackage 或 toMediaPackage v2。这两个版本使用不同的协议：
+ MediaPackage 使用 WebDAV。
+ MediaPackage v2 使用基本的 PUT。

**Topics**
+ [为输出目标设计路径。](hls-destinations-emp-design.md)
+ [在控制台上填写字段](hls-specify-destination-emp.md)
+ [标准 MediaPackage 示例](hls-example-mediapackage.md)
+ [MediaPackage v2 示例](hls-example-mediapackage-v2.md)

# 为输出目标设计路径。
<a name="hls-destinations-emp-design"></a>

如果您尚未设计一个或多个完整目标路径，请执行此步骤。如果您已经设计了路径，请转到 [在控制台上填写字段](hls-specify-destination-emp.md)。

**设计路径**

1. 收集您[之前从 MediaPackage 用户那里获得](origin-server-hls-emp.md)的信息：
   + 频道的两个 URLs （输入端点是 MediaPackage 术语）。请参阅此步骤后面的信息。
   + 如果您使用的是标准版 MediaPackage，请获取用户名和密码。如果您使用的是 MediaPackage v2，则不使用用户凭证。

1. 您必须设计目标路径中跟随的部分 URLs。

**Topics**
+ [收集标准信息 MediaPackage](hls-destinations-emp-info.md)
+ [收集 MediaPackage v2 的信息](hls-destinations-emp-info-v2.md)
+ [输出路径的语法](hls-syntax-emp.md)
+ [设计 nameModifier](hls-nameModifier-design-emp.md)
+ [设计 segmentModifier](hls-segmentModifier-design-emp.md)

# 收集标准信息 MediaPackage
<a name="hls-destinations-emp-info"></a>

对于标准 MediaPackage版，频道 URLs 的两者类似于以下示例：

`6d2c.mediapackage.us-west-2.amazonaws.com/in/v2/9dj8/9dj8/channel` 

`6d2c.mediapackage.us-west-2.amazonaws.com/in/v2/9dj8/e333/channel`

其中：

`mediapackage`表示输入端点使用 MediaPackage API 的版本 1

`channel` 始终在 URL 的末尾。它是该目标上所有文件的基本文件名。

除了前 URLs 面的文件夹，两者总是相同的`channel`。

# 收集 MediaPackage v2 的信息
<a name="hls-destinations-emp-info-v2"></a>

对于 MediaPackage v2，一个频道 URLs 的两个类似于以下示例：

`mz82o4-1.ingest.hnycui.mediapackagev2.us-west-2.amazonaws.com/in/v1/live-sports/1/curling/index`

`mz82o4-2.ingest.hnycui.mediapackagev2.us-west-2.amazonaws.com/in/v1/live-sports/2/curling/index`

其中：


| Element | 说明 | 
| --- | --- | 
| mz82o4-1 和 mz82o4-2 |  指明这两个端点用于中的冗余信道 MediaPackage。前缀始终是 -1 和 -2 | 
| mediapackagev2 | 表示输入端点使用 MediaPackage API 的版本 2 | 
| live-sports/1/curling 和 live-sports/2/curling | 用于冗余提取的文件夹。一个文件夹始终包含 /1/，另一个文件夹始终包含 /2/  | 
| index | 始终在 URL 末尾。它是该目标上所有文件的基本文件名。 | 

# 输出路径的语法
<a name="hls-syntax-emp"></a>

HLS 输出始终包含三类文件：

请参阅以下部分。
+ 主清单
+ 子清单
+ 媒体文件

下表描述了构成这三类文件的目标路径的各个部分。

这三类文件的目标路径在 *baseFileN* ame 之前是相同的，这意味着 thatMediaLive 将所有这些类别的文件发送到同一个文件夹。每类文件的修饰符和文件扩展名都不同。发送到时 MediaPackage，必须将所有文件发送到同一个文件夹。下游系统希望所有文件都在一起。


| 文件 | 路径语法 | 示例 | 
| --- | --- | --- | 
| 主清单文件 |  protocol channelURL extension |  输出路径。以下是使用 MediaPackage v2 的示例 `https://mz82o4-2.ingest.hnycui.mediapackagev2.us-west-2.amazonaws.com/in/v1/live-sports/2/curling/index.m3u8`  | 
| 子清单文件 | protocol channelURL nameModifier extension | 以下是卷曲输出高分辨率再现的子清单路径示例（在使用 MediaPackage v2 的目标中）：`https://mz82o4-1.ingest.hnycui.mediapackagev2.us-west-2.amazonaws.com/in/v1/live-sports/1/curling/index-high.m3u8` | 
| 媒体文件（分段） | protocol channelURL nameModifier optionalSegmentModifier counter extension | 以下是第 230 段（在使用 MediaPackage v2 的目标中）的文件路径示例：https://mz82o4-1.ingest.hnycui.mediapackagev2.us-west-2.amazonaws.com/in/v1/live-sports/1/curling/index-high-00230.ts | 

这些路径的构造如下：
+  MediaPackage 用户应该已经为你提供了频道 URLs。它 URLs 涵盖了路径中直至并包括 baseFileName 的部分：
  + 对于标准版 MediaPackage，基本文件名始终为。`channel`
  +  MediaPackage 在 v2 中，baseFileName 始终是。`index`
+ 您必须指定以下内容：
  + 修饰符
  + segmentModifier

  请参阅以下各节。
+ MediaLive 在计数器前插入下划线。
+ MediaLive 生成计数器，计数器始终是从 00001 开始的五位数。
+ MediaLive 在扩展名前插入圆点。
+ MediaLive 选择扩展名：
  + 对于清单文件 – 始终为 ` .m3u8`
  + 对于媒体文件 — .ts 表示传输流中的文件，.mp4 表示 f 容器中的文件 MP4 

# 设计 nameModifier
<a name="hls-nameModifier-design-emp"></a>

设计文件名的 `nameModifier` 部分。子清单和媒体文件在其文件名中包含该修饰符。

该 `nameModifier` 将每个输出与其他输出区分开来，因此，它在每个输出中必须是唯一的。
+ 对于包含视频（可能还包含其他流）的输出，您通常会描述视频。例如，如果有三个格式副本，则可以使用 **-high**、**-medium** 和 **-low**。或者每个修饰符都可以准确地描述分辨率和比特率（**-1920x1080-5500kpbs**）。
+ 对于仅包含音频或仅包含字幕的输出，您通常会描述音频或字幕。例如，**-aac** 或 **-webVTT**。

最好以分隔符（例如连字符）为 `nameModifier` 开头，以便将 ` baseFilename` 与 `nameModifier` 分开。

`nameModifier` 可以包含[数据变量](variable-data-identifiers.md)。

# 设计 segmentModifier
<a name="hls-segmentModifier-design-emp"></a>

设计目标路径的 segmentModifier 部分。segmentModifier 是可选的；如果包含，则仅媒体文件名包含该部分。

该修饰符的典型使用案例是使用数据变量创建时间戳，以防止在通道重新启动时分段相互覆盖。例如，假设您包含时间戳 **\$1t\$1-**。分段 00001 可能具有 `index-120028-00001` 名称。如果输出在几分钟后重新启动（这会导致分段计数器重新启动），新的分段 00001 将具有 `index-120039-00001` 名称。新文件不会覆盖原始分段 00001 的文件。一些下游系统可能希望具有该行为。

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

在设计输出名称和目标路径后，您可以设置 HLS 输出组。

以下字段配置 HLS 媒体和清单文件（目标）的位置和名称。
+ **Output group - HLS group destination (输出组 - HLS 组目标)** 部分
+ **Output group - HLS settings - CDN (输出组 - HLS 设置 - CDN)** 部分
+ **Output group - Location - Directory structure (输出组 - 位置 - 目录结构)**
+ **Output group - Location - Segments per subdirectory (输出组 - 位置 - 每个子目录的分段)**
+ **HLS 输出 – 输出设置 – 名称修饰符**
+ **HLS 输出 – 输出设置 – 分段修饰符**

**设置目标**

1. 填写 **HLS 组目标**部分中的 **URL** 字段。在通道设置为标准通道时指定两个目标，或者在通道设置为单管道通道时指定一个目标。    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/medialive/latest/ug/hls-specify-destination-emp.html)

1. 输入输入用户名。对于密码（如果适用），请输入存储在 AWS Systems Manager 参数存储库中的密码的名称。请不要输入密码本身。有关更多信息，请参阅 [AWS Systems Manager 密码参数要求](requirements-for-EC2.md)。

1. 在 **CDN** 设置部分，选择相应的连接类型：
   + 要发送至标准版 MediaPackage，请选择`Hls webdav`。
   + 要发送到 MediaPackage v2，请选择`Basic PUT`。

1. 如果下游系统为您提供了用于[配置连接](origin-server-http.md)的值，请在 **CDN** 设置部分的字段中输入这些值。

# 标准 MediaPackage 示例
<a name="hls-example-mediapackage"></a>

此示例说明在 HLS 输出组的下游系统为标准 MediaPackage系统时，如何设置目标字段。

假定您要流式传输冰壶游戏并创建三个输出：高、中和低比特率。


| Field | Value | 
| --- | --- | 
| HLS settings (HLS 设置) 部分中的 CDN settings (CDN 设置) | hls webdav  | 
| HLS 组目标 A 部分中的 URL |  6d2c.mediapackage.us-west-2.amazonaws.com/in/v2/9dj8/9dj8/channel | 
| HLS 组目标 A 部分中的凭证 | MediaPackage 仅接受经过身份验证的请求，因此必须输入已知的用户名和密码 MediaPackage。对于密码，请输入存储在 AWS Systems Manager Parameter Store 中的密码的名称。请不要输入密码本身。有关更多信息，请参阅 [AWS Systems Manager 密码参数要求](requirements-for-EC2.md)。 | 
| HLS 组目标 B 部分中的 URL |  6d2c.mediapackage.us-west-2.amazonaws.com/in/v2/9dj8/e333/channel | 
| HLS 组目标 B 部分中的凭证 | 输入目标 B 的 URL 的用户名和密码。两者的凭据可能相同 URLs，但可能不一样。 | 
| HLS outputs (HLS 输出) 部分中的 Name modifier (名称修饰符) |  选择 **Add output (添加输出)** 两次：另外向此部分中添加两个 **Output (输出)** 行，总共三行。在每一行中，输入一个修饰符：**-high**、**-medium** 和 **-low**。  | 
| 位置部分中的目录结构和每个子目录的段数 | MediaPackage 不使用这些字段，因此将其留空。 | 

因此，将创建具有以下名称的文件：
+ 一个主清单：**channel.m3u8**
+ 每个输出一个子清单：**channel-high.m3u8**、**channel-medium.m3u8**、**channel-low.m3u8**
+ 每个输出的 TS 文件：
  + **channel-high-00001.ts**、**channel-high-00002.ts**、**channel-high-00003.ts** 等
  + **channel-medium-00001.ts**、**channel-medium-00002.ts**、**channel-medium-00003.ts** 等 
  + **channel-low-00001.ts**、**channel-low-00002.ts**、** channel-low-00003.ts** 等

文件将发布到的两个 URL 输入中 MediaPackage。

# MediaPackage v2 示例
<a name="hls-example-mediapackage-v2"></a>

此示例说明在 HLS 输出组的下游系统为标准 MediaPackage系统时，如何设置目标字段。

假定您要流式传输冰壶游戏并创建三个输出：高、中和低比特率。


| Field | Value | 
| --- | --- | 
| HLS settings (HLS 设置) 部分中的 CDN settings (CDN 设置) |  **basic PUT**  | 
| HLS 组目标 A 部分中的 URL | mz82o4-1.ingest.hnycui.mediapackagev2.us-west-2.amazonaws.com/in/v1/live-sports/1/curling/index | 
| HLS 组目标 A 部分中的凭证 | 留空。 MediaPackage v2 不使用凭据进行身份验证。 | 
| HLS 组目标 B 部分中的 URL | mz82o4-2.ingest.hnycui.mediapackagev2.us-west-2.amazonaws.com/in/v1/live-sports/2/curling/index. | 
| HLS 组目标 B 部分中的凭证 | 留空。 MediaPackage v2 不使用凭据进行身份验证。 | 
| HLS outputs (HLS 输出) 部分中的 Name modifier (名称修饰符) |  选择 **Add output (添加输出)** 两次：另外向此部分中添加两个 **Output (输出)** 行，总共三行。在每一行中，输入一个修饰符：**-high**、**-medium** 和 **-low**。  | 
| 位置部分中的目录结构和每个子目录的段数 | MediaPackage 不使用这些字段，因此将其留空。 | 

因此，将创建具有以下名称的文件：
+ 一个主清单：**index.m3u8**
+ 每个输出一个子清单：**index-high.m3u8**、**index-medium.m3u8**、**index-low.m3u8**
+ 每个输出的 TS 文件：
  + **index-high-00001.ts**、**index-high-00002.ts**、**index-high-00003.ts** 等
  + **index-medium-00001.ts**、**index-medium-00002.ts**、**index-medium-00003.ts** 等 
  + **index-low-00001.ts**、**index-low-00002.ts**、** index-low-00003.ts** 等

文件将发布到的两个 URL 输入中 MediaPackage。

# 输出目标的字段 – 发送到 HTTP 服务器
<a name="hls-destinations-http"></a>

在[计划 HLS 输出组的目标](origin-server-http.md)时，您可能已经决定将输出发送到 HTTP 服务器。

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

**Topics**
+ [为输出目标设计路径。](hls-destinations-design-step.md)
+ [在控制台上填写字段](hls-specify-destination.md)
+ [HTTP 或 HTTPS 服务器的示例](hls-example-most-downstreamsystems.md)
+ [Akamai 示例](hls-example-akamai.md)

# 为输出目标设计路径。
<a name="hls-destinations-design-step"></a>

如果您尚未设计一个或多个完整目标路径，请执行此步骤。如果您已经设计了路径，请转到 [在控制台上填写字段](hls-specify-destination.md)。

**设计路径**

1. 收集您[之前从下游系统操作员处获取](origin-server-http.md)的信息：
   + 下游系统的连接类型 – Akamai、基本 PUT 或 WebDAV。
   + 连接字段的设置（如果下游系统有特殊要求）。
   + 传输协议 – HTTP 或 HTTPS。
   + 访问下游系统的用户名和密码，如果下游系统需要经过身份验证的请求。请注意，这些用户凭证与用户身份验证（而不是与协议）相关。用户身份验证与下游系统是否将接受您的请求有关。协议与请求是否通过安全连接发送有关。
   + 全部或部分目标路径，可能包括文件名。
   + 是否需要设置单独的子目录。

1. 作为与下游系统操作员计划的一部分，您应该确定是否要实施冗余清单。此外，您还应确定下游系统是否需要自定义清单。根据这两个决定，阅读对应的章节：
   + 如果要实施冗余清单，请参阅 [创建冗余 HLS 清单](hls-redundant-manifests.md)，然后返回本节。
   + 如果要实施清单的自定义路径，请参阅 [自定义 HLS 清单中的路径](hls-manifest-paths.md)，然后返回本节。
   + 如果您没有实施这两个功能中的任何一个，请继续阅读本节。

1. 设计目标路径中跟随一个或多个存储桶的部分。有关详细信息，请参阅以下部分。

**Topics**
+ [输出路径的语法](#hls-syntax-http)
+ [设计文件夹和 baseFilename](#hls-baseFilename-design)
+ [设计 nameModifier](#hls-nameModifier-design)
+ [设计 segmentModifier](#hls-segmentModifier-design)

## 输出路径的语法
<a name="hls-syntax-http"></a>

下表描述了构成这三类文件的目标路径的各个部分。

这三类文件的目标路径在 *baseFileN* ame 之前是相同的，这意味着 thatMediaLive 将所有这些类别的文件发送到同一个文件夹。每类文件的修饰符和文件扩展名都不同。


| 文件 | 路径语法 | 示例 | 
| --- | --- | --- | 
| 主清单文件 | 协议域路径 baseFilename 扩展名 | 主清单 URL，文件名 */index*：http://203.0.113.55/sports/delivery/curling/index.m3u8 | 
| 子清单文件 | 协议域路径 baseFilename nameModifier 扩展名 | 输出的高分辨率格式副本的子清单 URL`http://203.0.113.55/sports/delivery/curling/index-high.m3u8` | 
| 媒体文件（分段） | protocol domain path baseFilename nameModifier optionalSegmentModifier counter extension | 第 230 个分段的文件的 URL 可能是：http:// 203.0.113.55/sports/delivery/curling/index-high-00230.ts | 

这些目标路径的构造如下：
+ 下游系统的操作员[应该已经向您提供了](origin-server-http.md)协议、域和部分路径。例如：

  `http://203.0.113.55/sports/`

  协议始终是 HTTP 或 HTTPS。
+ 操作员可能提供了以下内容。否则，您可以决定这些内容：
  + 文件夹
  + baseFilename
  + 修饰符
  + segmentModifier

  请参阅以下各节。
+ MediaLive 在计数器前插入下划线。
+ MediaLive 生成计数器，计数器始终是从 00001 开始的五位数。
+ MediaLive 在扩展名前插入圆点。
+ MediaLive 选择扩展名：
  + 对于清单文件 – 始终为 ` .m3u8`
  + 对于媒体文件 — `.ts` 用于传输流中的文件以及 `.mp4` f MP4 容器中的文件 

## 设计文件夹和 baseFilename
<a name="hls-baseFilename-design"></a>

对于目标路径的 `folder` 和 `baseFilename` 部分，请遵循以下准则：
+ 对于单管道通道，您仅需要使用一个 `baseFilename`。
+ 对于*未* 实施[冗余清单](hls-opg-redundant-manifest.md)时的标准通道，您需要使用两个 `baseFilenames`。两个 `baseFilenames` 可以相同，也可以不同。在创建不同的 `baseFilenames` 之前，请确保下游系统可以使用该设置。
+ 有关*实施* 冗余清单时的标准通道，请参阅[冗余清单的字段](hls-opg-redundant-manifest.md)。

## 设计 nameModifier
<a name="hls-nameModifier-design"></a>

设计文件名的 `nameModifier` 部分。子清单和媒体文件在其文件名中包含该修饰符。该 `nameModifier` 将每个输出与其他输出区分开来，因此，它在每个输出中必须是唯一的。请遵循以下准则：
+ 对于包含视频（可能还包含其他流）的输出，您通常会描述视频。例如，**-high** 或 **-1920x1080-5500kpbs**（以描述分辨率和比特率）。
+ 对于仅包含音频或仅包含字幕的输出，您通常会描述音频或字幕。例如，**-aac** 或 **-webVTT**。
+ 最好包含分隔符，以清楚地将 ` baseFilename` 与 `nameModifier` 隔开。
+ ` nameModifier` 可以包含[数据变量](variable-data-identifiers.md)。

## 设计 segmentModifier
<a name="hls-segmentModifier-design"></a>

设计目标路径的 segmentModifier 部分。segmentModifier 是可选的；如果包含，则仅媒体文件名包含该部分。

该修饰符的典型使用案例是使用数据变量创建时间戳，以防止在通道重新启动时分段相互覆盖。例如，假设您包含时间戳 **\$1t\$1-**。分段 00001 可能具有 `/index-120028-00001` 名称。如果输出在几分钟后重新启动（这会导致分段计数器重新启动），新的分段 00001 将具有 `/index-120039-00001` 名称。新文件不会覆盖原始分段 00001 的文件。一些下游系统可能希望具有该行为。

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

以下字段配置 HLS 媒体和清单文件（目标）的位置和名称。
+ **Output group - HLS group destination (输出组 - HLS 组目标)** 部分
+ **Output group - HLS settings - CDN (输出组 - HLS 设置 - CDN)** 部分
+ **Output group - Location - Directory structure (输出组 - 位置 - 目录结构)**
+ **Output group - Location - Segments per subdirectory (输出组 - 位置 - 每个子目录的分段)**
+ **HLS 输出 – 输出设置 – 名称修饰符**
+ **HLS 输出 – 输出设置 – 分段修饰符**

**设置目标**

1. 填写 **HLS 组目标**部分中的 **URL** 字段。在通道设置为标准通道时指定两个目标，或者在通道设置为单管道通道时指定一个目标。    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/medialive/latest/ug/hls-specify-destination.html)

1. 如果下游系统要求用户进行身份验证 MediaLive，请在每个 **HLS 组目标**部分中填写 “**凭据**” 部分。输入下游系统提供的用户名和密码。对于密码，请输入存储在 AWS Systems Manager 参数存储中的密码的名称。请不要输入密码本身。有关更多信息，请参阅 [AWS Systems Manager 密码参数要求](requirements-for-EC2.md)。

1. 在 **CDN** 设置部分，选择下游系统要求您使用的选项 – Akamai、PUT 或 WebDAV。

1. 如果下游系统为您提供了用于[配置连接](origin-server-http.md)的值，请在 **CDN** 设置部分的字段中输入这些值。

# HTTP 或 HTTPS 服务器的示例
<a name="hls-example-most-downstreamsystems"></a>

该示例说明了在下游系统为使用基本 PUT 的 HTTPS 服务器时如何设置目标字段。

假定您要流式传输冰壶游戏并创建三个输出：高、中和低比特率。


| Field | Value | 
| --- | --- | 
| HLS settings (HLS 设置) 部分中的 CDN settings (CDN 设置) | Hls basic put按照下游系统的说明，更改其他 CDN 字段。 | 
| HLS 组目标 A 部分中的 URL | 例如：**https://203.0.113.55/sports/curling/index** | 
| HLS 组目标 A 部分中的凭证 | 如果下游系统需要经过身份验证的请求，请输入下游系统提供的用户名。对于密码，请输入存储在 AWS Systems Manager Parameter Store 中的密码的名称。请不要输入密码本身。有关更多信息，请参阅 [AWS Systems Manager 密码参数要求](requirements-for-EC2.md)。 | 
| HLS 组目标 B 部分中的 URL | 例如：**https://203.0.113.82/sports/curling/index** | 
| HLS 组目标 B 部分中的凭证 | 为目标 B 的 URL 输入用户名和密码（如果适用）。两者的凭证可能相同 URLs，但可能不一样。 | 
| HLS outputs (HLS 输出) 部分中的 Name modifier (名称修饰符) |  选择 **Add output (添加输出)** 两次：另外向此部分中添加两个 **Output (输出)** 行，总共三行。在每一行中，输入一个修饰符：**-high**、**-medium** 和 **-low**。  | 
| 位置部分中的目录结构和每个子目录的段数 |  假设下游系统不使用这些字段。  | 

因此，将创建具有以下名称的文件：
+ 一个主清单：`index.m3u8`
+ 每个输出一个子清单：`index-high.m3u8`、`index-medium.m3u8`、`index-low.m3u8`
+ 每个输出的 TS 文件：
  + `index-high-00001.ts`、`index-high-00002.ts`、`index-high-00003.ts` 等
  + `index-medium-00001.ts`、`index-medium-00002.ts`、`index-medium-00003.ts` 等 
  + `index-low-00001.ts`、`index-low-00002.ts`、` index-low-00003.ts` 等

这些文件将发布到下游系统中的两个主机，并放置在每个主机上的名为 `sports` 的文件夹中。

# Akamai 示例
<a name="hls-example-akamai"></a>

该示例说明了在下游系统为 Akamai 服务器时如何设置目标字段。

假定您要流式传输冰壶游戏并创建三个输出：高、中和低比特率。


| Field | Value | 
| --- | --- | 
| HLS settings (HLS 设置) 部分中的 CDN settings (CDN 设置) | HLS akamai 如果您使用的是 Akamai 令牌身份验证，请选择此设置。按照 Akamai 的说明，更改其他 CDN 字段。HLS basic put 如果您使用的是摘要身份验证，请选择此设置。按照 Akamai 的说明，更改其他 CDN 字段。 | 
| HLS 组目标 A 部分中的 URL | 例如：**https://p-ep50002.i.akamaientrypoint.net/50002/curling/index**将该 URL 映射到 Akamai 术语：[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/medialive/latest/ug/hls-example-akamai.html) | 
| HLS 组目标 A 部分中的凭证 | 如果 Akamai 需要经过身份验证的请求，请输入 Akamai 已知的用户名和密码。对于密码，请输入存储在 AWS Systems Manager Parameter Store 中的密码的名称。请不要输入密码本身。有关更多信息，请参阅 [AWS Systems Manager 密码参数要求](requirements-for-EC2.md)。 | 
| HLS 组目标 B 部分中的 URL | 例如：**https://b-ep50002.i.akamaientrypoint.net/50002-b/curling/index**将该 URL 映射到 Akamai 术语：[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/medialive/latest/ug/hls-example-akamai.html) | 
| HLS 组目标 B 部分中的凭证 | 为另一个目标的 URL 输入用户名和密码（如果适用）。两者的凭证可能相同 URLs，但可能不一样。 | 
| HLS outputs (HLS 输出) 部分中的 Name modifier (名称修饰符) |  选择 **Add output (添加输出)** 两次：另外向此部分中添加两个 **Output (输出)** 行，总共三行。在每一行中，输入一个修饰符：**-high**、**-medium** 和 **-low**。  | 
| 位置部分中的目录结构和每个子目录的段数 |  按照 Akamai 的说明，填写这些字段。  | 

因此，将创建具有以下名称的文件：
+ 一个主清单：**index.m3u8**
+ 每个输出一个子清单：**index-high.m3u8**、**index-medium.m3u8**、**index-low.m3u8**
+ 每个输出的 TS 文件：
  + `index-high-00001.ts`、`index-high-00002.ts`、`index-high-00003.ts` 等
  + `index-medium-00001.ts`、`index-medium-00002.ts`、`index-medium-00003.ts` 等 
  + `index-low-00001.ts`、`index-low-00002.ts`、` index-low-00003.ts` 等



这些文件将发布到两个位置：
+ 在 Akamai 主机 **p-ep50002.i.akamaientrypoint.net** 上名为 **50002** 的文件夹中
+ 在主机 **b-ep50002.i.akamaientrypoint.net** 上名为 **50002-b** 的文件夹中

# HLS 容器的字段
<a name="hls-container"></a>

以下字段在每个输出中配置容器。
+ **HLS 输出** – **输出设置** – **HLS 设置**部分

这些字段控制清单内容和分段结构。相比之下，[清单内容的字段](hls-other-features.md#hls-manifest-contents)中所述的字段控制在输出中具有多少个清单和分段。

**配置容器**

1. 在 **HLS Settings (HLS 设置)** 中，选择相应的选项。有关这些选项的信息，请参阅该过程后面的列表。

1. 对于 **Standard hls (标准 hls)**，将显示更多字段。选择 **Transport/container configuration (传输/容器配置)** 和 **PID settings (PID 设置)**。此时将显示更多字段。

1. 更改任何字段。通常，只有在下游系统为您提供值时，您才会更改这两个部分中的字段。

**关于 HLS 容器**

MediaLive 支持以下类型的容器：
+ **标准 hls** – 如果要将流（编码）打包到传输流中，请选择这种类型的容器。为输出组中的所有输出选择该容器类型（音频渲染组包含的输出除外）。每个输出可能包含以下编码：
  + 一个视频编码
  + 一个具有嵌入式字幕的视频编码
  + 一个视频编码（和可选的嵌入式字幕）以及一个或多个音频编码
  + 一个字幕编码
+ **Fmp4 hls** — 如果要将流（编码）打包为片段，请选择这种类型的容器。 MP4为输出组中的所有输出选择该容器类型（音频渲染组包含的输出除外）。每个输出可能包含以下编码：
  + 一个视频编码
  + 一个具有嵌入式字幕的视频编码
  + 一个字幕编码
+ **仅音频** – 为音频格式副本组包含的每个仅音频输出选择这种类型的容器。格式副本组可以是 TS（传输流）的一部分，也可以是 f MP4 包的一部分。有关创建音频渲染组的信息，请参阅[HLS 的音频渲染组](audio-renditions.md)。
+ **帧捕获** – 为在输出组中创建帧捕获 JPEG 文件，请选择此类型的容器。此容器用于实现实施 trick-play。有关此功能的更多信息以及在通道中设置此功能的说明，请参阅 [符合映像媒体播放列表规范的 trick-play 轨道](trick-play-roku.md)。

# 用于在清单中自定义路径的字段
<a name="hls-custom-manifests"></a>

在主清单中，具有每个子清单的路径。在每个子清单中，具有该清单的媒体文件的路径。

您可以选择更改这些路径的语法。通常，只有在下游系统具有特殊路径要求时，您才需要更改语法。

以下字段与清单中的自定义路径有关：
+ **HLS output group - Location (HLS 输出组 - 位置)** - **Base URL content (基本 URL 内容)** 字段。
+ **HLS output group - Location (HLS 输出组 - 位置)** - **Base URL manifest (基本 URL 清单)** 字段。

有关在清单中设置自定义路径的更多信息，请参阅[自定义 HLS 清单中的路径](hls-manifest-paths.md)。

# 冗余清单的字段
<a name="hls-opg-redundant-manifest"></a>

MediaLive 支持 HLS 规范中指定的冗余清单。您可以在标准通道中启用该功能。

以下字段与冗余清单有关：
+ **HLS output group - Manifests and Segments - Redundant manifests (HLS 输出组 - 清单和分段 - 冗余清单)** 字段
+ **HLS output group - Location (HLS 输出组 - 位置) - Base URL manifest (基本 URL 清单)** 字段
+ **HLS output group - Location (HLS 输出组 - 位置) - Base URL content (基本 URL 内容)** 字段

您无法在 MediaPackage 作为下游系统的 HLS 输出组中启用此功能。

有关设置冗余清单的更多信息，请参阅[创建冗余 HLS 清单](hls-redundant-manifests.md)。

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

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

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

# 其他 HLS 功能的字段
<a name="hls-other-features"></a>

**Topics**
+ [连接重试的字段](#hls-reconnection-fields)
+ [清单内容的字段](#hls-manifest-contents)
+ [分段的字段](#hls-segment-fields)
+ [弹性的字段](#hls-resiliency)
+ [DRM 的字段](#hls-drm)
+ [SCTE-35 广告效用的字段](#hls-ad-markers)
+ [字幕的字段](#hls-captions)
+ [ID3 元数据字段](#hls-id3)

## 连接重试的字段
<a name="hls-reconnection-fields"></a>

**输出组 – HLS 设置 – CDN 设置**部分中的以下字段配置重新连接到下游系统的行为：
+ **Connection retry interval (连接重试间隔)**
+ **Num retries (重试次数)**
+ **Filecache duration (文件缓存持续时间)**
+ **Restart delay (重新启动延迟)**

有关某个字段的详细信息，请选择 MediaLive 控制台中该字段旁边的 “**信息**” 链接。

## 清单内容的字段
<a name="hls-manifest-contents"></a>

**HLS output group – Manifests and Segments (HLS 输出组 - 清单和分段)** 部分中的以下字段配置在 HLS 子清单中包含的信息：
+ **Output selection (输出选择)**
+ **Mode (模式)**
+ **Stream inf resolution (流 inf 分辨率)**
+ **Manifest duration format (清单持续时间格式)**
+ **Num segments (分段数)**
+ **仅 I 帧播放列表** – 此字段用于通过 I 帧实施 trick-play。有关更多信息，请参阅 [通过 I 帧实施 Trick-play 轨道](trick-play-i-frames.md)。
+ **节目日期时间（PDT）**– 此字段用于在清单文件中包含或排除 `EXT-X-PROGRAM-DATE-TIME` 标签。标签信息可帮助下游播放器将流同步到 **PDT 时钟**字段中选定的源。
+ **节目日期时间（PDT）段** – 此字段用于设置插入 `EXT-X-PROGRAM-DATE-TIME` 标签的时间间隔，以秒为单位。
+ **节目日期时间（PDT）时钟** – 此字段用于选择 PDT 的时间源。可以选择输出时间码或 UTC 时间。
+ **Client cache (客户端缓存)**
+ **Timestamp delta microseconds (时间戳增量 (微秒))**
+ **Codec specification (编解码器规范)**
+ **Manifest compression (清单压缩)**

有关某个字段的详细信息，请选择 MediaLive 控制台中该字段旁边的 “**信息**” 链接。

## 分段的字段
<a name="hls-segment-fields"></a>

以下字段在输出中配置媒体分段。
+ **HLS output group – Manifests and Segments (HLS 输出组 - 清单和分段)** 部分中的以下字段：
  + **TS file mode (TS 文件模式)**
  + **Segment length (分段长度)**
  + **Keep segments (保留分段)**
  + **Min segment length (最小分段长度)**
+ **HLS 输出** – **输出设置** – **H.265 打包类型**。此字段仅适用于 f MP4 输出。 MediaLive对于其他类型，将忽略此字段中的值。

有关某个字段的详细信息，请选择该字段旁边的 **Info (信息)** 链接。

## 弹性的字段
<a name="hls-resiliency"></a>

以下字段与在 HLS 输出中实施弹性有关。
+ **HLS 输出组** - **HLS 设置**部分 – **输入损耗操作**

可以选择更改 **Input loss action (输入损耗操作)** 的值。

**对大多数下游系统进行设置**

如果要将该 HLS 输出发送到 AWS Elemental MediaPackage以外的下游系统，请选择 **Info (信息)** 链接以确定要选择哪个选项。有关更多信息，请参阅 [处理视频输入损耗](feature-input-loss.md)。

**Setting up for MediaPackage**

如果您要将此 HLS 输出发送到 AWS Elemental MediaPackage，请将此字段设置为与您设置的[频道类别](channel-class.md)相匹配：
+ 如果该频道是标准频道（要支持输入冗余 MediaPackage），请将此字段设置为 **PAUSE\$1OUTPU** T。

  使用此设置，如果 MediaLive 停止在一个管道上生成输出，则 MediaPackage 会检测其当前输入中缺少内容，然后切换到另一个输入。最大程度地减少丢失的内容。

  （如果您将此字段设置为 **EMIT\$1** OUTPUT，则 MediaLive会将填充帧发送到。 MediaPackage MediaPackage 不认为填充框是丢失的内容，因此不会切换到其他输入。）
+ 如果通道是一个单管道通道，则将此字段设置为 **EMIT\$1OUTPUT**。

  使用此设置，如果管道出现故障， MediaLive 则会 MediaPackage 继续传送到自己的下游系统（尽管内容将是填充框架）。

  （如果您将该字段设置为 **PAUSE\$1OUTPUT**，则 MediaPackage 停止更新其终端节点，这可能会导致下游系统出现问题。）

## DRM 的字段
<a name="hls-drm"></a>

只有在您设置 DRM 以使用静态密钥加密输出时，才需要填写 **DRM** 部分。
+ 在 **Key provider (密钥提供程序)** 设置中，选择 **Static key (静态密钥)**。
+ 根据需要，填写其他字段。有关某个字段的详细信息，请选择该字段旁边的 **Info (信息)** 链接。

在静态密钥设置中，您输入此部分中的加密密钥 (以及其他配置数据)，然后将该密钥提供给其他方 (例如，通过电子邮件发送)。静态密钥不是真正的 DRM 解决方案，并且不是非常安全。

MediaLive 仅支持静态密钥作为加密选项。要将 DRM 解决方案与密钥提供程序一起使用，必须通过创建输出[组而不是 HLS MediaPackage 输出组](creating-mediapackage-output-group.md)将 AWS Elemental MediaPackage输出传送到。然后，您可以使用对视频进行加密 MediaPackage。有关更多信息，请参阅《 AWS Elemental MediaPackage 用户指南》。

## SCTE-35 广告效用的字段
<a name="hls-ad-markers"></a>

如果您计划在输出中包含 SCTE-35 消息并修饰 HLS 清单，请填写**广告标记**部分。请参阅[处理 SCTE 35 消息](scte-35-message-processing.md)，尤其是[为 HLS 输出启用传递](scte-35-passthrough-or-removal.md#procedure-to-enable-passthrough-hls)。

## 字幕的字段
<a name="hls-captions"></a>

以下字段与 HLS 输出中的嵌入式字幕有关。如果您的计划包括在该 HLS 输出中创建至少一个嵌入式字幕编码，则以下字段适用：
+ **Captions (字幕)** 部分中的 **Caption language setting (字幕语言设置)**。

  您可以选择设置 HLS 清单以包括有关嵌入式字幕语言的信息。
+ **HLS 设置**部分 – **字幕语言映射**

  您可以选择设置 HLS 清单以包括有关每个 CC（字幕通道）编号和语言的信息。

有关这两个字段的详细说明，请参阅[HLS 清单中的语言信息](set-up-the-hls-manifest.md)。

## ID3 元数据字段
<a name="hls-id3"></a>

如果要在此输出组的所有输出中插入定时 ID3 元数据或 ID3 分段标签，请完成本**ID3 **节。有关详细说明，请参阅[在创建 ID3 频道时插入定时元数据 MediaLive](insert-timed-metadata.md)。