

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

# DASH マニフェストタイプ
<a name="dash-manifest-types"></a>

Dynamic Adaptive Streaming over HTTP (DASH) は、メディアプレゼンテーション説明 (MPD) マニフェストを使用してストリーミングコンテンツを配信します。MediaTailor ワークフローの設定とトラブルシューティングには、DASH マニフェストの構造とコンポーネントを理解することが不可欠です。

MPD (メディアプレゼンテーションの説明)  
MPD は、メディアコンテンツの構造と可用性を説明する DASH ストリーミングのプライマリマニフェストファイルです。これには、ストリーミングコンテンツを構成する期間、適応セット、表現、セグメントに関する情報が含まれています。  
このマニフェストタイプは、さまざまなコンテキストの他のいくつかの名前でも知られています。  
+ DASH マニフェスト
+ DASH MPD
+ マスターマニフェスト (HLS と比較した場合)
+ プレゼンテーションマニフェスト
MediaTailor ワークフローでは、MPD は再生リクエストのエントリポイントであり、広告パーソナライゼーションが開始される場所です。  

**Example MPD マニフェストの例**  

```
<?xml version="1.0" encoding="UTF-8"?>
<MPD xmlns="urn:mpeg:dash:schema:mpd:2011" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:mpeg:dash:schema:mpd:2011 DASH-MPD.xsd" profiles="urn:mpeg:dash:profile:isoff-live:2011" type="dynamic" minBufferTime="PT5.000S" maxSegmentDuration="PT2.005S" availabilityStartTime="2020-01-01T00:00:00Z" publishTime="2020-01-01T12:30:00Z" minimumUpdatePeriod="PT2.000S" timeShiftBufferDepth="PT5M">
  <Period id="1" start="PT0.000S">
    <AdaptationSet id="1" contentType="video" segmentAlignment="true" bitstreamSwitching="true" frameRate="30000/1001" maxWidth="1920" maxHeight="1080" par="16:9">
      <Representation id="1" mimeType="video/mp4" codecs="avc1.640028" width="1920" height="1080" bandwidth="5000000">
        <SegmentTemplate timescale="90000" initialization="init-stream$RepresentationID$.m4s" media="chunk-stream$RepresentationID$-$Number%05d$.m4s" startNumber="1" duration="180000"/>
      </Representation>
      <Representation id="2" mimeType="video/mp4" codecs="avc1.4d401f" width="1280" height="720" bandwidth="2800000">
        <SegmentTemplate timescale="90000" initialization="init-stream$RepresentationID$.m4s" media="chunk-stream$RepresentationID$-$Number%05d$.m4s" startNumber="1" duration="180000"/>
      </Representation>
      <Representation id="3" mimeType="video/mp4" codecs="avc1.4d401e" width="640" height="360" bandwidth="1100000">
        <SegmentTemplate timescale="90000" initialization="init-stream$RepresentationID$.m4s" media="chunk-stream$RepresentationID$-$Number%05d$.m4s" startNumber="1" duration="180000"/>
      </Representation>
    </AdaptationSet>
    <AdaptationSet id="2" contentType="audio" segmentAlignment="true" lang="eng">
      <Representation id="4" mimeType="audio/mp4" codecs="mp4a.40.2" audioSamplingRate="48000" bandwidth="128000">
        <SegmentTemplate timescale="48000" initialization="init-stream$RepresentationID$.m4s" media="chunk-stream$RepresentationID$-$Number%05d$.m4s" startNumber="1" duration="96000"/>
      </Representation>
    </AdaptationSet>
  </Period>
</MPD>
```

Period  
Period は、DASH プレゼンテーションの一時的なセクションです。各期間には 1 つ以上の適応セットが含まれ、メディア時間の範囲を表します。広告挿入ワークフローでは、通常、個別の期間を使用してコンテンツと広告を区別します。  
このコンポーネントは、他のいくつかの名前でも知られています。  
+ コンテンツセグメント
+ タイムラインセクション
+ プログラムセグメント
MediaTailor ワークフローでは、期間を使用してメインコンテンツを広告コンテンツから分離し、各広告は通常独自の期間で表されます。  

**Example 期間の例**  

```
<Period id="ad-period-1" start="PT30.000S" duration="PT15.000S">
  <AdaptationSet id="1" contentType="video" segmentAlignment="true" bitstreamSwitching="true" frameRate="30000/1001" maxWidth="1920" maxHeight="1080" par="16:9">
    <Representation id="1" mimeType="video/mp4" codecs="avc1.640028" width="1920" height="1080" bandwidth="5000000">
      <SegmentTemplate timescale="90000" initialization="ad1/init-stream$RepresentationID$.m4s" media="ad1/chunk-stream$RepresentationID$-$Number%05d$.m4s" startNumber="1" duration="180000"/>
    </Representation>
  </AdaptationSet>
</Period>
```

AdaptationSet  
AdaptationSet は、1 つまたは複数のメディアコンテンツコンポーネントの交換可能なエンコードされたバージョンのセットをグループ化します。たとえば、ある AdaptationSet には複数のビデオ品質レベルが含まれ、別の AdaptationSet には複数のオーディオ言語オプションが含まれる場合があります。  
このコンポーネントは、以下とも呼ばれます。  
+ メディアコンポーネントグループ
+ ストリームセット
+ トラックグループ
MediaTailor ワークフローでは、コンテンツと広告の間で一貫したメディアタイプを維持するために、広告挿入中に AdaptationSets が保持されます。

