NVR with realtime local object detection for IP cameras
Go to file
Sean Vig 57864f2be6 Wait on stop event when possible
Generally eliminate the `while True` loops while waiting for a stop
event and prefer to condition the loops on if the stop event is set,
blocking on that where it makes sense.  This generally comes in 3
flavors.  First and simplest, when there is a sleep and the stop event
is the only thing the loop blocks on, instead do a check using
`stop_event.wait(timeout)` to instead block on the stop event for the
designated amount of time. Second, when there is a different event that
is blocking in the loop, condition the loop on `stop_event.is_set()`
rather than breaking when it is set. Finally, when there is a separate
internal condition that requires a counter, have the loop iterate over
the counter and use `if stop_event.wait(timeout)` internal to the loop.
2021-05-22 07:54:16 -05:00
.devcontainer allow logger daemon process to be killed with the main thread, thus allowing us to continue logging during shutdown 2021-05-06 07:01:33 -05:00
.github Add paularmstrong to funding.yml 2021-02-24 20:58:44 -06:00
docker Add support for NGINX VOD Module 2021-05-22 07:48:44 -05:00
docs update HTTP API docs 2021-05-22 07:48:44 -05:00
frigate Wait on stop event when possible 2021-05-22 07:54:16 -05:00
migrations formatting cleanup 2021-02-25 07:01:57 -06:00
nginx remove comments from nginx.conf 2021-05-22 07:48:44 -05:00
web feat(web): Delete events from Event page and API (#991) 2021-05-12 08:19:02 -07:00
.dockerignore add devcontainer setup 2021-02-25 07:00:59 -06:00
.gitignore add devcontainer setup 2021-02-25 07:00:59 -06:00
.pylintrc use fstr log style 2021-02-25 07:01:59 -06:00
benchmark.py
docker-compose.yml Add support for NGINX VOD Module 2021-05-22 07:48:44 -05:00
labelmap.txt
LICENSE
Makefile add --push so the images actually get published for nginx since they are not saved locally 2021-05-22 07:48:44 -05:00
README.md clarifying addon docs 2021-01-28 07:45:09 -06:00
run.sh Add support for NGINX VOD Module 2021-05-22 07:48:44 -05:00

logo

Frigate - NVR With Realtime Object Detection for IP Cameras

A complete and local NVR designed for HomeAssistant 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 HomeAssistant 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 clips of detected objects
  • 24/7 recording
  • Re-streaming via RTMP to reduce the number of connections to your camera

Documentation

View the documentation at https://blakeblackshear.github.io/frigate

Donations

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

Screenshots

Integration into HomeAssistant

Also comes with a builtin UI:

Events