HTTP Live Streaming (HLS) adalah protokol video live streaming dengan kecepatan bit adaptif yang memungkinkan streaming konten video berkualitas tinggi. DAI untuk Ad Manager mendukung HLS versi 3. Panduan integrasi ini menjelaskan persyaratan dan rekomendasi untuk menggunakan HLS.
Melihat fitur yang didukung untuk live dan video on-demandFitur | Linier live | Video on demand (VOD) |
---|---|---|
EXTINF |
||
EXT-X-DATERANGE > SCTE35-IN |
— | |
EXT-X-DATERANGE > SCTE35-OUT |
— | |
EXT-X-DISCONTINUITY |
||
EXT-X-DISCONTINUITY-SEQUENCE |
— | |
EXT-X-ENDLIST |
* | |
EXT-X-I-FRAME-STREAM-INF |
||
EXT-X-I-FRAMES-ONLY |
||
EXT-X-INDEPENDENT-SEGMENTS |
||
EXT-X-KEY |
||
EXT-X-MEDIA (Grup Rendisi) |
||
EXT-X-MEDIA-SEQUENCE |
— | |
EXT-X-PLAYLIST-TYPE |
||
EXT-X-PROGRAM-DATE-TIME |
||
EXT-X-STREAM-INF > AUDIO |
||
EXT-X-STREAM-INF > AVERAGE-BANDWIDTH |
||
EXT-X-STREAM-INF > BANDWIDTH |
||
EXT-X-STREAM-INF > CLOSED CAPTIONS |
||
EXT-X-STREAM-INF > CODECS |
||
EXT-X-STREAM-INF > FRAMERATE |
||
EXT-X-STREAM-INF > RESOLUTION |
||
EXT-X-STREAM-INF > SUBTITLES |
||
EXT-X-STREAM-INF > VIDEO |
||
EXT-X-TARGETDURATION |
||
EXT-X-VERSION |
* Hanya didukung di live stream untuk playlist jenis EVENT.
Langsung ke bagian yang spesifik
- Grup rendisi dan playlist
- Codec dan resolusi
- Durasi segmen dan Penyelarasan stempel waktu
- Penghentian
- Enkripsi media
Grup rendisi dan playlist
Tayangkan playlist menggunakan encoding konten GZIP (disarankan). Varian pada segmen dan playlist master dapat menggunakan URL absolut atau URL relatif.
Semua aset iklan ditranskode untuk menyertakan playlist I-FRAME, termasuk slate (layar pemblokir). DAI Ad Manager tidak membuat playlist I-FRAME dari konten atau membuat Grup Rendisi baru berdasarkan kombinasi video/audio.
- Untuk live linear: Jika diperlukan, playlist I-FRAME harus dibuat dan dikondisikan oleh encoder/packager. Grup Rendisi ditayangkan setelah grup ini dihasilkan oleh encoder Live.
- Untuk video on demand (VOD): Jika diperlukan, playlist I-FRAME harus disediakan di manifes master saat penyerapan. Ad Manager hanya akan menampilkan error jika file playlist I-FRAME yang disediakan tidak dapat diakses atau diurai. Grup Rendisi ditayangkan setelah grup ini disediakan di manifes master.
Codec dan resolusi
Playlist master HLS untuk aset video on demand (VOD) dan live stream harus menyertakan atribut CODECS
dan RESOLUTION
opsional. Atribut tersebut digunakan untuk menemukan iklan yang cocok dengan setelan enkode ini. Jika nilai tersebut tidak diberikan, iklan akan dicocokkan hanya berdasarkan bandwidth dan dapat menyebabkan ketidakcocokan resolusi dan codec antara iklan dan konten. Hal ini dapat menghasilkan pengalaman pengguna yang buruk dan masalah pemutaran di berbagai perangkat.
Atribut CODECS
harus berisi codec audio dan video. Encoder dapat menambah atau menghapus varian ke URL playlist master kapan saja.
Codec audio
DAI mendukung codec audio AAC. DAI juga mendukung codec AC-3 dan E-AC-3.
CODECS
dan RESOLUTION
.Sebaiknya, pastikan encoder dikonfigurasikan untuk mempertahankan URL yang konsisten bagi setiap URL varian, agar pengguna Anda terhindar dari masalah pemutaran.
Contoh
Playlist master dengan CODECS dan RESOLUTION
#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
Durasi segmen
Playlist media HLS harus memiliki durasi segmen media yang dideklarasikan sebagai bilangan titik mengambang desimal (decimal-floating-point). Durasi seharusnya memiliki akurasi floating point untuk membantu menentukan waktu secara presisi kapan jeda iklan akan dimulai dan berakhir. Semakin tidak akurat nilai durasi, semakin tidak akurat pula kemampuan sistem dalam menentukan waktu kemunculan jeda iklan pada streaming yang dihasilkan.
Contoh
Playlist media dengan #EXTINF
#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
Penyelarasan stempel waktu
Stempel Waktu Presentasi (PTS) di seluruh segmen pada playlist media varian harus selaras. Bingkai P dan bingkai B merujuk bingkai lain untuk mendekode suatu bingkai. Codec H.264 juga merujuk bingkai yang tidak berdekatan untuk kompresi yang lebih baik. Karena bingkai ini bergantung pada bingkai lain untuk melakukan dekode dan presentasi, Stempel Waktu Dekode (DTS) memberikan urutan menurut frame yang didekode dan PTS memberikan urutan menurut frame yang dipresentasikan. Anda perlu menyelaraskan PTS ketika beradaptasi dengan kecepatan bit yang berbeda saat pemutaran aset. Penyisipan iklan menggunakan PTS untuk menemukan posisi penyisipan iklan.
Penghentian
Setiap EXT-X-DISCONTINUITY
dalam playlist media harus memiliki EXT-X-DISCONTINUITY-SEQUENCE
. Tag EXT‑X‑DISCONTINUITY‑SEQUENCE
memungkinkan sinkronisasi antara rendisi yang berbeda pada streaming varian yang sama atau streaming varian yang berbeda.
Enkripsi media
Jika Anda ingin mengenkripsi konten media, enkripsi harus dilakukan dengan:
- AES-128 (mengenkripsi seluruh segmen)
- SAMPLE-AES (mengenkripsi masing-masing media, seperti audio atau video)
- SAMPLE-AES-CTR.
DAI Ad Manager mendukung teknologi DRM untuk streaming HLS menggunakan FairPlay dan DRM lainnya dengan MP4 yang terpisah/CMAF.
Contoh
Playlist media dengan #EXT-X-KEY
#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