

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

# 创建 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)。