Was ist HTTP Live Streaming (HLS)? Vor- und Nachteile von HLS

Die Funktionsweise von HLS ist ziemlich einfach. Eine Master-Playlist (auch Master-Manifest genannt) – die Informationen zu Auflösungen, Wiedergaben, Sprachen, Codec usw. enthält – wird an den Player gesendet.
15. Oktober 2023
-
Protokoll gelesen

HTTP Live Streaming wurde in einer turbulenten Zeit geboren. Die Einführung des iPhone im Jahr 2007 bildete den Grundstein für den Smartphone-Krieg. Und damit einher ging ein tektonischer Wandel beim Konsum von Inhalten.

Mobiltelefone waren bereits beliebt. Benutzer waren nicht mehr an ihre Desktops gebunden; Sie konnten unterwegs auf das Internet zugreifen! Es war unvermeidlich, dass Smartphones diesen Trend noch weiter beschleunigen würden. Daher mussten Inhaltsanbieter nun Videos bereitstellen, um mit dieser neuen Mobilität Schritt zu halten.

Aber es gab eine Herausforderung – und zwar eine beträchtliche! Der Flash Player von Adobe war damals der amtierende Champion der Videobereitstellung. Allerdings war Flash für mobile Geräte nicht gut optimiert. Zum einen war es ein Batteriefresser, was für Nutzer, die unterwegs Videos ansehen wollten, ein großes Problem darstellte. Außerdem war Flash nicht für Touchscreens optimiert und bestimmte mobile Betriebssysteme unterstützten es überhaupt nicht.

Apple erkannte schnell, dass ein neuer Standard erforderlich war, der dies gewährleisten konnte RTMP-ähnliche Streams auf Mobilgeräten, nutzen Sie die HTML5-Spezifikation und nutzen Sie die Bandbreite effizienter. Daher wurde 2009 HTTP Live Streaming (HLS) vorgeschlagen. Das Streaming-Protokoll ist seitdem zum De-facto-Standard für die Bereitstellung von Videos auf allen Plattformen und Browsern geworden.

In diesem Artikel werfen wir einen genaueren Blick darauf, was HLS ist, wie ein HLS-Stream funktioniert und wann Sie ihn für Ihre Projekte verwenden sollten.

HTTP Live Streaming (HLS)

HTTP Live Streaming ist ein von Apple entwickeltes adaptives Bitraten-Kommunikationsprotokoll zur Bereitstellung von Video- und Audioinhalten über das Internet. Es nutzt einen der drei wichtigsten Webstandards – das Hypertext Transfer Protocol (HTTP) – zur Datenübertragung zwischen Servern und Clients.

HLS ist auf Zuverlässigkeit und Skalierbarkeit sowie geräte- und plattformübergreifende Leistung ausgelegt. Diese Aspekte machen es ideal für eine Reihe von Streaming-Anwendungen, einschließlich groß angelegter Live-Events und Video-on-Demand (VOD).

Im Vergleich zu anderen adaptiven Bitratentechniken wie MPEG-DASH unterscheidet sich HLS dadurch, dass es mehrere Streams mit unterschiedlichen Bitraten für eine bestimmte Auflösung verwendet. DASH hingegen verwendet einen einzelnen Stream für eine Bitrate bei einer bestimmten Auflösung. Während DASH unter Festnetzbedingungen eine bessere Leistung bietet, hat HLS in der Praxis die Nase vorn!

Die Fähigkeit von HLS, basierend auf der Netzwerkverbindung zwischen verschiedenen Streams zu wechseln, sorgt für eine überlegene Streaming-Leistung. Dies bietet ein beispielloses Benutzererlebnis unter realen Bedingungen, da die Internetgeschwindigkeit immer schwankt, insbesondere in Mobilfunknetzen. Da es sich um ein HTTP-basiertes Protokoll handelt, HLS lässt sich problemlos geräteübergreifend implementierenDies macht es zu einer attraktiven Option für Inhaltsanbieter und Plattformen gleichermaßen.

Wie funktioniert HTTP-Live-Streaming?

