

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

# 入力切り替えのセットアップ
<a name="scheduled-input-switching"></a>

1 つの入力のみを取り込むように設定するのではなく、複数の入力を順次取り込むようにMediaLive チャネルを設定できます。この*複数入力チャンネル*を設定するには、複数の入力をチャンネルにアタッチし、ある入力から別の入力に切り替えるタイミングを指定するアクションをチャンネルのスケジュールに追加します。

**Topics**
+ [複数入力チャンネルと入力切り替え](ips-overview.md)
+ [入力切り替えのルールと制限](ips-limits.md)
+ [入力切り替えのセットアップ](setup-ips.md)
+ [スケジュールからのアクションの削除](ips-manage-schedule.md)
+ [複数の入力を持つチャンネルの起動と再起動](ips-start-channel-multi-inputs.md)

# 複数入力チャンネルと入力切り替え
<a name="ips-overview"></a>

複数の入力チャンネルで入力を取り込むために、MediaLive チャンネルで入力切り替えを設定します。

**Topics**
+ [複数入力チャンネルとスケジュール](schedule-and-switching.md)
+ [一般的なユースケース](typical-use-cases.md)
+ [固定、即時、およびフォローのスイッチ](ips-switch-types.md)
+ [静的入力と動的入力](how-dynamic-inputs-work.md)
+ [入力準備](ips-input-prepare.md)

# 複数入力チャンネルとスケジュール
<a name="schedule-and-switching"></a>

MediaLiveチャンネルでの入力切り替えは次のように動作します： 複数の入力アタッチメントを含むチャンネルを作成します。チャンネルが作成されたら、そのチャンネルのスケジュールに入り、入力切り替えを追加して、ある入力アタッチメントから別のアタッチメントに移動するためのルールを作成します。チャンネルを開始すると、チャンネルは自動的にスケジュールに従って入力を切り替えます。

複数入力チャンネルを正常に操作するには、次の点に注意してください。

**スケジュールはチャンネル内に存在します**

スケジュールは、チャンネルとは別には存在しません。コンソールで、既存のチャンネルの詳細ページでスケジュールを確認できます。

**暗黙的な切り替えはありません。**

複数入力チャンネルでは、スケジュールに入力スイッチを追加して、チャンネルに切り替えるように指示する必要があります。複数の入力アタッチメントを含むチャンネルは、スケジュールによって指定されていない限り、入力アタッチメントのリスト内の次の入力アタッチメントに切り替わりません。

**「メイン」入力はありません**

複数入力チャンネルでは、入力アタッチメントは、すべて同じステータスの入力の*プール*であると考える必要があります。チャンネルは、メイン入力である入力が 1 つもなく、取り込ものが他にない場合に戻ります。

# 一般的なユースケース
<a name="typical-use-cases"></a>

MediaLiveチャンネルでスケジュールされた入力切り替えは、以下のユースケースをサポートします。

## ユースケース 1: 1 つのライブフィードと 1 つのファイル入力の切り替え
<a name="ips-case-1"></a>

スポーツのトーナメントなど、特定のソースからのライブ (ストリーミング) フィードを処理するチャンネルがあります。ライブフィードは定期的に (個々のスポーツイベントの間などに)、ファイルコンテンツ (海の波の動画などのフィラー) に置き換える必要があります。数分後、同じライブフィードが再開されます。

1 つのライブ入力と 1 つのファイル入力でチャンネルを設定します。最初の入力はライブ入力です。

チャンネルを開始する前に、各時間の最上位にあるライブ入力に切り替えるアクション (午前 10 時、午前 11:00 など) で構成されるスケジュールを作成します。

その後、チャンネルを開始します。各スポーツイベントが終了したらすぐに、スケジュールを「その場で」修正して動画フィラーに切り替えます。ライブフィードがしばらくの間続き (スポーツの観客やスタジアムを離れるプレイヤーなどを映している)、その後チャンネルはフィラー動画に切り替わります。毎時 0 分に、チャンネルはライブフィードに切り替わります。

## ユースケース 2: 1 つのライブフィードとファイル入力、およびファイル入力で始まるチャンネル
<a name="ips-case-2"></a>

ユースケース 1 と同じ要件がありますが、スポーツイベントの開始時から、ファイルクリップでチャンネルを開始する必要があります。最初の 1 時間の冒頭で、動画フィラーを表示します。しかし、2 時間目以降には、その日のそれまでのハイライトを表示します。

1 つのライブイベント (ライブ入力) といくつかのファイル入力を使用してチャンネルを設定します。1 つはオープニング用、1 つは動画フィラー用、さらにハイライト用にいくつか用意します。最初の入力は、オープニングイベントのファイル入力です。

チャンネルを開始する前に、ファイル入力が終了したらすぐにライブ入力に切り替えるためのアクションを 1 つ含むスケジュールを作成します。

その後、チャンネルを開始します。ユースケース 1 と同様に、時間が経過したら、ライブ入力とファイル入力を切り替えるためのアクションを追加するようにスケジュールを変更します。

## ユースケース 3: 2 つのライブフィード
<a name="ips-case-3"></a>

2 つの異なるソースからのライブフィードを処理するチャンネルがあります。必要に応じて、広告コンテンツをチャンネルに挿入します。MediaLive を使用してこの広告コンテンツを挿入します。(表示を広告コンテンツに置き換えるためにダウンストリームシステムによって読み取られる SCTE-35 メッセージを挿入しません。)

ライブフィードは、同じスポーツイベントの開催地フィードとスタジオ内フィードで構成される可能性があります。あるライブフィードから別のライブフィードに切り替える必要があります。厳密な時間どおりのスケジュールに従うのではなく、「その場で」切り替えのタイミングを合わせる必要があります。場合によっては、あるライブフィードから広告に切り替える必要があります。広告が終了したら、ライブフィードの 1 つに戻る必要があります。

2 つのライブ入力と複数のファイル入力 (広告ごとに 1 つのファイル) でチャンネルを設定します。

チャンネルを開始する前に、スケジュール内の最初のアクションを含むスケジュールを作成します。そのアクションは、チャンネルに取り込む最初の入力「入力 A」への切り替えです。入力 A の開始時刻を、スケジュール開始時刻より 1 分以上早い時刻に設定します。その後、チャンネルを開始します。MediaLive はすぐにスケジュールを読み取り、現在のアクションである入力 A に切り替えます。必要に応じて、その場でスケジュールを変更して、1 つ以上の切り替えをキューに入れるアクションを追加します。

## ユースケース 4: VOD-to-Live
<a name="ips-case-4"></a>

MP4 ファイル入力のみ、またはほとんどの MP4 ファイル入力を年中無休で 24 時間処理するチャンネルがあります。

一連のファイル入力を使用してチャンネルを設定し、1 つずつ実行します。各ファイルは最初から最後までエンコードされ、次のファイルが開始されます。ファイルをクリップし、そのファイルの一部のみを再生する場合もあります。

このチャンネルを、次のスケジュールされたメンテナンス期間 (数週間かかる場合があります) まで、停止せずに実行します。

チャンネルあたり 20 入力の制限を回避するには、*動的入力*機能を利用します。パスとファイル名のすべてまたは一部の代わりに、変数を使用してファイル入力を作成します。変数にスロットされた異なるファイル名を使用するたびに、この動的入力を繰り返し使用するようにスケジュールを設定します。複数の動的入力を設定できます。

# 固定、即時、およびフォローのスイッチ
<a name="ips-switch-types"></a>

MediaLiveで、スイッチの開始タイプに応じて、入力スイッチを分類できます。
+ 固定 – これらの入力スイッチは特定の UTC 時刻に開始されます。

  固定スイッチは UTC 時間を使用します。入力のタイムコードは使用されません。
