NVR with realtime local object detection for IP cameras
Go to file
Nicolas Mowen aaedd24f37
Add GPU stats to the /stats API and debug screen (#3931)
* Add ffprobe endpoint

* Get ffprobe for multiple inputs

* Copy ffprobe in output

* Fix bad if statement

* Return full output of ffprobe process

* Return full output of ffprobe process

* Make ffprobe button show dialog with output and option to copy

* Add driver names to consts

* Add driver env var name

* Setup general tracking for GPU stats

* Catch RPi args as well

* Add util to get radeontop results

* Add real amd GPU stats

* Fix missed arg

* pass config

* Use only the values

* Fix vram

* Add nvidia gpu stats

* Use nvidia stats

* Add chart for gpu stats

* Format AMD with space between percent

* Get correct nvidia %

* Start to add support for intel GPU stats

* Block out RPi as util is not currently available

* Formatting

* Fix mypy

* Strip for float conversion

* Strip for float conversion

* Fix percent formatting

* Remove name from gpu map

* Add tests and fix AMD formatting

* Add nvidia gpu stats test

* Formatting

* Add intel_gpu_top for testing

* Formatting

* Handle case where hwaccel is not setup

* Formatting

* Check to remove none

* Don't use set

* Cleanup and fix types

* Handle case where args is list

* Fix mypy

* Cast to str

* Fix type checking

* Return none instead of empty

* Fix organization

* Make keys consistent

* Make gpu match style

* Get support for vainfo

* Add vainfo endpoint

* Set vainfo output in error correctly

* Remove duplicate function

* Fix errors

* Do cpu & gpu work asynchonously

* Fix async

* Fix event loop

* Fix crash

* Fix naming

* Send empty data for gpu if error occurs

* Show error if gpu stats could not be retrieved

* Fix mypy

* Fix test

* Don't use json for vainfo

* Fix cross references

* Strip unicode still

* await vainfo response

* Add gpu deps

* Formatting

* remove comments

* Use empty string

* Add vainfo back in
2022-11-28 19:24:20 -06:00
.devcontainer Improve the devcontainer experience (#3492) 2022-11-20 07:34:12 -06:00
.github fix image build (#4503) 2022-11-24 11:42:25 -06:00
config Improve the devcontainer experience (#3492) 2022-11-20 07:34:12 -06:00
docker Add GPU stats to the /stats API and debug screen (#3931) 2022-11-28 19:24:20 -06:00
docs Abstract MQTT from communication and make mqtt optional (#4462) 2022-11-23 20:03:20 -06:00
frigate Add GPU stats to the /stats API and debug screen (#3931) 2022-11-28 19:24:20 -06:00
migrations Limit recording retention to available storage (#3942) 2022-10-09 06:28:26 -05:00
web Add GPU stats to the /stats API and debug screen (#3931) 2022-11-28 19:24:20 -06:00
.dockerignore Improve the devcontainer experience (#3492) 2022-11-20 07:34:12 -06:00
.gitignore feat: Timeline UI (#2830) 2022-02-27 08:04:12 -06:00
.pylintrc use fstr log style 2021-02-25 07:01:59 -06:00
benchmark.py Refactor to simplify support for additional detector types (#3656) 2022-11-03 21:23:09 -05:00
docker-compose.yml Improve the devcontainer experience (#3492) 2022-11-20 07:34:12 -06:00
Dockerfile Update python dependencies (#4500) 2022-11-24 10:47:45 -06:00
labelmap.txt refactor and reduce false positives 2020-09-17 07:37:27 -05:00
LICENSE switch to MIT license 2020-07-26 12:07:47 -05:00
Makefile Faster image builds with caching (#4491) 2022-11-23 20:00:45 -06:00
process_clip.py Refactor to simplify support for additional detector types (#3656) 2022-11-03 21:23:09 -05:00
README.md update docs url 2021-09-26 16:43:26 -05:00
requirements-dev.txt Easy Python Updates (#4424) 2022-11-18 06:33:10 -06:00
requirements-wheels.txt Update python dependencies (#4500) 2022-11-24 10:47:45 -06:00
requirements.txt Use requirement file for pip installs (#3090) 2022-04-12 07:21:21 -05:00
test.db-journal Add go2rtc and add restream role / live source (#4082) 2022-11-02 06:36:09 -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 RTMP to reduce the number of connections to your camera

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