ข้ามไปที่: ข้อกําหนดเกี่ยวกับไฟล์ Manifest และเนื้อหา | แพ็กเกจ แพลตฟอร์ม และโปรแกรมเล่น
ไฟล์ Manifest แบบหลายช่วงเวลากับไฟล์ Manifest แบบช่วงเวลาเดียว
Ad Manager รองรับการนำเข้าทั้งไฟล์ Manifest แบบหลายช่วงเวลาและแบบช่วงเวลาเดียวสำหรับ DASH
หากเป็นไฟล์ Manifest แบบช่วงเวลาเดียว ผู้เผยแพร่โฆษณาจะให้สตรีม DASH แบบช่วงเวลาเดียวที่มีเนื้อหาและโอกาสสำหรับช่วงพักโฆษณารวมทั้งหมด ไม่ใช่แบบหลายช่วงเวลาที่จะแยกความแตกต่างของเนื้อหาและโอกาสสำหรับช่วงพักโฆษณา DAI รองรับไฟล์ Manifest แบบช่วงเวลาเดียวโดยการแปลงเป็นไฟล์ Manifest หลายช่วงเวลาในการดึงข้อมูลทุกครั้ง
คุณเลือกไฟล์ Manifest แบบช่วงเวลาเดียวได้เมื่อเปิดใช้การปรับสภาพ
เปิดใช้การปรับสภาพสำหรับ MPEG-DASH แบบช่วงเวลาเดียว
หากต้องการใช้ VOD DAI ให้ตั้งค่าแหล่งที่มาของเนื้อหาเพื่อให้ Google Ad Manager สามารถนำเข้าเนื้อหาวิดีโอออนดีมานด์ (VOD) ได้ DAI จะใช้องค์ประกอบฟีด MRSS เพื่อระบุว่าเนื้อหาควรผ่านการปรับสภาพไฟล์ Manifest แบบ DASH ช่วงเวลาเดียวหรือไม่
- ตั้งค่า
ingestUrl
เป็น URL ของเนื้อหา MPD - ตั้งค่า
preconditioned
เป็น "เท็จ"
หากตั้งค่าปรับสภาพล่วงหน้า
เป็น "จริง" ระบบจะไม่ปรับสภาพไฟล์ Manifest ของ DASH แบบช่วงเวลาเดียวสำหรับช่วงพักโฆษณาตอนกลาง - ไฟล์ Manifest จะแยกตามแอตทริบิวต์
Event@presentationTime
ในไฟล์ Manifest แม้ว่าจุดเริ่มโฆษณาจะไม่สอดคล้องกับสาเหตุต่อไปนี้ - หากไม่มีเอลิเมนต์
EventStream
ในไฟล์ Manifest ระบบจะแยกไฟล์ Manifest ตามจุดเริ่มโฆษณา - จุดเริ่มโฆษณาต้องสอดคล้องกับขอบเขตของกลุ่มสื่อ มิฉะนั้นการปรับสภาพจะไม่สำเร็จ
- กำหนดจุดเริ่มโฆษณาภายใน 100 มิลลิวินาทีของเหตุการณ์
splice_insert
ซึ่งกำหนดโดยค่าจุดเริ่มโฆษณาและแอตทริบิวต์Event@presentationTime
ข้อกําหนดของเนื้อหาและไฟล์ Manifest
สำหรับไฟล์ Manifest แบบหลายช่วงเวลา
ไฟล์ Manifest MPEG-DASH แบบหลายช่วงเวลา
สิ่งที่คาดหวังสำหรับไฟล์ Manifest MPEG-DASH แบบหลายช่วงเวลา
Google DAI จะตรวจสอบความถูกต้องต่อไปนี้ในไฟล์ข้อมูล RAW MPD
การตรวจสอบความถูกต้องขององค์ประกอบ MPD
ตั้งค่าการตรวจสอบองค์ประกอบ MPD ต่อไปนี้
- ประเภท
type
ตั้งค่าเป็นstatic
profiles
ตั้งค่าเป็น:urn:mpeg:dash:profile:isoff-on-demand:2011
urn:mpeg:dash:profile:isoff-live:2011
- ต้องใช้ HTTPS เพื่อให้เนื้อหา DASH ที่อ้างอิงใน MPD เดียวกันมีความสมบูรณ์
การตรวจสอบความถูกต้องขององค์ประกอบ Period
องค์ประกอบของ Period ต้องเป็นดังต่อไปนี้
- แต่ละช่วงเวลาต้องระบุแอตทริบิวต์
duration
- แต่ละช่วงเวลาต้องไม่ระบุแอตทริบิวต์
start
- ชุดการปรับเสียงและวิดีโอต้องสอดคล้องกันในทุกช่วงเวลา
สำหรับไฟล์ Manifest แบบช่วงเวลาเดียว
ไฟล์ Manifest MPEG-DASH แบบช่วงเวลาเดียว (อัลฟ่า)
ฟีเจอร์จะพร้อมใช้งานสำหรับผู้เผยแพร่โฆษณากลุ่มเล็กๆ เท่านั้น
สิ่งที่คาดหวังสำหรับไฟล์ Manifest MPEG-DASH แบบช่วงเวลาเดียว
Google DAI จะตรวจสอบความถูกต้องต่อไปนี้ในไฟล์ MPD ดิบ
ข้อกำหนดด้านเนื้อหา
เนื้อหา DASH ต้องเป็นไปตามกฎทั้งหมดที่ระบุไว้ในคะแนนในการทำงานร่วมกันของ DASH-IF
MPEG-DASH
Google DAI จะทำการตรวจสอบความถูกต้องต่างๆ และตั้งสมมติฐานต่อไปนี้กับไฟล์ข้อมูล RAW MPD
- การตรวจสอบความถูกต้องขององค์ประกอบ MPD:
@profiles
ตั้งค่าเป็นurn:mpeg:dash:profile:isoff-live:2011
- ประเภท
@type
ตั้งค่าเป็นstatic
- MPD มีองค์ประกอบ Period เพียง 1 รายการ
<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
อย่างน้อย 1 รายการ - ต้องมีเอลิเมนต์
EventStream
ที่ฝังอยู่อย่างน้อย 1 รายการซึ่งมีเอลิเมนต์Event
ที่เข้ารหัสด้วยจุดเชื่อมต่อสำหรับช่วงเวลาที่จะแบ่ง ดูข้อกำหนดการเข้ารหัสจุดเชื่อมต่อ SCTE-35
<Period id=”1” start="PT0S">
<AdaptationSet …>
…
</AdaptationSet>
<AdaptationSet …>
…
</AdaptationSet>
</Period>
- Period มีองค์ประกอบ
- ค่าต่อไปนี้จำเป็นสำหรับการตรวจสอบองค์ประกอบ
AdaptationSet
ตรวจสอบว่าAdaptationSet
มีองค์ประกอบ@Representation
อย่างน้อย 1 รายการรองรับชุดการปรับเปลี่ยนภาพขนาดย่อและคำบรรยาย ต้องมีชุดการปรับคำบรรยาย<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/>
- ตรวจสอบว่า
- ตรวจสอบ
SegmentTemplate
ที่มี$Time$
ดังนี้- ตรวจสอบว่าองค์ประกอบ
SegmentTemplate
มีองค์ประกอบSegmentTimeline
ที่ฝังอยู่ เพื่อให้ระบุกลุ่มสื่อได้อย่างชัดเจน - องค์ประกอบ
SegmentTimeline S
อาจมีแอตทริบิวต์S@t
ซึ่งใช้สําหรับ URL ของสื่อ- หากไม่ระบุ ระบบจะถือว่าค่านี้เป็น
0
สําหรับองค์ประกอบS
รายการแรก และสําหรับองค์ประกอบ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>
- หากไม่ระบุ ระบบจะถือว่าค่านี้เป็น
- ตรวจสอบว่าองค์ประกอบ
-
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
- ระบบจะไม่แปลงไฟล์ช่วยเหลือของคำบรรยายที่ระบุในไฟล์ Manifest ของ DASH และจะไม่แสดงในไฟล์ Manifest ที่มีการปรับสภาพ หากต้องมีไฟล์ช่วยเหลือของคำบรรยาย คุณต้องระบุผ่านฟีด MRSS
ไฟล์ช่วยเหลือของคำบรรยายสำหรับไฟล์ Manifest ของ 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
แต่กลุ่มคำบรรยายจะต้องมีการปรับขอบเขตของกลุ่มให้สอดคล้องโดยใช้ตัวทำเครื่องหมายจุดเชื่อมต่อเพื่อให้ผ่านการตรวจสอบความถูกต้อง
คำบรรยายที่แบ่งกลุ่มในไฟล์ Manifest ของ 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 จะรู้จักเฉพาะจุดเชื่อมต่อที่เป็นเครื่องหมาย SCTE-35 ที่ใส่ไว้ในองค์ประกอบ DASH
MPD@Period@EventStream@Event
หากผ่านการตรวจสอบดังต่อไปนี้- ข้อมูล SCTE-35 ที่เข้ารหัส Base64 ต้องแสดงอยู่ในองค์ประกอบ
Event@Signal@Binary
รองรับเฉพาะsplice_insert
เท่านั้น - องค์ประกอบ
EventStream
ที่มีEvents
ที่มี SCTE-35 ต้องตั้งค่า@schemeIdUri
เป็นurn:scte:scte35:2014:xml+bin
- ต้องตั้งค่า
EventStream@timescale
มิเช่นนั้นจะถือว่าตั้งค่าเป็น1
(สเกลเวลาในหน่วยวินาที) - ต้องตั้งค่า
Event@presentationTime
ในองค์ประกอบEvent
แต่ละรายการ Event@Signal@namespace
ต้องมีเนมสเปซhttp://www.scte.org/schemas/35/2016
- เหตุการณ์ใน
EventStream
ต้องจัดเรียงตามEvent@presentationTime
- ข้อมูล SCTE-35 ที่เข้ารหัส Base64 ต้องแสดงอยู่ในองค์ประกอบ
- สมมติฐาน
splice_insert
ตัวทำเครื่องหมายsplice_insert
ทั้งหมดในEventStream
จะถือเป็นโอกาสของตำแหน่งช่วงพักโฆษณา ซึ่งก็คือ การปรับสภาพแบบช่วงเวลาเดียวจะไม่แยกความแตกต่างระหว่าง Cue-out และ Cue-in และจะถือว่าสัญญาณใดๆ เป็นโอกาสในการวางช่วงพักโฆษณาแทน - Google DAI สำหรับ DASH VOD ไม่รองรับการแยกกลุ่ม ดังนั้นจึงอนุญาตเฉพาะค่าความคลาดเคลื่อนที่ยอมได้ที่ 100 มิลลิวินาทีสำหรับเวลานำเสนอของจุดเชื่อมต่อจะอยู่ห่างจากขอบเขตกลุ่มที่ใกล้ที่สุดได้
แพลตฟอร์ม, Packager และโปรแกรมเล่นที่รองรับ 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 |
Packager |
||
---|---|---|
2.1.0 |
การรองรับหลายช่วงเวลา |
|
1.47.3 |
การรองรับหลายช่วงเวลา |
|
1.11.17 | การรองรับช่วงเวลาเดียว |
โปรแกรมเล่น |
||
---|---|---|
Shaka |
แนะนำสำหรับการทดสอบ |
|
Bitmovin |
||
Exo-Player |
||
Dash.js |