Skip to content

Reproducción del archivo

El archivo grabado está disponible por los mismos protocolos que el directo: HLS y DASH. Además existe una API para consultar los rangos grabados y los previews.

La reproducción del archivo funciona solo en streams con la grabación activada (dvr) — de lo contrario, la solicitud se rechaza con un error claro.

Rebobinado

Una playlist rebobinada N segundos hacia atrás desde el momento actual:

http://server/streaming/v/<stream>/rewind/<seconds>/index.m3u8

Por ejemplo, rewind/3600/ es un timeshift de una hora. El rebobinado une sin costura el archivo con el borde del directo: la playlist empieza en el archivo y continúa con el directo, sin duplicados ni huecos en la costura; LL-HLS (blocking reload, actualizaciones delta) sigue funcionando. Los huecos de grabación se convierten en un EXT-X-DISCONTINUITY estándar.

Reproducción por tiempo absoluto

El intervalo del archivo se fija con los parámetros from/to (UTC en milisegundos) en las URL habituales:

http://server/streaming/v/<stream>/index.m3u8?from=<utc_ms>&to=<utc_ms>
http://server/streaming/v/<stream>/Manifest.mpd?from=<utc_ms>&to=<utc_ms>

La playlist HLS del archivo es una playlist VOD cerrada. En DASH, los huecos de grabación se convierten en Periods, y la línea de tiempo se elige con ?timeline=compact|wallclock — véase DASH.

Qué rangos están grabados

Los intervalos grabados los entrega la HTTP API:

http://server/streaming/dvr-range/<stream>
http://server/streaming/dvr-ranges/<stream>

Note

TODO: formato de respuesta de dvr-range / dvr-ranges.

Previews de fotogramas del archivo

  • Un fotograma JPEG de la pista de capturas: http://server/streaming/dvr-preview-jpeg/<stream>/<track>/image/<utc_ms>.jpg
  • Un fragmento MP4 de un momento del archivo: http://server/streaming/dvr-preview-mp4/<stream>/<utc_ms> — un fragmento corto desde un fotograma clave; para el preview, el servidor elige por sí solo la pista de menor resolución.

Siguientes pasos