HTTP-Live-Streaming (HLS)
HLS-Integration
HTTP Live Streaming (HLS) ist ein Live-Streaming-Videoprotokoll mit adaptiver Bitrate, das das Streaming von Videoinhalten in hoher Qualität ermöglicht. Die dynamische Anzeigenbereitstellung für Ad Manager unterstützt HLS-Version 3 . Dieser Integrationsleitfaden beschreibt die Anforderungen und Empfehlungen für die Verwendung von HLS.
Sehen Sie, welche Funktionen für Live und Video-on-Demand unterstützt werdenBesonderheit | Lebe linear | Video-on-Demand (VOD) |
---|---|---|
EXTINF | | |
EXT-X-DATERANGE | | — |
SCTE35-IN | — | |
SCTE35-OUT | — | |
EXT-X-DISCONTINUITY | ||
EXT-X-DISCONTINUITY-SEQUENCE | — | |
EXT-X-ENDLIST | * | |
EXT-XI-FRAME-STREAM-INF | ||
EXT-XI-FRAMES-ONLY | ||
EXT-X-INDEPENDENT-SEGMENTS | ||
EXT-X-KEY | ||
EXT-X-MEDIA (Wiedergabegruppen) | ||
EXT-X-MEDIA-SEQUENCE | — | |
EXT-X-PLAYLIST-TYPE | ||
EXT-X-PROGRAM-DATE-TIME | ||
EXT-X-STREAM-INF | ||
AUDIO | ||
AVERAGE-BANDWIDTH | ||
BANDWIDTH | ||
CLOSED CAPTIONS | ||
CODECS | ||
FRAMERATE | ||
RESOLUTION | ||
SUBTITLES | ||
VIDEO | ||
EXT-X-TARGETDURATION | ||
EXT-X-VERSION |
* Wird in Live-Streams nur für Playlists vom Typ EVENT unterstützt.
Zu einem bestimmten Abschnitt springen
- Wiedergabelisten und Wiedergabegruppen
- Codecs und Auflösung
- Segmentdauer und Zeitstempelausrichtung
- Diskontinuität
- Medienverschlüsselung
Wiedergabelisten und Wiedergabegruppen
Stellen Sie Wiedergabelisten mit GZIP-Inhaltscodierung bereit (empfohlen). Varianten in Master-Playlists und -Segmenten können entweder absolute URLs oder relative URLs verwenden.
Alle Anzeigen-Assets werden transkodiert, um I-FRAME-Wiedergabelisten, einschließlich Slates, einzuschließen. Die dynamische Anzeigenbereitstellung von Ad Manager generiert keine I-FRAME-Playlists aus den Inhalten oder neue Wiedergabegruppen basierend auf Video-/Audiokombinationen.
- Für Live-Linear: I-FRAME-Wiedergabelisten müssen vom Encoder/Packager generiert und aufbereitet werden. Wiedergabegruppen werden geliefert, wie sie vom Live-Encoder generiert werden.
- Für Video-on-Demand (VOD): Bei Bedarf müssen I-FRAME-Wiedergabelisten bei der Aufnahme im Master-Manifest bereitgestellt werden. Ad Manager gibt nur dann einen Fehler aus, wenn auf die bereitgestellte I-FRAME-Wiedergabelistendatei nicht zugegriffen oder sie geparst werden kann. Darstellungsgruppen werden so geliefert, wie sie im Mastermanifest bereitgestellt werden.
Codecs und Auflösung
HLS-Master-Wiedergabelisten für Livestreams und Video-on-Demand-Assets (VOD) müssen die optionalen Attribute CODECS
und RESOLUTION
enthalten. Diese Attribute werden verwendet, um geeignete Anzeigen zu finden, die diesen Codierungseinstellungen entsprechen. Wenn diese Werte nicht bereitgestellt werden, werden Anzeigen nur auf der Grundlage der Bandbreite abgeglichen, was zu einer Nichtübereinstimmung von Auflösung und Codecs zwischen Anzeige und Inhalt führen kann. Dies kann zu einer schlechten Benutzererfahrung und Wiedergabeproblemen auf verschiedenen Geräten führen.
Das CODECS
Attribut muss sowohl die Audio- als auch die Video-Codecs enthalten. Dein Encoder kann jederzeit Varianten zu deiner Master-Playlist-URL hinzufügen oder entfernen.
Audio-Codecs
DAI unterstützt den AAC-Audio-Codec. DAI unterstützt auch die Codecs AC-3 und E-AC-3 (Beta) , die sich derzeit in der Beta-Phase befinden.
CODECS
und RESOLUTION
Kombination konsistent.Sie sollten sicherstellen, dass Ihr Encoder so konfiguriert ist, dass er konsistente URLs für jede Varianten-URL beibehält, um Wiedergabeprobleme für Ihre Benutzer zu vermeiden.
Beispiel
Eine Master-Playlist mit CODECS und 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
Segmentdauer
HLS-Medienwiedergabelisten müssen Mediensegmentdauern aufweisen, die als Dezimal-Gleitkommazahlen deklariert sind. Die Dauer sollte eine Fließkommagenauigkeit haben, um die genaue Zeit zu bestimmen, zu der eine Werbeunterbrechung beginnt und endet. Je ungenauer die Dauerwerte sind, desto ungenauer kann das System bestimmen, wann Werbeunterbrechungen im resultierenden Stream auftreten.
Beispiel
Eine Medienwiedergabeliste mit #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
Zeitstempel-Ausrichtung
Der Präsentationszeitstempel (PTS) über Segmente hinweg in Varianten-Medienwiedergabelisten muss übereinstimmen. P-Frame und B-Frame beziehen sich auf andere Frames, um einen Frame zu decodieren. Der H.264-Codec verweist zur besseren Komprimierung auch auf Frames, die nicht benachbart sind. Da diese Frames zum Decodieren und Präsentieren von anderen Frames abhängen, gibt Decode Timestamp (DTS) eine Sequenz an, nach der Frames decodiert werden, und PTS gibt eine Sequenz an, nach der Frames präsentiert werden. Das Ausrichten von PTS ist wichtig, wenn Sie sich während der Wiedergabe eines Assets an unterschiedliche Bitraten anpassen. Anzeigeneinfügung verwendet PTS, um die Anzeigeneinfügungsposition zu finden.
Diskontinuität
Jede EXT-X-DISCONTINUITY
in der Medienwiedergabeliste muss EXT-X-DISCONTINUITY-SEQUENCE
enthalten. Das EXT‑X‑DISCONTINUITY‑SEQUENCE
Tag ermöglicht die Synchronisierung zwischen verschiedenen Wiedergaben desselben Variant-Streams oder verschiedener Variant-Streams.
Medienverschlüsselung
Wenn Sie die Medieninhalte verschlüsseln möchten, müssen diese mit AES-128 (verschlüsselt das gesamte Segment), SAMPLE-AES (verschlüsselt einzelne Medien wie Audio oder Video) oder SAMPLE-AES-CTR verschlüsselt sein. Apple FairPlay-Stream verwendet SAMPLE-AES.
Ad Manager DAI unterstützt die DRM-Technologie für HLS-Streams mit FairPlay und anderen DRMs mit CMAF/fragmentiertem MP4.
Beispiel
Eine Media-Playlist mit #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
No comments:
Post a Comment