

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# DASH 資訊清單類型
<a name="dash-manifest-types"></a>

透過 HTTP 的動態自適應串流 (DASH) 使用媒體簡報描述 (MPD) 資訊清單來交付串流內容。了解 DASH 資訊清單的結構和元件對於設定和疑難排解 MediaTailor 工作流程至關重要。

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  
期間是 DASH 簡報的暫時區段。每個期間包含一或多個適應集，並代表媒體時間的範圍。在廣告插入工作流程中，通常會使用個別的期間來描述內容和廣告。  
其他幾個名稱也知道此元件：  
+ 內容區段
+ 時間軸區段
+ 程式區段
在 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 會將一或多個媒體內容元件的一組可互換編碼版本分組。例如，一個 AdaptationSet 可能包含多個視訊品質等級，而另一個則可能包含多個音訊語言選項。  
此元件也稱為：  
+ 媒體元件群組
+ 串流集
+ 追蹤群組
在 MediaTailor 工作流程中，廣告插入期間會保留 AdaptationSets，以在內容和廣告之間維持一致的媒體類型。

代表  
表示法是 AdaptationSet 內媒體內容的特定編碼版本。每個表示法通常在位元速率、解析度或其他編碼參數上有所不同，允許用戶端根據網路條件和裝置功能選取最適當的版本。  
此元件也稱為：  
+ 轉譯 （類似 HLS)
+ 品質等級
+ 位元速率變體
+ 串流變體
在 MediaTailor 工作流程中，廣告期間的呈現會盡可能與內容期間的呈現相符，以確保順暢的檢視體驗。

區段  
客群是媒體資料單位，可由 URL 個別參考。區段包含實際媒體內容 （視訊、音訊等），並在 MPD 中參考。DASH 中的區段有兩種主要類型：  
+ **初始化區段**：包含表示法的初始化資訊，例如轉碼器參數和時間資訊。
+ **媒體區段**：包含代表中特定時間範圍的實際媒體資料。
在 MediaTailor 工作流程中，客群 URLs通常會修改為指向適當的內容或廣告媒體檔案。

**注意**  
DASH 資訊清單是以 XML 為基礎的檔案，通常使用 `.mpd`副檔名。這些檔案及其元件的術語可能因不同的文件和內容而有所不同，但基本結構在 DASH 串流架構中保持不變。

設定 MediaTailor 時，您會提供內容原始伺服器中 MPD 資訊清單的 URL。MediaTailor 接著會處理資訊清單的個人化，通常是根據您的組態插入廣告的額外期間。

如需 DASH 資訊清單規格的詳細資訊，請參閱 [DASH 產業論壇實作指導方針](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 串流工作流程中可能發生的任何問題。