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.