HTTP-Livestreaming (HLS) ist ein weit verbreitetes Videostreamingprotokoll, das auf fast jedem Server ausgeführt werden kann und von den meisten Geräten unterstützt wird. Mit HLS können sich Clientgeräte reibungslos auf veränderte Netzwerkbedingungen einstellen. Dazu wird die Qualität des Streams erhöht oder verringert.
Nach Lektüre dieses Artikels können Sie Folgendes:
Ähnliche Inhalte
Was ist MPEG-DASH?
Live-Stream-Verschlüsselung
Was ist Live-Streaming?
Was ist Streaming?
Videocodierungsformate
Abonnieren Sie theNET, Cloudflares monatliche Zusammenfassung der beliebtesten Einblicke in das Internet!
Link zum Artikel kopieren
HTTP Live Streaming (HLS) ist eines der am häufigsten verwendeten Protokolle für Video-Streaming. Auch wenn es HTTP „Live“ Streaming heißt, wird es sowohl für On-Demand-Streaming als auch für Live-Streaming eingesetzt. Bei HLS werden Videodateien in kleinere herunterladbare HTTP-Dateien zerlegt und mithilfe des HTTP-Protokolls übertragen. Client-Geräte laden diese HTTP-Dateien und geben sie dann als Video wieder.
Ein Vorteil von HLS besteht darin, dass alle mit dem Internet verbundenen Geräte HTTP unterstützen. Dadurch ist die Implementierung einfacher als bei Streamingprotokollen, für die spezielle Server erforderlich sind. Außerdem kann bei einem HLS-Stream die Videoqualität abhängig von den Netzwerkbedingungen erhöht oder verringert werden, ohne die Wiedergabe zu unterbrechen. Deshalb kann die Videoqualität mitten in einem Video besser oder schlechter werden, während man es sich ansieht. Dieses Feature nennt man „Bitraten-adaptive Videoübertragung“ oder „Bitraten-adaptives Streaming“. Ohne diese Funktion könnte die Wiedergabe eines Videos insgesamt scheitern, wenn das Netzwerk zu langsam wird.
HLS wurde von Apple für Apple-Produkte entwickelt, inzwischen aber für eine Vielzahl von Geräten verwendet.
Streaming ist eine Methode, visuelle und akustische Medien über das Internet für Benutzer bereitzustellen. Dazu wird die Mediendatei kontinuierlich in kleinen Abschnitten an das Gerät eines Benutzers gesendet und nicht als ganze Datei. Die ursprüngliche Mediendatei ist entweder auf einem Server gespeichert oder wird im Fall von Livestreams in Echtzeit an einem anderen Standort mit einer Kamera oder einem Mikrofon erzeugt. So können Video oder Audio abgespielt werden, ohne dass zuerst die gesamte Datei auf das Gerät des Benutzers heruntergeladen werden muss.
HTTP ist ein Protokoll auf Ebene des Application Layers, mit dem Informationen zwischen Geräten in einem Netzwerk übertragen werden. Alle Websites und Anwendungen für normale Benutzer werden über HTTP ausgeführt. Bei HTTP erfolgt die Datenübertragung normalerweise in Form von Anfragen und Antworten. Fast alle HTTP-Nachrichten sind entweder eine Anfrage oder eine Antwort auf eine Anfrage.
Beim Streaming über HTTP gibt es diese Struktur aus Anfragen und Antworten nicht. Die Verbindung zwischen Client und Server bleibt während des Streams offen, und der Server sendet Videodaten an den Client, sodass der Client nicht jedes Videodatensegment einzeln anfordern muss.
Server: Ein HLS-Stream stammt von einem Server, auf dem die Mediendatei gespeichert ist (On-Demand-Streaming) oder auf dem der Stream erstellt wird (Livestreaming). Da HLS auf HTTP basiert, kann der Stream auf jedem normalen Webserver erzeugt werden.
Die beiden wichtigsten Vorgänge finden auf dem Server statt:
Verteilung: Die codierten Videosegmente werden über das Internet an Clientgeräte gesendet, wenn der Stream von Clientgeräten angefordert wird. An der Verteilung des Streams in unterschiedliche geografische Regionen ist normalerweise ein Content Delivery Network (CDN) beteiligt. Auf einem CDN wird der Stream außerdem im Cache zwischengespeichert, damit er noch schneller für Clients bereitgestellt werden kann.
Clientgerät: Das Clientgerät ist das Gerät, auf dem der Stream empfangen und das Video wiedergegeben wird, zum Beispiel ein Smartphone oder Laptop des Benutzers. Das Clientgerät nutzt die Indexdatei als Referenz für die Zusammenstellung des Videos und wechselt bei Bedarf von einer höheren zu einer niedrigeren Bildqualität (und umgekehrt).
Einer der Vorteile von HLS gegenüber anderen Streamingprotokollen ist das Streaming mit adaptiver Bitrate. Damit ist die Möglichkeit gemeint, die Videoqualität mitten in einem Stream anzupassen, wenn sich die Netzwerkbedingungen ändern. Dadurch können Videos auch bei Beeinträchtigungen des Netzwerks weiter abgespielt werden. Umgekehrt wird die Videoqualität so hoch eingestellt, wie sie vom Netzwerk unterstützt werden kann.
Wenn das Netzwerk langsamer wird, erkennt dies der Videoplayer des Benutzers und die Qualität des Streams wird durch das Bitraten-adaptives Streaming verringert, damit das Video weiter abgespielt wird. Wenn mehr Netzwerkbandbreite verfügbar wird, verbessert Bitraten-adaptives Streaming die Qualität des Streams.
Bitraten-adaptives Streaming wird dadurch möglich, dass bei HLS während des Segmentierungsvorgangs mehrere Duplikate des segmentierten Streams in unterschiedlichen Qualitätsstufen erstellt werden. Der Videoplayer des Benutzers kann während der Videowiedergabe übergangslos von einem dieser Streams zu einem anderen wechseln.
TCP und UDP sind Transportprotokolle, also für die Bereitstellung von Inhalten über das Internet zuständig. TCP liefert Daten in der Regel zuverlässiger als UDP, aber UDP ist viel schneller, wobei einige Daten während der Übertragung verloren gehen können.
Weil UDP schneller ist, arbeiten einige Streamingprotokolle mit UDP statt TCP. Bei HLS wird jedoch TCP eingesetzt. Dafür gibt es mehrere Gründe:
Es gibt eine Reihe von Protokollen, die HLS ähnlich sind, etwa MPEG-DASH und HDS, die auch über HTTP ausgeführt werden und Bitraten-adaptives Streaming ermöglichen. Adobe Flash, das über RTMP oder HDS ausgeführt wurde, war früher die wichtigste Videostreamingtechnologie. Viele Browser unterstützen Flash jedoch nicht mehr. RTMP wird immer noch verwendet, obwohl es immer seltener unterstützt wird.
Cloudflare unterstützt HLS sowohl für On-Demand- als auch für Live-Streaming. Cloudflare Stream integriert Videospeicherung, Codierung und einen anpassbaren Player in das schnelle, sichere und zuverlässige Cloudflare-Netzwerk, das sich über 335 Städte in über 125 Ländern erstreckt. Dies ermöglicht es Benutzern auf der ganzen Welt, schnelle und qualitativ hochwertige HLS-Streams zu empfangen. Erfahren Sie mehr über Cloudflare Stream.