

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

# パイプラインロックの実装
<a name="pipeline-lock"></a>

パイプラインロックを使用して出力を同期するように MediaLive を設定できます。パイプラインロックは、標準チャネル (2 つのパイプラインを持つ) と、リンクされたチャネルを使用する単一パイプラインチャネルで機能します。パイプラインロックにより、出力が互いにフレーム正確になります。パイプラインロックはデフォルトで有効になっています。

パイプラインロックが有効になっている場合。MediaLive は、ベストエフォートベースでパイプラインをロックします。パイプラインロックが不可能な場合、処理は続行されます。パイプラインをロックできないことは、障害状態とはみなされません。

パイプロックのデフォルトモードはパイプラインロック 該当する出力タイプでパイプラインロックを無効にすることはできません。ただし、ワークフローに合わせて動作を設定する必要があります。

**注記**  
*出力ロック *という用語に精通しているかもしれません。MediaLive では、使用される用語は*パイプラインロック *です。どの用語が使用されても、効果は同じです。フレーム精度の出力です。

**パイプラインのロックモード**

出力ロックモードは 2 つあります。
+ パイプラインロック (デフォルト): 2 つのパイプラインを相互にロックする
+ エポックロック: Unix エポックを参照として使用してパイプラインをロックします。

**パイプラインロック方法**

