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.

Tokens
127.2K
Snippets
528
Records
1K
Agent score
68%

What's inside Frigate

  1. Overview of Frigate Community Supported Boards

    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.
  2. 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_plate field or a known name as a sub_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) or recognized_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 (as sub_label or recognized_license_plate) and frigate/tracked_object_update (with name and plate).
  3. 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 -rocm Frigate image).
    • Apple Silicon: M1 and newer devices.
    • Intel: OpenVino for Arc GPUs, integrated GPUs, and CPUs.
    • Nvidia GPU: ONNX (used in -tensorrt Frigate image).
    • Nvidia Jetson: TensorRT (used in -tensorrt-jp6 Frigate 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).

  4. 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.
  5. 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.
  6. 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 the frigate/<camera_name>/classification/<model_name> MQTT topic and are available as Home Assistant sensors.
  7. 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.
  8. 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:

    1. 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.
    2. 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.
  9. Understand the EventsSubLabelBody API schema

    The EventsSubLabelBody object 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"
    }
  10. 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.
  11. 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.