HTTP Live Streaming
HTTP Live Streaming (HLS) ist ein HTTP-basiertes adaptives Streaming-Protokoll, das von Apple Inc. entwickelt wurde, um Live- und On-Demand-Audio- und...
HTTP Live Streaming
HTTP Live Streaming (HLS) ist ein HTTP-basiertes adaptives Streaming-Protokoll, das von Apple Inc. entwickelt wurde, um Live- und On-Demand-Audio- und Videoinhalte zuverlässig über das Internet an verschiedene Endgeräte zu übertragen. Das Protokoll wurde 2009 eingeführt und hat sich zu einem der meistgenutzten Streaming-Standards weltweit entwickelt.
Überblick
- Typ: Streaming-Protokoll / Technologie
- Entwickler: Apple Inc.
- Erstveröffentlichung: 17. Juni 2009 (mit iOS 3.0)
- Aktuelle Version: Version 7 (RFC 8216, August 2017)
- Hauptentwickler: Roger Pantos (Lead Engineer)
- Standardisierung: RFC 8216 (IETF, Informational Standard)
- Lizenz: Proprietäre Technologie von Apple (mit offener Spezifikation)
- Website: developer.apple.com/streaming
- Dokumentation: Apple Developer Documentation
Geschichte und Entwicklung
Entstehung (2007-2009)
Die Entwicklung von HTTP Live Streaming steht in direktem Zusammenhang mit Apples Einstieg in den Mobiltelefonmarkt im Jahr 2007. Mit der Einführung des iPhone und iOS fehlte dem mobilen Safari-Browser die Unterstützung für Adobe Flash Player. Frühe Smartphones hatten zudem Schwierigkeiten mit Video-Streaming, da das RTSP-Protokoll von QuickTime häufig von Firewalls blockiert wurde und langsame Internetgeschwindigkeiten die Übertragung beeinträchtigten.
Apple entwickelte HLS als firewall-freundliche und effiziente Lösung für diese Probleme. Die erste Spezifikation mit dem Titel “HTTP Live Streaming” wurde am 1. Mai 2009 als Internet Draft (draft-pantos-http-live-streaming-00) von Apple-Ingenieur Roger Pantos veröffentlicht.
Öffentliche Ankündigung und Markteinführung
Apple kündigte HLS öffentlich auf der WWDC 2009 am 8. Juni 2009 an und stellte dabei die Rolle des Protokolls für adaptives Bitrate-Streaming auf iPhone und iPod touch hervor. Das Protokoll startete mit Version 1 am 17. Juni 2009 zusammen mit iOS 3.0 und unterstützte grundlegende MPEG-2 Transport Stream (TS) Segmente für H.264-Video und AAC-Audio, nativ integriert in Safari auf iOS.
Als Apple HLS 2009 erstmals ankündigte, gab es nur zwei Live-Encoder: jeweils einen von Inlet (heute Cisco) und Envivio.
Weiterentwicklung und Standardisierung
| Jahr | Meilenstein |
|---|---|
| 2009 | Erstveröffentlichung mit iOS 3.0 |
| 2016 | WWDC 2016: Unterstützung für fragmentierte MP4-Dateien (fMP4) mit Byte-Range-Adressierung |
| 2017 | RFC 8216 veröffentlicht (Version 7 als Informational Standard) |
| 2019 | WWDC 2019: Ankündigung von Low-Latency HLS (LL-HLS) |
| 2020 | Low-Latency-Spezifikationen zur Hauptspezifikation hinzugefügt (30. April 2020) |
Im August 2017 wurde RFC 8216 veröffentlicht, um Version 7 des Protokolls zu beschreiben. Das Dokument wurde als informationaler RFC-Standard (nicht als IETF Standards Track) publiziert und formalisierte HLS als Internet-Standard über Apples proprietäre Implementierung hinaus.
Technologie und Funktionsweise
Kernfunktionen
Adaptive Bitrate Streaming: Das ursprüngliche Video wird in mehreren unterschiedlichen Qualitätsstufen kodiert, und der Server stellt eine Index-Datei (Master-Playlist) dieser Kodierungen bereit. Der Player kann während der Wiedergabe zwischen den Varianten-Streams wechseln und passt sich nahtlos an sich ändernde Netzwerkbedingungen an.
HTTP-basierte Übertragung: HLS nutzt dasselbe Protokoll, das das Web antreibt, und ermöglicht die Bereitstellung von Inhalten über gewöhnliche Webserver und Content Delivery Networks. HLS zerlegt Videodateien in kleinere, herunterladbare HTTP-Dateien und liefert sie über das HTTP-Protokoll aus.
Zuverlässigkeit und Optimierung: HLS ist auf Zuverlässigkeit ausgelegt und passt sich dynamisch an Netzwerkbedingungen an, indem es die Wiedergabe für die verfügbare Geschwindigkeit von kabelgebundenen und drahtlosen Verbindungen optimiert.
Low-Latency-Unterstützung: Unterstützung für Low-Latency HLS wurde 2019 angekündigt und ist in tvOS 13 beta sowie iOS und iPadOS 14 verfügbar. Am 30. April 2020 fügte Apple die Low-Latency-Spezifikationen zur zweiten Edition der Hauptspezifikation hinzu.
Geräteunterstützung
HLS liefert Live- und On-Demand-Audio und -Video an iPhone, iPad, Apple Watch, Mac, PC und Apple TV. Ursprünglich für iOS- und macOS-Geräte entwickelt, wird HLS heute auf einer Vielzahl von Geräten außerhalb des Apple-Ökosystems eingesetzt und von den meisten Media-Playern, Webbrowsern, mobilen Geräten und Streaming-Media-Servern unterstützt.
Team und Entwicklung
Roger Pantos - HLS Technical Lead
Roger Pantos ist der Erfinder von HTTP Live Streaming und Lead Engineer im Media-Streaming-Team von Apple. Er ist Co-Autor des RFC 8216 “HTTP Live Streaming” und verantwortlich für die HLS-Clients auf iOS, macOS und tvOS. Pantos’ Name steht als alleiniger Autor auf der ursprünglichen HLS-Spezifikation vom 1. Mai 2009.
Er hat maßgeblich zur Entwicklung von Low-Latency HLS (LL-HLS) beigetragen und das Konzept auf der Apple World Wide Developers’ Conference (WWDC 2019) vorgestellt, wo er die Anforderungen zur Reduzierung der Latenz beim HLS-Streaming darlegte. Laut verfügbaren Informationen hält Pantos 66 Patente und ist ein gefragter Redner auf Branchenkonferenzen wie der Streaming Media West.
Marktposition und Verbreitung
HLS hat sich zu einem der weltweit am weitesten verbreiteten Streaming-Protokolle entwickelt. Laut Daten vom Dezember 2025 hat HLS.js einen Marktanteil von 0,5% im Video-Player-Markt und wird auf 0,07% aller Websites erkannt, mit 1.825 verfolgten Websites, die den HLS.js-Video-Player verwenden.
Das Protokoll wird heute weitflächig außerhalb der Apple-Landschaft eingesetzt und ist zum bevorzugten Format für Online-Video-Streaming geworden. Große Streaming-Plattformen wie YouTube Live, Facebook Live und Twitch unterstützen HLS, insbesondere für Stream-Ingestion.
Der globale Video-Streaming-Markt, in dem HLS eine zentrale Rolle spielt, wurde 2024 auf 129,26 Milliarden USD geschätzt und soll 2025 157,11 Milliarden USD erreichen.
Konkurrenz
HLS konkurriert mit mehreren alternativen Streaming-Protokollen:
MPEG-DASH (Dynamic Adaptive Streaming over HTTP)
MPEG-DASH wurde von der Moving Pictures Expert Group (MPEG) als Alternative zum HLS-Standard entwickelt. Es ist ein Open-Source-Standard, der hochgradig anpassbar für jeden Audio- oder Video-Codec ist.
Vorteile gegenüber HLS:
- Codec-agnostisch und offener Standard
- Nutzt ebenfalls Adaptive Bitrate Streaming
- Wird von Netflix, Samsung, Google und Adobe eingesetzt
Nachteile:
- Nicht kompatibel mit Apple-Geräten/iOS
RTMP (Real-Time Messaging Protocol)
RTMP ist ein Flash-basierter Live-Streaming-Standard, der heute noch zum Senden von Video vom RTMP-Encoder zur Online-Video-Plattform verwendet wird. Die meisten modernen Streaming-Plattformen unterstützen RTMP weiterhin für Stream-Ingestion aufgrund seiner Stabilität und niedrigen Latenz-Fähigkeiten.
Einschränkungen:
- Nicht mehr weit verbreitet als Protokoll für Zuschauer, da es auf Adobe Flash basiert, das 2020 offiziell eingestellt wurde
Weitere Alternativen
| Protokoll | Hauptmerkmale |
|---|---|
| WebRTC | Native Unterstützung in allen großen Browsern, Echtzeit-Kommunikation |
| SRT (Secure Reliable Transport) | Open-Source-Protokoll, Alternative zu RTMP und RTSP für First-Mile-Lösungen |
DASH bietet universelle MSE-Unterstützung in modernen Browsern, während RTMP den veralteten Flash Player oder spezialisierte Plugins erfordert. RTMP und SRT eignen sich hervorragend für First-Mile-Contribution, während sowohl DASH als auch HLS bei der Wiedergabe führend sind.
Quellen
- HTTP Live Streaming (HLS) - Apple Developer
- HTTP Live Streaming - Wikipedia
- HTTP Live Streaming | Apple Developer Documentation
- What is HTTP Live Streaming? | HLS streaming | Cloudflare
- What is HLS (HTTP Live Streaming)? | Mux
- RFC 8216 - HTTP Live Streaming
- Roger Pantos - Software engineer @ Apple - Crunchbase
- Streaming Media West: Apple Creates Advanced Experiences With HLS
- HLS, MPEG-DASH, RTMP, and WebRTC - Which Protocol is Right for Your App?
- Video Streaming Protocols - RTMP vs RTSP vs HLS vs WebRTC vs SRT
- HLS.js - Overview, Market Share, Users & Alternatives
Kommentare werden geladen...