Frigate NVR Documentation
website·Indexed 35 days ago
https://docs.frigate.video/Documentation for Frigate, an open-source NVR with AI object detection. Includes guides on installation, recording management, and integrations with Home Assistant, HomeKit, and MQTT. Features a comprehensive API reference for managing users, events, and storage, as well as troubleshooting guides for GPU acceleration (OpenVINO), Edge TPU (Coral), and go2rtc stream configuration.
What's inside Frigate
- The community support boards framework allows community members to act as code owners for specific SBCs (e.g., Jetson Nano) or detectors. This is used for hardware that requires specific frameworks to accelerate AI and video workloads, which would otherwise be difficult for Frigate maintainers to support globally.
Overview of License Plate Recognition (LPR) in Frigate
Frigate can recognize license plates on vehicles (car, motorcycle, bus, truck, school_bus, garbage_truck) and add the detected characters to the
recognized_license_platefield or a known name as asub_label. LPR continuously refines recognition for moving vehicles and continues for a short period after a vehicle becomes stationary.When a plate is recognized, the data is:
- Added as a
sub_label(if known) orrecognized_license_plate(if unknown) to the tracked object. - Viewable in the Review/History Details pane and Explore Tracked Object Details pane.
- Filterable via the More Filters menu in Explore.
- Published via MQTT topics
frigate/events(assub_labelorrecognized_license_plate) andfrigate/tracked_object_update(withnameandplate).
- Added as a
Overview of supported object detection hardware
Frigate uses dedicated AI accelerators or GPUs for object detection to avoid CPU bottlenecks. Supported hardware backends include:
- Google Coral EdgeTPU: Available in USB, Mini PCIe, and m.2 formats.
- Hailo: Hailo8 and Hailo8L (m.2 or RPi HAT).
- MemryX: MX3 Acceleration module (m.2).
- AMD: ROCm for discrete GPUs (used in
-rocmFrigate image). - Apple Silicon: M1 and newer devices.
- Intel: OpenVino for Arc GPUs, integrated GPUs, and CPUs.
- Nvidia GPU: ONNX (used in
-tensorrtFrigate image). - Nvidia Jetson: TensorRT (used in
-tensorrt-jp6Frigate image). - Rockchip: RKNN for devices with NPUs.
- Synaptics: synap models for devices like Astra Machina.
- AXERA: AXEngine for AXERA AI acceleration.
- CPU: TFLite (not recommended; OpenVINO CPU mode is preferred).
Constraint: Multiple different detector types cannot be mixed for object detection (e.g., you cannot use OpenVINO and Coral EdgeTPU simultaneously).
Overview of Frigate NVR capabilities
Frigate is a local Network Video Recorder (NVR) designed for Home Assistant that uses OpenCV and TensorFlow for real-time AI object detection on IP cameras. Key features include:
- Tight integration with Home Assistant via a custom component.
- Resource-efficient detection: uses low-overhead motion detection to trigger object detection only when necessary.
- High performance: leverages multiprocessing and runs TensorFlow in separate processes to maximize FPS.
- System integration: communicates via MQTT for compatibility with other systems.
- Smart recording: implements retention policies based on detected objects.
- RTSP Re-streaming: reduces the number of direct connections to cameras.
- Combined view: provides a dynamic view of all tracked cameras.
Overview of Frigate Profiles
Profiles allow you to define named sets of camera configuration overrides that can be activated and deactivated at runtime without restarting Frigate. This is useful for switching between modes (e.g., 'Home' vs 'Away') or time-of-day configurations.
Key behaviors:
- Two-level system: Profiles are defined globally, and then specific overrides are defined per camera.
- Inheritance: Only specified settings are overridden; all other settings are inherited from the camera's base configuration.
- Exclusivity: Only one profile can be active at a time. Activating a new profile automatically deactivates the previous one.
- Persistence: The active profile is persisted across restarts (stored in
/config/.profiles). - Runtime Effect: Changes are applied in-memory and take effect immediately.
Overview of Frigate State Classification
State classification allows you to train a custom MobileNetV2 model on a fixed region of camera frames to determine a current state (e.g., a garage door being 'open' or 'closed'). The model can be triggered by a schedule or motion detection. Results are published via thefrigate/<camera_name>/classification/<model_name>MQTT topic and are available as Home Assistant sensors.Overview of Frigate Autotracking behavior
Frigate can automatically move an ONVIF-capable PTZ camera to keep a detected object centered in the frame. Tracking begins when an object of a specified type enters a required zone and continues until the object leaves the frame, the PTZ reaches its movement limit, or tracking is lost. If tracking is lost, Frigate scans the last known region for a specified timeout period. Once tracking ends, the camera returns to a predefined PTZ preset.Use old Android devices as Frigate viewers with Periscope
Periscope is a lightweight Android app (supporting Android 2.2+) that turns old devices or Android TVs into live viewers for Frigate. It supports HTTPS and authentication.Understand the roles of CPU and Detectors in Frigate
Frigate splits the workload between the CPU and the detector (e.g., Google Coral) to optimize performance:
- CPU: Responsible for motion detection. It scans the video stream for movement. Higher resolutions and frame rates increase the CPU load because there is more data to parse.
- Detector: Responsible for object detection. When the CPU detects motion, it sends the specific frames to the detector to identify what the object is. This prevents the detector from being overloaded by constant scanning.
Understand the EventsSubLabelBody API schema
TheEventsSubLabelBodyobject is used within Frigate events to provide detailed information about a sub-label assigned to a detected object. It consists of the label text, a confidence score, and the camera identifier.{ "subLabel": "string", "subLabelScore": 0, "camera": "string" }Send Frigate events to Telegram via Frigate Notify Alert
Frigate Notify Alert sends Frigate events to Telegram as a photo and video media group. It works with standalone Frigate over MQTT (no Home Assistant required) and supports:
- Multiple camera groups (each notifying a separate chat)
- Optional zone filtering
- In-chat buttons to pause notifications for a specific duration.
Generate Frigate configurations using Strix
Strix auto-discovers working stream URLs for IP cameras and generates ready-to-use Frigate configurations. It tests thousands of URL patterns and supports cameras that lack RTSP or ONVIF, covering over 67K camera models.