Die Funktionsweise von HLS ist ziemlich einfach. An den Player wird eine Master-Playlist (auch Master-Manifest genannt) gesendet, die Informationen zu Auflösungen, Bitratenkombinationen (Wiedergaben), Sprachen, Codec, Metadaten usw. enthält. Jede dieser Wiedergaben verfügt über eine separate Wiedergabeliste (auch als untergeordnetes Manifest bezeichnet), in der ihre Namen, ihre Reihenfolge und die jeweiligen URLs (URIs) aufgeführt sind.

Anschließend lädt der Player diese Playlists herunter und startet die Wiedergabe. Während das Video abgespielt wird, wechselt der Client zwischen den Wiedergabeversionen basierend auf den Netzwerkbedingungen des Geräts. All diese schwere Arbeit wird im Hintergrund erledigt und sorgt für eine unterbrechungsfreie Wiedergabe.

Das Bild oben stellt eine multivariante HLS-Wiedergabeliste dar. Es beginnt mit dem Tag #EXTM3U, der obligatorisch ist und eine erweiterte M3U-Datei darstellt. Das #EXT-X-STREAM-INF informiert den Player darüber, dass die nächste URL (URI) eine andere Playlist-Datei ist, also das untergeordnete Manifest.

Das #EXT-X-STREAM-INF-Tag enthält mehrere Parameter, darunter BANDWIDTH (obere Bitrate in Bits pro Sekunde) und CODECS (RFC-6381-basierte Formatkennungen für Audio und Video, getrennt durch Komma). Der CODECS-Parameter ist optional, wird aber dringend empfohlen. Es informiert darüber, welcher Encoder für Audio- und Videostreams verwendet wird. Das Gleiche gilt für RESOLUTION (Anzeigegröße in Pixel), FRAME-RATE (maximale Bildrate) und AVERAGE-BANDWIDTH (durchschnittliche Bitrate). Für den HDCP-Schutz können Sie auch den Parameter HDCP-LEVEL verwenden. Sie müssen lediglich TYP-0 (für HD-Auflösung) und TYP-1 (für Auflösungen größer als HD) verwenden.

Hier ist ein weiteres Beispiel für eine erweiterte multivariante Playlist.

In diesem Beispiel sehen wir eine Wiedergabeliste mit zwei Gruppen zusätzlicher Audiowiedergaben (dargestellt durch die GRUPPEN-IDs „audio-lo“ und „audio-hi“). Jedes Medienelement (in diesem Fall Audiodateien für verschiedene Sprachen) sollte durch das Tag EXT-X-MEDIA und seinen TYPE (AUDIO, VIDEO, SUBTITLES oder CLOSED-CAPTIONS) dargestellt werden.

Außerdem sollten die Elemente jeder Medienauswahlgruppe mit denselben Merkmalen codiert sein. Sie sollten beispielsweise den gleichen Codec, die gleiche maximale Bandbreite usw. haben.

Was ist die Architektur von HLS?

HTTP-Live-Streaming verfügt über eine dreistufige Architektur – Ursprungsserver, Verteilungsserver (Edge) und Client.

1. Ursprungsserver

Der Ursprungsserver empfängt eine AV-Eingabe und wandelt sie in eine komprimierte Datei um, die zur Verteilung bereit ist. Typischerweise umfasst es einen Medienencoder und einen Stream-Segmentierer. Der Medienencoder kodiert die Mediendatei in kompatible Formate. Der Stream-Segmentierer teilt dann die codierten Medien in kleine Segmente auf und erstellt eine Indexdatei. Die Indexdatei enthält die Metadaten der Mediensegmente.

2. Verteilungsserver (Edge)

Der Verteilungsserver oder ein CDN ist für die Bereitstellung der Inhalte an die Clients verantwortlich. Es besteht aus einem HTTP-Server und einem Medienserver. Der HTTP-Server speichert die Indexdatei und die Mediensegmente. Ein Medienserver streamt die Mediendateien an die Clients.

3. Kunde

