Skip to content

Reprodução do arquivo

O arquivo gravado está disponível pelos mesmos protocolos do ao vivo: HLS e DASH. Há ainda uma API para consultar as faixas gravadas e os previews.

A reprodução do arquivo funciona só em streams com gravação ligada (dvr) — caso contrário, a solicitação é rejeitada com um erro claro.

Retrocesso

Uma playlist retrocedida N segundos para trás a partir de agora:

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

Por exemplo, rewind/3600/ é um timeshift de uma hora. O retrocesso une o arquivo ao ao vivo sem costura: a playlist começa no arquivo e continua no ao vivo, sem duplicatas nem buracos na junção; LL-HLS (blocking reload, atualizações delta) continua funcionando. Os buracos da gravação viram um EXT-X-DISCONTINUITY padrão.

Reprodução por tempo absoluto

O intervalo do arquivo é definido com os parâmetros from/to (UTC em milissegundos) nas URL comuns:

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>

A playlist HLS do arquivo é uma playlist VOD fechada. No DASH, os buracos da gravação viram Periods, e a linha do tempo é escolhida com ?timeline=compact|wallclock — veja DASH.

Quais faixas estão gravadas

Os intervalos gravados são entregues pela HTTP API:

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

Note

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

Previews de quadros do arquivo

  • Um quadro JPEG da pista de capturas de tela: http://server/streaming/dvr-preview-jpeg/<stream>/<track>/image/<utc_ms>.jpg
  • Um fragmento MP4 de um momento do arquivo: http://server/streaming/dvr-preview-mp4/<stream>/<utc_ms> — um fragmento curto a partir de um quadro-chave; para o preview, o servidor mesmo escolhe a pista de menor resolução.

Próximos passos