Qu’est-ce que hls.js ?

hls.js est une bibliothèque JavaScript qui lit les flux HLS au moyen de Media Source Extensions dans les navigateurs compatibles. Elle rattache des médias fondés sur M3U8 à un élément vidéo HTML lorsque la prise en charge native de HLS n’est pas disponible.

Fonctionnement de hls.js

hls.js met en œuvre le chargement des listes de lecture, l’adaptation, le démultiplexage ou le transmultiplexage, la mise en mémoire tampon et la reprise après erreur autour de l’interface Media Source Extensions d’un navigateur. Elle alimente en flux élémentaires pris en charge des objets SourceBuffer reliés à un élément vidéo ordinaire. La bibliothèque fournit la logique de diffusion en continu, mais dépend du navigateur pour le décodage final de l’audio et de la vidéo. Les piles de lecture web la placent entre la distribution HLS et les commandes de l’application, tout en privilégiant sélectivement la lecture native lorsque cela convient.

Points clés

  1. hls.js ne peut pas ajouter un décodeur de codec absent du navigateur : Media Source Extensions peut accepter la chaîne de traitement du conteneur alors que les opérations d’ajout échouent malgré tout pour un codec ou un profil non pris en charge.
  2. Les listes de lecture, clés, données d’initialisation et segments provenant d’une autre origine nécessitent des réponses CORS appropriées, car la bibliothèque les récupère au moyen des fonctions réseau du navigateur plutôt que par le chargement multimédia natif opaque.
  3. Les applications devraient utiliser les événements de manifeste, de niveau, de mise en mémoire tampon et d’erreur de la bibliothèque pour la télémétrie et la reprise après erreur ; un rattachement réussi à un élément vidéo ne prouve pas que le flux peut être lu.

Quand hls.js est utile

Les développeurs web utilisent hls.js pour contrôler la lecture adaptative et examiner les événements des flux dans les navigateurs compatibles avec MSE. La prise en charge native de HLS ou une autre solution de repli reste nécessaire lorsque Media Source Extensions n’est pas disponible.

Transformer vos connaissances sur les médias en une chaîne de traitement opérationnelle

Reliez les téléversements, le traitement, l’IA, le stockage et la diffusion via une seule API déclarative — la pile d’encodage, la montée en charge et l’évolution constante des formats sont prises en charge pour vous.

Essayer Transloadit gratuitement