Skip to content

Reproducción por HLS y LL-HLS

Todo stream de Sapsan está disponible de inmediato por HLS (fMP4/CMAF) sin configuración adicional. Los streams en vivo reciben por defecto LL-HLS con segmentos parciales.

URL de reproducción

Qué URL
Playlist maestro (todas las calidades) http://server/streaming/v/<stream>/index.m3u8
Playlist de una sola pista http://server/streaming/v/<stream>/variant/<track>/index.m3u8
Rebobinado (rewind) http://server/streaming/v/<stream>/rewind/<segundos-atrás>/index.m3u8
Archivo por tiempo absoluto http://server/streaming/v/<stream>/index.m3u8?from=<utc_ms>&to=<utc_ms>

El playlist maestro lleva las calidades con RESOLUTION, FRAME-RATE y CODECS; el audio pasa a grupos rendition (EXT-X-MEDIA). El audio G.711 (PCMA/PCMU) no se sirve por HLS — transcodifique primero esos streams a AAC.

LL-HLS

Para los streams en vivo Sapsan sirve un LL-HLS completo (versión 9 del protocolo):

  • segmentos parciales EXT-X-PART en el borde en vivo y EXT-X-PRELOAD-HINT para la siguiente parte;
  • blocking playlist reload: los parámetros de cliente _HLS_msn y _HLS_part retienen la petición hasta que aparece el segmento o la parte solicitada;
  • actualizaciones delta del playlist: _HLS_skip=YES acorta el playlist con la etiqueta EXT-X-SKIP;
  • EXT-X-RENDITION-REPORT para un cambio de calidad rápido;
  • PART-HOLD-BACK, CAN-SKIP-UNTIL, HOLD-BACK se calculan automáticamente a partir de las duraciones del segmento y de la parte.

El LL-HLS se puede desactivar por cliente con ?llhls=false — el playlist maestro lo propaga a todas las URLs de las variantes, y el reproductor recibe un HLS clásico (versión 7).

Tokens en los playlists

Si la reproducción está protegida con un token, ?token= se añade automáticamente a todas las URLs anidadas del playlist: variantes, segmentos init, segmentos, partes y preload hints. Al reproductor le basta con abrir el playlist maestro con el token.

Cantidad de segmentos

La longitud del playlist en vivo la fija el parámetro segments del stream:

streams:
  - name: tv1
    inputs:
    - udp: {host: 239.0.0.1, port: 5000}
    segments: 6

Diagnóstico

Sapsan trae incorporado un validador de playlists HLS: estima la latencia esperada y señala problemas de configuración con códigos como LL-DISABLED, TARGETDURATION-INFLATED, PART-TARGET-LARGE, SPARSE-INDEPENDENT-PARTS (un GOP demasiado largo para el LL-HLS).

Note

TODO: cómo ejecutar el validador (CLI/API).

Qué viene después