

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# トリックプレイトラックを実装する
<a name="trick-play-solutions"></a>

トリックプレイは、デジタルビデオプレーヤーで早送りや巻き戻し機能など、アナログプレーヤーの一部の機能を模倣するために使用されます。多くの場合、これらの機能には、トリックプレイ*トラック*、つまりビデオプレーヤーを使用しているユーザーのためのビジュアルキューが含まれます。では AWS Elemental MediaLive、出力グループにトラックアセットを含めることができます。その出力グループのダウンストリームシステムでは、これらのアセットを使用して、トリックプレイの実装にビジュアルキューを実装できます。

MediaLive には、これらのアセットを含める方法が 2 つ用意されています。
+ HLS 仕様に準拠した i-frame のみのマニフェスト。
+ イメージメディアプレイリストの仕様、バージョン 0.4 に準拠したトリックプレイトラック。

MediaLive はこれらのメソッドを次のようにサポートしています。
+ HLS 出力グループでは、 MediaLive は両方の方法をサポートしています。
+ MediaPackage出力グループにおいて、MediaLiveはImage Mediaプレイリスト仕様によるトリックプレイをサポートします

## トリックプレイトラックの実装を選択する
<a name="trick-play-choosing"></a>

同じ出力グループ内の 1 つまたは両方のトリックプレイ方法に従うことができます。

いずれかの方法に従う前に、出力グループのダウンストリームシステムに連絡して、トリックプレイの実装方法を確認してください。以下をご確認ください。
+ ダウンストリームシステムでトリックプレイトラックはサポートされますか。そうだとすれば、どのトリックプレイ仕様に従うのですか?
+ サポートされている実装は必須ですか、それともオプションですか。これらの実装はどちらも、HLS マニフェストに特定のラインを導入します。ラインがない場合、ダウンストリームシステムは MediaLive からの出力を処理できません。

  ダウンストリームシステムは、これらの実装の両方をオプションと見なしている可能性があります。
+ i-frame のみのマニフェスト方式を選択した場合は、HLS 仕様に従ってダウンストリームシステムがその方式をサポートしていることを確認します。ダウンストリームシステムにバリエーションがある場合、ダウンストリームシステムが MediaLive からの出力を処理できない可能性があります。MediaLive は、メソッドのカスタマイズをサポートしていません。
+ イメージメディアプレイリスト方式を選択した場合は、イメージメディアプレイリストの仕様に従って、ダウンストリームシステムがこの方法をサポートしていることを確認します。ダウンストリームシステムにバリエーションがある場合、ダウンストリームシステムが MediaLive からの出力を処理できない可能性があります。MediaLive は、実装のカスタマイズをサポートしていません。

**Topics**
+ [トリックプレイトラックの実装を選択する](#trick-play-choosing)
+ [i-frame でトラックをトリックプレイする](trick-play-i-frames.md)
+ [イメージメディアプレイリスト仕様によるトリックプレイトラック](trick-play-roku.md)

# i-frame でトラックをトリックプレイする
<a name="trick-play-i-frames"></a>

MediaLive HLS 出力グループでは、i-frame のみのマニフェストを提供することにより、トリックプレイトラックに対応できます。

## メソッドの仕組み
<a name="trick-play-iframe-how-it-works"></a>

HLS 出力グループを作成する際には、通常の方法で 1 つ以上のビデオ出力を作成します。出力グループ構造を思い出すには、「[HLS 出力グループ内のエンコードを整理する](design-hls-package.md)」の図表を参照してください。出力グループで、HLS 仕様に準拠した i-frame のみのマニフェストを作成するフィールドを有効にします。

MediaLive は、エンコードごとに 2 つの子マニフェストを生成します。1 つは通常の方法でビデオを処理するマニフェスト、もう 1 つは i-frame のみのマニフェストです。i-frame のみのマニフェストを使用すると、ダウンストリームプレーヤーがリクエストする特定のビデオフレームを識別して、トリックプレイトラックを構築できます。したがって、このトリックプレイトラックメソッドは、出力グループに追加のエンコードを生成しません。

各 i-frame のみのマニフェストには、以下が含まれます。
+ マニフェストが i-frame のみであることを示す 1 つの `#EXT-X-I-FRAMES-ONLY ` タグ。
+ 多数の `#EXT-X-BYTERANGE ` エントリ。各エントリは i-frame の位置を識別します。

## を設定する
<a name="trick-play-iframe-procedure"></a>

MediaLive HLS 出力グループ全体について、トリックプレイトラックを 1 回セットアップします。

**注記**  
このセクションで説明する内容は、[チャンネルを作成](creating-channel-scratch.md)する一般的な手順を理解していることを前提としています。

**i-frame のみのマニフェストをセットアップするには**

HLS 出力グループを作成する際には、次の手順を含めます。

1. **[HLS output group]** (HLS 出力グループ) の **[Manifest and segments]** (マニフェストとセグメント) で、**[I-frame only playlists]** について **[Enabled]** (有効) を選択します。

1. 出力グループの残りのフィールドを[通常どおりに](creating-hls-output-group.md)設定します。動画、オーディオ、字幕の出力とエンコードを設定する[通常どおりに](creating-a-channel-step6.md)設定します。

# イメージメディアプレイリスト仕様によるトリックプレイトラック
<a name="trick-play-roku"></a>

MediaLive HLS または MediaPackage 出力グループでは、イメージメディアプレイリストの仕様、バージョン 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)」を参照してください。

