

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

# 符合映像媒体播放列表规范的 trick-play 轨道
<a name="trick-play-roku"></a>

在 MediaLive HLS 或 MediaPackage 输出组中，您可以通过提供符合 Image Media Playlist 规范（版本 0.4）的资源来支持特技播放曲目。 MediaLive 实现遵循规范中基于时间的方法。该规范位于此处：

[https://github.com/image-media-playlist/spec/blob/master/image_media_playlist_v0_4.pdf](https://github.com/image-media-playlist/spec/blob/master/image_media_playlist_v0_4.pdf)

Roku 就是实施该规范的一个平台。

## 该方法的工作原理
<a name="trick-play-roku-how-it-works"></a>

创建输出组时，您可以按常规方式为视频、音频和字幕编码创建标准输出。有关说明输出组中编码结构的图表，请参阅[整理 HLS 输出组中的编码](design-hls-package.md)。

您还可以创建一个包含一个帧捕获编码的输出。编码是一系列 JPEG 文件，每个视频片段对应一个文件，这意味着捕获是按照视频编码的分段进行的。此编码是下游播放器可以用来实施 trick-play 轨道的资产。

MediaLive 以通常的方式创建主清单和子清单。主清单包含一个用于帧捕获编码的 `EXT-X-IMAGE-STREAM-INF` 标签。帧捕获编码的子清单包含 `EXT-X-IMAGES-ONLY` 标签。这些标签的内容和格式符合映像媒体播放列表规范。

## 设置
<a name="trick-play-roku-procedure"></a>

在输出组中设置 trick-play 轨道的方法是创建一个附加输出，其中包含由帧捕获组成的视频编码。一个输出组中最多可以添加三个帧捕获输出，在通道中最多可以添加三个帧捕获编码。

**注意**  
此部分中的信息假定您熟悉[创建通道](creating-channel-scratch.md)的常规步骤。

**在 HLS 输出组中设置帧捕获编码**

**要在 HLS 输出组中创建帧捕获编码，您需要创建一种特殊类型的输出并将其视频编解码器设置为帧捕获**。

1. 在 **HLS 输出组**的 **HLS 输出**中，选择**添加输出**，以添加其它输出。

1. 对于该输出，选择**设置**，然后在**输出设置**中，将 **HLS 设置**设置为**帧捕获 HLS**。

1. 在**流设置**中，选择**视频**并设置视频字段，包括：
   + **宽度和****高度** – 请联系您的下游系统，获取正确的值。如果您猜测这些值，下游播放器的体验可能不会达到最佳。
   + **编解码器设置** – 选择**帧捕获**。
   + **捕获间隔** – 不要更改此字段的值。将此字段留空，以便帧捕获使用默认间隔。

1. 选择**音频 1**，然后选择**移除音频**，这样容器就只有一个编码（视频编码）了。

**要在 MediaPackage 输出组中设置帧捕获编码**

要在 MediaPackage 输出组中创建帧捕获编码，请创建常规输出并将其视频编解码器设置为 **F** rame Capture。

1. 在**MediaPackage 输出组**的**MediaPackage 输出**中，选择**添加输出**以添加其他输出。

1. 对于该输出，选择**设置**，然后选择**流设置**。在 **Stream settings (流设置)** 中，选择 **Video (视频)**。

1. 在**编解码器设置**中，选择**帧捕获**。

1. 设置其它视频字段，包括：
   + **宽度和****高度** – 请联系您的下游系统，获取正确的值。如果您猜测这些值，下游播放器的体验可能不会达到最佳。
   + **捕获间隔** – 不要更改此字段的值。将此字段留空，以便帧捕获使用默认间隔。

1. 选择**音频 1**，然后选择**移除音频**，这样容器就只有一个编码（视频编码）了。

输出是 ABR 堆栈的一部分，与 HLS 或 MediaPackage输出组中的其他编码具有相同的目的地。