Η Ζωντανή ροή HTTP (HLS) είναι ένα προσαρμόσιμο πρωτόκολλο ροής ζωντανού βίντεο που επιτρέπει τη ροή περιεχομένου βίντεο υψηλής ποιότητας. Το DAI για το Ad Manager υποστηρίζει την έκδοση 3 του HLS. Σε αυτόν τον οδηγό ενσωμάτωσης περιγράφονται λεπτομερώς οι απαιτήσεις και οι προτάσεις για τη χρήση του HLS.
Μετάβαση σε συγκεκριμένη ενότητα
- Playlist και ομάδες απόδοσης
- Κωδικοποιητές και ανάλυση
- Διάρκεια τμήματος και Ευθυγράμμιση χρονικής σήμανσης
- Ασυνέχεια
- Κρυπτογράφηση μέσων
Playlist και ομάδες απόδοσης
Προβάλλετε playlist χρησιμοποιώντας την κωδικοποίηση περιεχομένου GZIP (συνιστάται). Οι παραλλαγές στα κύρια playlist και στα τμήματα μπορούν να χρησιμοποιούν είτε απόλυτα URL είτε σχετικά URL.
Όλα τα στοιχεία διαφημίσεων διακωδικοποιούνται, έτσι ώστε να συμπεριλάβουν τα playlist I-FRAME, συμπεριλαμβανομένων των καρέ. Το Ad Manager DAI δεν δημιουργεί playlist I-FRAME από το περιεχόμενο ή δεν δημιουργεί νέες ομάδες απόδοσης με βάση τους συνδυασμούς βίντεο/ήχου.
- Για ζωντανές γραμμικές ροές: Εάν απαιτείται, τα playlist I-FRAME θα πρέπει να δημιουργηθούν και να ρυθμιστούν με συνθήκες από τον κωδικοποιητή/πρόγραμμα δημιουργίας πακέτου. Οι ομάδες απόδοσης προβάλλονται καθώς δημιουργούνται από τον κωδικοποιητή ζωντανής ροής.
- Για βίντεο κατά απαίτηση (VOD): Εάν απαιτείται, τα playlist I-FRAME θα πρέπει να παρέχονται στο κύριο μανιφέστο κατά την απορρόφηση. Το Ad Manager θα εμφανίσει σφάλμα εάν δεν είναι δυνατή η πρόσβαση ή η ανάλυση του παρεχόμενου αρχείου playlist I-FRAME. Οι ομάδες απόδοσης προβάλλονται όπως παρέχονται στο κύριο μανιφέστο.
Κωδικοποιητές και ανάλυση
Τα κύρια playlist HLS για τις ζωντανές ροές και για τα στοιχεία βίντεο κατά απαίτηση (VOD) πρέπει να περιλαμβάνουν τα προαιρετικά χαρακτηριστικά CODECS
και RESOLUTION
. Αυτά τα χαρακτηριστικά χρησιμοποιούνται για τον εντοπισμό κατάλληλων διαφημίσεων οι οποίες αντιστοιχούν σε αυτές τις ρυθμίσεις κωδικοποίησης. Εάν αυτές οι τιμές δεν παρέχονται, οι διαφημίσεις αντιστοιχούνται αποκλειστικά βάσει του εύρους ζώνης και μπορεί να προκαλέσουν αναντιστοιχία μεταξύ της ανάλυσης και των codec ανάμεσα στη διαφήμιση και στο περιεχόμενο. Αυτό μπορεί να έχει ως αποτέλεσμα κακή εμπειρία χρήστη και προβλήματα αναπαραγωγής σε διαφορετικές συσκευές.
Το χαρακτηριστικό CODECS
θα πρέπει να περιέχει τόσο τον κωδικοποιητή ήχου όσο και τον κωδικοποιητή βίντεο. Ο κωδικοποιητής σας μπορεί να προσθέσει ή να καταργήσει παραλλαγές από το URL του κύριου playlist ανά πάσα στιγμή.
Κωδικοποιητές ήχου
Το DAI υποστηρίζει τον κωδικοποιητή ήχου AAC. Το DAI υποστηρίζει επίσης τους κωδικοποιητές AC-3 και E-AC-3.
CODECS
και RESOLUTION
.Θα πρέπει να διασφαλίσετε ότι ο κωδικοποιητής σας είναι διαμορφωμένος έτσι ώστε να διατηρεί συνεπή URL για κάθε παραλλαγή URL, για να αποτρέπεται η εμφάνιση προβλημάτων αναπαραγωγής στους χρήστες σας.
Παράδειγμα
Ένα κύριο playlist με τα χαρακτηριστικά CODECS και 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
Διάρκεια τμήματος
Τα playlist μέσων HLS πρέπει να διαθέτουν διάρκειες τμημάτων μέσων οι οποίες δηλώνονται με τη μορφή δεκαδικών αριθμών με κινούμενη υποδιαστολή. Η διάρκεια θα πρέπει να έχει κινούμενη υποδιαστολή ακρίβειας για να συμβάλλει στον καθορισμό της ακριβούς διάρκειας, όταν ξεκινά ή σταματά ένα διαφημιστικό διάλειμμα. Όσο λιγότερο ακριβείς είναι οι τιμές διάρκειας, τόσο μικρότερη είναι η ακρίβεια με την οποία μπορεί το σύστημα να καθορίσει πότε προκύπτουν διαφημιστικά διαλείμματα στη ροή που προκύπτει.
Παράδειγμα
Ένα playlist μέσων με #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
Ευθυγράμμιση χρονικής σήμανσης
Η Χρονική σήμανση παρουσίασης (Presentation Timestamp - PTS) στα διάφορα τμήματα στις παραλλαγές playlist μέσων πρέπει να είναι ευθυγραμμισμένη. Τα P-frame και B-frame παραπέμπουν άλλα καρέ στην κωδικοποίηση κάποιου καρέ. Ο κωδικοποιητής H.264 παραπέμπει επίσης σε καρέ τα οποία δεν είναι παρακείμενα, για καλύτερη συμπίεση. Εφόσον αυτά τα καρέ εξαρτώνται από άλλα καρέ για την κωδικοποίηση και την παρουσίασή τους, η Χρονική σήμανση αποκωδικοποίησης (Decode Timestamp - DTS) υποδεικνύει τη σειρά με την οποία αποκωδικοποιούνται τα καρέ και το PTS υποδεικνύει τη σειρά με την οποία παρουσιάζονται τα καρέ. Το PTS ευθυγράμμισης είναι σημαντικό όταν προσαρμόζεστε σε διαφορετικό ρυθμό δυαδικών ψηφίων κατά την αναπαραγωγή κάποιου στοιχείου. Η εισαγωγή διαφήμισης χρησιμοποιεί το PTS για τον εντοπισμό της θέσης εισαγωγής διαφήμισης.
Ασυνέχεια
Κάθε στοιχείο EXT-X-DISCONTINUITY
στο playlist μέσων θα πρέπει να διαθέτει ένα EXT-X-DISCONTINUITY-SEQUENCE
. Η ετικέτα EXT‑X‑DISCONTINUITY‑SEQUENCE
επιτρέπει τον συγχρονισμό μεταξύ διαφορετικών αποδόσεων της ίδιας παραλλαγής ροής ή μεταξύ διαφορετικών παραλλαγών ροής.
Κρυπτογράφηση μέσων
Εάν θέλετε να κρυπτογραφήσετε το περιεχόμενο μέσων, θα πρέπει να κρυπτογραφηθεί με:
- AES-128 (κρυπτογραφεί ολόκληρο το τμήμα)
- SAMPLE-AES (κρυπτογραφεί μεμονωμένα μέσα, όπως ήχο ή βίντεο)
- SAMPLE-AES-CTR.
Το Ad Manager DAI υποστηρίζει την τεχνολογία DRM για ροές HLS που χρησιμοποιούν το FairPlay και άλλα DRM με CMAF/κατακερματισμένο MP4.
Παράδειγμα
Ένα playlist μέσων με #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