フレームキャプチャエンコード 1 つを含む出力も 1 つ作成します。エンコードは一連の JPEG ファイルで、各ビデオセグメントが 1 つのファイルとなり、キャプチャはビデオエンコードのセグメンテーションに従います。このエンコードは、ダウンストリームプレイヤーでトリックプレイトラックの実装に使用できるアセットです。

MediaLive は、通常の方法でメインマニフェストと子マニフェストを作成します。メインマニフェストには、フレームキャプチャエンコードの `EXT-X-IMAGE-STREAM-INF` タグが含まれます。フレームキャプチャエンコードの子マニフェストは `EXT-X-IMAGES-ONLY` タグを含みます。これらのタグの内容と形式は、イメージメディアプレイリストの仕様に準拠しています。

## を設定する
<a name="trick-play-roku-procedure"></a>

出力グループのトリックプレイトラックをセットアップするには、フレームキャプチャで構成されるビデオエンコードを含む追加の出力を作成します。1 つの出力グループに最大 3 つのフレームキャプチャ出力を追加し、チャンネルに最大 3 つのフレームキャプチャエンコードを追加できます。

**注記**  
このセクションで説明する内容は、[チャンネルを作成](creating-channel-scratch.md)する一般的な手順を理解していることを前提としています。

**HLS 出力グループにフレームキャプチャエンコードを設定するには**

HLS 出力グループにフレームキャプチャエンコードを作成するには、特別なタイプの出力を作成し、そのビデオコーデックを**フレームキャプチャ**に設定します。

1. **[HLS output group]** (HLS 出力グループ) の **[HLS outputs]** (HLS 出力) で、**[Add output]** (出力の追加) を選択して別の出力を追加します。

1. その出力については、**[Settings] (設定)** を選択し、**[Output settings] (出力設定)** で **[HLS settings] (HLS 設定) ****[Frame capture hls] (フレームキャプチャ HLS) **に設定します。

1. **[Stream settings] (ストリーム設定) **で、**[Video] (動画)**を選択して、以下を含めた動画フィールドを設定します。
   + **[Width]** (幅) と **[Height]** (高さ) — ダウンストリームシステムに連絡して正しい値を取得します。値を推測する場合、ダウンストリームプレーヤーの環境が最適ではない可能性があります。
   + **[Codec settings]** (コーデック設定) — **[Frame capture]** (フレームキャプチャ) を選択します。
   + **[Capture interval]** (キャプチャ間隔) — このフィールドの値を変更しないでください。空のままにして、フレームキャプチャでデフォルトの間隔が使用されるるようにしておきます。

1. **[Audio 1]** (オーディオ 1) を選択し、**[Remove audio]** (オーディオの削除) を選択して、コンテナが 1 つのエンコード (ビデオエンコード) のみを持つようにします。

**MediaPackage 出力グループにフレームキャプチャエンコードを設定するには**

MediaPackage 出力グループにフレームキャプチャエンコードを作成するには、通常の出力を作成し、そのビデオコーデックを**フレームキャプチャ**に設定します。

1. **[MediaPackage output group]** (MediaPackage 出力グループ) の **[MediaPackage outputs]** (MediaPackage 出力) で、**[Add output]** (出力の追加) を選択して別の出力を追加します。

1. その出力については、**[Settings]** (設定) を選択してから **[Stream settings]** (ストリーム設定) を選択します。**[Stream settings]** (ストリーム設定) で **[Video] (ビデオ)** を選択します。

1. **[Codec settings]** (コーデック設定) で、**[Frame capture]** (フレームキャプチャ) を選択します。

1. 次のような、その他のビデオフィールドを設定します。
   + **[Width]** (幅) と **[Height]** (高さ) — ダウンストリームシステムに連絡して正しい値を取得します。値を推測する場合、ダウンストリームプレーヤーの環境が最適ではない可能性があります。
   + **[Capture interval]** (キャプチャ間隔) — このフィールドの値を変更しないでください。空のままにして、フレームキャプチャでデフォルトの間隔が使用されるるようにしておきます。

1. **[Audio 1]** (オーディオ 1) を選択し、**[Remove audio]** (オーディオの削除) を選択して、コンテナが 1 つのエンコード (ビデオエンコード) のみを持つようにします。

出力は ABR スタックの一部であり、HLS または MediaPackage 出力グループ内の他のエンコードと同じ出力先を持ちます。