SegmentTemplate でのmedia 属性 - AWS Elemental MediaPackage

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

SegmentTemplate でのmedia 属性

SegmentTemplate プロパティの media 属性は、再生デバイスがセグメントリクエストを送信する URL を定義します。デフォルトでは、この URL は $Number$ 変数を使用して、リクエストされた特定のセグメントを識別します。再生デバイスがセグメントをリクエストすると、変数が、セグメントの数値 ID に置き換えられます。表現の最初のセグメントでは、この ID を、SegmentTemplate プロパティの startNumber の値と置き換えます。追加のセグメントごとに 1 ずつ増加します。

一部のプレーヤーでは、再生可能になると、タイムスタンプではなくセグメントが識別されたときに、セグメントのナビゲーションが向上します。このユースケースをサポートするために、MediaPackage は media 属性の URL に対し、$Number$ ではなく $Time$ 変数を使用します。再生デバイスがセグメントをリクエストすると、変数が、セグメントの可能な開始時刻に置き換えられます。この開始時刻は、SegmentTimeline オブジェクトのセグメント (S) プロパティの t 値で識別されます。例については、「仕組み」を参照してください。

$Time$ 変数の動作について

DASH エンドポイントの作成」で説明されているように、DASH エンドポイントでの [セグメントテンプレートフォーマット] 設定により $Time$ 変数を有効にします。AWS Elemental MediaPackage は次の処理を行います。

  1. 次の例に示すように、MediaPackage が DASH マニフェストを生成する際、SegmentTemplate オブジェクトの media 値で変数 $Time$ が使用されます。

    <SegmentTemplate timescale="30" media="index_video_1_0_$Time$.mp4?m=1122792372" initialization="index_video_1_0_init.mp4?m=1122792372" startNumber="2937928">
  2. 再生デバイスがセグメントをリクエストすると、media 属性で定義されている URL を使用して、リクエストされたセグメントの可能な開始時刻で、変数が置き換えられます。

    重要

    変数を置き換える値は、セグメントの正確な t 値である必要があります。リクエストで、任意のタイムスタンプを使用する場合、MediaPackage は最も近いセグメントをシークしません。

    表現のセグメントテンプレートの例を次に示します。この例では $Time$ 変数を使用しています。

    <SegmentTemplate timescale="30000" media="155_video_1_2_$Time$.mp4?m=1545421124" initialization="155_video_1_2_init.mp4?m=1545421124" startNumber="710"> <SegmentTimeline> <S t="255197799" d="360360" r="8"/> <S t="258441039" d="334334"/> </SegmentTimeline> </SegmentTemplate>

    最初のセグメントのリクエスト URL は 155_video_1_2_255197799.mp4 です。継続期間 360360 により、次のセグメントリクエストは 155_video_1_2_255558159.mp4 になり、以降同様に 9 番目のセグメントまで続きます。

    最後のセグメントリクエストは 155_video_1_2_258441039.mp4 です。