¿Qué es hls.js?

hls.js es una biblioteca de JavaScript que reproduce flujos HLS mediante Media Source Extensions en navegadores compatibles. Vincula contenido multimedia basado en M3U8 a un elemento de video HTML cuando HLS nativo no está disponible.

Cómo funciona hls.js

hls.js implementa la carga de listas de reproducción, la adaptación, la demultiplexación o el cambio de contenedor, el almacenamiento en búfer y la recuperación mediante la interfaz Media Source Extensions del navegador. Suministra flujos elementales compatibles a objetos SourceBuffer conectados a un elemento de video normal. La biblioteca proporciona la lógica de transmisión, pero depende del navegador para la decodificación final del audio y el video. Los stacks de reproducción web la sitúan entre la entrega HLS y los controles de la aplicación, y recurren de forma selectiva a la reproducción nativa cuando corresponde.

Datos clave

  1. hls.js no puede añadir un decodificador de códec del que carezca el navegador: Media Source Extensions puede aceptar el flujo de trabajo del contenedor y, aun así, las operaciones de adición de datos pueden fallar por un códec o perfil no compatible.
  2. Las listas de reproducción, las claves, los datos de inicialización y los segmentos de otros orígenes necesitan respuestas CORS adecuadas porque la biblioteca los obtiene mediante las funciones de red del navegador, en lugar de usar la carga multimedia nativa opaca.
  3. Las aplicaciones deberían usar los eventos de manifiesto, nivel, almacenamiento en búfer y error de la biblioteca para la telemetría y la recuperación; una vinculación correcta con un elemento de video no demuestra que el flujo pueda reproducirse.

Cuándo es relevante hls.js

Los desarrolladores web usan hls.js para controlar la reproducción adaptativa e inspeccionar los eventos del flujo en navegadores compatibles con MSE. HLS nativo u otra alternativa siguen siendo necesarios donde Media Source Extensions no está disponible.

Convierte tus conocimientos sobre multimedia en un pipeline funcional

Conecta las subidas, el procesamiento, la IA, el almacenamiento y la entrega mediante una sola API declarativa, mientras nos encargamos por ti del stack de encoding, el escalado y los cambios constantes de formatos.

Prueba Transloadit gratis