

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

# 在 trick-play 中工作 AWS Elemental MediaPackage
<a name="trick-play"></a>

当观看者在数字视频播放器中后退、快进或搜索内容时，trick-play（有时也称为特技模式）为他们提供了一个视觉提示。这有助于使用视频播放器的用户直观地了解他们在内容时间轴中的位置。

AWS Elemental MediaPackage 支持 i-Frame 和基于图像的特技游戏，适用于直播和视频点播 (VOD) 工作流程。对于 i-frame trick-play，从 HLS 多变体播放列表中的第一个格式副本 MediaPackage 生成一个 I 帧曲目。对于基于图像的花样游戏， MediaPackage 通过您在上游编码器中配置的图像媒体播放列表进行传递。要了解如何使用 i-frame 和基于图像的特技玩法 MediaPackage，请参阅本主题中的章节。

MediaPackage 支持以下特技游戏类型：

**实时工作流支持的 trick-play 类型**


| 流协议 | 仅限 I-frame | 基于映像 | 
| --- | --- | --- | 
| Apple HLS | √ | √ | 
| CMAF Apple HLS | √ | √ | 
| DASH | √ | √ | 

**VOD 工作流支持的 trick-play 类型**


| 流协议 | 仅限 I-frame | 基于映像 | 
| --- | --- | --- | 
| Apple HLS | √ | √ | 
| CMAF Apple HLS | √ | √ | 
| DASH | √ | √ | 

