跳至:資訊清單和內容相關規定 | 套件、平台和播放器
多週期與單週期資訊清單
Ad Manager 支援擷取 DASH 的多週期資訊清單和單週期資訊清單。
如果使用單週期資訊清單,發布商可提供單一週期 DASH 串流,其中包含所有內容和廣告插播商機,而不是區分多個週期。DAI 支援單週期資訊清單,方法是在每次擷取時,將單週期轉換為多週期資訊清單。
啟用條件設定時,您可以選取資訊清單做為單週期。
啟用單週期 MPEG-DASH 的條件設定
如要使用 VOD DAI,請設定內容來源,以便 Google Ad Manager 擷取隨選影片 (VOD) 內容。DAI 會使用 MRSS 動態饋給元素來判斷內容是否應通過 DASH 單週期資訊清單條件設定。
- 將
ingestUrl
設為 MPD 內容網址。 - 將
preconditioned
設為 false。
如果將preconditioned
設為 true,系統就不會針對片中廣告插播設定單週期 DASH 資訊清單設定條件。 - 即使提示點因後續因素而不一致,系統也會根據資訊清單中的
Event@presentationTime
屬性分割資訊清單。 - 如果資訊清單中沒有
EventStream
元素,系統會根據提示點分割資訊清單。 - 提示點必須與媒體區段邊界相符,否則條件設定將會失敗。
- 在
splice_insert
事件的 100 毫秒內設定提示點。這取決於提示點值和Event@presentationTime
屬性。
資訊清單和內容相關規定
多週期資訊清單
多週期 MPEG-DASH 資訊清單
多週期 MPEG-DASH 資訊清單的期望值
Google DAI 會對原始 MPD 執行下列驗證:
MPD 元素驗證
設定下列 MPD 元素驗證:
type
已設為static
。profiles
已設為:urn:mpeg:dash:profile:isoff-on-demand:2011
。urn:mpeg:dash:profile:isoff-live:2011
。
- 相同 MPD 中參照的 DASH 內容必須全部採用 HTTPS。
Period 元素驗證
以下是 Period 元素的必填項目:
- 每個週期都必須指定
duration
屬性 - 每個週期都不得指定
start
屬性 - 不同時段的音訊和影片調整組必須一致。
單週期資訊清單
單週期 MPEG-DASH 資訊清單 (Alpha 版)
這項功能僅開放少數發布商使用。
單週期 MPEG-DASH 資訊清單的期望值
Google DAI 會對原始 MPD 執行下列驗證:
內容相關規定
DASH 內容必須符合 DASH-IF Interoperability Points 中列出的所有規則。
MPEG-DASH
Google DAI 會對原始 MPD 執行以下驗證,並進行下列假設。
- MPD 元素驗證:
@profiles
已設為urn:mpeg:dash:profile:isoff-live:2011
@type
已設為static
。- MPD 只有一個 Period 元素。
<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" type="static" profiles="urn:mpeg:dash:profile:isoff-live:2011" maxSegmentDuration="PT2S" minBufferTime="PT2S">
<Period …>
…
</Period>
…
</MPD>
- Period 元素驗證:
- Period 至少有一個
@AdaptationSet
元素。 - 必須至少要有一個巢狀
EventStream
元素,並含有已為要分割的週期編碼成剪接點的Event
元素。參考 SCTE-35 以瞭解剪接點編碼需求。
<Period id=”1” start="PT0S">
<AdaptationSet …>
…
</AdaptationSet>
<AdaptationSet …>
…
</AdaptationSet>
</Period>
- Period 至少有一個
- 以下是
AdaptationSet
元素驗證的必要條件。
確認AdaptationSet
至少包含一個@Representation
元素。系統支援縮圖和字幕調整組。必須提供字幕調整組。<AdaptationSet mimeType="video/mp4" startWithSAP="1" contentType="text" par="16:9" minWidth="640" maxWidth="640" minHeight="360" maxHeight="360" maxFrameRate="60/2" segmentAlignment="true">
<Role schemeIdUri="urn:mpeg:dash:role:2011" value="main"></Role>
<ContentComponent id="0" contentType="video" />
<Representation …>
…
</Representation>
<Representation …>
…
</Representation>
</AdaptationSet>
- 完成
Representation
元素驗證:- 確認
@id
並非空白。 - 不得含有
@SegmentBase
或@SegmentList
元素。
<Representation width="640" height="360" sar="1:1" frameRate="60/2" codecs="avc1.64001e" id="V300" bandwidth="300000">
…
</Representation/>
- 確認
- 使用
$Time$
驗證SegmentTemplate
:- 請確認
SegmentTemplate
元素內含巢狀SegmentTimeline
元素,以便明確指定媒體區隔。 SegmentTimeline S
元素可能包含用於媒體網址的S@t
屬性。- 如未提供,系統會假設第 1 個
S
元素的值為0
。至於後續的S
元素,系統會假設這個值為前一個S
元素最早顯示時間和連續時間長度的總和,也就是前一個S@t + @d * (@r + 1)
。 - 未使用
SegmentTemplate@startNumber
。
<SegmentTemplate timescale="90000" initialization="$RepresentationID$/init.mp4" media="$RepresentationID$/$Time$.m4s">
<SegmentTimeline>
<S t="0" d="270000" r="20" />
</SegmentTimeline>
</SegmentTimeline>
- 如未提供,系統會假設第 1 個
- 請確認
-
Google DAI 支援 ISO-8601 時間長度的時間元件部分,並支援選用整數天數元件:
P0Y0M[n]DT[n]H[n]M[n]S
。系統會依照 1 天 = 24 小時的原則,將天數元件轉換為時間長度,並加到時間元件。奈秒是系統可辨識的最低精細程度。
有效格式範例:
P0Y0M
P0Y0M2D
P2D
PT3H
PT0H3M
P0Y0M0DT0H0M1.000S
P0Y0M1DT2H4M10S
PT0.000000001S
無效格式範例:
P
PT
2007-03-01
P5Y0M1DT2H4M1.000S
P0Y1.5M1DT2H4M1.000S
P0YiM1DT2H4M1.000S
P0Y0M.3DT0H0M1.000S
3h
PT100,000H
字幕
- Google DAI 同時支援 TTML 和 WebVTT 格式的字幕。
- Google DAI 支援透過 MRSS 動態饋給提供的所有補充資訊字幕檔案。
- 系統不會轉換在 DASH 資訊清單中指定的補充資訊字幕檔案,也不會將其顯示在設有條件的資訊清單中。如果必須提供補充資訊字幕,則必須透過 MRSS 動態饋給指定。
不支援的 DASH 資訊清單補充資訊字幕
<AdaptationSet
id="3"
group="3"
contentType="text"
lang="fr"
mimeType="application/ttml+xml"
startWithSAP="1">
<Role schemeIdUri="urn:mpeg:dash:role:2011" value="main" />
<Representation
id="textstream_fra=0"
bandwidth="0">
<BaseURL>sub/tears-of-steel-fr.ttml</BaseURL>
</Representation>
</AdaptationSet>
- 在
AdaptationSet
中指定含有contentType
="text" 且支援SegmentTimeline
的片段式字幕,但字幕區隔的區隔邊界也必須與剪接點標記一致,才能通過驗證。
支援的 DASH 資訊清單片段式字幕
<AdaptationSet
id="2"
group="3"
contentType="text"
lang="en"
mimeType="application/mp4"
codecs="stpp.ttml.im1t"
startWithSAP="1">
<Role schemeIdUri="urn:mpeg:dash:role:2011" value="subtitle" />
<SegmentTemplate
timescale="1000"
initialization="tears-of-steel-en-$RepresentationID$.dash"
media="tears-of-steel-en-$RepresentationID$-$Time$.dash">
<SegmentTimeline>
<S t="0" d="4000" r="140" />
<S d="3000" />
</SegmentTimeline>
</SegmentTemplate>
<Representation
id="texttream_eng=1000"
bandwidth="1000">
</Representation>
</AdaptationSet>
SCTE-35
- 只有在通過下列驗證後,Google DAI 才會將剪接點辨識為 DASH
MPD@Period@EventStream@Event
元素所包含的 SCTE-35 標記:Event@Signal@Binary
元素必須包含 Base64 編碼的 SCTE-35 資料。
僅支援splice_insert
。- 如果
EventStream
元素包含設有 SCTE-35 標記的Events
,@schemeIdUri
必須設為urn:scte:scte35:2014:xml+bin
。 - 您必須設定
EventStream@timescale
,否則系統會假設其設為1
(以秒為單位的時間範圍)。 - 每個
Event
元素都必須設定Event@presentationTime
。 Event@Signal@namespace
必須含有http://www.scte.org/schemas/35/2016
命名空間。EventStream
中的事件必須依Event@presentationTime
排序。
Splice_insert
假設
系統會將EventStream
中的所有splice_insert
標記視為廣告插播刊登位置商機;也就是說,單週期條件設定無法區分關閉提示點和顯示提示點,而是將任何信號視為廣告插播刊登位置商機。- DASH VOD 適用的 Google DAI 不支援分割區隔,因此最多只允許剪接點顯示時間與最近的區隔邊界相距 100 毫秒。
支援 VOD 的平台、分裝器和播放器
平台 |
||
---|---|---|
裝置/瀏覽器 |
版本 |
DRM |
Chrome 瀏覽器 |
66+ |
Widevine |
Firefox 瀏覽器 |
60+ |
Widevine |
Microsoft Edge |
18 |
PlayReady |
Android |
4.4+ |
Widevine |
Chromecast |
Gen2,Ultra (CAF API) |
Widevine |
Roku |
3, 4 (韌體 8.1) |
PlayReady |
分裝器 |
||
---|---|---|
2.1.0 |
多時段支援 |
|
1.47.3 |
多時段支援 |
|
1.11.17 | 單週期支援 |
播放器 |
||
---|---|---|
Shaka |
建議用於測試 |
|
Bitmovin |
||
Exo-Player |
||
Dash.js |