“O que aconteceu às 3h12?” tem duas respostas no Pictor, e elas vêm de acervos
diferentes. Escolher o errado devolve 404 numa câmera que tem o vídeo.
Os dois acervos são independentes. Uma câmera pode ter clipe de alarme e não
gravar continuamente — e o contrário também. Se a primeira rota não achou, vale
tentar a segunda antes de dizer ao operador que não há vídeo.
1. O que o alarme mandou guardar
Cada linha já vem tocável. playback_url é um endereço assinado — não é
preciso uma segunda chamada, e você não precisa saber nada do armazenamento.
Três campos que enganam se você não souber:
alarm ausente significa que a gravação não nasceu de um evento
(manual, agendada). A ausência é a informação — não inventamos uma origem para
a linha não ficar vazia.
partial: true significa que a gravação não fechou limpa: o vídeo pode
truncar no fim. Mostre isso ao operador antes de ele concluir que “acabou aí”.
camera_ref vazio acontece quando a câmera foi apagada do cadastro. A
gravação sobrevive à câmera; o identificador que casa com o seu lado, não.
Buscar por texto
q alcança nome de câmera, local, cliente, descrição do evento e conta:
Abrir uma, e achar os outros ângulos
Peça esta rota quando o operador for de fato abrir o vídeo: a assinatura sai
nova, com prazo cheio.
Ela traz related — as outras gravações do mesmo alarme:
Desenhe related na tela. Um evento num local com oito câmeras produz oito
gravações; sem essa lista, quem abre uma não tem como saber que as outras sete
existem — e varrer os ângulos do mesmo instante é o que resolve o atendimento.
2. Voltar a fita
Para câmera que grava sem parar, peça a janela direto:
A resposta é a playlist HLS (application/x-mpegURL), pronta para o player:
start e end são ISO 8601 com fuso. Sem vídeo guardado na janela, 404 —
e 404 aqui quer dizer as duas coisas ao mesmo tempo (“não há vídeo” e “não é
desta chave”), de propósito.
O prazo, de novo
Todo endereço de vídeo aqui é assinado e vence.
Uma ocorrência que guarda o link é uma ocorrência que abre hoje e não abre em
seis meses.