表記  
表現は、AdaptationSet 内のメディアコンテンツの特定のエンコードされたバージョンです。各表現は、通常、ビットレート、解像度、またはその他のエンコーディングパラメータが異なるため、クライアントはネットワーク条件とデバイス機能に基づいて最適なバージョンを選択できます。  
このコンポーネントは、以下とも呼ばれます。  
+ レンディション (HLS に類似)
+ 品質レベル
+ ビットレートバリアント
+ ストリームバリアント
MediaTailor ワークフローでは、広告期間の表現は、コンテンツ期間の表現と可能な限り一致させて、スムーズな視聴体験を実現します。

セグメント  
セグメントは、URL によって個別に参照できるメディアデータの単位です。セグメントには実際のメディアコンテンツ (ビデオ、オーディオなど) が含まれ、MPD 内で参照されます。DASH には主に 2 つのタイプのセグメントがあります。  
+ **初期化セグメント**: コーデックパラメータやタイミング情報など、表現の初期化情報が含まれます。
+ **メディアセグメント**: 表現内の特定の時間範囲の実際のメディアデータが含まれます。
MediaTailor ワークフローでは、セグメント URLsは、多くの場合、適切なコンテンツまたは広告メディアファイルを指すように変更されます。

**注記**  
DASH マニフェストは、通常 `.mpd`拡張機能を使用する XML ベースのファイルです。これらのファイルとそのコンポーネントの用語はドキュメントやコンテキストによって異なる場合がありますが、DASH ストリーミングアーキテクチャでは基本的な構造は変わりません。

MediaTailor を設定するときは、コンテンツオリジンの MPD マニフェストへの URL を指定します。次に、MediaTailor はマニフェストのパーソナライゼーションを処理します。通常は、設定に従って広告の追加の期間を挿入します。

DASH マニフェストの仕様の詳細については、[「DASH Industry Forum Implementation Guidelines](https://dashif.org/docs/DASH-IF-IOP-v4.3.pdf)」を参照してください。

# 高度な DASH マニフェストの概念
<a name="dash-manifest-advanced-concepts"></a>

MediaTailor で DASH マニフェストを使用する場合、次の高度な概念を理解することで、ストリーミングワークフローをより効果的に設定およびトラブルシューティングできます。

期間開始時刻の計算  
DASH マニフェストでは、期間の開始時間は MPD の `availabilityStartTime` 属性と期間の `start` 属性に基づいて計算されます。ライブストリームの場合、開始時刻は可用性の開始時刻を基準にしていますが、VOD コンテンツの場合、通常はプレゼンテーションの開始時刻を基準にしています。  
MediaTailor が広告期間を挿入すると、開始時間を慎重に計算して、コンテンツと広告間のシームレスな移行を確保します。この計算では、以下が考慮されます。  
+ 元の期間の開始時刻
+ 前述の広告期間の期間
+ 広告決定サーバーのレスポンスで指定された任意のタイムオフセット

プリロールタイミングの計算  
DASH マニフェストのプレロール広告は、メインコンテンツが開始される前に表示されるため、特別な処理が必要です。MediaTailor は、マニフェストの開始時にプリロール広告を個別の期間として適切な開始時間と期間とともに挿入します。  
プレロール広告の場合、MediaTailor:  
+ プレロール広告ごとに新しい期間を作成します
+ 最初のプリロール期間の開始時間を 0 に設定します
+ すべてのプリロール広告の合計期間を考慮して、メインコンテンツ期間の開始時間を調整します。

Live-to-VOD 移行  
DASH マニフェストは、ライブストリームが終了すると、ライブ形式から VOD (ビデオオンデマンド) 形式に移行できます。この移行では、MPD の `type` 属性を から `dynamic` に変更`static`し、 `timeShiftBufferDepth` や などの他の属性を調整します`minimumUpdatePeriod`。  
MediaTailor が live-to-VOD 移行中にマニフェストを処理すると、以下が保証されます。  
+ 広告マーカーは VOD マニフェストに保持されます
+ 期間の開始時間は、適切なタイミングを維持するために調整されます。
+ マニフェストは VOD 再生クライアントと互換性があります

DRM 処理  
DASH マニフェストのデジタル著作権管理 (DRM) 情報は、通常、AdaptationSets または表現内の`ContentProtection`要素に含まれます。MediaTailor は広告挿入中にこれらの要素を保持し、コンテンツ保護がそのまま維持されるようにします。  
DRM で保護されたコンテンツを処理する場合、MediaTailor は次のようになります。  
+ 元のマニフェストのすべての ContentProtection 要素を維持します
+ 該当する場合、広告コンテンツが互換性のある DRM スキームを使用していることを確認します
+ マニフェスト全体で DRM 関連の属性と要素を保持します

SCC フラグ  
DASH マニフェストの補足コンテンツコントロール (SCC) フラグは、コンテンツの特性と再生要件に関する追加情報を提供します。これらのフラグは通常、MPD 構造内の属性または要素として含まれます。  
MediaTailor が処理する一般的な SCC フラグには以下が含まれます。  
+ コンテンツ評価情報
+ アクセシビリティ機能 (クローズドキャプション、オーディオの説明)
+ コンテンツアドバイザリ通知
+ 再生の制限
MediaTailor は、マニフェスト処理中にこれらのフラグを保持し、すべてのコンテンツメタデータがパーソナライズされたマニフェストに維持されるようにします。

これらの高度な概念を理解することで、最適なパフォーマンスを実現するように MediaTailor を設定し、DASH ストリーミングワークフローで発生する可能性のある問題をトラブルシューティングできます。