Was ist hls.js?

hls.js ist eine JavaScript-Bibliothek, die HLS-Streams mithilfe von Media Source Extensions in kompatiblen Browsern wiedergibt. Sie bindet M3U8-basierte Medien an ein HTML-Videoelement an, wenn natives HLS nicht verfügbar ist.

So funktioniert hls.js

hls.js implementiert das Laden von Playlists, die adaptive Anpassung, Demultiplexing oder Transmuxing, Pufferung und Fehlerbehebung auf Basis der Media-Source-Extensions-Schnittstelle eines Browsers. Die Bibliothek speist unterstützte Elementarstreams in SourceBuffer-Objekte ein, die mit einem normalen Videoelement verbunden sind. Sie stellt die Streaming-Logik bereit, verlässt sich für das abschließende Decodieren von Audio und Video jedoch auf den Browser. In Web-Wiedergabesystemen liegt sie zwischen der HLS-Auslieferung und der Anwendungssteuerung, wobei sie gegebenenfalls gezielt die native Wiedergabe nutzt.

Wichtige Fakten

  1. hls.js kann keinen Codec-Decoder ergänzen, der dem Browser fehlt: Media Source Extensions können den Container-Workflow akzeptieren, während Anhängevorgänge wegen eines nicht unterstützten Codecs oder Profils dennoch fehlschlagen.
  2. Playlists, Schlüssel, Initialisierungsdaten und Segmente von anderen Ursprüngen benötigen geeignete CORS-Antworten, da die Bibliothek sie mit den Netzwerkfunktionen des Browsers abruft und nicht über dessen native, für die Anwendung undurchsichtige Medienladefunktion.
  3. Anwendungen sollten die Manifest-, Qualitätsstufen-, Pufferungs- und Fehlerereignisse der Bibliothek für Telemetrie und Fehlerbehebung nutzen. Eine erfolgreiche Anbindung an ein Videoelement belegt nicht, dass der Stream abspielbar ist.

Wann hls.js relevant ist

Webentwickler nutzen hls.js, um die adaptive Wiedergabe zu steuern und Stream-Ereignisse in MSE-fähigen Browsern zu untersuchen. Wo Media Source Extensions nicht verfügbar sind, bleibt natives HLS oder eine andere Ausweichlösung erforderlich.

Machen Sie aus Medienwissen eine funktionierende Pipeline

Verbinden Sie Uploads, Verarbeitung, KI, Storage und Auslieferung über eine deklarative API – um Encoding-Stack, Skalierung und ständig wechselnde Formate müssen Sie sich nicht selbst kümmern.

Transloadit kostenlos ausprobieren