# Fase 7 — Pesquisa, timeline e playback

**Status:** concluída neste ambiente  
**Data:** 2026-08-19  
**URL:** https://vms.restor.app.br/gravacoes

## Princípio

O operador pede **câmera + intervalo**. O sistema resolve os arquivos (qualquer disco) e mostra **uma linha contínua**. Gaps aparecem; fragmentos e `disk_id` não.

## O que foi entregue

- Pesquisa: câmera, grupo, de/até
- Timeline: faixas mescladas (folga 5 s entre segmentos = contínuo) + gaps + marcadores de saúde
- Player: play/pause, seek na barra, ±10 s, 0,5×–4×, tela cheia; no gap, “sem gravação”
- Playback: remux MKV→MP4 (`-c copy`, argv) em cache; URL `/gravacoes/media/{id}` autenticada
- JSON da timeline **sem** `relative_path` / mount

## Aceite

| Critério | Resultado |
|---|---|
| Continuidade sem expor fragmentos/discos | OK |
| Seek em trecho com vídeo | OK (player troca de clip + offset) |
| Gaps visíveis | OK |
| Auth no media | OK |
| Sem `if fabricante` | OK |

## Fora desta fase

Export por intervalo (Fase 8 — concluída), proteção/retenção (Fase 9), WebRTC.