Der Client ist dafür verantwortlich, die Inhalte vom Verteilungsserver anzufordern und zu empfangen. Es umfasst einen HTTP-Client oder einen Mediaplayer. Der HTTP-Client fordert die Indexdatei vom HTTP-Server an. Der Media Player fordert dann mithilfe der Indexdatei die Mediensegmente vom Medienserver an und spielt sie ab.

Eigenschaften

HTTP-Live-Streaming verfügt über eine Vielzahl von Funktionen, die es zur ersten Wahl für Inhaltsanbieter machen. Werfen wir einen Blick auf einige seiner Hauptfunktionen:

1. Live-, On-Demand- und Event-Video-Streaming

Eines der besten Dinge an HLS ist, dass es Live-, On-Demand- und Event-Playlists unterstützt. Das bedeutet, dass Sie dasselbe Protokoll zum Livestreamen einer Veranstaltung sowie einer vorhandenen, auf Ihrem Server gespeicherten Videodatei verwenden können. Da bei HLS jedoch die Videoqualität Vorrang vor der Latenz hat, kann die End-to-End-Nutzung des Streaming-Protokolls zu einer Verzögerung von bis zu 45 Sekunden bei Streams führen. Dieses Problem wird normalerweise durch die Verwendung eines anderen Protokolls gelöst (z. B RTMP) zum Verschlucken. Es ist Teil der LL-HLS-Erweiterung und reduziert die Latenz auf ca. 2 Sekunden.

2. Plattformübergreifende Kompatibilität

Ein weiterer großer Vorteil von HLS ist, dass es mit allen gängigen Browsern und Plattformen kompatibel ist. Dazu gehören Safari, Edge, Chrome, Firefox, Android, iOS, tvOS, Playstation 4, Xbox One und mehr. Egal, ob Sie Benutzern Inhalte auf Desktops, Mobilgeräten oder Smart-TVs bereitstellen möchten, HLS ist genau das Richtige für Sie! 

3. Adaptives Bitraten-Streaming

HTTP Live Streaming unterstützt auch mehrere Bitraten. Das bedeutet, dass Sie Ihre Videos für unterschiedliche Geräte und Internetgeschwindigkeiten in unterschiedliche Bitraten kodieren können. Der Client wechselt dann je nach Netzwerkbedingungen automatisch zwischen diesen Darstellungen, um eine nahtlose Videobereitstellung zu gewährleisten. Dies führt zu einem besseren Benutzererlebnis ohne Anzeichen von Pufferung oder Videostreams mit geringer Qualität.

4. Verschlüsselung und Authentifizierung

HTTP Live Streaming unterstützt auch Verschlüsselung und Authentifizierung. Das bedeutet, dass Sie Ihre Videostreams verschlüsseln können, um sie vor unbefugtem Zugriff zu schützen. Sie können Benutzer auch authentifizieren, bevor sie auf Ihre Inhalte zugreifen können. Dies ist besonders nützlich, wenn Sie Inhalte hinter einer Paywall bereitstellen oder den Zugriff auf bestimmte Länder oder Regionen beschränken möchten.

5. Unterstützung für mehrere Sprachen

Eine weitere tolle Sache an HLS ist, dass es mehrere Sprachen unterstützt. Das bedeutet, dass Sie Varianten-Playlists für verschiedene Sprachen erstellen können und der Client basierend auf den Benutzereinstellungen automatisch zwischen ihnen wechselt. Ganz gleich, ob Sie Inhalte auf Englisch, Spanisch, Französisch oder einer anderen Sprache bereitstellen möchten, bei HLS sind Sie an der richtigen Adresse!

6. Untertitel

Untertitel sind eine Funktion, die es gehörlosen oder schwerhörigen Menschen ermöglicht, Audioinhalten zu folgen. HLS unterstützt Untertitel, indem es Ihnen ermöglicht, Untertitel in Ihre Videostreams einzubetten. Diese Untertitel werden dann zusammen mit dem Video auf dem Bildschirm angezeigt, um den Zugriff zu erleichtern.

7. Untertitel

