📹 Frigate NVR
Frigate is een open-source NVR met AI-gebaseerde object detectie via Google Coral.
Algemene Info
| Item | Waarde |
|---|---|
| Type | LXC Container op Proxmox |
| IP Adres | 192.168.1.15 |
| VLAN | 1 (Management) |
| Poort | 5000 |
| URL | http://192.168.1.15:5000 |
| RTSP Poort | 8554 |
| Status | 🔧 Op te zetten |
Hardware
| Component | Specificatie |
|---|---|
| AI Accelerator | Google Coral USB TPU |
| Opslag | 2TB externe HDD (via TP-Link UH720) |
| RAM | 3GB toegewezen |
Functies
- ✅ AI Object Detectie - Personen, auto's, dieren herkennen
- ✅ 24/7 Recording - Continue opname
- ✅ Event Clips - Alleen beweging opslaan
- ✅ RTSP Re-stream - Efficiënt stream delen
- ✅ MQTT Events - Integratie met Home Assistant
- ✅ Zones - Specifieke gebieden monitoren
- ✅ Snapshots - Afbeeldingen bij detectie
Camera Configuratie
config.yml
mqtt:
host: 192.168.20.11
port: 1883
user: mqtt_user
password: mqtt_password
detectors:
coral:
type: edgetpu
device: usb
database:
path: /media/frigate/frigate.db
record:
enabled: true
retain:
days: 7
mode: all
events:
retain:
default: 14
mode: motion
snapshots:
enabled: true
retain:
default: 14
cameras:
voordeur:
ffmpeg:
inputs:
- path: rtsp://user:pass@192.168.30.10:554/stream1
roles:
- detect
- record
detect:
width: 1920
height: 1080
fps: 5
objects:
track:
- person
- car
- dog
- cat
zones:
voortuin:
coordinates: 0,1080,400,1080,400,600,0,600
achtertuin:
ffmpeg:
inputs:
- path: rtsp://user:pass@192.168.30.11:554/stream1
roles:
- detect
- record
detect:
width: 1920
height: 1080
fps: 5
objects:
track:
- person
- cat
schuur:
ffmpeg:
inputs:
- path: rtsp://user:pass@192.168.30.12:554/stream1
roles:
- detect
- record
detect:
width: 1920
height: 1080
fps: 5
Zones Configureren
Zones beperken detectie tot specifieke gebieden om false positives te verminderen.
Zone Maken
- Open Frigate UI (http://192.168.1.15:5000)
- Klik op camera
- Klik op tandwiel → Zones
- Teken polygon op beeld
- Kopieer coördinaten naar config.yml
Zone Regels
zones:
oprit:
coordinates: 100,500,300,500,300,200,100,200
objects:
- car
filters:
car:
min_area: 5000
Netwerk & Firewall
Vereiste Firewall Regel
Frigate (VLAN 1) moet bij camera's (VLAN 30):
| Setting | Waarde |
|---|---|
| Name | Allow Frigate to Cameras |
| Source | 192.168.1.15 |
| Destination | VLAN 30 |
| Port | 554 (RTSP), 80 (HTTP) |
| Action | Allow |
Reolink Deurbel (VLAN 20)
Speciale regel nodig voor deurbel in IoT VLAN:
| Setting | Waarde |
|---|---|
| Name | Allow Frigate to Doorbell |
| Source | 192.168.1.15 |
| Destination | Deurbel IP (VLAN 20) |
| Port | 554 |
| Action | Allow |
MQTT Events
Frigate publiceert events naar MQTT:
Topics
| Topic | Inhoud |
|---|---|
frigate/events |
Alle detectie events |
frigate/+/person |
Persoon per camera |
frigate/+/car |
Auto per camera |
frigate/available |
Online status |
Event Voorbeeld
{
"type": "new",
"after": {
"id": "1234567890.123456-abcdef",
"camera": "voordeur",
"label": "person",
"score": 0.89,
"box": [100, 200, 300, 400],
"thumbnail": "/api/events/1234567890.123456-abcdef/thumbnail.jpg"
}
}
Home Assistant Integratie
Via HACS
- Installeer HACS
- HACS → Integrations → Frigate
- Add Integration → Frigate
- URL: http://192.168.1.15:5000
Sensors & Entities
Na integratie beschikbaar:
- camera.voordeur - Live stream
- binary_sensor.voordeur_person - Persoon detectie
- sensor.voordeur_person_count - Aantal personen
- image.voordeur_person - Laatste snapshot
Opslag Beheer
Retentie Aanpassen
Schijfruimte Monitoren
Handmatig Opruimen
Troubleshooting
Camera niet bereikbaar
Symptomen
- "Camera unavailable"
- Zwart beeld
Oplossing:
-
Test RTSP stream:
-
Check firewall regel
- Ping camera:
Coral niet gedetecteerd
Symptomen
- "EdgeTPU not found"
- Detectie werkt niet
Oplossing:
-
Check USB passthrough in LXC config:
-
Herstart container
- Check Coral:
Hoge CPU gebruik
Optimalisaties:
-
Verlaag detect FPS:
-
Verlaag resolutie:
-
Gebruik hardware decoding (indien beschikbaar)
Recordings vullen schijf
- Check retentie settings
- Verminder aantal dagen
- Schakel continue recording uit, alleen events:
Docker Command
docker run -d --name frigate \
--restart unless-stopped \
--privileged \
-p 5000:5000 \
-p 8554:8554 \
-v /opt/frigate/config:/config \
-v /media/frigate:/media/frigate \
-v /dev/bus/usb:/dev/bus/usb \
--shm-size=256m \
ghcr.io/blakeblackshear/frigate:stable