

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

# [Getting ready] (準備中): SCTE 35 ソース (セグメントまたはマニフェスト) を設定します。
<a name="scte35-getting-ready-source"></a>

MediaLive チャンネルに HLS 入力がある場合は、SCTE 35 メッセージの送信元を識別するように入力を設定する必要があります。考えられるソースが 2 つあります。
+ トランスポートストリーム (TS) のセグメント。このタイプのソースは、SCTE 35 メッセージを含むことができるすべての入力に適用されます。特定の SCTE 35 パケット識別子 (PID) が選択されていない限り、TS に存在する最初の PID が使用されます。
+ HLS 入力マニフェスト内のタグ。このタイプのソースは HLS 入力にのみ適用されます。

**HLS 以外の入力のソースを設定するには**

1. **[Create/Edit channel]** (チャンネルの作成) ページのナビゲーションペインで、**[Input attachments]** (入力アタッチ) を選択します。

1. **[General input settings]** (全般入力設定) で、以下のフィールドに値を入力します。
   + **SCTE 35 PID**: PID 値を入力します。値が空白の場合、入力に存在する最初の SCTE 35 PID が選択されます。

1. 必要に応じて、他の**入力アタッチ**についても繰り返します。

**HLS 入力のソースを設定するには**

1. **[Create/Edit channel]** (チャンネルの作成) ページのナビゲーションペインで、**[Input attachments]** (入力アタッチ) を選択します。

1. HLS 入力ごとに、**[Network input settings]** (ネットワーク入力設定) で **[HLS input settings]** (HLS 入力設定) の **[HLS input]** (HLS 入力) を選択します。追加のフィールドが表示されます。

1. SCTE 35 ソースから **SEGMENTS** (デフォルト) or **MANIFEST**。

**Topics**
+ [サポートされるマニフェスト形式](#scte35-get-ready-source-support)
+ [MediaLive による SCTE 35 メッセージの作成方法](#scte35-get-ready-source-create-message)
+ [MediaLive がメッセージを挿入する方法: preroll](#scte35-get-ready-source-preroll)

## サポートされるマニフェスト形式
<a name="scte35-get-ready-source-support"></a>

HLS 入力マニフェストを SCTE 35 ソースとして使用するように設定した場合は、次のセクションをお読みください。

MediaLive は SCTE35 スプライス挿入メッセージを **EXT-X-CUE-OUT** から生成でき、オプションでソース HLS マニフェスト内の **EXT-X-CUE-IN** タグを付けられます。これらのタグでサポートされている形式の例を次に示します。
+ `#EXT-X-CUE-OUT:DURATION=60.000`
+ `#EXT-X-CUE-OUT:DURATION="60.000"`
+ `#EXT-X-CUE-OUT:60.000`
+ `#EXT-X-CUE-OUT:"60.000"`
+ `#EXT-X-CUE-IN`

## MediaLive による SCTE 35 メッセージの作成方法
<a name="scte35-get-ready-source-create-message"></a>

各 `EXT-X-CUE-OUT` について、MediaLive は、次のデータを含むスプライス挿入タイプの SCTE 35 メッセージを作成します。
+ `splice_event_id`: MediaLive が現在の入力から作成する最初の CUE-OUT メッセージに対して 1 から始まる増分する数値。
+ `out_of_network_indicator`: true (1)
+ `program_splice_flag`: true (1)
+ `duration_flag`: true (1)
+ `break_duration`:
  + `auto_return`: 1
  + `reserved`: 0
  + `duration`: マニフェストからの継続時間。90kHz ティックに変換されます。例えば、15 秒は 1350000 ティックです。
+ `splice_immediate_flag`: 0 (false)
+ `splice_time`: 入力マニフェストで、この EXT-X-CUE-OUT に続くビデオセグメントの最初のフレームのビデオ PTS を使用します。
+ `unique_program_id`: 0
+ `avail_num`: MediaLive が現在の入力から作成する最初の CUE-OUT メッセージに対して 1 から始まる増分する数値。
+ `avails expected`: 0

各 `EXT-X-CUE-IN` について、MediaLive は、次のデータを含むスプライス挿入タイプの SCTE 35 メッセージを作成します。
+ `splice_event_id`: マニフェスト内の最新の EXT-X-CUE-OUT の ID。
+ `out_of_network_indicator`: false (0)
+ `program_splice_flag`: true (1)
+ `duration_flag`: false (0)
+ `splice_immediate_flag`: 0 (false)
+ `splice_time`: 入力マニフェストで、この EXT-X-CUE-IN に続くビデオセグメントの最初のフレームのビデオ PTS を使用します。
+ `unique_program_id`: 0
+ `avail_num`: EXT-X-CUE-OUT の直近の値
+ `avails expected`: 0

## MediaLive がメッセージを挿入する方法: preroll
<a name="scte35-get-ready-source-preroll"></a>

MediaLive は、CUE-OUT に対応する SCTE 35 メッセージを挿入するときにプリロールを含めます。このプリロールは、SCTE 35 メッセージ内の splice\$1time の 5 秒前です。

MediaLive は、チャンネルにプリロールを許可するのに十分なバッファリングがない場合、プリロールを減らします。バッファは秒単位で以下の積です。
+ 入力セグメント期間。入力マニフェストで指定されます。
+ バッファに含めるセグメントの数。この値は、HLS 入力をアタッチするときの **[Buffer segments]** (バッファセグメント) フィールドで設定します。

例えば、セグメント期間が 6 秒、セグメント数が 3 の場合、バッファは 18 秒です。

**適切なプリロールを確保する**

入力の計算されたバッファが 5 秒未満の場合、MediaLive はプリロールを減らします。MediaLive はプリロールを 0 に減らすことがあります。これは、SCTE35 メッセージの PTS 値がスプライス時間の PTS に等しいことを意味します。

プリロールが不十分にならないように、バッファは*少なくとも*プリロールに 1 セグメントを加えた値にすることをお勧めします。以下の手順に従ってください。
+ ステップ 1: 入力の最小バッファを秒単位で計算する: 秒単位のプリロール \$1 秒単位の 1 セグメントの長さ
+ ステップ 2: その最小バッファ内のセグメント数を計算する:最小バッファをセグメント長で割る
+ ステップ 3: その最小値を四捨五入して整数にします。または、その最小値が 3 未満である場合、その数値を 3 に切り上げます。
+ ステップ4: この数字 (または必要に応じて、より大きな数字) を入力アタッチの **[Buffer segments]** (バッファセグメント) に入力します。

例えば、セグメントの長さが 2 秒であると仮定します。
+ ステップ 1: 5 \$1 2 = 7
+ ステップ 2: 7 秒を 2 で割った = 3.5
+ ステップ 3: 4 に切り上げます。
+ ステップ4: この数字 (または、より大きな数字) を入力アタッチの **[Buffer segments]** (バッファセグメント) に入力します。