A HTTP Live Streaming (HLS) olyan adaptív bitsebességű élő közvetítési videóprotokoll, amely jó minőségű videóstreamelést tesz lehetővé. A DAI az Ad Manager esetében a HLS 3-as verzióját támogatja. Ez az integrációs útmutató részletesen ismerteti a HLS használatára vonatkozó követelményeket és javaslatokat.
Ugrás adott szakaszra
- Lejátszási listák és kiadványcsoportok
- Kodekek és felbontás
- Szegmens időtartama és időbélyeg igazítása
- Folytonossági hiány
- Média titkosítása
Lejátszási listák és kiadványcsoportok
A lejátszási listák GZIP tartalmi kódolással jelennek meg (ajánlott). Az elsődleges lejátszási listákban és szegmensekben lévő változatok abszolút és relatív URL-eket is használhatnak.
Ahhoz, hogy a hirdetési elemek I-FRAME lejátszási listákat, valamint többek között videóhirdetéseket tartalmazhassanak, minden hirdetéseszköz átkódolásra kerül. Az Ad Manager DAI nem hoz létre I-FRAME lejátszási listákat a tartalomból, és nem hoz létre új kiadványcsoportokat a videó és audió kombinációjából.
- Élő lineáris stream: Szükség esetén az I-FRAME lejátszási listákat a kódolónak/csomagolónak kell létrehoznia és feldolgoznia. A kiadványcsoportok úgy jelennek meg, ahogy az élő kódolóban létrehozzák őket.
- Igény szerinti videóközvetítés (VOD): Igény esetén az I-FRAME lejátszási listákat az elsődleges manifestben kell megadni feldolgozáskor. Az Ad Manager akkor jelez hibát, ha a megadott I-FRAME lejátszásilista-fájlhoz nem lehet hozzáférni, vagy a fájlt nem lehet elemezni. A kiadványcsoportok úgy jelennek meg, ahogy az elsődleges manifestben megadják őket.
Kodekek és felbontás
Az élő közvetítésekhez és az igény szerinti videókhoz (VOD) tartozó elsődleges HLS lejátszási listáknak tartalmazniuk kell a választható CODECS
és RESOLUTION
attribútumot. A rendszer ezeket az attribútumokat használja a kódolási beállításoknak megfelelő hirdetések megkeresésére. Ha nincsenek megadva ezek az értékek, a rendszer kizárólag a sávszélesség alapján keres egyezéseket, ami miatt előfordulhat, hogy a hirdetés és a tartalom felbontása és kodekjei nem egyeznek majd. Ez rossz felhasználói élményhez, valamint a különböző eszközökön lejátszási problémákhoz vezethet.
A CODECS
attribútumnak tartalmaznia kell az audio- és videokodekeket is. A kódoló bármikor hozzáadhat vagy eltávolíthat változatokat az elsődleges lejátszási lista URL-címében.
Audiokodekek
A DAI támogatja az AAC audiokodeket. A DAI emellett támogatja az AC-3 és az E-AC-3 kodekeket is.
CODECS
és RESOLUTION
attribútum összes kombinációjának esetében.Gondoskodjon a megfelelő beállításról, hogy a kódoló konzisztens URL-eket használjon minden változat URL-je esetében, megelőzve ezzel a felhasználóknál jelentkező lejátszási problémákat.
Példa
Elsődleges lejátszási lista a CODECS és RESOLUTION attribútummal
#EXTM3U
#EXT-X-VERSION:3
#EXT-X-STREAM-INF:BANDWIDTH=694272,CODECS="avc1.77.41,mp4a.40.2",RESOLUTION=768x432
chunklist_b694272.m3u8
#EXT-X-STREAM-INF:BANDWIDTH=202752,CODECS="avc1.66.31,mp4a.40.2",RESOLUTION=480x270
Chunklist_b202752.m3u8
Szegmens időtartama
A HLS lejátszási listákban a médiaszegmensek időtartamát lebegőpontos, tizedesértékekkel rendelkező számként kell deklarálni. Ügyeljen az időtartam lebegőpontos számainak pontosságára, ugyanis ez segít a hirdetési szünet pontos kezdő és befejező időpontjának meghatározásában. Minél kevésbé pontosak az időtartam értékei, a rendszer annál kevésbé pontosan képes megállapítani, hogy mikor legyen hirdetési szünet a streamben.
Példa
Médiatartalmak lejátszási listája #EXTINF
utasítással
#EXTM3U
#EXT-X-VERSION:3
#EXT-X-TARGETDURATION:10
#EXT-X-MEDIA-SEQUENCE:26
#EXTINF:9.901,
http://media.example.com/wifi/segment26.ts
#EXTINF:9.901,
http://media.example.com/wifi/segment27.ts
#EXTINF:9.501,
http://media.example.com/wifi/segment28.ts
Az időbélyeg igazítása
A lejátszásilista-változatok szegmenseiben lévő megjelenítési időbélyegeknek (Presentation Timestamp, PTS) igazodniuk kell egymáshoz. A „P-frame” és a „B-frame” más képkockákra hivatkozik egy adott képkocka dekódolása érdekében. A H.264 kodek – a jobb tömörítés érdekében – olyan képkockákra hivatkozik, amelyek nem szomszédosak egymással. Mivel e képkockák dekódolása és megjelenítése más képkockáktól függ, a dekódolási időbélyeg (Decode Timestamp, DTS) adja meg a képkockák dekódolásának sorrendjét, míg a PTS adja meg a képkockák megjelenítésének sorrendjét. Tartalmak lejátszásakor az eltérő bitsebességhez való alkalmazkodás során fontos a PTS igazítása. A hirdetésbeillesztés a PTS használatával keresi meg a hirdetésbeillesztési pozíciót.
Megszakítás
A lejátszási listában lévő EXT-X-DISCONTINUITY
címkéknek rendelkezniük kell EXT-X-DISCONTINUITY-SEQUENCE
címkével. Az EXT‑X‑DISCONTINUITY‑SEQUENCE
címke lehetővé teszi az ugyanolyan vagy különböző változatú streamek eltérő megjelenítései közti szinkronizálást.
Média titkosítása
A médiatartalmakat a következőkkel kell titkosítani:
- AES-128 (a teljes szegmenst titkosítja)
- SAMPLE-AES (adott médiatartalmakat, például hangot vagy videót titkosít)
- SAMPLE-AES-CTR.
Az Ad Manager DAI támogatja a DRM technológiát a HLS-streameknél a FairPlay és az egyéb, CMAF/fragmentált MP4 formátumú DRM megoldások segítségével.
Példa
Médiatartalmak lejátszási listája #EXT-X-KEY
címkével
#EXTM3U
#EXT-X-VERSION:3
#EXT-X-TARGETDURATION:10
#EXT-X-MEDIA-SEQUENCE:26
#EXT-X-KEY:METHOD=AES-128,URI="https://media.example.com/asset/key1.php?id=<signature>",IV=<initialization vector>
#EXTINF:9.901,
http://media.example.com/wifi/segment26.ts
#EXTINF:9.901,
http://media.example.com/wifi/segment27.ts
#EXT-X-KEY:METHOD=AES-128,URI="https://media.example.com/asset/key2.php?id=<signature>"
#EXTINF:9.501,
http://media.example.com/wifi/segment28.ts