# Inventário de câmeras — Fase 0

Ferramentas para coletar dados reais via **ONVIF + RTSP/ffprobe**, sem lógica específica de fabricante no núcleo.

## Preparação

1. Copie `cameras.example.yaml` → `cameras.yaml` e preencha **pelo menos 3** câmeras de teste.
2. Crie o venv local (não altera o Python do sistema):

```bash
cd /var/www/html/ipcam/tools/camera-inventory
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
```

3. `ffprobe`/`ffmpeg` precisam estar no PATH para codec/resolução/FPS/bitrate/estabilidade.
   - Se estiverem **AUSENTES**, o inventário ainda tenta ONVIF, mas marca RTSP como incompleto.
   - A Fase 0 **não instala** pacotes automaticamente (evitar alterar o ambiente sem necessidade).

## Comandos

```bash
# Descoberta leve de hosts com portas comuns (80/554/8000/8080) na LAN
python discover_hosts.py --cidr 10.10.15.0/24

# Inventário completo a partir de cameras.yaml
python inventory.py

# Uma câmera só
python inventory.py --only cam01
```

Saídas em `/var/www/html/ipcam/results/cameras/`.

## O que é coletado

- fabricante, modelo
- ONVIF disponível, perfis, URIs RTSP
- stream principal / substream
- codec, resolução, FPS, bitrate, áudio
- estabilidade do stream (amostra curta)
- consumo aproximado de rede (Mbps medido na amostra)
