Frigate
Local object detection for IP cameras
What is Frigate?
Frigate watches your camera streams and detects people, cars, animals and packages on your own hardware, recording only the events that matter. It turns a pile of RTSP cameras into something searchable without sending footage to a cloud service.
Best for
Camera monitoring that never uploads your footage
Why choose Frigate
Frigate does the one thing that makes camera systems worth having: it detects what matters and keeps only that. It watches your RTSP streams and runs object detection on your own hardware, identifying people, cars, animals and packages, then records the events rather than the entire day. Because everything happens locally, no footage leaves your network and the subscription that commercial cameras require disappears. Its event model means you can search for the moment a person walked up the drive rather than scrubbing through hours of empty footage, and the detection zones let you ignore the pavement while watching the doorway. For anyone with cameras who refuses to send video to a cloud service, it turns an unwieldy pile of recordings into something you can actually use.
Replaces
- Ring
- Nest Cam
- Arlo
Key features
- Real-time object detection on local hardware
- Event-based recording and clip review
- Zones to limit detection to areas of interest
- Home Assistant and MQTT integration
What to watch out for
Object detection is computationally expensive, and the difference between a usable and an unusable setup is usually a Coral accelerator or a GPU rather than a faster CPU. Without dedicated hardware, a couple of high-resolution streams will saturate a modest machine and detection latency becomes noticeable. Storage planning matters, because continuous recording plus events fills disks quickly, and retention policies are a deliberate decision. Detection accuracy depends on camera placement, lighting and resolution — a camera pointing at a busy street will generate noise regardless of the software. Camera configuration is fiddly, and getting consistent streams from inexpensive cameras often means discovering which of their several RTSP URLs actually works.
How to deploy
- Docker with a Coral or GPU for acceleration
- Configure camera feeds and detect zones
- Store recordings on a dedicated volume
Getting started
Set up one camera first with a single high-resolution substream for detection and a lower-resolution stream for viewing, and confirm detections appear before adding more. Plan for a detection accelerator from the beginning if you intend to run more than one or two cameras, because retrofitting hardware after tuning the software wastes the effort. Define detection zones tightly around what you care about rather than analysing the whole frame. Decide retention deliberately — days of continuous recording plus events, or events only — and monitor disk usage for the first week. Keep the recordings on storage that is separate from the system disk, and confirm you can export a clip, because that is the workflow you need when something actually happens.
Typical setup
One instance, usually with storage on a disk separate from the system volume and retention set deliberately for either events only or events plus continuous recording. A detection accelerator is planned for from the start where more than a couple of cameras are involved. Each camera provides a detection stream and a viewing stream, and detection zones are drawn tightly around what actually matters rather than analysing the whole frame. One camera is confirmed working end to end, including exporting a clip, before more are added. Disk usage is monitored during the first week to check that the retention plan matches reality.
Who should look elsewhere
Do not use it on modest hardware without a detection accelerator and expect good results with several cameras, because the compute requirement is real. Avoid it if your cameras only expose a proprietary cloud feed and cannot provide a local stream, since there is nothing for it to analyse. And if all you need is a live view of a doorway with no recording, a plain viewer is far less to operate than a detection pipeline.
Project health
- GitHub stars: 36,313
- Last code push: 2026-10-01
- Open issues: 110
- Status: actively developed
Figures pulled from the GitHub API and refreshed periodically.