**Topics**
+ [使用 I-frame 播放列表启用 trick-play](#using-i-frame-playlists)
+ [使用映像媒体播放列表启用 trick-play](#using-image-media-playlists)

## 使用 I-frame 播放列表启用 trick-play
<a name="using-i-frame-playlists"></a>

MediaPackage 通过从现有 VOD 素材资源或直播创建 i-Frame 播放列表来支持直播和点播特技播放。I-frame 播放列表包含仅限 I-frame 的视频段，供播放器用于映像缩略图。有关 I-frame 播放列表的信息，请参阅 HTTP Live Streaming 第 2 版规范：[https://datatracker.ietf.org/doc/html/rfc8216#section-4.3.3.6](https://datatracker.ietf.org/doc/html/rfc8216#section-4.3.3.6)。

**要使用 I-frame 播放列表以启用 trick-play**
+ 在 MediaPackage 控制台中，在创建或编辑端点或打包配置时，选择**仅包含 i-Frame 流**。 MediaPackage 从清单中的第一个格式副本生成仅限 I 帧的直播。该服务在输出清单中插入 `EXT-I-FRAMES-ONLY` 标签，然后在流中生成并包含仅限 I-frame 的播放列表。此播放列表启用了快进和后退等播放器功能。

## 使用映像媒体播放列表启用 trick-play
<a name="using-image-media-playlists"></a>

要使用基于图像的技巧，请在上游编码器中创建包含 JPEG *图像片段的 HLS 图像媒体播放列表*。 MediaPackage 自动通过图像分段传递到输出。这些段是缩略图映像和映像元数据，供视频播放器用于视觉提示。这些段必须符合[映像媒体播放列表规范，版本 0.4](https://github.com/image-media-playlist/spec/blob/master/image_media_playlist_v0_4.pdf)。该服务支持基于时间的规范实施。

有关如何配置上游编码器以生成映像媒体播放列表的信息，请参阅 [配置上游编码器以生成映像媒体播放列表](#configuring-upstream-encoder)。

### 输入源要求
<a name="image-based-requirements"></a>

您的 HLS 源内容必须满足以下要求：
+ 引用映像播放列表的 HLS 父播放列表必须包含 `EXT-X-IMAGE-STREAM-INF` 标签。
+ 映像播放列表必须包含以下标签：
  + 段列表上方的 `EXT-X-IMAGES-ONLY` 标签。
  + 如果使用平铺缩略图，每个映像段上方的 `EXT-X-TILES` 标签用来指定平铺信息。平铺缩略图仅适用于 VOD 工作流。
**注意**  
我们建议您在`EXT-INF`和`EXT-X-TILES`标签中使用十进制时长，以帮助为玩家 MediaPackage 提供最准确的图像持续时间。
+ 必须使用有效 JPEG 映像文件小于 20MB 的映像段。对于平铺缩略图，可以平铺映像段，在 JPEG 的网格中使用多个缩略图，或者单个平铺占据整个 JPEG。
  + 对于实时，每个 JPEG 只能包含一个映像段。编码器必须以相同的节奏生成映像段和视频段。

您可以使用 AWS 媒体服务在上游编码器中生成符合 Image Media Playlist 规范（版本 0.4）的 HLS 源。有关更多信息，请参阅以下 [配置上游编码器以生成映像媒体播放列表](#configuring-upstream-encoder) 章节。

#### 限制
<a name="image-based-limitations"></a>

使用基于图像的特技游戏时，请记住以下限制： MediaPackage
+ MediaPackage 不会合并图像分段以进行打包配置。例如，如果该服务摄取了一个 VOD 资产和一个时长 2 秒的映像资产，而您指定了一个时长 6 秒的段输出，我们会将视频和音频段合并为 6 秒，但映像段还是 2 秒。
+ 根据您的 HLS 播放器要求，可能需要使用 `EXT-X-PROGRAM-DATE-TIME` 标签来显示 trick-play 映像。这适用于实时和 VOD 工作流。

### 对 DASH 使用基于映像的 trick-play 的注意事项
<a name="trickplay-dash-considerations"></a>

MediaPackage 支持 VOD 工作流程的单个或平铺缩略图，以及用于直播工作流程的单个缩略图。您的 HLS 内容必须符合[映像媒体播放列表规范，版本 0.4](https://github.com/image-media-playlist/spec/blob/master/image_media_playlist_v0_4.pdf)。具体要求见以下段落。当从 DASH 打包配置或端点 MediaPackage 输出内容时，该服务会根据 DA [SH-IF 互操作性点](https://dashif.org/docs/DASH-IF-IOP-v4.3.pdf)规范 v4.3 第 6.2.6 节输出缩略图。

除了本节前面列出的一般要求外，在对 DASH 使用 trick-play 时，请记住以下要求和限制。
+ MediaPackage 仅支持 VOD 工作流程的 DASH 平铺缩略图。
+ 通常，该服务不支持对使用 `NUMBER_WITH_DURATION` 的多周期 DASH 进行打包配置，因为会影响段对齐。此限制也适用于 trick-play。
+ 该服务为实时和 VOD 内容生成如下映像段时间格式：
  + 对于实时，映像段的时间格式与端点的音频和视频段时间格式相同。此格式是由端点上的**段模板格式**设置的。例如，如果端点的段模板格式为 `NUMBER_WITH_TIMELINE`，则映像段将对时间格式使用 `NUMBER_WITH_TIMELINE`。
  + 对于 VOD，无论您为打包配置设置哪种时间格式，映像段都会使用 `NUMBER_WITH_DURATION`。例如，如果您为打包配置选择 `NUMBER_WITH_TIMELINE` 段模板格式，该服务将对视频和音频适配集使用 `NUMBER_WITH_TIMELINE`，但对映像适配集使用 `NUMBER_WITH_DURATION`。

### 配置上游编码器以生成映像媒体播放列表
<a name="configuring-upstream-encoder"></a>

您的 HLS 源必须符合[映像媒体播放列表规范，版本 0.4](https://github.com/image-media-playlist/spec/blob/master/image_media_playlist_v0_4.pdf)。您可以使用以下 AWS 媒体服务创建符合规范的 HLS 流。有关更多信息，请参阅以下文档：
+ 符合《Elemental Live 用户指南》**中[映像媒体播放列表规范的 trick-play 轨道](https://docs.aws.amazon.com/elemental-live/latest/ug/trick-play-roku.html)。
+ 符合《AWS Elemental MediaLive 用户指南》**中[映像媒体播放列表规范的 trick-play 轨道](https://docs.aws.amazon.com/medialive/latest/ug/trick-play-roku.html)。
+ 《AWS Elemental MediaConvert API 参考》中的 [HlsImageBasedTrickPlay](https://docs.aws.amazon.com/mediaconvert/latest/apireference/jobs.html#jobs-prop-hlsgroupsettings-imagebasedtrickplay)。