[Getting ready] (準備中): SCTE-35 ソース (セグメントまたはマニフェスト) を設定します。 - MediaLive

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

[Getting ready] (準備中): SCTE-35 ソース (セグメントまたはマニフェスト) を設定します。

チャンネルに HLS 入力がある場合は、SCTE-35 メッセージの送信元を識別するように入力を設定する必要があります。考えられるソースが 2 つあります。

  • トランスポートストリーム (TS) のセグメント。このタイプのソースは、SCTE-35 メッセージを含むことができるすべての入力に適用されます。特定の SCTE-35 パケット識別子 (PID) が選択されていない限り、TS に存在する最初の PID が使用されます。

  • HLS 入力マニフェスト内のタグ。このタイプのソースは HLS 入力にのみ適用されます。

HLS 以外の入力のソースを設定するには
  1. [Create/Edit channel] (チャンネルの作成) ページのナビゲーションペインで、[Input attachments] (入力アタッチ) を選択します。

  2. [General input settings] (全般入力設定) で、以下のフィールドに値を入力します。

    • SCTE-35 PID: PID 値を入力します。値が空白の場合、入力に存在する最初の SCTE-35 PID が選択されます。

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

注記

HLS 入力について次の手順に従うだけです。他のすべての入力の場合、SCTE-35 メッセージのソースは常に TS セグメントです。

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

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

  3. SCTE-35 ソースから SEGMENTS (デフォルト) or MANIFEST

サポートされるマニフェスト形式

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

MediaLive ソース HLS マニフェスト内の EXT-X-CUE-OUT タグと、オプションで EXT-X-CUE-IN タグから SCTE35 スプライス挿入メッセージを生成できるようになりました。これらのタグでサポートされている形式の例を次に示します。

  • #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

SCTE-35 MediaLive メッセージを作成する方法を教えてください。

それぞれについてEXT-X-CUE-OUT、 MediaLive 以下のデータを含むスプライスインサートタイプの SCTE-35 メッセージを作成します。

  • splice_event_id: 現在の入力から作成される最初の CUE-OUT メッセージは 1 から始まる数字で、1 から始まる。 MediaLive

  • 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: 現在の入力から作成される最初の CUE-OUT メッセージでは 1 から始まる数値。 MediaLive

  • 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

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

MediaLive プリロールに必要なバッファリングがチャンネルにない場合は、プリロールを減らします。バッファは秒単位で以下の積です。

  • 入力セグメント期間。入力マニフェストで指定されます。

  • バッファに含めるセグメントの数。この値は、HLS 入力をアタッチするときの [Buffer segments] (バッファセグメント) フィールドで設定します。

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

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

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

プリロールが不十分にならないように、バッファは少なくともプリロールに 1 セグメントを加えた値にすることをお勧めします。以下の手順に従います。

  • ステップ 1: 入力の最小バッファを秒単位で計算する: 秒単位のプリロール + 秒単位の 1 セグメントの長さ

  • ステップ 2: その最小バッファ内のセグメント数を計算する:最小バッファをセグメント長で割る

  • ステップ 3: その最小値を四捨五入して整数にします。または、その最小値が 3 未満である場合、その数値を 3 に切り上げます。

  • ステップ4: この数字 (または必要に応じて、より大きな数字) を入力アタッチの [Buffer segments] (バッファセグメント) に入力します。

例えば、セグメントの長さが 2 秒であると仮定します。

  • ステップ 1: 5 + 2 = 7

  • ステップ 2: 7 秒を 2 で割った = 3.5

  • ステップ 3: 4 に切り上げます。

  • ステップ4: この数字 (または、より大きな数字) を入力アタッチの [Buffer segments] (バッファセグメント) に入力します。