翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
DASH MPD の例
以下のセクションでは、DASH オリジン MPDs とパーソナライズMPDs の例を示します。これらの例を理解することは、MediaTailor ワークフローの設定とトラブルシューティングに役立ちます。
DASH MPD 構造について
Dynamic Adaptive Streaming over HTTP (DASH) は、メディアプレゼンテーション説明 (MPD) マニフェストを使用してストリーミングコンテンツを配信します。MPD は、メディアコンテンツの構造と可用性を説明する XML ドキュメントです。
- MPD (メディアプレゼンテーションの説明)
-
MPD は、メディアコンテンツの構造と可用性を説明する DASH ストリーミングのプライマリマニフェストファイルです。これには、ストリーミングコンテンツを構成する期間、適応セット、表現、セグメントに関する情報が含まれています。
このマニフェストタイプは、DASH マニフェスト、DASH MPD、マスターマニフェスト (HLS と比較した場合)、プレゼンテーションマニフェストなど、さまざまなコンテキストの他のいくつかの名前でも知られています。
MediaTailor ワークフローでは、MPD は再生リクエストのエントリポイントであり、広告パーソナライゼーションが開始される場所です。
- 期間
-
Period は、DASH プレゼンテーションの一時的なセクションです。各期間には 1 つ以上の適応セットが含まれ、メディア時間の範囲を表します。広告挿入ワークフローでは、通常、個別の期間を使用してコンテンツと広告を区別します。
MediaTailor ワークフローでは、期間を使用してメインコンテンツを広告コンテンツから分離し、各広告は通常独自の期間で表されます。
- AdaptationSet
-
AdaptationSet は、1 つまたは複数のメディアコンテンツコンポーネントの交換可能なエンコードされたバージョンのセットをグループ化します。たとえば、ある AdaptationSet には複数のビデオ品質レベルが含まれ、別の AdaptationSet には複数のオーディオ言語オプションが含まれる場合があります。
MediaTailor ワークフローでは、コンテンツと広告の間で一貫したメディアタイプを維持するために、広告挿入中に AdaptationSets が保持されます。
- 表記
-
表現は、AdaptationSet 内のメディアコンテンツの特定のエンコードされたバージョンです。各表現は通常、ビットレート、解像度、またはその他のエンコーディングパラメータが異なるため、クライアントはネットワーク条件とデバイス機能に基づいて最適なバージョンを選択できます。
MediaTailor ワークフローでは、広告期間の表現は、コンテンツ期間の表現と可能な限り一致させて、スムーズな視聴体験を実現します。
DASH マニフェストタイプの詳細については、「」を参照してくださいDASH マニフェストタイプ。
Live DASH MPD の例
このセクションでは、ライブ DASH MPDs。各例では、MediaTailor が広告を使用して MPD をパーソナライズした後、オリジンサーバーから受信した MPD を一覧表示します。
DASH MPD スプライス挿入の例
スプライス挿入の DASH オリジン MPD の例
MPD の次の例は、コンテンツオリジンから DASH が受信したマニフェストの広告表示を示しています。この例では、 SpliceInsert
マーカーを使用して広告表示を示します。
<Period start="PT173402.036S" id="46041"> <EventStream timescale="90000" schemeIdUri="urn:scte:scte35:2013:xml"> <Event duration="9450000"> <scte35:SpliceInfoSection protocolVersion="0" ptsAdjustment="183265" tier="4095"> <scte35:SpliceInsert spliceEventId="99" spliceEventCancelIndicator="false" outOfNetworkIndicator="true" spliceImmediateFlag="false" uniqueProgramId="1" availNum="1" availsExpected="1"> <scte35:Program><scte35:SpliceTime ptsTime="7835775000"/></scte35:Program> <scte35:BreakDuration autoReturn="true" duration="9450000"/> </scte35:SpliceInsert> <scte35:SegmentationDescriptor segmentationEventId="99" segmentationEventCancelIndicator="false" segmentationDuration="9450000"> <scte35:DeliveryRestrictions webDeliveryAllowedFlag="true" noRegionalBlackoutFlag="true" archiveAllowedFlag="true" deviceRestrictions="3"/> <scte35:SegmentationUpid segmentationUpidType="8" segmentationUpidLength="0"/> <scte35:SegmentationTypeID segmentationType="52"/> <scte35:SegmentNum segmentNum="1"/> <scte35:SegmentsExpected segmentsExpected="1"/> </scte35:SegmentationDescriptor> </scte35:SpliceInfoSection> </Event> </EventStream> <AdaptationSet mimeType="video/mp4" segmentAlignment="true" subsegmentAlignment="true" startWithSAP="1" subsegmentStartsWithSAP="1" bitstreamSwitching="true"> <Representation id="1" width="960" height="540" frameRate="30000/1001" bandwidth="1000000" codecs="avc1.4D401F"> <SegmentTemplate timescale="30000" media="index_video_1_0_$Number$.mp4?m=1528475245" initialization="index_video_1_0_init.mp4?m=1528475245" startNumber="178444" presentationTimeOffset="10395907501"> <SegmentTimeline> <S t="10395907501" d="60060" r="29"/> <S t="10397709301" d="45045"/> </SegmentTimeline> </SegmentTemplate> </Representation> </AdaptationSet> <AdaptationSet mimeType="audio/mp4" segmentAlignment="0" lang="eng"> <Representation id="2" bandwidth="96964" audioSamplingRate="48000" codecs="mp4a.40.2"> <SegmentTemplate timescale="48000" media="index_audio_2_0_$Number$.mp4?m=1528475245" initialization="index_audio_2_0_init.mp4?m=1528475245" startNumber="178444" presentationTimeOffset="16633452001"> <SegmentTimeline> <S t="16633452289" d="96256" r="3"/> <S t="16633837313" d="95232"/> <S t="16633932545" d="96256" r="4"/> <S t="16634413825" d="95232"/> <S t="16634509057" d="96256" r="5"/> <S t="16635086593" d="95232"/> <S t="16635181825" d="96256" r="4"/> <S t="16635663105" d="95232"/> <S t="16635758337" d="96256" r="5"/> <S t="16636335873" d="71680"/> </SegmentTimeline> </SegmentTemplate> </Representation> </AdaptationSet> </Period>
このオリジン MPD の例:
-
<EventStream>
要素には、広告表示を示す SCTE-35 マーカーが含まれています -
<scte35:SpliceInsert>
要素は、広告表示の詳細を提供します。 -
<scte35:BreakDuration>
要素は、広告時間枠の期間を指定します。 -
<AdaptationSet>
要素は、使用可能なビデオストリームとオーディオストリームを定義します。
スプライス挿入の DASH パーソナライズされた MPD の例
AWS Elemental MediaTailor は、広告仕様を使用して広告表示をパーソナライズします。パーソナライズには、プレーヤーから受信した視聴者データと現在進行中の広告キャンペーンが反映されます。
次の例は、 が AWS Elemental MediaTailor パーソナライズした後の広告表示を示しています。
<Period id="178443_1" start="PT96H15M30.25S"> <BaseURL>http://111122223333.cloudfront.net/nbc_fallback_2/</BaseURL> <AdaptationSet bitstreamSwitching="false" frameRate="30/1" mimeType="video/mp4" segmentAlignment="true" startWithSAP="1" subsegmentAlignment="true" subsegmentStartsWithSAP="1"> <SegmentTemplate startNumber="1" timescale="90000"/> <Representation bandwidth="10000000" codecs="avc1.640028" height="1080" id="1" width="1920"> <SegmentTemplate initialization="nbc_fallback_ad_2_1080p_10init.mp4" media="nbc_fallback_ad_2_1080p_10_$Number%09d$.mp4" startNumber="1" timescale="90000"> <SegmentTimeline> <S d="180000" r="13" t="0"/> <S d="176940" t="2520000"/> </SegmentTimeline> </SegmentTemplate> </Representation> <Representation bandwidth="4000000" codecs="avc1.64001f" height="720" id="2" width="1280"> <SegmentTemplate initialization="nbc_fallback_ad_2_720p_9init.mp4" media="nbc_fallback_ad_2_720p_9_$Number%09d$.mp4" startNumber="1" timescale="90000"> <SegmentTimeline> <S d="180000" r="13" t="0"/> <S d="176940" t="2520000"/> </SegmentTimeline> </SegmentTemplate> </Representation> </AdaptationSet> <AdaptationSet mimeType="audio/mp4" segmentAlignment="0" lang="eng"> <Representation id="8" bandwidth="128000" audioSamplingRate="48000" codecs="mp4a.40.2"> <SegmentTemplate initialization="nbc_fallback_ad_2_audio_2init.mp4" media="nbc_fallback_ad_2_audio_2_$Number%09d$.mp4" startNumber="1" timescale="90000"> <SegmentTimeline> <S d="180000" r="13" t="0"/> <S d="176940" t="2520000"/> </SegmentTimeline> </SegmentTemplate> </Representation> </AdaptationSet> </Period>
このパーソナライズされた MPD の例:
-
MediaTailor が広告コンテンツの新しい期間を作成しました
-
<BaseURL>
要素は広告コンテンツの場所を指します -
<AdaptationSet>
要素はコンテンツと同様の構造を維持します。 -
<Representation>
要素は、広告コンテンツにさまざまな品質レベルを提供します。
DASH MPD タイムシグナルの例
時間信号の DASH オリジン MPD の例
MPD の次の例は、コンテンツオリジンから DASH が受信したマニフェストの広告表示を示しています。この例では、 TimeSignal
マーカーを使用して広告表示を示します。
<Period start="PT173402.036S" id="46041"> <EventStream timescale="90000" schemeIdUri="urn:scte:scte35:2013:xml"> <Event duration="9450000"> <scte35:SpliceInfoSection protocolVersion="0" ptsAdjustment="183265" tier="4095"> <scte35:TimeSignal> <scte35:SpliceTime ptsTime="7835775000"/> </scte35:TimeSignal> <scte35:SegmentationDescriptor segmentationEventId="99" segmentationEventCancelIndicator="false" segmentationDuration="9450000"> <scte35:DeliveryRestrictions webDeliveryAllowedFlag="true" noRegionalBlackoutFlag="true" archiveAllowedFlag="true" deviceRestrictions="3"/> <scte35:SegmentationUpid segmentationUpidType="8" segmentationUpidLength="0"/> <scte35:SegmentationTypeID segmentationType="52"/> <scte35:SegmentNum segmentNum="1"/> <scte35:SegmentsExpected segmentsExpected="1"/> </scte35:SegmentationDescriptor> </scte35:SpliceInfoSection> </Event> </EventStream> <AdaptationSet mimeType="video/mp4" segmentAlignment="true" subsegmentAlignment="true" startWithSAP="1" subsegmentStartsWithSAP="1" bitstreamSwitching="true"> <Representation id="1" width="960" height="540" frameRate="30000/1001" bandwidth="1000000" codecs="avc1.4D401F"> <SegmentTemplate timescale="30000" media="index_video_1_0_$Number$.mp4?m=1528475245" initialization="index_video_1_0_init.mp4?m=1528475245" startNumber="178444" presentationTimeOffset="10395907501"> <SegmentTimeline> <S t="10395907501" d="60060" r="29"/> <S t="10397709301" d="45045"/> </SegmentTimeline> </SegmentTemplate> </Representation> </AdaptationSet> </Period>
このオリジン MPD の例:
-
<scte35:TimeSignal>
要素が の代わりに使用される<scte35:SpliceInsert>
-
<scte35:SegmentationDescriptor>
は、広告表示に関する追加情報を提供します。
タイムシグナルの DASH パーソナライズされた MPD の例
AWS Elemental MediaTailor は、広告仕様を使用して広告表示をパーソナライズします。パーソナライズには、プレーヤーから受信した視聴者データと現在進行中の広告キャンペーンが反映されます。
次の例は、 が AWS Elemental MediaTailor パーソナライズした後の広告表示を示しています。
<Period id="178443_1" start="PT96H15M30.25S"> <BaseURL>http://111122223333.cloudfront.net/nbc_fallback_2/</BaseURL> <AdaptationSet bitstreamSwitching="false" frameRate="30/1" mimeType="video/mp4" segmentAlignment="true" startWithSAP="1" subsegmentAlignment="true" subsegmentStartsWithSAP="1"> <SegmentTemplate startNumber="1" timescale="90000"/> <Representation bandwidth="10000000" codecs="avc1.640028" height="1080" id="1" width="1920"> <SegmentTemplate initialization="nbc_fallback_ad_2_1080p_10init.mp4" media="nbc_fallback_ad_2_1080p_10_$Number%09d$.mp4" startNumber="1" timescale="90000"> <SegmentTimeline> <S d="180000" r="13" t="0"/> <S d="176940" t="2520000"/> </SegmentTimeline> </SegmentTemplate> </Representation> </AdaptationSet> </Period>
タイムシグナルのパーソナライズされた MPD は、スプライス挿入の MPD と似ており、MediaTailor は広告コンテンツの新しい期間を作成します。
VOD DASH MPD の例
このセクションでは、ビデオオンデマンド (VOD) DASH MPDs。各例では、MediaTailor が広告を使用して MPD をパーソナライズした後、オリジンサーバーから受信した MPD を一覧表示します。
VOD DASH MPDsライブ MPDs と同じ構造に従いますが、通常は MPD 要素に type="static"
属性があり、異なるコンテンツセグメントに複数の期間が含まれる場合があります。
VOD DASH MPDs の例については、 の MediaTailor ドキュメントを参照してくださいDASH 広告マーカー。
パーソナライズMPDs の主な違い
MediaTailor が DASH MPDs をパーソナライズすると、いくつかの重要な変更が行われます。
- 期間処理
-
-
広告コンテンツ用に新しい期間が作成されます
-
タイムラインの継続性を維持するために、期間の開始時刻が調整されます
-
SCTE-35 マーカーを持つ EventStream 要素が処理および削除されます
-
- AdaptationSet と表現の処理
-
-
広告期間の AdaptationSets は、コンテンツ AdaptationSets に一致するように作成されます。
-
広告コンテンツのさまざまな品質レベルに対して表現が作成されます。
-
SegmentTemplate 要素は、広告コンテンツを指すように更新されます
-
これらの変更を理解することで、MediaTailor ワークフローの問題のトラブルシューティングを行い、CDN とプレイヤーの適切な設定を確保できます。
関連トピック
DASH MPDs と MediaTailor の詳細については、以下のトピックを参照してください。
-
DASH マニフェストタイプ - DASH マニフェストタイプの詳細な説明
-
CDN を使用して MediaTailor の広告パーソナライゼーションとコンテンツ配信を最適化する - MediaTailor での CDN の使用に関する情報
-
MediaTailor 広告挿入の仕組み - MediaTailor 広告挿入の仕組みの概要