Untertitel ähneln Untertiteln, werden jedoch typischerweise für fremdsprachige Filme oder Fernsehsendungen verwendet, bei denen die Zuschauer möglicherweise nicht mit dem gesprochenen Dialog vertraut sind. Ähnlich wie bei Untertiteln können Sie mit HLS Untertitel in Ihre Videostreams einbetten, sodass diese zusammen mit dem Video selbst auf dem Bildschirm angezeigt werden können.

8. Audiobeschreibungen

Audiodeskriptionen sind eine Art Audiospur, die für blinde oder sehbehinderte Menschen beschreibt, was auf dem Bildschirm passiert. HLS unterstützt Audiobeschreibungsspuren, sogenannte Descriptive Video Service (DVS), indem es Ihnen ermöglicht, sie in Ihre Videostreams einzubetten. Ihr DVS muss mit dem Attribut CHARACTERISTICS="public.accessibility.describes-video" gekennzeichnet sein.

Vorteile der Verwendung des HLS-Protokolls

Nachdem wir uns nun angeschaut haben, was HLS ist und wie es funktioniert, werfen wir einen Blick auf einige seiner wichtigsten Vorteile:

1. Bereitstellung über alle Geräte hinweg

Wie bereits erwähnt, ist eines der besten Dinge an HLS, dass es mit allen gängigen Browsern und Plattformen kompatibel ist. Das bedeutet, dass Sie dasselbe Protokoll verwenden können, um Inhalte an Benutzer auf Desktops, Mobilgeräten, Smart-TVs und mehr zu streamen. Egal, ob Sie Inhalte für Benutzer auf iPhone- oder Android-Geräten bereitstellen möchten, HLS ist das Streaming-Protokoll Ihrer Wahl!

2. Hervorragende Qualität

Beim Streamen digitaler Inhalte ist Qualität von entscheidender Bedeutung. Heutzutage haben Benutzer die Qual der Wahl. Wenn ihnen das, was sie auf Ihrer Website sehen, nicht gefällt, können sie problemlos zur nächsten Website wechseln. Hier glänzt HLS wirklich. Das Streaming-Protokoll nutzt adaptives Bitraten-Streaming, um die Videoqualität automatisch an die Netzwerkbedingungen anzupassen. Dies stellt sicher, dass Benutzer unabhängig von ihrer Internetgeschwindigkeit oder Verbindungsqualität immer ein großartiges Seherlebnis haben!

3. Kosteneffizient

Wenn es um das Streamen digitaler Inhalte geht, sind die Kosten immer ein großes Problem. HTTP Live Streaming ist eine äußerst kostengünstige Lösung, da keine zusätzliche Hardware erforderlich ist. Sie benötigen lediglich einen Standard-Webserver und schon kann es losgehen!

4. Privatsphäre und Sicherheit

Ein weiterer toller Vorteil von HLS ist, dass es Verschlüsselung und Authentifizierung unterstützt. Das bedeutet, dass Sie Ihre Videostreams verschlüsseln können, um sie vor unbefugtem Zugriff zu schützen. Mit HLS können Sie auch Standard-DRM-Lösungen wie Microsoft PlayReady, Google Widevine und Apple FairPlay erstellen. Dies macht HLS auch zur idealen Wahl für Inhalte, die hinter einer Paywall bereitgestellt oder auf bestimmte Länder/Regionen beschränkt werden müssen.

Nachteile der Verwendung des HTTP-Live-Streaming-Protokolls

Während HTTP-Live-Streaming viele Vorteile mit sich bringt, hat es auch einige Nachteile, die Sie kennen sollten, bevor Sie es für Ihre eigenen Projekte verwenden. Werfen wir einen Blick auf einige seiner Hauptnachteile:

1. Latenz

Eine der größten Herausforderungen bei HLS ist die Latenz – die Zeit, die Videodaten benötigen, um vom Server zum Client zu gelangen. Dies kann problematisch sein, wenn Sie Live-Events streamen möchten, bei denen jede Sekunde zählt! Es stehen verschiedene Lösungen zur Verfügung, die dazu beitragen können, diese Latenz zu reduzieren (mehr dazu später), aber Sie sollten dies im Hinterkopf behalten, wenn Sie vorhaben, HLS für Ihr Projekt zu verwenden.