+ 即時 – 入力スイッチはできるだけ早く開始されます。このタイプのスイッチは、現在の入力を中断するため、フォロースイッチよりも固定スイッチに似ています。固定スイッチと比べたこのスイッチの利点は、開始時間にバッファを計算する必要がないことです。
+ フォロー – フォロー入力の切り替えは、前の入力が終了したとき (MediaLive がファイルの最後に到達したとき) に開始されます。

この開始タイプは、入力自体のプロパティではなく、スイッチのプロパティです。したがって、スケジュールでは、固定スイッチで特定の入力に切り替え、後でフォラスイッチで同じ入力に切り替えることができます。

## スイッチの種類と入力のタイプ
<a name="switch-type-and-file-live-inputs"></a>

切り替えのタイプと入力のタイプ (ファイルとライブ) を組み合わせて、以下のタイプの切り替えを作成することができます。
+ 固定開始のファイル入力。直前の入力はファイルまたはライブ入力です。MediaLive は、指定された開始時間に、直前の入力の取り込みを停止して新しい入力に切り替えます。
+ 即時開始のファイル入力。直前の入力はファイルまたはライブ入力です。スケジュールにこのスイッチを入力すると、できるだけ早く、MediaLive は直前の入力の取り込みを停止し、新しい入力に切り替えます。
+ 直前の入力をフォローするファイル入力。直前の入力はファイル入力である必要があります。ライブ入力には終了がないため、ライブ入力にすることはできず、切り替えは実行されません。
+ 固定開始のライブ入力。直前の入力はファイルまたはライブ入力です。MediaLive は、指定された開始時間に、直前の入力の取り込みを停止して新しい入力に切り替えます。
+ 即時開始のライブ入力。直前の入力はファイルまたはライブ入力です。スケジュールにこのスイッチを入力すると、できるだけ早く、MediaLive は直前の入力の取り込みを停止し、新しい入力に切り替えます。
+ 直前の入力をフォローするライブ入力。直前の入力はファイル入力である必要があります。ライブ入力には終了がないため、ライブ入力にすることはできず、切り替えは実行されません。

次の表は、入力と開始タイプをまとめたものです。


| 現在の入力 | 次の入力 | 可能な開始タイプ | 
| --- | --- | --- | 
| システム | システム | 固定または即時 | 
| システム | システム | フォロー | 
| システム | ライブ | 固定または即時 | 
| システム | ライブ | フォロー | 
| ライブ | システム | 固定または即時 | 
| ライブ | ライブ | 固定または即時 | 

## フォローチェーン
<a name="ips-switch-follow-chain"></a>

一連のフォロー入力切り替えは、*フォローチェーン*と呼ばれます。各入力が終了すると、MediaLive が自動的に次の入力を取り込み始めます。次の図は、フォローチェーンを示します。

```
   Input A    Fixed or Immediate   File
     Input B  Follow               File
     Input C  Follow               File
     Input D  Follow               File or Live
   Input E    Fixed or Immediate   File or Live
```

フォローチェーンは、*参照アクション* (最初のフォローの上にある入力) から始まります。最後のフォロー入力で終わります。前の例では、チェーンは参照アクション入力 A で始まり、入力 D で終了します。これは、次の入力が正常にフォローできるように、末尾が定義されている必要があるためです。入力 E は固定または即時であるため、チェーンを壊します。

# 静的入力と動的入力
<a name="how-dynamic-inputs-work"></a>

MediaLive チャンネルにファイル入力が含まれている場合は、各入力を*静的入力*として設定するか、*動的入力* として設定するかを決定する必要があります。動的入力を使用すると、チャンネルにアタッチできる入力数の制限を守りながら、チャンネルで使用できる動画ソースの数を増やすことができます。

