Skip to content

O arquivo DVR

O arquivo transforma um canal de «só ao vivo» em um nPVR: o espectador retrocede, alcança o início do programa, assiste ao episódio de ontem. A gravação é feita pelo streamer onde o canal roda; esta página prepara os discos, liga a gravação e mostra como conferir que o arquivo está mesmo sendo gravado e tocado.

Prepare os discos do streamer

O armazenamento do arquivo é uma configuração do streamer, não do canal. Abra o streamer no registro, o bloco DVR das configurações dele:

  • Raiz do arquivo — o diretório onde os discos do arquivo estão montados.
  • Discos — um por dispositivo físico: diretórios filhos da raiz.
  • Verificar montagens antes de gravar — ligado por padrão: um diretório sem montagem própria é reportado como «não montado», e o streamer se recusa a gravar o arquivo na partição raiz do sistema — um jeito garantido de derrubar a máquina junto com o arquivo. Desligue só de forma consciente.

Os discos se montam assim: monte cada disco como diretório filho de um diretório comum — /storage/dvr/disk1, /storage/dvr/disk2, /storage/dvr/disk3 —, indique o diretório comum como Raiz do arquivo e inclua cada disco na lista de discos como seu diretório filho:

Configurações do streamer: a raiz do arquivo e os discos abaixo dela

Pressione Salvar alterações — o central entrega o armazenamento ao streamer, e os indicadores de aplicação mostram quando entrou em vigor. Sem armazenamento configurado a gravação não começa, por mais canais que a peçam.

O streamer local de uma instalação de uma só máquina não é exceção: ele se abre a partir do mesmo registro, e seu armazenamento se configura no mesmo bloco DVR do console.

JBOD em vez de RAID

O subsistema de arquivo do Catena é um application RAID: o próprio streamer distribui a gravação entre dispositivos independentes, ele mesmo percebe um disco caído e continua gravando nos restantes. Por isso os discos são entregues a ele separadamente — JBOD: cada um com seu sistema de arquivos e seu ponto de montagem, como na montagem acima. Perder um disco custa exatamente a parte do arquivo daquele disco: os demais continuam gravando, e o indicador DVR fica vermelho no registro de streamers.

Não recomendamos RAID por hardware nem por software sob o arquivo — e prometemos que com essas soluções de engenharia você vai esbarrar em problemas. A gravação do arquivo é um fluxo contínuo para todos os canais da máquina ao mesmo tempo, e sob essa carga um array se comporta pior que a soma dos seus discos: a degradação ou o rebuild de um único disco freia o array inteiro, e os atrasos e omissões de gravação crescem em todos os canais ao mesmo tempo. É exatamente assim que a sobrecarga do arquivo aparece no gráfico de gravação da aba DVR: as curvas de omissões e atrasos sobem em todos os canais da máquina de uma vez.

Ligue a gravação

Na página do canal abra a aba DVR:

  • Gravar no DVR — liga a gravação.
  • Retenção (horas) — quantas horas de transmissão manter; o que sai da profundidade é apagado sozinho.
  • Tamanho máx. (bytes) — teto de espaço em disco. Os dois limites atuam juntos: o que chegar primeiro apara o arquivo.

Pressione Salvar. Em um ou dois minutos a mesma aba mostra o Estado atual da gravação: um indicador com o veredicto e a janela do arquivo — do início da gravação até agora. Quando o streamer reporta estatísticas estendidas, aparecem aqui também as horas com dados (com buracos, se a gravação foi interrompida), o tamanho do arquivo, as velocidades de gravação ao vivo e o gráfico de gravação — a história dessas velocidades junto com erros e omissões.

A aba DVR: configurações e estado atual da gravação

Vigie a gravação

Na lista de canais, a coluna DVR de um canal com arquivo mostra quanto está de fato gravado, mais um indicador de saúde:

  • Verde — a gravação vai, sem erros.
  • Amarelo — a gravação está degradada (fragmentos gravados com atraso ou pulados), ou o DVR está configurado mas não grava.
  • Vermelho — erros de gravação: dados estão sendo perdidos agora mesmo.
  • Um traço — o canal não tem arquivo configurado.

A lista de canais: a coluna DVR com o indicador de gravação

A saúde dos discos mora do lado do streamer: quando um disco cai ou enche, o indicador DVR do registro de streamers fica vermelho.

O que o espectador recebe

O arquivo é servido pelos mesmos endereços HLS que o ao vivo — o reprodutor não precisa de nada especial:

  • Retrocesso: /streaming/v/<nome>/rewind/<segundos>/index.m3u8 — o mesmo canal deslocado ao passado pelo número de segundos indicado. rewind/3600 é uma hora atrás.
  • Faixas gravadas: /streaming/dvr-ranges/<nome> — JSON com a lista de intervalos gravados. Sobre ele se constroem as linhas do tempo de arquivo nos reprodutores: dá para ver o que está gravado e onde há buracos.
  • Clipe de preview: /streaming/dvr-preview-mp4/<nome>/<utc_ms> — um MP4 curto ao redor de um momento (UTC em milissegundos). Útil para interfaces editoriais e de moderação: mostrar um pedaço do arquivo sem levantar um reprodutor. É montado das miniaturas gravadas no arquivo — configure os previews com «Guardar miniaturas no DVR» ligado, ou o endereço responderá que não há quadros.

Se a gravação não vai

  • «DVR configurado mas não está gravando». Ou o canal não está no ar — não há o que gravar — ou o streamer não tem armazenamento de arquivo configurado. Confira o status do canal e o bloco DVR nas configurações do streamer.
  • «Erros de gravação do arquivo — dados estão sendo perdidos». O disco está cheio, caiu ou não está montado. Olhe o indicador DVR e as configurações de discos no registro de streamers.
  • A janela do arquivo é mais curta que a retenção. É normal logo após ligar: a janela cresce com a gravação e só alcança a profundidade depois dessas horas.