2. Internetgeschwindigkeit

Ein weiterer Nachteil von HLS besteht darin, dass eine Internetgeschwindigkeit von mindestens 400 Kbit/s für Videos in geringer Qualität und bis zu 8 Mbit/s für HD-Qualität erforderlich ist. Dies kann in Gebieten mit schlechter Internetabdeckung oder für Benutzer mit begrenzten Datentarifen ein großes Problem darstellen.

Lösungen für das Latenzproblem

Es stehen verschiedene Lösungen zur Verfügung, die dabei helfen können, die Latenz bei der Verwendung von HLS zu reduzieren. Einige davon sind:

1. Reduzierung der Segmentgröße

Während Apple eine Länge von 6 Sekunden empfiehlt, kann eine Verringerung der Segmentgröße (Zieldauer) dazu beitragen, die Latenz deutlich zu verringern. Dies liegt daran, dass der Client auf ein veröffentlichtes Segment vom Server wartet. Der Server kann es nicht vor der vorgegebenen Zieldauer veröffentlichen. Bevor ein Spieler also überhaupt ein Segment herunterladen kann, wird es bereits um die „Zieldauer“-Sekunden verzögert. Darüber hinaus werden mehrere Segmente als Puffer vorgehalten, um eine nahtlose Zustellung auch in uneinheitlichen Netzwerken zu gewährleisten. Dies umfasst die Kodierung, Verpackung, Wiedergabelistenauflistung und den Download jedes Segments, was die Latenz um das 4- bis 7-fache Ihrer Segmentgröße erhöht.

2. Segmente im Voraus ankündigen

Sie können versuchen, Segmente anzukündigen, bevor sie tatsächlich verfügbar sind. Dies erfolgt durch Setzen des Tags #EXT-X-PRELOAD-HINT, um den wahrscheinlichsten Speicherort des nächsten Streams anzugeben.

3. Verwendung eines anderen Aufnahmeprotokolls

Durch die Verwendung eines anderen Aufnahmeprotokolls wird die serverseitige Kodierung an einen schnelleren Kodierer übertragen, was zu einer höheren Effizienz führt. Sie können auch Low Latency HLS (LL-HLS) verwenden. LL-HLS ist Teil des HLS-Protokolls, es gibt jedoch einige Problemumgehungen. Es hat eine Latenz von (ca. 2-5 Sekunden).

Wann sollte das HLS-Protokoll verwendet werden?

HTTP Live Streaming ist ein äußerst vielseitiges Streaming-Protokoll. Es kann für eine Vielzahl von Anwendungen verwendet werden, darunter Live-Events, On-Demand-Inhalte und mehr. Hier sind einige Situationen, in denen Sie HLS verwenden sollten:

1. Wenn Sie Ihre Zuschauer begeistern möchten

HLS wurde mit dem Ziel entwickelt, den Benutzern ein unterbrechungsfreies und großartiges Seherlebnis zu bieten. Wenn Sie also sicherstellen möchten, dass Ihre Zuschauer beim Ansehen Ihrer Inhalte das bestmögliche Erlebnis haben, ist HLS die richtige Wahl!

2. Wenn Sie Live-Events streamen

HTTP Live Streaming ist die perfekte Wahl für das Streamen von Live-Events wie Sportveranstaltungen, Konzerten, Konferenzen usw. Das Protokoll ist auf Zuverlässigkeit und Skalierbarkeit ausgelegt, sodass Sie große Live-Events ohne Probleme streamen können! Das Einzige, was Sie umgehen müssen, ist die Latenz, für die es ein paar schnelle Lösungen gibt.

3. Wenn Sie ein globales Publikum erreichen möchten

