explaingit

blakeblackshear/frigate

Analysis updated 2026-06-20

31,780TypeScriptAudience · ops devopsComplexity · 4/5LicenseSetup · hard

TLDR

A self-hosted security camera system that uses local AI to tell apart people, cars, and pets from random motion, runs on your own hardware with no cloud subscription needed.

Mindmap

mindmap
  root((Frigate))
    What it does
      Local NVR
      AI object detection
      Smart alerts
    Hardware
      Google Coral TPU
      CPU or GPU fallback
      IP cameras
    Integrations
      Home Assistant
      MQTT
      WebRTC live view
    Tech stack
      Python
      TensorFlow
      OpenCV
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Replace a cloud security camera subscription with a local system that stores footage on your own hardware.

USE CASE 2

Get smart alerts that fire only when a person or car is detected, not on every leaf blowing past the camera.

USE CASE 3

Integrate camera detection events into a Home Assistant automation, like turning on lights when a person is spotted.

USE CASE 4

Record video only when specific objects appear and set retention policies to manage disk space automatically.

What is it built with?

TypeScriptPythonTensorFlowOpenCV

How does it compare?

blakeblackshear/frigatemotiondivision/motioncodex-team/editor.js
Stars31,78031,80231,730
LanguageTypeScriptTypeScriptTypeScript
Setup difficultyhardeasyeasy
Complexity4/52/52/5
Audienceops devopsdeveloperdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · hard Time to first run · 1day+

Requires Docker, IP cameras with RTSP streams, and ideally a Google Coral accelerator for real-time detection, config is non-trivial.

Use freely for any purpose, including commercial use, as long as you keep the copyright notice.

In plain English

Frigate is a self-hosted network video recorder, or NVR, which means it stores video footage from IP cameras on your own hardware rather than uploading it to a cloud service. What sets it apart is that it performs real-time AI-powered object detection locally, so it can distinguish between a person, a car, a pet, or other objects rather than just triggering alerts on any motion. This means far fewer false alarms compared to basic motion-sensing systems. The system works by analyzing the video streams from your cameras using OpenCV for motion detection and TensorFlow for object recognition. It is designed to be efficient: it first uses a lightweight motion detector to identify which parts of the frame are active, then focuses the more expensive AI analysis only on those regions. Object detection runs in separate processes to maximize performance. For the fastest results, Frigate supports dedicated AI accelerator hardware such as Google Coral, though it also runs on a regular CPU or GPU. Frigate integrates tightly with Home Assistant, the popular home automation platform, and communicates over MQTT, a lightweight messaging protocol common in home automation. You can configure it to record video only when specific objects are detected, set retention policies, define zones in the camera frame, and view a live dashboard with low latency through WebRTC. It also re-streams camera feeds via RTSP to reduce the load on your camera hardware. You would use Frigate when you want a privacy-respecting, locally-run security camera system with smart detection, ideally as part of a Home Assistant smart home setup. The frontend is built with TypeScript, and the backend relies on Python and OpenCV with TensorFlow for AI inference. It is licensed under MIT.

Copy-paste prompts

Prompt 1
I want to set up Frigate on a Raspberry Pi with a USB Google Coral to monitor my front door camera. Walk me through the Docker Compose config, camera RTSP stream setup, and first-time detection test.
Prompt 2
How do I configure Frigate to only record when a person is detected, not on general motion, and keep recordings for 7 days?
Prompt 3
Show me how to connect Frigate to Home Assistant via MQTT so I get a notification and a snapshot when a person is detected at my front door.
Prompt 4
I want to define a zone in Frigate so alerts only fire when someone enters my driveway, not the street. How do I set up zones in the config file?

Frequently asked questions

What is frigate?

A self-hosted security camera system that uses local AI to tell apart people, cars, and pets from random motion, runs on your own hardware with no cloud subscription needed.

What language is frigate written in?

Mainly TypeScript. The stack also includes TypeScript, Python, TensorFlow.

What license does frigate use?

Use freely for any purpose, including commercial use, as long as you keep the copyright notice.

How hard is frigate to set up?

Setup difficulty is rated hard, with roughly 1day+ to a first successful run.

Who is frigate for?

Mainly ops devops.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Scan in gitsafehub Deploy in gitdeployhub blakeblackshear on gitmyhub

Verify against the repo before relying on details.