ファイル入力は、静的または動的入力として設定できます。(ライブ入力は常にスタティック入力である。）

静的入力を設定するには、標準のファイル URL を指定します。例えば、`s3ssl://amzn-s3-demo-bucket/my-movie.mp4`。

動的入力を設定するには、ファイルURLの全部または一部を変数で設定します。例えば、`s3ssl://amzn-s3-demo-bucket/movies/$urlPath$`。この入力に切り替えるようにスケジュールで を設定するたびに、`$urlPath$`の値を指定します。例えば、`s3ssl://amzn-s3-demo-bucket/movies/my-movie.mp4`1 つの入力スイッチと`s3ssl://amzn-s3-demo-bucket/movies/mlaw.mp4`別の入力スイッチ。

MP4 ファイル入力とトランスポートストリーム (TS) ファイル入力の動的コンテンツ用に を設定できます。

入力切り替えの[セットアップの手順](ips-step-design-inputs.md)については、このセクションの後半で、いくつかの入力をダイナミック入力として設定する必要があるかどうかの決定に関する詳細情報を提供します。

# 入力準備
<a name="ips-input-prepare"></a>

MediaLiveで、スケジュールには、入力スイッチのヘルパーアクションである入力準備アクションが含まれます。

入力準備の詳細については、「[AWS Elemental MediaLive での入力の準備](feature-prepare-input.md)」を参照してください。

# 入力切り替えのルールと制限
<a name="ips-limits"></a>

このセクションでは、MediaLiveスケジュールの入力スイッチに適用されるルールと制限について説明します。

## 入力タイプのルール
<a name="ips-rules-input-type"></a>

入力切り替えに設定できる入力の数とタイプには、柔軟性があります。例えば：
+ HLS ライブ入力と MediaConnect 入力の両方を 1 つのチャンネルにアタッチできます。
+ パブリックインターネットからのソースに使用される RTMP プッシュ入力と RTMP VPC プッシュ入力の両方を持つことができます。

しかし、いくつかの制限もあります。
+ チャンネルにアタッチできるプッシュ入力とプル入力の数。
+ 特定の入力タイプの入力数。例えば、チャンネルに接続できる CDI 入力の数です。
+ VOD アセットの使用。
+ 異なるアベイラビリティーゾーンでの入力の使用。
+ 入力切り替えワークフローでのダイナミック入力の使用。

これらのルールの詳細については、「[MediaLive機能のルールと制限](eml-limitations-and-rules.md)」を参照してください。

## 最初のスイッチは静的である必要がある
<a name="rule-first-switch"></a>

チャンネルの最初のスイッチは、静的入力用である必要があります。動的入力にすることはできません。

## 入力切り替え数は無制限
<a name="no-limits-switches"></a>

チャンネルのスケジュールには、スケジュールされた入力切り替えアクションをいくつでも含めることができます。

特定の入力に何度でも切り替えることができます。

## ファイル入力の再利用
<a name="ips-file-input-rule"></a>

静的ファイル入力から切り替えてから元に戻す場合、チャンネルはファイルの最初またはファイルクリップの最初 (ファイルをクリップした場合) からファイルを取り込みます。このルールは、ファイルの終了前にファイル入力から切り替えた場合でも適用されます。

このルールは、動的ファイル入力から切り替えて、URL の可変部分の値を変更せずに元に戻す場合にも適用されます。チャンネルは常に最初から取り込みます。

# 入力切り替えのセットアップ
<a name="setup-ips"></a>

切り替える複数の入力を含むMediaLiveチャンネルを計画する場合、考慮しなければならない特別な要件があります。

このセクションでは、「[チャネルでの出力の計画](planning-the-channel-in-workflow.md)」で説明するように、チャンネルの設計の一般的な手順に精通していることを前提としています。「[ゼロからのチャンネルの作成](creating-channel-scratch.md)」で説明するとおりに、チャンネルを作成します。

**Topics**
+ [出力を計画する](ips-step-plan-outputs.md)
+ [ソースを評価する](ips-step-plan-inputs.md)
+ [ソースを静的入力と動的入力に整理する](ips-step-design-inputs.md)
+ [各入力のセレクタを設計する](ips-step-plan-attachments.md)
+ [スケジュールの入力スイッチを計画する](ips-step-plan-switches.md)
+ [入力とチャンネルを作成する](ips-step-create-inputs-channel.md)
+ [入力スイッチを含むスケジュールの設定](ips-set-up-schedule.md)

# 出力を計画する
<a name="ips-step-plan-outputs"></a>

MediaLive チャンネルの出力側を通常の方法で計画します:
+ すべての出力グループを特定します。
+ 各出力グループの出力タイプを特定します。
+ 各出力の動画、オーディオ、字幕のエンコードを特定します。

詳細については、「[MediaLive ワークフローを計画します](container-planning-workflow.md)」を参照してください。

このステップを完了すると、出力グループのタイプの一覧、各出力グループのビデオ、オーディオ、および字幕出力の数の一覧が表示されます。

# ソースを評価する
<a name="ips-step-plan-inputs"></a>

複数入力MediaLive チャンネルを計画する場合、必要なすべてのソースを特定する必要があります。次に、各ソースのオーディオと字幕を評価して、ソースが入力切り替えシナリオに適していることを確認する必要があります。

**このステップの結果**

このステップの後、入力として正常に設定し、チャンネルに入力切り替えを実装するために、チャンネルに接続できる一連のソースがあります。これらのソースは、ライブソースまたはファイルソースのタイプ別に分類されています。

**Topics**
+ [ソースを識別する](ips-collect-sources.md)
+ [ソースの動画を評価する](ips-assess-video.md)
+ [ソースのオーディオを評価する](ips-assess-audio.md)
+ [ソースの字幕を評価する](ips-assess-captions.md)

# ソースを識別する
<a name="ips-collect-sources"></a>

1. MediaLive チャンネルの存続期間中、または少なくとも次に計画されているメンテナンス期間までに、必要なすべてのソースを特定します。

1. どのソースがプッシュ入力で、どのソースがプル入力であることに注意してください。[限度](eml-limitations-and-rules.md#limits-inputs)を超えないようにしてください。

1. どのソースがライブソースであり、どのソースがファイルソースであるかについて注意します。ソースがライブソースかファイル (VOD) ソースかについては、「[MediaLive でサポートされている入力タイプ](inputs-supported-containers.md)」を参照してください。

# ソースの動画を評価する
<a name="ips-assess-video"></a>

複数入力MediaLive チャンネルを計画する場合、動画に特別な要件はありません。AWS Elemental MediaLive がソースにあるビデオコーデックをサポートしていると仮定すると、そのソースをチャンネルの入力として使用できます。

ソースが一致するビデオコーデックを持つ必要はありません。

# ソースのオーディオを評価する
<a name="ips-assess-audio"></a>

MediaLive は、複数入力MediaLive チャンネルのソースからオーディオを抽出する柔軟性を提供しています。また、これらのソースのオーディオに関する特別な要件もいくつかあります。

**ソース内のオーディオを評価するには**

1. 柔軟性の情報をお読みいただき、MediaLive がさまざまなオーディオソースをどのようにサポートしているかを理解してください。

1. 次に、オーディオソースの特定の制約に関する情報について、それぞれの要件をお読みください。各ソースのオーディオがこれらの要件を満たしていることを確認してください。

1. ソースを拒否する場合は、アップストリームのシステムに問い合わせて、ソースコンテンツのより適切なバージョンを提供できるかどうかを判断できます。

## オーディオの使用における柔軟性
<a name="ips-audio-nonrequirements"></a>

オーディオを評価するときは、次のルールに注意します。これらのルールにより、オーディオの抽出に柔軟性があるため、さまざまなソースを使用できます。
+ ソースの言語が異なると、異なるコーデックを使用できます。例えば、ソースでは、英語が AAC で、スペイン語が MPEG-2 となります。
+ ソースのオーディオ言語を識別する方法は、複数入力チャンネルのすべてのソースで同じである必要はありません。

  例えば、ソース 1 では、PID で言語を識別できます。ソース 2 では、言語コードで識別できます。

## 最初の要件: すべてのソースで各言語に同じコーディングモードが必要である
<a name="ips-audio-req-a"></a>

各出力言語はすべてのソースに存在する必要があり、コーディングモードはすべてのソースで同じである必要があります。

例えば、チャンネルにアーカイブ出力グループが含まれており、このグループには、英語 2.0 用の 1 つのオーディオエンコードと、フランス語 2.0 用の 1 つのオーディオエンコードが含まれているとします。
+ 英語の AAC 2.0 オーディオとフランス語の Dolby Digital 5.1 を含むソースがあるとします。
+ 英語の AAC 2.0 オーディオとフランス語の AAC 5.1 オーディオを含む 2 番目のソースがあるとします。

  英語の場合、このソースには、最初のソースと同じコーデックおよびコーディングモードのオーディオが含まれます。フランス語の場合、最初のソースと同じコーディングモードですが、コーデックは異なります。

  このソースは許容されます。ソース 1 とソース 2 の比較では、コーデックがフランス語で異なるという事実は関係ありません。要件は、*コーディングモード*が同じであることです。
+ 英語の AAC 2.0 オーディオとフランス語の AAC 2.0 オーディオを含む 3 番目のソースがあるとします。

  フランス語では、オーディオのコーディングモードが最初のソースと異なるため、このソースは受け入れ*られません*。

## 2 番目の要件: 各言語は、必要な最高のコーディングモードを提供する必要がある
<a name="ips-audio-req-b"></a>

各言語について、すべてのソースには、チャンネル内のすべての出力の中で最も高いコーディングモードを生成できるオーディオが含まれている必要があります。

例えば、チャンネルに、スペイン語 AAC 2.0 の 1 つのオーディオエンコードを含むアーカイブ出力グループが含まれているとします。チャンネルには、スペイン語の Dolby Digital 5.1 の 1 つのオーディオエンコードを含む 1 つの HLS 出力グループも含まれます。
+ スペイン語の Dolby Digital 5.1 オーディオを含むソースがあるとします。

  このソースには、スペイン語のすべての希望する出力オーディオエンコードを生成できるオーディオが含まれています。オーディオを 2.0 にリミックスするには、アーカイブ出力を設定する必要があります。オーディオをリミックスするために HLS 出力を設定する必要はありません。
+ スペイン語の AAC 2.0 を含む 2 番目のソースがあるとします。

  このソースは受け入れ*られません*。このソースでは、HLS 出力にスペイン語の Dolby Digital 5.1 を生成できません。

## 3 番目の要件: MP4 ソースに同じ言語のバリエーションを含めない
<a name="ips-audio-req-d"></a>

言語の複数のバリエーションを含む MP4 ファイルは、望ましくない出力オーディオを生成する可能性があります。最善の結果を得るには、ファイルには 1 つのバージョンの言語のみが含まれている必要があります。
+ 例えば、1 つの MP4 ソースに英語の AAC 5.1 オーディオが含まれているとします。チャンネル出力には、英語 2.0 用の 1 つのオーディオエンコードが必要です。したがって、出力でオーディオエンコードを 5.1 から 2.0 にダウンミックスするように設定します。
+ トラック 2 で英語の AAC 2.0、トラック 3 で英語の Dolby Digital 5.1 オーディオを含む 2 番目のソースがあるとします。

  MediaLive は、言語コードで MP4 ファイルからオーディオを抽出し、その言語を含む最初のトラックから抽出します。この例では、AAC 2.0 を含むトラック 2 を抽出します。トラック 3 は無視されます。出力側では、MediaLive はこのソースをリミックスしようとするため、オーディオの品質が低下します。

## 4 番目の要件: パススルーエンコードを生成する場合、すべてのソースに Dolby が含まれている必要がある
<a name="ips-audio-req-c"></a>

出力の 1 つに、パススルーコーデックで設定されたエンコードが含まれている場合、すべてのソースに必要なすべての言語で Dolby Digital、Dolby Digital Plus、または Dolby Atmos が含まれている必要があります。

1 つのソースにこれらのコーデックのいずれかが含まれていない場合、複数入力チャンネルで使用することはできません。

コーデックのパススルーオプションを使用すると、Dolby Digital、Dolby Digital Plus、または Dolby Atmos および任意のコーディングモードのオーディオを取り込み、トランスコーディングせずにパススルーできます。

# ソースの字幕を評価する
<a name="ips-assess-captions"></a>

 MediaLive 複数入力チャンネルのソースの字幕には特別な要件があります。

**ソース内の字幕を評価するには**

1. 字幕ソースの特定の制約については、次の各要件をお読みください。各ソースの字幕がこれらの要件を満たしていることを確認してください。

1. ソースを拒否する場合は、アップストリームのシステムに問い合わせて、ソースコンテンツのより適切なバージョンを提供できるかどうかを判断できます。

## 最初の要件: ソースには、すべての必要な字幕言語と形式が含まれている必要がある
<a name="ips-captions-req-1"></a>

複数入力チャンネルでは、すべての出力について、その出力で字幕を生成できる字幕がソースに存在する必要があります。ソースにすべての出力字幕を生成するためのすべてのソース字幕がない場合、複数入力チャンネルのソースとして使用することはできません。

例えば、チャンネルにアーカイブ出力グループが含まれており、このグループには、英語、フランス語、スペイン語、ドイツ語の埋め込み字幕に対して 1 つの字幕エンコードが含まれているとします。チャンネルには、英語、フランス語、スペイン語、ドイツ語ウェブ VTT 字幕用に 1 つずつ、4 つの字幕出力を含む 1 つの HLS 出力グループも含まれています。

すべてのソースには、埋め込み字幕とウェブ VTT 字幕の両方を生成できる字幕ソースが含まれている必要があります。ソースには、両方の出力タイプを生成できる字幕ソースを 1 つ含めるか、ソースに 2 つの字幕ソースを含めることができます。
+ 4 つの言語の埋め込み字幕を含むソースがあるとします。

  埋め込み字幕は出力に埋め込み字幕を生成し、出力にウェブ VTT 字幕を生成できるため、このソースは許容されます。
+ 4 つの言語で DVB Sub を含むソースがあるとします。

  DVB Sub 字幕では出力に埋め込み字幕を生成できないため、このソースは許容され*ません*。
+ 英語、フランス語、ドイツ語、ブルガリア語の埋め込み字幕を含むソースがあるとします。

  言語の 1 つがスペイン語ではなくブルガリア語であるため、このソースは許容され*ません*。
+ 英語とフランス語の埋め込み字幕を含むソースがあるとします。

  出力言語の 2 つが欠落しているため、このソースは許容され*ません*。

## 2 番目の要件: 埋め込みパススルーの場合、すべてのソースに同じ順序で言語が含まれている必要があります
<a name="ips-captions-req-2"></a>

埋め込み字幕を含む出力が少なくとも 1 つあり、埋め込み字幕を持つソースが少なくとも 2 つある場合、それらのソースで言語が同じ順序になっている必要があります。

*パススルー*とは、出力に 1 つ以上の言語の埋め込み字幕エンコードが必要であり、ソースに埋め込み字幕 (通常は 4 つの言語) が含まれていることを意味します。例えば、出力には英語とスペイン語の埋め込み字幕が必要です。ソースには、英語とスペイン語の埋め込み字幕が含まれており、場合によっては他の 2 つの言語が含まれます。

2 つのソースに異なる順序で埋め込み字幕言語がある場合、複数の入力チャンネルで両方のソースを使用することはできません。ソースは 1 つのみ使用する必要があります。

前の要件の例をもう一度確認してください。
+ 4 つのチャンネルの言語が、英語、フランス語、スペイン語、ドイツ語の順序の埋め込み字幕が含まれているソースがあるとします。

  フランス語、スペイン語、ドイツ語、英語という異なる順序の言語の埋め込み字幕を含む 2 番目のソースがあるとします。

  これらのソースの 1 つだけが受け入れられます。

このシナリオがチャンネルに適用される場合は、保持するソースと拒否するソースを決定する必要があります。従うことができるルールの 1 つは次のとおりです。
+ これらのソースの字幕言語の順序を比較します。
+ 最も重要なソースの順序を特定するか、ほとんどのソースが従う順序を特定します。
+ この順序に従うソースのみを受け入れます。他のソースを拒否します。

**注記**  
この要件は、埋め込みパススルーにのみ適用されます。  
チャンネルに埋め込み字幕を含む出力が含まれていない場合、ソースの言語の順序は関係ないため、埋め込み字幕を含む任意のソースを使用できます。埋め込み字幕がパススルーされていません。DVB-Sub などの別の形式に変換されています。

# ソースを静的入力と動的入力に整理する
<a name="ips-step-design-inputs"></a>

このセクションは、「[入力の操作](creating-input.md)」の情報を補足するものです。これは、複数入力MediaLive チャンネルで使用される入力に適用される情報を提供します。

ステップ 2 に従ってソースを評価すると、複数入力チャンネルに適した一連のソースが完成します。これらのソースは、静的ライブ入力、静的ファイル入力、動的ファイル入力の 3 つのタイプの MediaLive 入力に整理する必要があります。

**このステップの結果**

このステップを実行すると、次の一覧が表示されます。
+ 静的ライブ入力として設定するソース。各ソースは 1 つの入力 (および 1 つの入力アタッチメント) になります。
+ 静的ファイル入力として設定するソース。各ソースは 1 つの入力 (および 1 つの入力アタッチメント) になります。
+ 動的ファイル入力として設定するソース。複数のソースが 1 つの入力 (および 1 つの入力アタッチメント) になります。

## ライブソースを識別する
<a name="ips-identify-live"></a>

ライブソースであるソースを書き留めておきます。これらのソースはそれぞれ静的なライブ入力になります。

## ファイルソースを識別して整理する
<a name="ips-organize-file-sources"></a>

ファイルソースを評価し、一部のソースを静的入力としてではなく、動的入力として実装する必要があるかどうかを判断する必要があります。

静的入力は常に同じソースに関連付けられます。動的入力は、チャンネルにアタッチするたびに異なるソースに関連付けることができます。したがって、より柔軟性が高く、チャンネルに接続する入力数の制限を処理するのに役立ちます。動的入力の一般的な情報については、「[静的入力と動的入力](how-dynamic-inputs-work.md)」を参照してください。

**ソースを整理するには**

1. ファイルソースをセットに整理します。各セット内のソースはすべて、同じアクセス認証情報を使用して、同じソースロケーション (Amazon S3 内の同じバケットなど) に保存されます。

   例えば、バケット内に「prerolls」というファイルソースのセットがあり、バケット内に「filler」という別のセットがあるとします。バケットごとに異なるアクセス認証情報があるため、それぞれが独自のセットです。

1. 変換する字幕が埋め込まれた入力がある場合は、このステップをお読みください (パススルーではなく)。埋め込み字幕を含む入力がない場合、または埋め込み字幕を含む入力があるが、常に出力に渡される場合は、この手順をスキップします。
   + 各セット内で、埋め込み字幕を含むファイルソースを識別します。これらの字幕をパススルーするのではなく、変換する出力が少なくとも 1 つあるかどうかを確認します。
   + 埋め込み字幕を含む各ソースで、言語の順序を識別します。
   + 必要に応じて、言語の順序に従ってセットを分割します。

     例えば、Amazon S3 バケット内に、言語が英語、フランス語、スペイン語、ドイツ語の順に 1 セットのファイルソースがあるとします。同じバケットに、フランス語、スペイン語、ドイツ語、および英語の別のセットがある場合があります。このセットを 2 つのセットに分割します。

1. 識別したセットのリストを作成します。例えば、次のセットがあるとします。
   + 英語、フランス語、スペイン語、ドイツ語の順に字幕が埋め込まれた Amazon S3「preroll」バケットのファイルソース
   + フランス語、スペイン語、ドイツ語、および英語の順序で字幕が埋め込まれた Amazon S3「filler」バケットのファイルソース
   + 英語、フランス語、スペイン語、ドイツ語など、異なる順序で字幕が埋め込まれた Amazon S3 「filler」バケットのファイルソース

1. ファイルソースの各セットが静的ファイル入力になるか、動的ファイル入力になるかを決定します。次の規則に従います。
   + 複数のファイルソースを含むセットは、1 つの動的入力になります。
   + 1 つのファイルソースのみを含むセットは、静的入力になることができます。ただし、後でその場所からの他のファイルソース (例えば、その Amazon S3 バケットから) を使用する可能性がある場合は、[ファイル入力の制限](eml-limitations-and-rules.md#limits-inputs)を超えないように、セットを動的入力として扱います。

# 各入力のセレクタを設計する
<a name="ips-step-plan-attachments"></a>

ステップ 3 に従ってソースを別の入力および入力タイプ (静的および動的) に整理した後、各MediaLive 入力から抽出するコンテンツを特定する必要があります。

**このステップの結果**

このステップの後、以下のものを取得します。
+ すべての入力の名前
+ 各入力のビデオ、オーディオ、および字幕セレクタのリスト

**Topics**
+ [入力および入力の添付ファイル名を計画する](ips-plan-input-names.md)
+ [動画セレクタを計画する](ips-plan-video-sels.md)
+ [オーディオセレクタを計画する](ips-plan-audio-sels.md)
+ [字幕セレクタを計画する](ips-plan-captions-sels.md)

# 入力および入力の添付ファイル名を計画する
<a name="ips-plan-input-names"></a>

入力および入力アタッチメントの名前を計画する必要があります。ヒントをいくつか紹介します。
+ 入力と入力アタッチメントに同じ名前を使用します。
+ エンティティが静的か動的かを示すインジケータを含めます。
+ 静的入力の場合は、ビデオソースの名前またはビデオソースの説明を入力します。
+ 動的入力の場合は、ステップ 2 で決定した特性のインジケータを含めます。これにより、入力切り替えアクションで URI を指定したときに、不適切なビデオソースがアタッチされないようになります。

例えば、静的入力の場合:
+ `static-filler`
+ `static-live-studio-feed`

例えば、ダイナミック入力の場合:
+ `dynamic-s3-preroll-bucket-embedded-EN-FR-ES-DE`
+ `dynamic-s3-preroll-bucket-embedded-FR-ES-DE-EN`

# 動画セレクタを計画する
<a name="ips-plan-video-sels"></a>

各MediaLive 入力から抽出できる動画は 1 つだけです。特定の入力に複数の動画が含まれている場合は、その特定の動画を抽出する動画セレクタを作成します。特定の入力に含まれる動画が 1 つだけの場合、動画セレクタを作成する必要はありません。AWS Elemental MediaLive は、その動画を自動的に検出して抽出します。出力側では、MediaLive はその 1 つの動画アセットを自動的に使用します。

# オーディオセレクタを計画する
<a name="ips-plan-audio-sels"></a>

MediaLive入力のオーディオセレクタを計画する際には、いくつかのルールに従わなければなりません。入力のオーディオセレクタを設定するときは、抽出する言語を指定しますが、その入力のオーディオ形式を指定しません。AWS Elemental MediaLive は、その入力を抽出して、出力に含めることができます。出力は、抽出された特定の言語を見つけることができることを想定しています。

## ルール 1: すべての入力で同じ数のセレクタを計画する
<a name="ips-audio-sels-rule-a"></a>

各MediaLive 入力のセレクタは、すべての出力オーディオエンコードを生成するのに十分なアセットを抽出する必要があります。さらに、すべての入力には同じ数のセレクタが必要です。

例えば、英語とフランス語の AAC 2.0 オーディオを必要とする出力があるとします。英語とフランス語の Dolby 5.1 オーディオを必要とする 2 番目の出力があります。フランス語、スペイン語、ポルトガル語の Dolby 5.1 オーディオを必要とする 3 番目の出力があります。
+ 最初の入力に 4 つの言語で Dolby Digital 5.1 が含まれている場合、言語ごとに 1 つずつ 4 つのセレクタを作成する必要があります。これら 4 つのセレクタによって抽出されたオーディオは、すべての言語を生成できます。最初の出力に Dolby Digital 5.1 を生成でき、2 番目の出力に AAC 2.0 を生成できます。これは、リミックス用に出力を設定できるためです。

  チャンネルには 7 つの出力オーディオエンコードがありますが、7 つのセレクタは必要ありません。
+ 2 番目の入力にフランス語の Dolby Digital 5.1 が含まれていて (他の言語は含まれていない)、英語、スペイン語、ポルトガル語の AAC 2.0 も含まれている (フランス語はない) 場合は、4 つのセレクタを作成します。フランス語のセレクタは、Dolby Digital 5.1 でのみそのオーディオを見つけます。他の言語のセレクタは、AAC 2.0 でのみこれらのオーディオアセットを見つけます。
+ 3 番目の入力に 4 つの言語で Dolby Digital 5.1 が含まれ、4 つの言語で AAC 2.0 も含まれている場合でも、4 つのセレクタのみが作成されます。

  この入力に対してのみ、フランス語と英語の AAC 2.0 オーディオを抽出するセレクタを作成すると考えられがちですが、最初の入力にこれらのセレクタがないため、これを行うことはできません。すべての入力は、同じ数のセレクタを持つ必要があることに留意してください。

## ルール 2: Dolby Digital Plus 7.1 の個別のセレクタを計画する
<a name="ips-audio-sels-rule-b"></a>

MediaLive チャンネルに Dolby Digital Plus 7.1 の出力が少なくとも 1 つ含まれている場合は、そのオーディオアセットの入力ごとに 1 つのセレクタを作成します。出力側では、Dolby Digital Plus 7.1 の各オーディオエンコードで、そのセレクタにオーディオエンコードがマッピングされます。

すべての入力のすべてのセレクタを特定すると、次のようなリストが表示されることがあります。
+ 英語のセレクタ
+ フランス語のセレクタ
+ スペイン語のセレクタ
+ ポルトガル語のセレクタ
+ EAC3 パススルーのセレクタ (EAC3 は Dolby Digital Plus の別の名前です)

これらの各セレクタは、その入力のオーディオ形式に関係なく、すべての入力に適用されます。

## ルール 3: すべての入力で同じセレクタ名を計画する
<a name="ips-audio-sels-rule-c"></a>

特定の言語のすべてのMediaLive セレクタは、すべての入力で同じ名前を持つ必要があります。このルールが存在するのは、各出力がセレクタを 1 回のみ参照するためです。出力は、異なる入力ごとにセレクタを 1 回参照しません。

言語を含むセレクタ名を付けることをお勧めします。Dolby Digital Plus 7.1 のセレクタを作成しない限り、形式を含めないでください。

# 字幕セレクタを計画する
<a name="ips-plan-captions-sels"></a>

MediaLive 入力の字幕セレクタを設定するときは、入力から抽出する形式と言語の両方を指定します。各入力には、その入力の字幕形式に適したセレクタの数があります。したがって、各入力に異なる数のセレクタが含まれる場合があります。字幕を抽出する方法は、オーディオを抽出する方法とは異なります。

## ルール 1: 入力と出力に適した入力のセレクタ数を計画する
<a name="ips-captions-sels-rule-a"></a>

各入力で、入力形式と出力形式に適したセレクタの数を作成する必要があります。
+ 例えば、字幕をパススルーするために埋め込みを抽出する場合は、1 つのセレクタを作成します。
+ 埋め込みを抽出して TTML に変換する場合は、言語ごとに 1 つのセレクタを作成します。

すべての入力のすべてのセレクタを特定すると、次のようなリストが表示されることがあります。
+ 埋め込みパススルーのセレクタ – 入力 1、入力 3、入力 4 に適用
+ 埋め込み用のセレクタ、英語 – 入力 1、入力 3、入力 4 に適用
+ 埋め込み用のセレクタ、フランス語 – 入力 1、入力 3、入力 4 に適用
+ DVB Sub のセレクタ、英語 – 入力 2 に適用
+ DVB Sub のセレクタ、フランス語 – 入力 2 に適用
+ テレテキストパススルーのセレクタ – すべての入力に適用

入力 1、3、4 にはそれぞれ 4 つのセレクタが含まれていることに注意してください。入力 2 には 3 つのセレクタが含まれています。

## ルール 2: すべての入力で同じセレクタ名を計画する
<a name="ips-captions-sels-rule-b"></a>

すべての一意のセレクタは、すべての入力で同じセレクタ名である必要があります。このルールが存在するのは、各出力がセレクタを 1 回のみ参照するためです。出力は、セレクタが存在する異なる入力ごとにセレクタを 1 回参照しません。

各セレクタに言語とソース形式を含むセレクタ名を付けることをお勧めします。わかりやすい名前は、出力側で正しいセレクタを選択するのに役立ちます。

# スケジュールの入力スイッチを計画する
<a name="ips-step-plan-switches"></a>

各入力のセレクタを設計した後 (ステップ 4)、これらの入力を MediaLive で取り出す取り出すときに従う順序を計画する必要があります。

**このステップの結果**

このステップに続いて、チャンネルに追加する最初の入力として 1 つの入力が特定されました。

また、入力切り替えの順序付きリストも特定しました。切り替えごとに次の項目があります。
+ スイッチのアクション名。
+ スイッチに関連付けられている入力アタッチの名前。
+ スイッチの入力は、静的または動的のいずれかです。
+ スイッチのタイプ。固定、フォロー、または即時

**Topics**
+ [アクション名を計画する](ips-plan-action-names.md)
+ [入力切り替えの順序を計画する](ips-order-switches.md)
+ [入力スイッチのリストの例](#ips-ordered-list-examples)
+ [次の入力が固定または即時の場合の移行の処理](ips-transition-gap.md)
+ [次の入力がフォローの場合の移行の処理](transition-follow-success.md)
+ [**入力の準備 — 次の入力が即時であるときのレイテンシーを低減**](#ips-plan-immediate-prepare-input)

# アクション名を計画する
<a name="ips-plan-action-names"></a>

MediaLiveスケジュールに入力スイッチアクションの名前を計画する必要があります。アクション名は、各チャンネルのスケジュール内で一意である必要があります。

静的入力の場合、アクションに名前を付けると、どの入力が適用されるかを示すことができます。例えば、static-live-studio-feed という名前の入力に切り替えるたびに、次のように入力します。
+ `static-live-studio-feed-action-1`
+ `static-live-studio-feed-action-2`
+ `static-live-studio-feed-action-3`

動的入力の入力切り替えアクションでは、入力名 (または名前の一部) とファイルの URL (または URL の一部) を使用できます。例えば：
+ `dyn-preroll-EN-FR-ES-DE-ad-ward-cars-1`
+ `dyn-preroll-EN-FR-ES-DE-ad-zel-cafe`
+ `dyn-preroll-EN-FR-ES-DE-ad-ward-cars-2`

# 入力切り替えの順序を計画する
<a name="ips-order-switches"></a>

MediaLiveスケジュールでアクションを作成する前に、入力スイッチの順序を計画することをお勧めします。

**入力切り替えの順序を計画するには**

1. 最初の位置に、MediaLive が最初に取り込む入力アタッチメントを配置します。この入力は、スケジュールの即時切り替えになることに注意してください。

1. スイッチのリストを作成し、各スイッチに使用する入力アタッチを作成します。各スイッチの開始タイプ (固定、即時、またはフォロー) を決定します。詳細については、[固定、即時、およびフォローのスイッチ](ips-switch-types.md) および[入力切り替えのルールと制限](ips-limits.md) を参照してください。

   固定スイッチとフォロー入力スイッチを順序付きリストに整理できるはずです。開始時刻がわからないため、即時スイッチを順序付きリストに含められない場合があります。手順の後にある[例](ips-step-plan-switches.md#ips-ordered-list-examples)を参照してください。

   入力の切り替えについて、次のことに注意してください。
   + 入力アタッチメントは、何度でも切り替えることができます。
   + 動的入力に切り替えるときは、動的入力のその使用に適用される URL を指定する必要があります。作成した一覧で、各使用法の URL を指定します。

1. 切り替え間の移行の処理については、このセクションで後述する情報を参照してください。リスト内の入力アタッチメントごとに、移行の処理方法を書き留めます。

**スケジュールのモデルについて**  
スケジュールに入力スイッチを設定するには、次の 2 つのモデルがあります。
+ 推奨モデルでは、スケジュールのみを使用して、すべての入力の取り込みを制御します。このモデルでは、チャンネル内の入力アタッチメントの順序は関係ありません。最初の入力スイッチが、最初に取り込む入力への即時切り替えになるようにスケジュールを設定します。チャンネルが開始されるとすぐに、チャンネルが取り込みを開始する前に、チャンネルはその即時切り替えを実行します。

  このセクションの前半のステップでは、このモデルのスケジュールを設計する方法を示します。
+ もう 1 つのモデルでは、最初の入力アタッチメントが、MediaLive が取り込む最初の入力です。最初の取り込み後にのみ、入力切り替えを実行するようにスケジュールを設定します。

  このモデルは、入力アタッチの順序とスケジュールを確認する必要があるためです。最初のモデルでは、1 か所から取り込み順序をスケジュール (スケジュール) をモニタリングします。

## 入力スイッチのリストの例
<a name="ips-ordered-list-examples"></a>

この例では、予定されている入力スイッチの一覧を示します。最初の入力は、ファイル入力に即座に切り替えます。次いで、フォラスイッチである短いファイル入力がいくつか存在するため、スイッチは前の入力の最後に発生します。これらの入力は次々と実行されますが、いつでもこれを中断して、すぐに最初のライブ入力に切り替えることができるように計画されています。その後、スケジュールは 2 つのライブ入力を行ったり来たりします。正確なタイミングが分からないので、このスイッチを即時スイッチとして設定することになります。

順序付きリスト: アクション名、開始タイプ、入力添付ファイル名
+ スタートアップ、即時、バナー
+ static-1, follow, short-clip-12
+ static-2、follow、short-clip-32
+ static-3、follow、short-clip-77
+ static-4, follow, short-clip-18

いつでも発生する即時スイッチ:
+ static-live-studio, immediate, live-1
+ static-live-alternate, immediate, live-2

# 次の入力が固定または即時の場合の移行の処理
<a name="ips-transition-gap"></a>

スケジュールを計画するときには、ファイル入力 (入力 A) から固定時間に開始される入力 (入力 B) または即時開始される入力に切り替えるときにギャップが生じないことを確認する必要があります。入力 B はファイルまたはライブ入力です。現在の入力が切り替えの開始時間より前に終了すると、ギャップが生じる可能性があります。

各入力アタッチの **[Source end behavior]** (ソース終了時の動作) フィールドはギャップを制御します。(このフィールドは、**[Input attachments]** (入力アタッチ) ページのチャンネルの **[General input settings]** (一般入力設定) セクションに表示されます)。この状況でスムーズに移行するには、2 つの方法があります。
+ 入力 A の **[Source end behavior]** (ソース終了時の動作) フィールドを **[LOOP]** (ループ) に設定した場合、入力 A が終了すると、MediaLive は戻って、入力 B の開始時刻になるまで再び入力 A を取り込みます。
+ 入力 A の **[Source end behavior]** (ソース終了時の動作) フィールドを **[CONTINUE]** (続行) に設定すると、入力 A は一度だけ取り込まれます。入力が終了すると、チャンネルは一連の **[Input Loss Behavior]** (入力損失時の動作) フィールドで指定された動作に従います (「繰り返しフレーム」ロジックは適用されません)。入力 B の開始時刻になると、入力損失時の動作は終了し、チャンネルは入力 B に切り替わります。

  (このフィールドを表示するには、**[General input settings] (入力全般設定) **の** [Global configuration] (グローバル設定) **で、**[Input loss behavior] (入力損失時の動作)** にある** [Input loss behavior] (入力損失時の動作) **を選択します。さらにフィールドが表示されます。詳しくは、[ビデオ入力の損失の処理](feature-input-loss.md) を参照してください。)

# 次の入力がフォローの場合の移行の処理
<a name="transition-follow-success"></a>

スケジュールを計画するときは、ある入力から「フォロー入力」への切り替えが成功することを確認する必要があります。

現在の入力 (入力 A) がループするように設定されている場合、フォロー入力 (入力 B) は成功しません。AWS Elemental MediaLive はファイルの終わりに達すると、ファイルの先頭から再び取り込み始めます。

各入力アタッチの **[Source end behavior]** (ソース終了時の動作) フィールドはルーピングを制御します。(このフィールドは、**[Input attachments]** (入力アタッチ) ページのチャンネルの **[General input settings]** (一般入力設定) セクションに表示されます)。
+ 入力 A の **[ソース終了時の動作]** は常に **[CONTINUE]** に設定します。入力 A が終了すると、チャンネルがすぐに入力 B に切り替わります。

チャンネルを作成するときには、スケジュールの次の計画入力がフォロー入力であるすべての入力アタッチの **[Source end behavior]** (ソース終了時の動作) を **[CONTINUE]** に設定することが重要です。**[CONTINUE]** を使用して入力を設定しなかった場合は、次の入力をフォロー入力にしてスケジュールを設定することはできません。スケジュールアクションをキャンセルし、入力アタッチを変更して、スケジュールアクションを再試行する必要があります。

## **入力の準備 — 次の入力が即時であるときのレイテンシーを低減**
<a name="ips-plan-immediate-prepare-input"></a>

即時入力スイッチとして特定した入力スイッチがあっても、そのスイッチがいつ必要になるかわからない場合があります。わずか数秒前に通知されることだけしかわかりません。このような場合、prepare inputアクションを作成して、あらかじめ入力を準備しておくとよいでしょう。詳細については、「[AWS Elemental MediaLive での入力の準備](feature-prepare-input.md)」を参照してください。

# 入力とチャンネルを作成する
<a name="ips-step-create-inputs-channel"></a>

ステップ 1～5 で計画を実行したら、入力を作成してMediaLive チャンネルを作成する準備が整います。

複数入力チャンネルでは、チャンネルを開始する前に、すべての入力がチャンネルに存在している必要があります。チャンネルの実行中に入力を追加することはできません。したがって、次の計画されたメンテナンス期間までに必要なすべての入力を特定する必要があります。

**Topics**
+ [入力を作成する](ips-create-inputs-tips.md)
+ [チャンネルの最初の入力を識別する](ips-plan-first-input.md)
+ [チャンネルを作成する](ips-create-channel-tips.md)

# 入力を作成する
<a name="ips-create-inputs-tips"></a>

このセクションは、「[入力の操作](creating-input.md)」の情報を補足するものです。複数の入力アタッチを含むMediaLive チャンネルで使用する入力の作成に特に適用される情報を紹介します。

チャンネルを作成するには、次の点に注意して、「[入力の作成](create-input.md)」のステップに従います。
+ このセクションの前のステップで特定した入力を作成します。
+ 各入力を正しいタイプ (静的ライブ、静的ファイル、または動的ファイル) として設定してください。

  静的ライブ入力または静的ファイル入力を作成するための特別なステップはありません。

  動的入力を作成するには、ファイルソースの URL に変数を入力する必要があります。この変数が存在する場合、MediaLive は入力を動的入力として認識します。詳細については、「[動的入力のセットアップ](dynamic-inputs.md)」を参照してください。

# チャンネルの最初の入力を識別する
<a name="ips-plan-first-input"></a>

MediaLive チャンネルの入力アタッチメントファイルのリストで、最初の入力として設定する入力を識別します。
+ この入力は、取り込む最初の入力に切り替えるスケジュールを使用するため、取り込む最初の入力ではありません。
+ 動的ファイル入力にすることはできません。チャンネルを開始するには、ライブ入力または静的ファイル入力のいずれかである必要があります。

# チャンネルを作成する
<a name="ips-create-channel-tips"></a>

このセクションは、「[ゼロからのチャンネルの作成](creating-channel-scratch.md)」の情報を補足するものです。複数の入力アタッチを含むMediaLive チャンネルの作成に特に適用される情報を紹介します。

次の点に注意し、「[ゼロからのチャンネルの作成](creating-channel-scratch.md)」の説明に従ってチャンネルを作成する手順に従います。

## チャンネルと入力の詳細ペイン
<a name="ips-channel-specifications-section"></a>

チャンネルの **[Channel and input details]** (チャンネルと入力の詳細) ペインの [[Input specifications]](input-specification.md) (入力仕様) セクションで、最も要求の厳しい入力を満たすか、またはそれを超えるように各オプションを設定します。

## 入力アタッチメントペイン
<a name="ips-channel-input-attachment-section"></a>

チャンネルの **[Input attachments]** (入力添付ファイル) ペインで、[作成した入力](ips-create-inputs-tips.md)のアタッチメントを設定します。

**各入力アタッチメントを設定するには**

1. **[Input attachments]** (入力アタッチ) ペインで **[Add]** (追加) を選択します。

1. 入力を選択します。[添付ファイルを計画した](ips-step-plan-attachments.md)ときに決定した名前を入力します。

1. **[Confirm]** (確認) を選択すると、一般設定のフィールド、ビデオセレクタフィールド、オーディオセレクタフィールド、字幕セレクタフィールドが表示されます。

1. 必要に応じて、これらのフィールドに入力します。

以下の点に注意してください。
+ 識別したすべての入力をアタッチします。入力を省略すると、チャンネルを停止しない限り、入力をアタッチできません。

  [最初の入力アタッチメントは既に特定されている](ips-order-switches.md)はずです。チャンネルで最初に表示されるように、このアタッチメントを最初に作成してください。
+ 残りの入力アタッチメントを任意の順序で追加します。
+ 各入力アタッチの **[General input settings]** (入力全般設定) セクションで、**[Source end behavior]** (ソース終了時の動作) を正しく機能するように設定します。詳細については、「[次の入力が固定または即時の場合の移行の処理](ips-transition-gap.md)」を参照してください。
+ 各入力アタッチメントの **[General input settings]** (一般入力設定) セクションで、[アタッチメントを計画した](ips-step-plan-attachments.md)ときに作成した計画に従って、次のフィールドセットを設定します。
  + **[Video selector]** (ビデオセレクタ) のフィールド
  + **[Audio selectors]** (オーディオセレクタ) のフィールド
  + **[Caption selectors]** (字幕セレクタ) のフィールド 

## 出力グループ
<a name="ips-channel-outputgroups-section"></a>

チャンネルの **[Output groups]** (出力グループ) ペインで、通常の手順に従って、[出力を計画する](ips-step-plan-outputs.md) で特定したすべての出力グループを作成します。

# 入力スイッチを含むスケジュールの設定
<a name="ips-set-up-schedule"></a>

入力とチャンネルの作成後 (ステップ 6)、MediaLive スケジュール内にアクションを作成して必要な入力切り替えを設定する必要があります。入力切り替えアクションの作成の詳細については、「[スケジュールでのアクションの作成 (コンソール)](schedule-using-console-create.md)」を参照してください。

スケジュールを設定する際は、以下のガイドラインに従ってください。
+ チャンネルを開始する前に、少なくともいくつかの固定入力スイッチを作成し、入力切り替えアクションに従う必要があります。
+ 新しいチャンネルの最初の入力スイッチは、即時入力スイッチでなければなりません。この入力切り替えは、チャンネルを開始する前に作成する必要があります。このように設定することで、入力の取り込みの順番が常にスケジュールで制御されることになります。
+ 他の即時スイッチでは、チャンネルを開始する前にスケジュールにスイッチを追加できる場合があります。または、チャンネルが実行された後にのみ追加できる場合もあります。これらの戦略のどれが計画に適用されるかについての考え方が必要です。
+ 定期的にスケジュールの更新を計画します。チャンネルを停止することなく、スケジュールにアクションを追加できることに注意してください。

# スケジュールからのアクションの削除
<a name="ips-manage-schedule"></a>

MediaLive スケジュールから入力スイッチアクションを削除できます。チャンネルの現在の状態に応じて、アクションを削除するためのさまざまなルールがあります。チャンネルは、実行中、アイドル、または復旧中の可能性があります。手動で停止した場合、チャンネルはアイドル状態になります。チャンネルが不具合から復旧すると、MediaLive は自動的に再起動します。

**チャンネルの実行中にアクションを削除する**  
チャンネルが動作しているときは、削除できる入力スイッチアクションに制限があります。MediaLive は、現在アクティブな入力に関する情報を保持する必要があります。チャンネルに障害が発生した場合、MediaLive が適切な入力で復旧して取り込みを開始できるように、その情報を保持する必要があります。したがって、このルールが適用されます
+ 最新の固定入力、即時入力の切り替えを削除することはできません。「*最も最近*」という用語は、以下のいずれかを意味します。
  + 入力は、現在取り込んでいる入力です。つまり、最新の入力とアクティブな入力は同じです。
  + 入力は、最新に取り込まれた固定入力または即時入力のスイッチです。アクティブ入力は、フォロー入力かもしれません。
+ この最新の固定入力または即時入力の切り替えに続くフォローチェーンのアクションを削除することはできません。例えば、次の図で、入力 A が最新の固定入力スイッチまたは即時入力スイッチであると仮定します。アクション B、C、D は削除できませんが、フォローチェーンに含まれない E は削除できます。

  ```
     Input A    Fixed
       Input B  Follow
       Input C  Follow 
       Input D  Follow
     Input E    Immediate
  ```

**チャンネルのアイドル中にアクションを削除する**  
チャンネルがアイドル状態のときに、アクションがスケジュール内に残っている限り、入力切り替えアクションを削除できます。

フォローチェーン内のアクションを削除するには、フォローチェーン全体を削除してから、フォローチェーンを再作成しますが、不要なアクションは省略する必要があります。「[スケジュールからのアクションの削除 (コンソール)](schedule-using-console-delete.md)」を参照してください。

**チャンネルが復旧中にアクションを削除する**  
チャンネルが復旧している間は、入力スイッチアクションを削除できます。

# 複数の入力を持つチャンネルの起動と再起動
<a name="ips-start-channel-multi-inputs"></a>

MediaLive チャンネルを作成し、そのスケジュールにアクションを追加したら、チャンネルを開始できます。

チャンネルを開始する前に、チャンネルに接続されている入力の準備ができていることを確認してください。
+ プッシュ入力は、チャンネルを開始する前にプッシュ済みである必要があります。プッシュ入力がチャンネルの最初の入力でなくても、プッシュ済みである必要があります。
+ チャンネルの最初の入力がファイル入力の場合は、プルする準備ができている必要があります。
+ 最初の入力ではないファイル入力は、入力への切り替えが行われる約 30 秒前までは、プルの準備ができていなくてもかまいません。

**Topics**
+ [実行時の処理](#ips-runtime-behavior)
+ [チャンネルの再開](#ips-restart-channel-multi-inputs)
+ [空のスケジュールで起こること](#ips-empty-channel-charges)

## 実行時の処理
<a name="ips-runtime-behavior"></a>

チャンネルを開始すると、AWS Elemental MediaLive がチャンネルの準備を整えるまでに少し時間がかかります。

チャンネルの準備ができるとすぐに、MediaLive はスケジュールを調べ、開始時刻が現在であるかまたは開始時刻が遅延している、即時の入力切り替えがあるかどうかを判別します。
+ このアクションが見つかったら、その入力に切り替えて取り込みを開始します。
+ このアクションが見つからなかった場合は、チャンネルにリストされている最初の入力アタッチの取り込みを開始します。

推奨どおりにチャンネルとスケジュールを設定すると、チャンネルの準備ができ次第、MediaLive が取り込む最初の入力への即時切り替えが検出されます。

## チャンネルの再開
<a name="ips-restart-channel-multi-inputs"></a>

スケジュールされた入力切り替えのために設定されている複数の入力を含むチャンネルを再開すると、AWS Elemental MediaLive はスケジュールを調べて、現在どの入力が動作している必要があるのかを判別します。MediaLive は、以下のように動作します。
+ その入力がライブ入力の場合、MediaLive は現在のフレームでその入力の取り込みを開始します。
+ その入力が固定時間または即時に開始するように設定されたファイル入力である場合、MediaLive はファイルの開始またはファイルクリップの開始 (入力をクリップした場合) からその入力の取り込みを開始します。スケジュールされた時刻と現在時刻の違いは調整されません。例えば、現在の UTC が 13:10:00 だとします。スケジュールは 13:00:00 に入力 X に切り替えるよう指定しています。MediaLive は、ファイルの 10 分からではなく、最初からインジェストを開始します。
+ フォロー入力のチェーンが原因で現在の入力があいまいな場合、MediaLive はフォロー入力を無視します。チャンネルを再開した UTC 時間を基準として、過去の最新の固定入力または即時入力を見つけます。ファイルの先頭から入力の取り込みを開始します。

  例えば、スケジュールが次のようになっているとします。
  + ライブ入力 X の固定開始時間は 11:00
  + ファイル入力 A の固定開始時間は 11:06
  + ファイル入力 B の開始時刻はフォロー
  + ファイル入力 C の開始時刻はフォロー
  + ライブ入力 D の固定開始時間は 12:15

  シナリオ 1: 入力 X がアクティブだった 11:04 にチャンネルが停止したとします。12:09 にチャンネルを再開します。現在時刻を基準とした最新の固定入力スイッチは 11:06 です。これはファイル入力 A への切り替えです。MediaLive は入力 A にアクセスし、その入力を先頭から取り込み始めます。

  シナリオ 2: 入力 X がアクティブだった 11:04 にチャンネルが停止したとします。12:16 にチャンネルを再開します。現在時刻を基準とした最新の固定入力スイッチは 12:15 です。これはライブ入力 D への切り替えです。MediaLive は入力 D にアクセスし、取り込みを開始します。

  シナリオ 3: 入力 A がアクティブだった 11:08 にチャンネルが停止したとします。12:14 にチャンネルを再開します。現在時刻を基準とした最新の固定入力スイッチは 11:06 です。これはファイル入力 A への切り替えです。MediaLive は入力 A に戻り、取り込みを開始します。ライブ入力に切り替えるとき、12:15 までファイル A を C に取り込みます。ファイル A の少なくとも一部が取り込まれます。ファイル B と C を取り込む可能性があります。ただし、12:15 には間違いなく入力 D に切り替わります。

## 空のスケジュールで起こること
<a name="ips-empty-channel-charges"></a>

チャンネルがスケジュールの最後の入力を完了し (スケジュールが空になるように)、入力がループしないように設定している場合、MediaLive は取り込みを停止しますが、チャンネルは引き続き実行されます。チャンネルの料金は引き続き発生しています。