NVR with realtime local object detection for IP cameras
Go to file
Nicolas Mowen c3b313a70d
Audio events (#6848)
* Initial audio classification model implementation

* fix mypy

* Keep audio labelmap local

* Cleanup

* Start adding config for audio

* Add the detector

* Add audio detection process keypoints

* Build out base config

* Load labelmap correctly

* Fix config bugs

* Start audio process

* Fix startup issues

* Try to cleanup restarting

* Add ffmpeg input args

* Get audio detection working

* Save event to db

* End events if not heard for 30 seconds

* Use not heard config

* Stop ffmpeg when shutting down

* Fixes

* End events correctly

* Use api instead of event queue to save audio events

* Get events working

* Close threads when stop event is sent

* remove unused

* Only start audio process if at least one camera is enabled

* Add const for float

* Cleanup labelmap

* Add audio icon in frontend

* Add ability to toggle audio with mqtt

* Set initial audio value

* Fix audio enabling

* Close logpipe

* Isort

* Formatting

* Fix web tests

* Fix web tests

* Handle cases where args are a string

* Remove log

* Cleanup process close

* Use correct field

* Simplify if statement

* Use var for localhost

* Add audio detectors docs

* Add restream docs to mention audio detection

* Add full config docs

* Fix links to other docs

---------

Co-authored-by: Jason Hunter <hunterjm@gmail.com>
2023-07-01 08:18:33 -05:00
.devcontainer Fix max_frames, improve stationary objects in masked areas (#6815) 2023-06-16 07:32:43 -05:00
.github Bump docker/login-action from 2.1.0 to 2.2.0 (#6740) 2023-06-11 07:21:59 -05:00
.vscode Set User Agent for FFmpeg calls (#4555) 2022-11-30 16:53:45 -06:00
config Improve the devcontainer experience (#3492) 2022-11-20 07:34:12 -06:00
docker Integrate ccache into libusb and nginx build scripts for improved build speed (#6886) 2023-06-30 07:28:48 -05:00
docs Audio events (#6848) 2023-07-01 08:18:33 -05:00
frigate Audio events (#6848) 2023-07-01 08:18:33 -05:00
migrations DB Optimizations (#6712) 2023-06-11 07:23:18 -05:00
web Audio events (#6848) 2023-07-01 08:18:33 -05:00
.dockerignore Improve the devcontainer experience (#3492) 2022-11-20 07:34:12 -06:00
.gitignore Migrate default database path from /media/frigate to /config (#5219) 2023-04-23 11:35:40 -05:00
.pylintrc use fstr log style 2021-02-25 07:01:59 -06:00
audio-labelmap.txt Audio events (#6848) 2023-07-01 08:18:33 -05:00
benchmark_motion.py use a different method for blur and contrast to reduce CPU (#6940) 2023-06-30 07:27:31 -05:00
benchmark.py Add isort and ruff linter (#6575) 2023-05-29 05:31:17 -05:00
docker-compose.yml Migrate default database path from /media/frigate to /config (#5219) 2023-04-23 11:35:40 -05:00
Dockerfile Audio events (#6848) 2023-07-01 08:18:33 -05:00
labelmap.txt Cleanup Detector labelmap (#4932) 2023-01-06 07:03:16 -06:00
LICENSE switch to MIT license 2020-07-26 12:07:47 -05:00
Makefile Migrate default database path from /media/frigate to /config (#5219) 2023-04-23 11:35:40 -05:00
process_clip.py Improve tracking (#6516) 2023-05-31 08:12:43 -06:00
pyproject.toml Fix bug introduced in new linter (#6754) 2023-06-11 07:18:47 -05:00
README.md Clarify docs about rtmp (#5052) 2023-01-13 07:20:25 -06:00
requirements-dev.txt Add isort and ruff linter (#6575) 2023-05-29 05:31:17 -05:00
requirements-ov.txt update python deps (#6101) 2023-04-16 07:20:51 -05:00
requirements-tensorrt.txt Update library loading for tensorrt (#5087) 2023-01-14 13:14:27 -06:00
requirements-wheels.txt update deps (#6973) 2023-07-01 07:47:16 -05:00
requirements.txt dependency updates (#6246) 2023-04-26 06:20:29 -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

Integration into Home Assistant

Also comes with a builtin UI:

Events