HLS und DASH: So funktionieren Streamingprotokolle

Vor dem Streaming gab es für Onlinevideos nur einen Weg: erst die gesamte Datei herunterladen, dann abspielen. Ein 500 MB großes Video musste vollständig auf deinem Gerät angekommen sein, selbst wenn du nur die ersten 30 Sekunden sehen wolltest. Streamingprotokolle lösen genau dieses Problem: Sie zerlegen das Video in kleine Teile und spielen es bereits ab, während der Rest noch heruntergeladen wird.

Segmentierung: Der Grundbaustein des Streamings

Nehmen wir das am weitesten verbreitete Protokoll HLS (HTTP Live Streaming, von Apple entwickelt): Der Server zerlegt das vollständige Video in viele kleine Dateien, sogenannte Segmente. Sie sind meist 2–10 Sekunden lang und in MPEG-TS oder fMP4 verpackt. Zusätzlich erzeugt er eine Playlist-Datei (.m3u8), die Reihenfolge und Adressen der Segmente enthält. Der Player ruft zuerst die Playlist ab und lädt dann die Segmente nach Bedarf herunter: Sobald eines abgespielt ist, folgt das nächste, fast ohne Wartezeit.

Online-Videoplayer

Adaptive Bitrate: Warum die Wiedergabe bei schwacher Verbindung nicht stockt

HLS und DASH (Dynamic Adaptive Streaming over HTTP, unter anderem von Microsoft vorangetrieben) stellen für dasselbe Video mehrere Segmentreihen in unterschiedlichen Auflösungen und Bitraten bereit, etwa je eine für 1080p, 720p und 480p. Sie sind alle in einer Master-Playlist aufgeführt. Der Player überwacht Downloadgeschwindigkeit und Pufferfüllstand in Echtzeit: Bei guter Verbindung wechselt er zu einer höheren Bitrate, bei schlechterer zu einer niedrigeren. So läuft die Wiedergabe weiter. Das nennt sich adaptives Bitraten-Streaming (ABR). Deshalb werden Videos in der U-Bahn manchmal automatisch unschärfer.

Warum das Herunterladen eines m3u8-Links so oft scheitert

Wenn du eine .m3u8-URL direkt herunterlädst, erhältst du nur einige KB Text: die Playlist, nicht das Video selbst. Um das Video tatsächlich zu speichern, muss ein Werkzeug die Playlist auswerten, jedes Segment herunterladen und alles in der richtigen Reihenfolge zusammenfügen. Deshalb unterstützen viele Downloader HLS-Videos entweder gar nicht oder benötigen einen gesonderten Schritt zum Zusammenführen der Segmente. TakeVid erkennt Segmente und führt sie automatisch zusammen. Du erhältst also eine vollständige Datei, die sich direkt abspielen lässt.

M3U8-Downloader

  • HLS: Stammt von Apple, verwendet .m3u8-Playlists, wird von iOS und Safari nativ unterstützt und eignet sich sowohl für Liveübertragungen als auch für Abrufvideos.
  • DASH: Ein offener Standard mit .mpd-Manifesten, den unter anderem YouTube und Netflix in großem Umfang einsetzen.
  • Beide nutzen gewöhnliches HTTP, lassen sich gut über CDNs ausliefern und dominieren heute das Streaming.

DASH-Downloader

Zurück zu allen Artikeln