パイプラインロックモードを使用する場合、MediaLive がパイプラインの同期に使用する方法を選択できます。
+ ソースタイムコード (デフォルト): MediaLive は、入力ソースからの埋め込みタイムコードを使用してパイプラインを同期します。この方法は、信頼性の高いタイムコードに最適です。
+ ビデオアラインメント: MediaLive は、エンコーダー間の視覚的な署名比較を使用してパイプラインを同期します。このメソッドは、埋め込みタイムコードを必要としないため、入力ソースにタイムコードがない場合や信頼性の低いタイムコードがある場合に役立ちます。詳細については、「[ビデオアラインドパイプラインロックの要件](pipeline-locking-verify-input.md#pipeline-locking-video-alignment-inputs)」を参照してください。

**適用可能な出力**

**ソースタイムコード**パイプラインロックは、次のタイプの出力にのみ適用されます。
+ HLS (ライブモード)
+ MediaPackage
+ CMAF 取り込み
+ Microsoft Smooth
+ セグメント化された UDP 出力。セグメント化された出力に UDP 出力グループを設定している可能性があります。検証するには、UDP 出力グループで、**出力**、**ネットワーク設定**、**コンテナ設定**の順に選択します。*セグメンテーション*という用語で始まる 3 つのフィールドを探します。

**ビデオアラインド**パイプラインロックは、次のタイプの出力にのみ適用されます。
+ HLS (ライブモード)
+ CMAF 取り込み

チャネルには他のタイプの出力を含めることができますが、MediaLive は出力をロックしようとしません。つまり、その他の出力グループでは、2つのパイプラインの内容が互いにフレームアキュレートである保証はない。

**Topics**
+ [入力と出力の要件](pipeline-locking-verify-input.md)
+ [ロックの設定](pipeline-locking-set-up.md)
+ [トラブルシューティング](pipeline-locking-tshoot.md)

# 入力と出力の要件
<a name="pipeline-locking-verify-input"></a>

MediaLive がパイプラインをロックするには、以下の条件がチャネルで有効である必要があります。パイプラインロックが不可能な場合、処理は続行されます。必要な条件が再び有効になると、MediaLive は再びロックを開始します。

## HLS 入力のサポートなし
<a name="pipeline-locking-verify-no-hls"></a>

チャネルに HLS 入力を含めることはできません。

チャネルに HLS 入力が含まれている場合、MediaLive はチャネル内のパイプラインをロックしようとします。チャンネルが別の入力に切り替えても、パイプラインロックは再開されません。

## 入力には埋め込みタイムコード (ソースタイムコードメソッド) を含める必要があります
<a name="pipeline-locking-embedded-tcode"></a>

ソースタイムコードパイプラインロック方法 (デフォルト) を使用する場合は、入力に埋め込みタイムコードが含まれている必要があります。次のルールが適用されます:
+ ソースタイムコードメソッドを使用する場合、入力にはタイムコードが埋め込まれている必要があります。この要件は、パイプラインロックモードとエポックロックモードの両方に適用されます。
+ エポックロックモードの場合、埋め込みタイムコードはエポック時間から 2 分以内である必要があります。タイムコードが 2 分以上オフになっている場合、MediaLive はソースがパイプラインのロック要件を満たしていないと見なします。

MediaLive は、埋め込みタイムコードの現在のソースを継続的に調査します。タイムコードが検出されない場合、パイプラインをロックしようとする試みが一時的に停止します。

## ビデオアラインドパイプラインロックの要件
<a name="pipeline-locking-video-alignment-inputs"></a>

動画整列パイプラインロック (**パイプラインロックメソッド**を **VIDEO\$1ALIGNMENT** に設定) を使用する場合、埋め込みタイムコードは必要ありません。

**入力要件**

特定の入力タイプは、ビデオアラインメントと互換性がありません。
+ ファイル入力 (MP4\$1FILE、TS\$1FILE)
+ HLS 入力 (HLS コンテンツを含む URL\$1PULL)
+ RTMP\$1PULL 入力

互換性のない入力タイプがアクティブな場合、動画整列パイプラインロックは「オープンループ」モード (ロック解除) で実行されますが、処理は続行されます。検証エラーは発生しません。これにより、一部の入力に互換性がない入力切り替えワークフローがサポートされます。

他のすべての入力タイプでは、ビデオ整列パイプラインロックはビジュアル署名比較を使用してパイプラインを同期します。同期を成功させるには、両方のパイプラインで同じ動画コンテンツを受信する必要があります。

## フレームレート要件
<a name="pipeline-locking-requirements-frame-rate"></a>

入力フレームレート (複数のフレームレート) と目的の出力フレームレート間の変換は*単純である*必要があります。これは、次のステートメントのいずれかが適用される必要があることを意味します:
+ 出力フレームレートは、入力フレームレートの整数倍でなければなりません。例えば、入力フレームレートは 45 FPS、出力フレームレートは 90 FPS になります。
+ 入力フレームレートは、出力フレームレートの整数倍でなければなりません。例えば、入力フレームレートは 60 FPS、出力フレームレートは 30 FPS になります。

MediaLive は、ソース入力フレームレートを新しい入力に切り替えるときに識別し、単純な変換が適用されるかどうかを判断します。そうしないと、MediaLive はチャネルが次の入力に切り替わるまでパイプラインをロックする試みを停止します。ソース入力フレームレートが中位ソースで変化しても (単純な変換が適用されるように）、MediaLive は再びロックを試みません。

これらのルールでは、フレームレートが整数になる可能性があることに注意してください。例えば、入力フレームレートが 29.97 FPS で出力フレームレートが 59.94 FPS の場合。

以下は*複合的な*フレームレートの例です。これらの組み合わせのいずれかがあなたのチャンネルに当てはまる場合、入力を使用することは*できません*：
+ これはサポートされていません。入力 FPS は 59.4、出力 FPS は 60 です。
+ これはサポートされていません。入力 FPS は 45、出力 FPS は 60 です。
+ これはサポートされていません。入力 FPS は 29.97 FPS、出力 FPS は 23.978 です。

## エポックロックと SCTE 35
<a name="pipeline-locking-requirements-scte35"></a>

HLS または MediaPackage 出力グループでエポックロックを使用するための制約があります。

**HLS 出力グループ**

エポックロックを使用するチャネルの HLS 出力グループで SCTE 35 パススルーまたはマニフェストデコレーションを有効にすることはできません。チャネルを保存するときに検証エラーが発生します。この競合を解決する方法を決定する必要があります: 
+ チャンネル全体でエポックロックを有効にしないでください。チャンネル全体で[モード](pipeline-locking-set-up.md#pipeline-locking-mode)を通常のパイプラインロックに設定し、HLS 出力グループで SCTE 35 パススルーを維持できます。
+ HLS 出力グループで SCTE 35 パススルーを無効にする: エポックロックは維持できますが、HLS 出力グループで SCTE 35 パススルーとマニフェストのデコレーションを無効にすることができます。他の出力グループでも SCTE 35 パススルーを有効にできます。

**MediaPackage 出力グループ**

MediaPackage 出力グループの場合、入力に SCTE 35 メッセージが含まれている場合、制約が適用されます。
+ チャンネルでエポックロックが有効になっていない場合、MediaLive は入力からの SCTE 35 メッセージを自動的に通過し、自動的にマニフェストデコレーションを有効にします。
+ エポックロックを有効にすると、MediaLive は MediaPackage 出力グループの SCTE 35 パススルーとマニフェストのデコレーションを自動的に無効にします。

保持する機能を決定する必要があります。SCTE 35 メッセージを保持できます (その場合、チャンネル全体でエポックロックを無効にする必要があります）。または、エポックロックを有効にしても、SCTE 35 メッセージのパススルーが失われます。前述のように、同様の制約が適用されるため、出力を HLS 出力グループとして設定する利点はありません。

# ロックの設定
<a name="pipeline-locking-set-up"></a>

パイプラインロックは、標準チャネルでデフォルトで有効になっています。無効にすることができます。有効のままにする場合は、特定のチャネルで使用するモードを設定する必要があります。また、MediaLive がパイプラインを正常にロックできるように出力グループを設定する必要があります。

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

## 出力ロックの設定とモードの設定
<a name="pipeline-locking-mode"></a>

チャネルは次のように設定できます。
+ ロックが無効
+ パイプラインロックモードでロックが有効: 2 つのパイプラインを相互にロックする
+ エポックロックモードでロックが有効: Unix エポックをリファレンスとして使用してパイプラインをロックします。

**パイプラインロックモードとメソッドを設定する**

1. 作成または編集するチャネルのナビゲーションペインで、**全般設定**を選択します。次いで、 **[Global configuration]** (グローバル構成) を選択します。

1. **[Enable global configuration]** (グローバル設定の有効化) を選択します。

1. **出力ロックモードで**、**DISABLED** を選択します。または、**PIPELINE\$1LOCKING** モードまたは **EPOCH\$1LOCKING** モードを選択します。オプションの詳細については、フィールドの横にある **[Info]** (情報) リンクを選択してください。

1. パイプラインロック方法 (**PIPELINE\$1LOCKING** モードでのみ使用可能) を設定するには、**追加設定**を展開します。

1. **出力ロック設定**で、**パイプラインロックメソッド**フィールドを見つけ、同期するメソッドを選択します。
   + **SOURCE\$1TIMECODE** (デフォルト): 入力ソースからの埋め込みタイムコードを使用します。信頼性の高い埋め込みタイムコードの入力が必要です。「[入力には埋め込みタイムコード (ソースタイムコードメソッド) を含める必要があります](pipeline-locking-verify-input.md#pipeline-locking-embedded-tcode)」を参照してください。
   + **VIDEO\$1ALIGNMENT**: エンコーダー間の視覚的な署名比較を使用します。埋め込みタイムコードは必要ありません。入力の互換性[ビデオアラインドパイプラインロックの要件](pipeline-locking-verify-input.md#pipeline-locking-video-alignment-inputs)については、「」を参照してください。

1. (オプション) CMAF Ingest および MediaPackage V2 出力グループでは、カスタムエポックを設定できます。**追加設定**を展開し、**出力ロック設定**でカスタム**エポック**フィールドを見つけ、カスタムエポック時間を入力します。

## HLS、MediaPackage、または Microsoft Smooth 出力グループのセットアップ
<a name="pipeline-locking-outputgroups"></a>

HLS 出力グループまたは Microsoft Smooth 出力グループでは、各ビデオエンコードのフレームレートを設定する必要があります。

**パイプラインのロックをセットアップする**

1. 作成しようとするチャンネルのナビゲーションペインで、[HLS or Microsoft Smooth] グループを選択します。必要に応じて、出力を作成し、各出力でビデオをエンコードします。

1. ビデオエンコードを含む各出力で、ビデオエンコードを選択します。**[Codec settings]** (コーデック設定)フィールドで、コーデックを選択します。追加のフィールドが表示されます。

1. **[Frame rate]** (フレームレート) セクションを選択し、以下のフィールドを設定します。
   + **[Framerate control]** (フレームレート制御): **[Specified]** (指定) を選択することをお勧めします。オプション **Initialize\$1from\$1source** は、パイプラインのロックではうまく機能しません。
   + **フレームレート分子**と**フレームレート分母**: 出力について望ましい解像度を設定します。入力フレームレートから出力フレームレートへの変換で[要件](pipeline-locking-verify-input.md)が満たされていることを確認します。

1. を繰り返して、すべての出力でビデオエンコードのフレームレートを設定します。

## UDP 出力グループのセットアップ
<a name="pipeline-locking-udp"></a>

UDP 出力グループでは、セグメンテーションマーカーに関する情報を取得し、各ビデオエンコードのフレームレートのセグメンテーションマーカーを設定する必要があります。

**パイプラインのロックをセットアップする**

1. 出力でのセグメンテーションの設定方法に関する情報が必要です。この情報は、コンソールの **[Create channel]** (チャンネルの作成) ページにあるフィールドに表示されます。フィールドを表示するには、ナビゲーションペインで **[Archive group]** (アーカイブグループ) を選択します。次いで、出力を選択して **[Network settings]** (ネットワーク設定) を選択します。以下のフィールドの徳也にある **[Info]** (情報) リンクを選択します。
   + **セグメンテーションマーカー**
   + **セグメンテーション時間**
   + **EBP 先読みミリ秒**
   + **フラグメント時間**
   + **セグメンテーションスタイル**
   + **EBP 配置**
   + **EBP オーディオ間隔**

1. ダウンストリームシステムの連絡先に話しかけて、これらのフィールドの推奨値を取得します。

1. 作成しようとするチャンネルのナビゲーションペインで、[Archive output] (アーカイブ出力) グループを選択します。必要に応じて、出力を作成します。次いで、**[Output settings]** (出力設定]) で、**[Network settings]** (ネットワーク設定)を選択します。追加のフィールドが表示されます。

1. **[Container settings]** (コンテナ設定) を選択し、ステップ 1 のリストに表示されたセグメンテーションフィールドについて値を設定します。フィールドによっては、選択したセグメンテーションマーカーに適用されない可能性があります。

1. 必要に応じて、出力でビデオ エンコードを作成し、ビデオ エンコードを選択します。**[Codec settings]** (コーデック設定)フィールドで、コーデックを選択します。追加のフィールドが表示されます。

1. **[Frame rate]** (フレームレート) セクションを選択し、以下のフィールドを設定します。
   + **[Framerate control]** (フレームレート制御): **[Specified]** (指定) を選択することをお勧めします。オプション **Initialize\$1from\$1source** は、パイプラインのロックではうまく機能しません。
   + **フレームレート分子**と**フレームレート分母**: 出力について望ましいフレームレートを設定します。入力フレームレートから出力フレームレートへの変換で[要件](pipeline-locking-verify-input.md)が満たされていることを確認します。

# トラブルシューティング
<a name="pipeline-locking-tshoot"></a>

パイプラインロックは、MediaLive がパイプラインロックを実行する出力グループで、パイプラインが互いにフレーム正確であることを保証します。

お客様またはダウンストリームシステムのオペレータがパイプラインが同期されていないことに気付いた場合は、次のトラブルシューティングを実行できます。

## 一般的なトラブルシューティング
<a name="pipeline-locking-tshoot-general"></a>

これらのトラブルシューティング手順は、すべてのパイプラインロック方法に適用されます。
+ MediaLiveが、チャンネルの入力タイプに対して[パイプラインロッキングをサポートしていること](pipeline-locking-verify-input.md)を確認してください。
+ 影響を受ける出力がパイプラインロックの対象であることを確認します。パイプラインロックは[、特定のタイプの出力 にのみ適用されます](pipeline-lock.md)。
+ **Initialize\$1from\$1source**で*ない***ようにFramerateコントロール**を変更したことを確認ｓｈ。
+ **ComplexFRCPresent** CloudWatch メトリクスを確認します。値 1 は、Medialive が複雑なフレームレート変換を実行し、パイプラインをロックしようとしていないことを示します。パイプラインロックは、[単純なフレームレート変換](pipeline-locking-verify-input.md#pipeline-locking-requirements-frame-rate)のみをサポートします。
+ ソース内のフレームレートが変更された場合、ビデオのセクションにはフレームレートの単純変換がないため、MediaLive がその期間パイプラインロックを実行できない可能性があります。

## タイムコードベースのロックのトラブルシューティング
<a name="pipeline-locking-tshoot-source-timecode"></a>

エポックロックまたはパイプラインロックをソースタイムコードメソッド (デフォルト) で使用している場合は、一般的なトラブルシューティング手順に加えて、以下を確認してください。
+ 入力ソースにタイムコードが埋め込まれていることを確認します。
+ エポックロックモードを選択した場合は、埋め込まれたタイムコードがエポックタイムから 2 分以内であることを確認します。
+ 入力ソースにタイムコードが埋め込まれていないセクションがある場合、MediaLive はフレーム精度のパイプラインロックの実行を停止します。MediaLive は、おおよそのパイプラインロックの実行に自動的にフォールバックします。埋め込みタイムコードが再び表示されるたびに、MediaLive はフレーム精度のパイプラインロックを再開します。
+ UDP 出力グループでセグメンテーションマーカーを設定することも忘れないでください。サポートされている他の出力グループについては、常に出力がセグメント化されるので、このことを気にする必要はありません。
+ 想定するセグメンテーションマーカータイプをダウンストリームシステムが設定していることを確認します。

## ビデオアラインドパイプラインロックのトラブルシューティング
<a name="pipeline-locking-tshoot-video-alignment"></a>

ビデオアラインドパイプラインロック (**パイプラインロックメソッド**を **VIDEO\$1ALIGNMENT** に設定) を使用していて、同期の問題が発生した場合は、一般的なトラブルシューティング手順に加えて、以下を確認してください。
+ 現在の入力タイプに互換性があることを確認します。HLS、RTMP\$1PULL、およびファイル入力により、ビデオ整列パイプラインのロックがオープンループモード (ロック解除) で実行されます。「[ビデオアラインドパイプラインロックの要件](pipeline-locking-verify-input.md#pipeline-locking-video-alignment-inputs)」を参照してください。
+ **InputVideoAligned** CloudWatch メトリクスを確認します。値 1 は、パイプラインロックがパイプライン間で入力ビデオコンテンツを正常に調整したことを示します。値が 0 の場合: 
  + 両方のパイプラインが同じビデオコンテンツを受信していることを確認します。ビデオアラインドパイプラインロックは、エンコーダー間の視覚的な署名を比較し、コンテンツが異なる場合はロックできません。
+ **PipelinesLocked** CloudWatch メトリクスを確認します。動画整列パイプラインロックは、この同じメトリクスを通じてロックステータスを報告します。値 1 は、同期が成功したことを示します。
+ 同期が断続的な場合は、両方のパイプラインへのネットワーク接続が安定していることを確認します。ビジュアル署名の比較には、両方のエンコーダーへの一貫したビデオ配信が必要です。