HTTP Canlı Yayın (HLS), video içeriklerinin yüksek kalitede akışını sağlayan, uyarlanabilir bit hızı canlı video yayını protokolüdür. Ad Manager için DAI, HLS sürüm 3'ü destekler. Bu entegrasyon kılavuzunda HLS kullanımıyla ilgili koşullar ve öneriler ayrıntılı olarak verilmektedir.
Canlı ve seç-izle video için hangi özelliklerin desteklendiğini görmeÖzellik | Canlı doğrusal | Seç-izle video (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 (Oluşturma Grupları) |
||
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 |
* Yalnızca EVENT türündeki oynatma listeleri için canlı yayınlarda desteklenir.
İlgili bölüme git
- Oynatma listeleri ve oluşturma grupları
- Codec'ler ve çözünürlük
- Segment süresi ve Zaman damgası hizalaması
- Süreksizlik
- Medya şifrelemesi
Oynatma listeleri ve oluşturma grupları
Oynatma listelerini, GZIP içerik kodlamasını (önerilen) kullanarak yayınlayın. Ana oynatma listeleri ve segmentlerdeki varyantlar, mutlak URL'leri veya göreli URL'leri kullanabilir.
Tüm reklam öğelerinin kodu, seçenek listeleri dahil olmak üzere I-FRAME oynatma listelerini içerecek şekilde dönüştürülür. Ad Manager DAI, içerikten I-FRAME oynatma listeleri veya video/ses kombinasyonlarına göre yeni Oluşturma Grupları oluşturmaz.
- Canlı doğrusal için: Gerekirse I-FRAME oynatma listeleri, kodlayıcı/paketleyici tarafından oluşturulmalı ve koşullandırılmalıdır. Oluşturma Grupları, Canlı kodlayıcıdan oluşturuldukça yayınlanır.
- Seç-izle video (VOD) için: Gerekirse besleme sırasında ana manifestte I-FRAME oynatma listeleri sağlanmalıdır. Ad Manager, yalnızca sağlanan I-FRAME oynatma listesi dosyasına erişilemiyorsa veya bu dosya ayrıştırılamıyorsa hata verir. Oluşturma Grupları, ana manifestte sağlandıkça yayınlanır.
Codec'ler ve çözünürlük
Canlı yayınlar ve seç-izle video hizmeti (VOD) için HLS ana oynatma listelerinin, isteğe bağlı CODECS
ve RESOLUTION
özelliklerini içermesi gerekir. Bu özellikler, söz konusu kodlama ayarlarıyla eşleşen uygun reklamların bulunması için kullanılır. Bu değerler sağlanmazsa reklamlar yalnızca bant genişliğine göre eşleştirilir ve reklam ile içerik arasında çözünürlük ve codec uyuşmazlığına neden olabilir. Bu durum, birçok farklı cihazda kötü bir kullanıcı deneyimine ve oynatma sorunlarına yol açabilir.
CODECS
özelliği, hem ses hem de video codec'lerini içermelidir. Kodlayıcınız, herhangi bir zamanda varyantları ana oynatma listesi URL'nize ekleyebilir veya bu URL'den kaldırabilir.
Ses codec'leri
DAI, AAC ses codec'ini destekler. DAI ayrıca AC-3 ve E-AC-3 codec'lerini de destekler.
CODECS
ve RESOLUTION
kombinasyonu için varyant akış URL'lerinin tutarlı olmasını sağlayın.Kullanıcılarınızın oynatma sorunlarıyla karşılaşmaması için kodlayıcınızın, her bir varyant URL'si için tutarlı URL'ler sunmasını sağlayacak şekilde yapılandırıldığından emin olmanız gerekir.
Örnek
CODECS ve RESOLUTION içeren bir ana oynatma listesi
#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
Segment süresi
HLS medya oynatma listelerinin, ondalık kayan noktalı sayılar olarak bildirilmiş medya segment sürelerine sahip olması gerekir. Reklam arasının başlayacağı ve biteceği zamanın tam olarak belirlenmesine yardımcı olması için sürenin kayan nokta değerinin doğru olması gerekir. Süre değerlerinin doğruluğu ne kadar düşük olursa sistem de akışta ne zaman reklam arası verileceğini belirleme konusunda o kadar düşük doğrulukta işlem yapabilir.
Örnek
#EXTINF
içeren bir medya oynatma listesi
#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
Zaman damgası hizalaması
Varyant medya oynatma listelerinde bulunan segmentlerdeki Sunu Zaman Damgası (PTS) hizalanmalıdır. P-karesi ve B-karesi, bir karenin kodunun çözülmesi için diğer karelere yönlendirme yapar. H.264 codec'i, daha iyi bir sıkıştırma için bitişik olmayan karelere de yönlendirme yapar. Bu kareler, kod çözme ve sunu için diğer karelere bağlı olduğundan Kod Çözme Zaman Damgası (DTS) karelerin kodunun çözüleceği, PTS ise karelerin sunulacağı sırayı belirtir. Bir öğe oynatılırken farklı bir bit hızına geçiş yaptığınızda PTS'nin hizalanması önemlidir. Reklam eklemede, reklam ekleme konumunun bulunması için PTS kullanılır.
Süreksizlik
Medya oynatma listesindeki herhangi bir EXT-X-DISCONTINUITY
, EXT-X-DISCONTINUITY-SEQUENCE
içermelidir. EXT‑X‑DISCONTINUITY‑SEQUENCE
etiketi, aynı varyant akışının farklı oluşturmaları veya farklı varyant akışları arasında senkronizasyona olanak tanır.
Medya şifrelemesi
Medya içeriğini şifrelemek istiyorsanız içerik aşağıdaki yöntemlerle şifrelenmelidir:
- AES-128 (tüm segmenti şifreler)
- SAMPLE-AES (ses veya video gibi medyaları ayrı ayrı şifreler)
- SAMPLE-AES-CTR.
Ad Manager DAI, FairPlay'in kullanıldığı HLS akışları ve CMAF/parçalı MP4 içeren diğer DRM'ler için DRM teknolojisini destekler.
Örnek
#EXT-X-KEY
içeren bir medya oynatma listesi
#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