NVR with realtime local object detection for IP cameras
Go to file
gtsiam a468ed316d
Added stop_event to util.Process (#14142)
* Added stop_event to util.Process

util.Process will take care of receiving signals when the stop_event is
accessed in the subclass. If it never is, SystemExit is raised instead.

This has the effect of still behaving like multiprocessing.Process when
stop_event is not accessed, while still allowing subclasses to not deal
with the hassle of setting it up.

* Give each util.Process their own logger

This will help to reduce boilerplate in subclasses.

* Give explicit types to util.Process.__init__

This gives better type hinting in the editor.

* Use util.Process facilities in AudioProcessor

Boilerplate begone!

* Removed pointless check in util.Process

The log_listener.queue should never be None, unless something has gone
extremely wrong in the log setup code. If we're that far gone, crashing
is better.

* Make sure faulthandler is enabled in all processes

This has no effect currently since we're using the fork start_method.
However, when we inevidably switch to forkserver (either by choice, or
by upgrading to python 3.14+) not having this makes for some really fun
failure modes :D
2024-10-03 11:03:43 -06:00
.cspell Work through most of the cspell warnings in python (#13794) 2024-09-17 10:41:46 -05:00
.devcontainer Removed usage of PyYAML for config parsing. (#13883) 2024-09-22 10:56:57 -05:00
.github Bump docker/login-action from 3.2.0 to 3.3.0 (#12555) 2024-10-01 06:03:55 -06:00
.vscode Fix vscode launch configuration (#13795) 2024-09-17 10:42:10 -05:00
config
docker Fix shared memory frames being stuck when a camera capture crashed (#14140) 2024-10-03 09:31:07 -06:00
docs Clean up hwaccel docs (#14117) 2024-10-02 08:58:53 -05:00
frigate Added stop_event to util.Process (#14142) 2024-10-03 11:03:43 -06:00
migrations Implement support for notifications (#12523) 2024-08-29 20:19:50 -06:00
notebooks Adds support for YOLO-NAS in OpenVino (#11645) 2024-06-07 05:52:08 -06:00
web Fix alert thumbnails on iOS and safari desktop (#14121) 2024-10-02 13:49:52 -06:00
.dockerignore
.gitignore Removed usage of PyYAML for config parsing. (#13883) 2024-09-22 10:56:57 -05:00
.pylintrc
audio-labelmap.txt
benchmark_motion.py
benchmark.py Custom classes for Process and Metrics (#13950) 2024-09-27 07:53:23 -05:00
CODEOWNERS Initial support for Hailo-8L (#12431) 2024-08-29 20:19:50 -06:00
cspell.json Work through most of the cspell warnings in python (#13794) 2024-09-17 10:41:46 -05:00
docker-compose.yml Docs improvements (#8641) 2023-11-18 08:04:43 -06:00
labelmap.txt
LICENSE
Makefile Formatting improvements (#13765) 2024-09-17 07:39:44 -05:00
netlify.toml Docs improvements (#8641) 2023-11-18 08:04:43 -06:00
package-lock.json Implement support for notifications (#12523) 2024-08-29 20:19:50 -06:00
process_clip.py Removed usage of PyYAML for config parsing. (#13883) 2024-09-22 10:56:57 -05:00
pyproject.toml Docs improvements (#8641) 2023-11-18 08:04:43 -06:00
README.md update images in readme 2024-06-08 15:37:16 -05:00

logo

Frigate - NVR With Realtime Object Detection for IP Cameras

A complete and local NVR designed for Home Assistant with AI object detection. Uses OpenCV and Tensorflow to perform realtime object detection locally for IP cameras.

Use of a Google Coral Accelerator is optional, but highly recommended. The Coral will outperform even the best CPUs and can process 100+ FPS with very little overhead.

  • Tight integration with Home Assistant via a custom component
  • Designed to minimize resource use and maximize performance by only looking for objects when and where it is necessary
  • Leverages multiprocessing heavily with an emphasis on realtime over processing every frame
  • Uses a very low overhead motion detection to determine where to run object detection
  • Object detection with TensorFlow runs in separate processes for maximum FPS
  • Communicates over MQTT for easy integration into other systems
  • Records video with retention settings based on detected objects
  • 24/7 recording
  • Re-streaming via RTSP to reduce the number of connections to your camera
  • WebRTC & MSE support for low-latency live view

Documentation

View the documentation at https://docs.frigate.video

Donations

If you would like to make a donation to support development, please use Github Sponsors.

Screenshots

Live dashboard

Live dashboard

Streamlined review workflow

Streamlined review workflow

Multi-camera scrubbing

Multi-camera scrubbing

Built-in mask and zone editor

Multi-camera scrubbing