3.0 KiB
3.0 KiB
Frigate
🎥 Overview
Frigate is an open-source network video recorder (NVR) with real-time AI-based object detection.
It is designed to work with IP cameras and integrates tightly with Home Assistant to provide smart, event-driven automations.
🚀 What it does
- Records video streams from IP cameras
- Performs real-time object detection (people, animals, vehicles, etc.)
- Generates events and snapshots based on detections
- Provides a web UI for live view, recordings, and review
- Integrates with MQTT and Home Assistant
🌐 Website
⚙️ Features
- Real-time object detection using TensorFlow Lite
- Motion detection + object classification
- RTSP camera support
- Event-based recording (not just continuous)
- Timeline and review UI
- MQTT integration for automation
- Multi-camera support
🧠 AI Acceleration
Frigate works best with hardware acceleration:
- Google Coral TPU (recommended) → best performance, low power
- CPU-only → works but limited performance
- GPU acceleration (optional, more complex)
📦 Kubernetes Deployment Notes
- Requires:
- Persistent storage (recordings + config)
- Access to camera streams (RTSP)
- Recommended setup:
- PVC for
/configand/media - Service + Ingress for web UI
- PVC for
- Optional:
- Device passthrough for Coral TPU:
/dev/bus/usb(USB Coral)
- Device passthrough for Coral TPU:
- Considerations:
- High disk I/O (video recording)
- CPU usage if no accelerator is present
📁 Storage Structure
/config→ Frigate configuration (YAML)/media→ recordings, clips, snapshots
🔌 Integrations
- Home Assistant (native integration)
- MQTT broker (required for event communication)
- RTSP cameras (e.g. Reolink)
🎥 Camera Integration
Typical flow:
Camera (RTSP) ↓ Frigate (detects objects) ↓ MQTT (events) ↓ Home Assistant (automations, notifications)
🔐 Authentication
- Built-in authentication for UI
- Can be secured behind:
- Reverse proxy (Ingress / NGINX)
- SSO (e.g. Authentik via OAuth2 proxy)
⚠️ Things to know
- Object detection requires tuning for best results
- CPU-only setups may struggle with multiple cameras
- Storage grows quickly → plan retention policies
- Requires stable RTSP streams from cameras
🧠 Why use it
- Local, privacy-friendly camera processing
- Powerful AI detection without cloud dependency
- Deep integration with Home Assistant
- Efficient event-based recording
🔧 Typical Stack in Undercloud
- Frigate → NVR + AI detection
- Home Assistant → automation + UI
- MQTT (Mosquitto) → event bus
- Reolink cameras → video source
- Coral TPU (optional) → AI acceleration
📝 Example Config Snippet
mqtt:
host: mqtt.apps.undercloud.dev
cameras:
living_room:
ffmpeg:
inputs:
- path: rtsp://user:password@camera-ip/stream
roles:
- detect
- record
detect:
enabled: true
objects:
track:
- person
- dog
- cat