Open-source project
blakeblackshear/frigate avatar
blakeblackshear/frigate

Frigate NVR: Local Object Detection for Home Assistant Cameras

NVR with realtime local object detection for IP cameras. Frigate NVR - Realtime Object Detection for IP Cameras \[English\] | 简体中文 A complete and local NVR designed for Home Assistant with AI object detection.

35,911 stars3,598 forksTypeScriptMIT

At a glance

What is it?
Frigate is a local NVR for IP cameras that uses motion detection to trigger TensorFlow object detection, tightly integrated with Home Assistant. This review covers its architecture, setup, and where it falls short.
Who is it for?
Adopt Frigate if you run Home Assistant and want a local, privacy-preserving NVR with object detection that does not rely on cloud services. Do not adopt it if you lack a GPU or AI accelerator, as CPU-only detection will struggle to keep realtime pace.
Can I use it commercially?
Yes. MIT is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
Is it still maintained?
Yes. The repository received new commits within the last day.
What is it written in?
Mainly TypeScript, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on September 15, 2026, and from our analysis. They are not legal advice.

DEEP OPEN-SOURCE ANALYSIS

Why Frigate Exists and Who Needs It

Frigate solves a specific problem: many IP cameras push continuous video to the cloud or to a vendor app, which raises privacy concerns and latency. Frigate is a complete and local NVR designed for Home Assistant, meaning it keeps all video and detection on your own hardware. The target user is a Home Assistant enthusiast who wants AI object detection without sending footage offsite. The README is clear that this is not a general-purpose NVR; it is built around tight integration with Home Assistant via a custom component. If you do not use Home Assistant, you lose the main integration point, though MQTT support gives some flexibility for other systems.

The Core Mechanism: Motion First, Detection Second

The architecture is built on a simple but effective principle: do not run object detection on every frame. Frigate uses a very low overhead motion detection to determine where to run object detection. That means the software first checks for motion in a scene, and only when motion is detected does it send that region to a TensorFlow process for object classification. This is a deliberate trade-off. The README states it is designed to minimize resource use and maximize performance by only looking for objects when and where it is necessary. It also emphasizes realtime over processing every frame, so you may miss events if motion is too subtle or if the detector is busy. The motion detection runs with low overhead, but it is still an extra step that can fail if a camera produces noisy or low-quality video.

Multiprocessing and Detector Separation

Frigate leverages multiprocessing heavily. Object detection with TensorFlow runs in separate processes for maximum FPS. This is not a single-threaded script; the design isolates the detection workload from the video pipeline. The README also notes that it communicates over MQTT for easy integration into other systems, so events and states can be consumed by external automation. The use of separate processes means that a slow detector will not block the rest of the NVR, but it also means you need enough CPU cores or a dedicated accelerator to see the benefit. The README recommends a GPU or AI accelerator, stating that AI accelerators will outperform even the best CPUs with very little overhead. Without such hardware, the separate processes may just saturate your CPU.

Getting It Running: Commands and Configuration

The README does not include installation commands, but it points to the documentation at docs.frigate.video for configuration. The repository itself is the source code, and the primary language is TypeScript, though the core detection uses OpenCV and TensorFlow. To run Frigate, you typically use Docker, as described in the official docs, but that is not in the README. What the README does confirm is that you need to configure object detectors; it references the supported object detectors page. You will need to set up your cameras with RTSP URLs, configure MQTT, and define zones and masks through the built-in editor. The README mentions a built-in mask and zone editor, which suggests configuration is not purely file-based. For a new user, the setup involves more than a single command; you must plan your detector hardware and network topology.

Recording and Live View Features

Frigate records video with retention settings based on detected objects, which is a key feature for a security NVR. You can keep 24/7 recording, but you can also configure it to retain only clips where an object was detected. This is different from a dumb DVR that records everything and fills disks. The README also lists re-streaming via RTSP to reduce the number of connections to your camera. That is a practical feature: if you have multiple viewers, they connect to Frigate, not the camera, which lowers the load on the camera. For live view, it supports WebRTC and MSE for low-latency streaming. The trade-off is that these features require additional configuration and hardware resources. The multi-camera scrubbing and streamlined review workflow shown in screenshots suggest a polished UI, but you need a decent server to run it smoothly.

Limitations and When It Is the Wrong Tool

The biggest limitation is hardware. The README explicitly recommends a GPU or AI accelerator, which means a Raspberry Pi or a low-end NAS may not deliver realtime detection. If you only have a CPU, Frigate will likely struggle to keep up with multiple cameras. Another limitation is that it is designed for Home Assistant; if you are not in that ecosystem, the custom component integration is lost, and you must rely on MQTT alone. The motion detection step can miss objects that move slowly or are static, such as a parked car, because detection only triggers after motion. For a use case like counting people who stand still, this is the wrong tool. Also, the project is in active development, with the latest release being v0.18.0-beta3, so you may encounter bugs in the beta line. The README does not mention a stable release, so you should expect breaking changes between versions.

Alternatives and How They Differ

A common alternative is a commercial NVR like Blue Iris, which runs on Windows and supports AI detection via third-party plugins. Blue Iris uses a different approach: it processes all frames with motion detection but offloads AI to a separate service like DeepStack or CodeProject.AI. Frigate integrates the detection directly into the NVR pipeline and is built for Linux and Home Assistant. Another alternative is Shinobi, an open-source NVR that supports pluggable detectors but does not have the same Home Assistant focus. The key difference is that Frigate puts object detection at the core, with motion as a filter, while others treat AI as an add-on. If you want a self-contained, Home Assistant-native solution, Frigate is the choice; if you prefer a more traditional NVR with optional AI, Blue Iris or Shinobi may fit better.

Maintenance, Upgrades, and License Implications

Frigate is under the MIT License for code, which allows free use, modification, and distribution with attribution. However, the README explicitly states that the Frigate name and logo are trademarks of Frigate, Inc. and are not covered by the MIT License. That means you can fork the code, but you cannot call your fork Frigate or use the logo without permission. The project is actively maintained, with the last push on 2026-08-08 and a series of beta releases for v0.18.0. Upgrading from a beta to a stable version may require configuration changes, as the docs likely detail migration steps. The use of TensorFlow and OpenCV means you must keep those dependencies updated, which can be a maintenance burden. The custom Home Assistant component is a separate repository, so you need to update it in tandem with the core server. Plan for regular upgrades and check the release notes before each one.

Editorial conclusion

Adopt Frigate if you run Home Assistant and want a local, privacy-preserving NVR with object detection that does not rely on cloud services. Do not adopt it if you lack a GPU or AI accelerator, as CPU-only detection will struggle to keep realtime pace. Before deploying, verify your camera model supports RTSP re-streaming and that your hardware meets the detector requirements listed in the official documentation. Check the trademark policy if you plan to use the Frigate name in any commercial or public project.

Official sources

  1. Official documentation
  2. Official README
  3. Project repository
  4. Release notes
Community notes

Community notes