

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

# 输出目的地的字段-发送到 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** 设置部分的字段中输入这些值。