Das Beste an HLS ist, dass es mit allen gängigen Browsern und Plattformen kompatibel ist. Das bedeutet, dass Sie dasselbe Protokoll verwenden können, um Inhalte an Benutzer auf verschiedenen Geräten und in verschiedenen geografischen Regionen bereitzustellen. Wenn Sie also mit Ihren Inhalten ein globales Publikum erreichen möchten, sollte HLS das Streaming-Protokoll Ihrer Wahl sein!

4. Wenn Sie eine einfache Implementierung benötigen

Ein weiterer großer Vorteil von HLS ist, dass es äußerst einfach zu implementieren ist. Sie benötigen lediglich einen Standard-Webserver und können sofort mit dem Streaming von Inhalten beginnen!

Wann sollte das HLS-Protokoll nicht verwendet werden?

Obwohl HTTP-Live-Streaming viele Vorteile mit sich bringt, gibt es auch Situationen, in denen Sie die Verwendung vermeiden sollten. Hier sind einige Situationen, in denen Sie das HLS-Protokoll nicht verwenden sollten:

1. Wenn die Latenz für Sie ein großes Problem darstellt

Wie bereits erwähnt, ist eine der größten Herausforderungen bei HLS die Latenz – die Zeit, die Videodaten benötigen, um vom Server zum Client zu gelangen. Dies kann problematisch sein, wenn Sie Live-Events wie Webkonferenzen oder Sportereignisse streamen möchten! Es gibt verschiedene Lösungen, die dazu beitragen können, diese Latenz zu reduzieren. Sie sollten dies jedoch im Hinterkopf behalten, wenn Sie vorhaben, HLS für Ihr Projekt zu verwenden.

2. Wenn Ihre Bandbreite begrenzt ist

Ein weiterer Nachteil von HLS besteht darin, dass für Videos mit geringer Qualität eine Internetgeschwindigkeit von mindestens 400 Kbit/s erforderlich ist. Alles andere kann nicht nur beim Streaming zu Problemen führen, sondern auch bei der Aufrechterhaltung der Lippensynchronität. Wenn Sie also in diesen Situationen Inhalte für Benutzer bereitstellen möchten, ist HLS möglicherweise nicht die beste Wahl für Sie!

Zum Abschluss...

HTTP Live Streaming ist ein äußerst vielseitiges Streaming-Protokoll. Es bietet viele Vorteile, darunter die Bereitstellung auf allen Geräten, hervorragende Qualität, Kosteneffizienz, Datenschutz und Sicherheit, Unterstützung für mehrere Sprachen, Untertitel, Untertitel und Audiobeschreibungen.

Obwohl es einige Nachteile wie Latenz- und Internetgeschwindigkeitsanforderungen mit sich bringt, stehen verschiedene Lösungen zur Verfügung, die bei der Bewältigung dieser Herausforderungen helfen können. Wenn Sie also nach einem Streaming-Protokoll suchen, das mit allen gängigen Browsern und Plattformen kompatibel ist, eine hervorragende Qualität liefert und einfach zu implementieren ist, sollte HLS Ihre erste Wahl sein!

Es gibt einen Teil der ...

Bauen Sie Ihr Videoimperium auf

Ihr hervorragender Videokanal an einem Ort: Video CMS, Community, Marketing & Analytics.

Hat Ihnen diese Lektüre gefallen?

Bleiben Sie auf dem Laufenden mit den neuesten Nachrichten, Strategien und Erkenntnissen aus der Videobranche, die direkt in Ihren Posteingang gesendet werden!
Marcello Violini
Inhaltsverzeichnis
Teilen Sie diesen Beitrag

Bauen Sie Ihr Videoimperium auf

Ihr hervorragender Videokanal an einem Ort: Video CMS, Community, Marketing & Analytics.
Freies Training & 24-Stunden-Support
99.9 % Betriebszeit in den letzten 12 Monaten
Ernst mit Sicherheit und Datenschutz
Videoverteilungsplattform und Monetarisierung
Kontakt

MERKMALE

FIRMA

Mit Liebe und Leidenschaft in Italien hergestellt.
🌎 Überall genossen
AGB / Bedingungen und Konditionen Datenschutzbestimmungen  Cookies