# Princípios de arquitetura (obrigatórios)

## 1. VMS genérico multi-fabricante

O núcleo **não** é específico para Hikvision/HiLook.

Ordem de compatibilidade:

1. ONVIF (descoberta/configuração)
2. RTSP (stream)
3. URL RTSP manual
4. Adapters de fabricante (plugins opcionais)

Proibido no núcleo: `if fabricante == "..."`.

## 2. Recorder Service independente do Laravel

| Componente | Responsabilidade |
|---|---|
| Laravel (painel/API) | Configuração, consulta, UI |
| Recorder Service | Manter FFmpeg vivos e gravar |

**Regras:**

- O Recorder lê configuração/estado (banco ou arquivo gerado) e supervisiona FFmpeg.
- Reiniciar o painel Laravel, `php-fpm` ou o proxy web **não** deve matar processos de gravação.
- Deploy do painel e restart do Recorder são operações **separadas**.
- Health do painel ≠ health da gravação; o Monitor trata as dimensões de forma independente.

Este princípio é requisito de aceite de qualquer fase que implemente gravação.
