

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

# 创建 CMAF 端点
<a name="endpoints-cmaf"></a>

创建一个端点，用于为支持 Apple HLS 碎片化的设备格式化内容 MP4 (fMP4)。

**创建 CMAF 终端节点（控制台）**

1. 访问将与终端节点关联的通道，如[查看通道详细信息](channels-view.md)中所述。

1. 在通道详细信息页面上的**源端点**下，选择**管理端点**。

1. 完成以下主题中所述的字段：
   + [新端点字段](endpoints-cmaf-new.md)
   + [打包程序设置字段](endpoints-cmaf-packager.md)
   + [包加密字段](endpoints-cmaf-encryption.md)
   + [访问控制设置字段](endpoints-cmaf-access-control.md)
   + [流选择字段](endpoints-cmaf-include-streams.md)

1. 选择**保存**。

   如果您从 AWS Elemental MediaPackage 控制台启用了 Amazon CloudFront 分发创建功能，并且这是您在频道上的第一个终端节点，则会向分配中 MediaPackage 添加一个来源。您可以在频道详细信息页面的终端节点部分查看 CloudFront CDN URL 和终端节点信息。

   终端节点处于活动状态，可以在向其 URL 端点发送请求后立即传送内容。 MediaPackage 向上和向下扩展资源，为您的流量提供适当的容量。

   创建端点时，如果超过账户配额，则会收到错误。该错误类似于：Too many requests, please try again. Resource limit exceeded 表示您超出了 API 请求配额，或者已达到通道允许的最大端点数。如果您认为自己误收到此错误，请使用服务限额控制台[请求增加配额](https://console.aws.amazon.com/servicequotas/home?region=us-east-1#!/services/mediapackage/quotas)。有关中配额的更多信息 MediaPackage，请参阅[中的配额 AWS Elemental MediaPackage](quotas.md)。

# 新端点字段
<a name="endpoints-cmaf-new"></a>

创建端点时，不要将客户账号等敏感识别信息填入**名称**字段等自由格式字段中。这包括您 AWS Elemental MediaPackage 使用 MediaPackage 控制台 AWS CLI、 MediaPackage API 或 AWS SDKs。您输入的任何数据都 MediaPackage 可能会被提取以包含在诊断日志或 Amazon Ev CloudWatch ents 中。

1. 对于 **ID**，输入描述端点的名称。ID 是端点的主要标识符，并且对于 AWS 区域中的账户必须是唯一的。

1. （可选）对于**描述**，输入可帮助您识别端点的任何描述性文本。

1. 对于**清单名称**，输入将附加到端点 URL 末尾的短字符串。清单名称有助于创建此终端节点的唯一路径。

1. （可选）对于**启动窗口**，输入窗口大小（秒），创建一个可用于点播观看的直播流窗口。观看者可启动或回放属于此窗口范围内的内容。有关实施电视重新启动和回放的更多信息，请参阅[时移观看参考 AWS Elemental MediaPackage](time-shifted.md)。

1. （可选）对于**时间延迟**，输入持续时间（秒），以便在内容可供播放器使用时延迟。最短时间为 5 秒。最长时间为 86,400 秒 (24 个小时)。

   使用时间延迟重新定义实时时间点并使内容在等于“现在时间”减去指定的延迟时间的时间可用。由于延迟 60 秒，在 12:20 MediaPackage 接收的内容要等到 12:21 才可用。在 12:20 播放的请求将从 12:19 提供内容。同样，如果您要跨时区提供内容，您可以设置一个等于时差的时间延迟，以使内容在比如本地时间 8:00 时可用。

   当您将时间延迟与启动窗口结合使用时，时间延迟持续时间必须少于启动窗口持续时间。
**提示**  
当您对短输出段使用输入冗余时，使用时间延迟有助于减少输入切换期间的缓冲。请注意，延迟会增加内容播放的延迟。

# 打包程序设置字段
<a name="endpoints-cmaf-packager"></a>

包装程序设置字段用于保存有关终端节点的常规信息。

1. 对于**打包类型**，选择 **Common Media Application Format（CMAF）**。

1. 对于 **HLS 清单 ID**，输入将作为清单主要标识符的 ID。此端点的 ID 必须是唯一的。此 ID 在创建后无法更改。

1. （可选）对于**段前缀**，为 HLS 子清单中的段输入自定义名称。段前缀被添加到段名称前面，以便为每个段创建一个唯一标识符。  
**Example**  

   如果段前缀为 `movie`，则子清单中的段为 `movie_1_2.ts`。

1. （可选）对于**段持续时间**，输入每个段的持续时间（秒）。输入一个等于输入段持续时间，或是输入段持续时间倍数的值。如果您输入的值与输入分段持续时间不同，则会将分段 AWS Elemental MediaPackage 四舍五入为输入分段持续时间的最接近的倍数。

1. （可选）对于**实时播放列表窗口持续时间**，请输入父清单的总持续时间（秒）。

1. 对于**清单名称**，输入将附加到端点 URL 末尾的字符串。清单名称有助于在此端点上创建清单的唯一路径。HLS 清单名称将覆盖您在 **Manifest name (清单名称)** 字段（如果适用）中提供的清单名称。

1. （可选）选择 “** IFrame 仅包含直播**” 以在清单中包含其他仅限 I-Frame 的直播以及其他轨道。 MediaPackage 从清单中的第一个格式副本生成仅限 I 帧的直播。该服务在输出清单中插入 `EXT-I-FRAMES-ONLY` 标签，然后在流中编译并包含仅限 I-frame 的播放列表。此播放列表启用了快进和后退等播放器功能。

1. （可选）在 “**程序 date/time 间隔**” 中，输入在清单中插入`EXT-X-PROGRAM-DATE-TIME`标签的 MediaPackage 间隔（以秒为单位）。

   `EXT-X-PROGRAM-DATE-TIME` 标签用于保存段的时间。如果源内容中有节目日期时间 (PDT) 信息，则在输出内容上 MediaPackage 使用相同的信息。否则， MediaPackage 使用协调世界时 (UTC) 作为 PDT。

   PDT 信息可帮助下游播放器将流同步到挂钟，从而在播放时间轴中启用查看器搜索，在播放器上启用时间显示等功能。

1. （可选）对于**播放列表类型**，选择**无**、**事件**或 **VOD**。当指定为事件或 VOD 时，媒体播放列表中将包含相应的 `EXT-X-PLAYLIST-TYPE` 条目。指示播放列表是否为直播转点播内容。

1. （可选）使用以下字段指定如何 MediaPackage处理来自输入流的 SCTE-35 消息。有关更多信息，请参阅 [中的 SCTE-35 消息选项 AWS Elemental MediaPackage](scte.md)。

   1. （可选）对于**广告标记**，选择广告标记如何包含在打包内容中。

      请从以下内容中选择：
      + **无**：从输出中省略所有 SCTE-35 广告标记。
      + **传递**：将 SCTE-35 广告标记直接从输入 HLS 输入流复制到输出。
      + **SCTE-35 增强型**：根据输入流中的 SCTE-35 输入消息，在输出中生成广告标记和遮蔽标签。
      + **Daterange**：在 HLS 和 CMAF 清单中发射 `EXT-X-DATERANGE` 标签，从而发出广告和节目转换信号。

   1. （可选）对于**广告触发器**，选择要在输出中作为广告标记处理的 SCTE-35 消息类型。如果您未在此处做出选择，则会根据以下消息类型在输出清单中 MediaPackage 插入广告标记：
      + 拼接插入
      + 提供商广告
      + 分销商广告
      + 提供商放置机会
      + 分销商放置机会

   1. （可选）对于**有关投放限制的广告**，请根据 SCTE-35 消息的分段描述符中的投放限制标志选择要 MediaPackage 采取的广告插入操作。
      + **无** — MediaPackage 不在输出清单中插入任何广告标记。
      + **受限** — 当您在**自定义广告触发器中指定*的* SCTE-35 消息类型存在投递限制时， MediaPackage 插入广告**标记。
      + **不受限制** — 当您在**自定义广告触发器中指定的 SCTE-35 消息类型中*没有*投递限制时， MediaPackage插入广告**标记。
      + **两者兼而有之** — 无论您在**自定义广告触发器中指定的 SCTE-35 消息类型中是否存在投递限制，都会 MediaPackage 插入广告**标记。

# 包加密字段
<a name="endpoints-cmaf-encryption"></a>

通过内容加密和数字版权管理 (DRM) 保护您的内容免遭未经授权的使用。 AWS Elemental MediaPackage 使用[AWS 安全打包器和编码器密钥交换 (SPEKE) API](https://aws.amazon.com/media/tech/speke-basics-secure-packager-encoder-key-exchange-api/) 来简化 DRM 提供商对内容的加密和解密。使用 SPEKE，DRM 提供商 MediaPackage 通过 SPEKE API 向其提供加密密钥。DRM 提供商还为受支持的媒体播放器提供解密许可证。有关如何将 SPEKE 与在云中运行的服务和功能结合使用的更多信息，请参阅《Secure Packager and Encoder Key Exchange API 规范指南》**中的 [AWS 基于云的架构](https://docs.aws.amazon.com/speke/latest/documentation/what-is-speke.html#services-architecture)。

**重要**  
要加密内容，您必须拥有 DRM 提供商并使用 AWS SPEKE 的某个版本。有关如何使用加密的更多信息 MediaPackage，请参阅[中的内容加密和 DRM。 AWS Elemental MediaPackage](https://docs.aws.amazon.com/mediapackage/latest/ug/using-encryption.html)

定义加密值。

1. 要提供无版权保护的内容，请选中 **No encryption** (不加密)。

1. 要提供具有版权保护的内容，请选择 **Encrypt content (加密内容)** 并填写其他字段，如下所示：

   1. 对于**资源 ID**，输入内容的标识符。服务将其发送到密钥服务器，以确定当前端点。您让它有多独特，取决于您想要的访问控制精细度。该服务不允许在两个同时执行的加密过程中使用相同的 ID。资源 ID 也称为内容 ID。

      下面的示例显示一个资源 ID。

      ```
      MovieNight20171126093045
      ```

   1. 在 “**系统**” 中 IDs，输入您的流媒体协议和 DRM 系统的唯一标识符。最多提供三个 IDs。如果您提供多个系统 ID，请每行输入一个，然后选择**添加**。如果您不知道自己的 IDs，请咨询您的系统提供商。

   1. 对于 **URL**，输入您设置用来与密钥服务器通信的 API 网关代理的 URL。API Gateway 代理必须位于与的 AWS 区域 相同 MediaPackage。

      下面的示例显示了一个 URL。

      ```
      https://1wm2dx1f33.execute-api.us-west-2.amazonaws.com/SpekeSample/copyProtection
      ```

   1. 对于**角色 ARN**，输入 IAM 角色的 Amazon 资源名称（ARN），该角色为您提供通过 API 网关发送请求的访问权限。从您的 DRM 解决方案提供商处获取该角色的 ARN。

      下面的示例显示了一个角色 ARN。

      ```
      arn:aws:iam::444455556666:role/SpekeAccess
      ```

   1. （可选）对于 **SPEKE 版本**，选择要用于加密的 SPEKE 版本。SPEKE v1.0 是旧版本，使用 CPIX v2.0，支持单密钥加密。SPEKE v2.0 使用 CPIX v2.3，支持多密钥加密。有关将 SPEKE 与配合使用的更多信息 MediaPackage，请参阅[中的内容加密和 DRM](https://docs.aws.amazon.com/mediapackage/latest/ug/using-encryption.html)。 MediaPackage

      如果选择 **SPEKE v2.0**，则还要选择**视频加密预设**和**音频加密预设**。视频和音频预设决定了 MediaPackage 使用哪些内容密钥来加密直播中的音频和视频轨道。有关这些预设的更多信息，请参阅 [SPEKE v2.0 预设](drm-content-speke-v2-presets.md)。

       使用 SPEKE 版本 2.0 时， MediaPackage 禁用密钥轮换。

   1. **证书 ARN**：（可选）输入用于内容密钥加密的 2048 RSA 证书 ARN。只有当您的 DRM 密钥提供程序支持内容密钥加密时才使用此选项。如果您使用此选项，但密钥提供商不支持，则事件会失败。

      要在此处输入证书 ARN，您必须已经将对应的证书导入到 AWS Certificate Manager。然后在此处输入 ACM 提供的证书 ARN。

      有关内容密钥加密的信息，请参阅 [准备和管理用于内容密钥的证书](drm-content-key-encryption.md)。

   1. **对于**加密方法**，请为 CMAF **Apple HLS 选择 Sample**-AES，或者为微软和谷歌 Widevine FairPlay 选择 AES-CTR。** PlayReady 

   1. （可选）对于**常量初始化向量**，输入一个由 32 个字符的字符串表示的 128 位 16 字节十六进制值，与密钥一起用于对内容进行加密。

   1. （可选）对于**密钥轮换间隔**，输入实时工作流的密钥更改频率（秒），在实时工作流中，内容进行实时流式传输。该服务会在实时内容开始流式传输之前检索内容密钥，然后在工作流的生命周期内根据需要对密钥进行检索。默认情况下，密钥轮换设置为 60 秒，相当于将其设置为 `60`。要禁用密钥轮换，请将此间隔设置为 `0`（零）。

      以下示例设置使服务每 30 分钟轮换一次密钥。

      ```
      1800
      ```

      有关密钥轮换的信息，请参阅 [了解密钥轮换行为](drm-content-key-encryption.md)。

# 访问控制设置字段
<a name="endpoints-cmaf-access-control"></a>

定义访问控制值。

1. 选择**允许发起**，使该端点能够向发出请求的设备提供内容。不允许在端点上发起的情况并不常见。

   通常，不允许端点提供内容的唯一原因是，端点仅用于从实时流中获取 VOD 内容。有关更多信息，请参阅 [使用创建 live-to-VOD资产 AWS Elemental MediaPackage](ltov.md)。

1. 选择**允许所有传入客户端**，以向所有请求的 IP 地址和范围提供内容；或选择**按 IP 地址限制**，以限制此端点提供的 IP 地址。如果按 IP 地址进行限制，则对于 **IP 允许列表**，输入此端点向该列表提供内容的 IP 地址和范围。每行一个 CIDR 块。

1. 选择**使用 CDN 授权**，要求对此端点的内容请求包含有效的授权代码。

1. （可选）对于**密钥角色 ARN**，输入授予访问权限的 IAM 角色的 ARN。 MediaPackage AWS Secrets Manager密钥角色 ARN 必须采用以下格式：`arn:aws:iam::accountID:role/name`

1. （可选）对于 **CDN 标识符密钥 ARN**，在 Secrets Manager 中输入授权码密钥的 ARN，供 CDN 用于授权访问您的端点。CDN 标识符必须采用以下格式：`arn:aws:secretsmanager:region:accountID:secret:guid`

有关此授权工作原理的信息，请参阅 [CDN 授权在 AWS Elemental MediaPackage](cdn-auth.md)。

# 流选择字段
<a name="endpoints-cmaf-include-streams"></a>

定义要包含的流。

最小值和最大值仅考虑视频比特率。如果视频比特率*低于最小*指定比特率，则*不*包含在输出中，无论其他轨道的比特率总和如何。同样，如果视频比特率*低于最大*指定比特率，则*会*包含在输出中，无论其他轨道的比特率总和如何。

1. （可选）对于**流顺序**，选择视频比特率呈现给播放器的顺序。
   + **Original** (原始)，用于按传入源使用的相同顺序对输出流进行排序。
   + **视频比特率升序**，对输出流进行排序，从最低比特率开始，到最高比特率结束。
   + **视频比特率降序**，对输出流进行排序，从最高比特率开始，到最低比特率结束。

1. （可选）对于**最小视频比特率**，输入最小比特率（单位：比特/秒），视频轨道必须达到或超过此阈值才能从此端点播放。

1. （可选）对于**最大视频比特率**，输入最大比特率（单位：比特/秒），视频轨道必须达到或低于此阈值才能从此端点播放。