Commit Graph

205 Commits

Author SHA1 Message Date
Marc Altmann
1eb5105b24
Adding go2rtc presets for Rockchip hardware acceleration (#8686)
* add go2rtc presets for rk hw accel

* code formatting

* add docs about go2rtc presets

* Update comment
2023-11-20 19:10:44 -06:00
Sergey Krashevich
463865db55
fix go2rtc run (#8692) 2023-11-20 19:09:40 -06:00
Sergey Krashevich
ea247ca816
go2rtc 1.8.4 (#8691) 2023-11-21 01:07:54 +00:00
trademark789
934b16723b
make go2rtc always rebuild config at startup (#8664)
* make go2rtc always rebuild config at startup

/dev/shm can be left mounted (in fact im pretty sure it's always left mounted) on the docker host after shutting down the frigate container.
If we only check that the file doesn't exist, stale data gets re-read every startup 
This will make troubleshooting a nightmare for the average user.

I had given up troubleshooting go2rtc several times because of this.

* generate config after supervisor data is loaded

* Fix fi

* fix fi

---------

Co-authored-by: Nicolas Mowen <nickmowen213@gmail.com>
2023-11-19 07:08:42 -06:00
Blake Blackshear
4879de263b
Docs improvements (#8641)
* go all in on ruff

* upgrade docusaurus

* add netlify toml

* broken link

* fix netlify toml

* start filling out guide

* add debian setup detail

* simplify bash command
2023-11-18 08:04:43 -06:00
Marc Altmann
c6208b266b
Include libraries and .rknn models for other Rockchip SoCs (#8649)
* support for other yolov models and config checks

* apply code formatting

* Information about core mask and inference speed

* update rknn postprocess and remove params

* update model selection

* Apply suggestions from code review

Co-authored-by: Nicolas Mowen <nickmowen213@gmail.com>

* support rknn on all socs

* apply changes from review and fix post process bug

* apply code formatting

* update tip in object_detectors docs

---------

Co-authored-by: Nicolas Mowen <nickmowen213@gmail.com>
2023-11-18 07:53:49 -06:00
Marc Altmann
7522bb6fab
Add features to rknn detector (#8631)
* support for other yolov models and config checks

* apply code formatting

* Information about core mask and inference speed

* update rknn postprocess and remove params

* update model selection

* Apply suggestions from code review

Co-authored-by: Nicolas Mowen <nickmowen213@gmail.com>

---------

Co-authored-by: Nicolas Mowen <nickmowen213@gmail.com>
2023-11-17 01:08:41 +00:00
Nicolas Mowen
97c15f7ef3
Update go2rtc to 1.8.3 (#8627) 2023-11-16 01:24:26 +00:00
Marc Altmann
8c7f6d4a76
Add static FFmpeg with rockchip hardware acceleration to rk- image (#8599)
* add static ffmpeg with rockchip hw accel

* add ffmpeg presets

* fix scaling preset and update docs for rk hwaccel

* update usage info in ffmpeg_presets docs

* Add note about hardware acceleration support

---------

Co-authored-by: MarcA711 <>
2023-11-15 05:41:55 -06:00
Nicolas Mowen
aa93d4fbdd
Fix nginx cache (#8558) 2023-11-09 16:09:25 -06:00
Nicolas Mowen
d0036b2f77
Update go2rtc to 1.8.2 (#8459)
* Update go2rtc to 1.8.2

* Update docs for 1.8.2
2023-11-09 06:43:06 -06:00
Nicolas Mowen
0b828ef1ec
Only cache json requests with nginx (#8529)
* Only cache json requests

* Use map instead
2023-11-07 23:18:58 +00:00
Nicolas Mowen
f1b60f76eb
Fix go2rtc UDP port default config (#8469)
* Fix go2rtc UDP port

* fix

* Use correct port

* fix comment

Co-authored-by: Blake Blackshear <blakeb@blakeshome.com>

---------

Co-authored-by: Blake Blackshear <blakeb@blakeshome.com>
2023-11-07 11:33:33 +00:00
Blake Blackshear
aefecad4c0
Update deps (#8426)
* update web deps

* other deps
2023-11-02 13:36:49 +00:00
Marc Altmann
090294e89b
Initial support for rockchip boards (#8382)
* initial support for rockchip boards

* Apply suggestions from code review

apply requested changes

Co-authored-by: Nicolas Mowen <nickmowen213@gmail.com>

* requested changes

* rewrite dockerfile

* adjust targets

* Update .github/workflows/ci.yml

Co-authored-by: Nicolas Mowen <nickmowen213@gmail.com>

* Update docs/docs/configuration/object_detectors.md

Co-authored-by: Nicolas Mowen <nickmowen213@gmail.com>

* Update docs/docs/configuration/object_detectors.md

Co-authored-by: Nicolas Mowen <nickmowen213@gmail.com>

* add information to docs

* Update docs/docs/configuration/object_detectors.md

Co-authored-by: Nicolas Mowen <nickmowen213@gmail.com>

* format rknn.py

* apply changes from isort and ruff

---------

Co-authored-by: MarcA711 <>
Co-authored-by: Nicolas Mowen <nickmowen213@gmail.com>
2023-11-02 12:55:24 +00:00
Blake Blackshear
0dd3dd23aa
add support for docker secrets (#8409)
* add support for docker secrets

* check for directory first
2023-11-02 05:35:30 -05:00
Blake Blackshear
159fb51518
implement nginx caching (#8333)
* implement nginx caching

* bypass cache from frigate frontend, reduce to 5s

* set cache time to 2s

* cache 200s for 5s

* exclude vod endpoints from cache
2023-10-29 06:47:24 -05:00
Sergey Krashevich
979c49fd35
Update build_nginx.sh (#8361) 2023-10-28 06:35:11 -05:00
Blake Blackshear
e13a176820
Update deps (#8261)
* update web deps

* update python deps

* actions deps
2023-10-21 10:53:21 -05:00
Blake Blackshear
1e71e36056
fix route for stats and version (#8263) 2023-10-21 10:40:46 -05:00
Blake Blackshear
18545718c1
refactor and disable access logs for stats and version (#8259) 2023-10-21 08:15:24 -05:00
Nicolas Mowen
126aed2798
Include non-free in hwaccel deps types (#8203) 2023-10-17 21:18:50 -04:00
Nicolas Mowen
c7b2c6b95d
Pin all hwaccel deps (#8191) 2023-10-17 06:37:40 -05:00
Sergey Krashevich
cac37e484d
Upd: go2rtc v1.8.1 (#8166)
* go2rtc v1.8.0

* 1.8.1
2023-10-16 06:42:24 -05:00
Felipe Santos
97e5a98b95
Fix jetson docker build with old apt key (#8112)
* Fix jetson docker build with old apt key

* Fix CI
2023-10-09 18:16:05 -05:00
Nicolas Mowen
e1a6398219
Fix trt build (#8091) 2023-10-07 09:51:02 -05:00
Felipe Santos
3a460133d4
Add docker healthcheck (#8006)
* Add docker healthcheck

* Fix unknown start-interval

* Add HEALTHCHECK for tensorrt and bump default start-period

* Move healthcheck to deps stage
2023-10-07 09:21:03 -05:00
Blake Blackshear
14d2b79c72
Security fixes (#8081)
* use safeloader

* use json responses wherever possible

* remove CORS and add CSRF token

* formatting fixes

* add envjs back

* fix baseurl test
2023-10-06 22:20:30 -05:00
Nicolas Mowen
0048cd5edc
Pull radeon driver from bookworm (#7983) 2023-09-28 18:20:48 -05:00
Nicolas Mowen
080d7a2d88
Update go2rtc to 1.7.1 (#7657)
* Update go2rtc to 1.7.0

* Update docs references

* Add docs for homekit restream

* Exit with better error message when substitution is not correct

* Formatting

* Fix pin

* Update go2rtc dep

* Update go2rtc docs references

* Fix name

* Mute player by default

* Remove homekit mention
2023-09-21 06:52:46 -06:00
Nate Meyer
0d6bb6714a
Add support for selecting a specific GPU to use when converting TRT models (#7857) 2023-09-21 05:23:51 -05:00
Nicolas Mowen
a1b50d2cf4
Update python deps (#7763) 2023-09-11 17:07:29 -05:00
Nicolas Mowen
737681aa4f
Add default hass location (#7549) 2023-09-01 07:06:22 -05:00
Sergey Krashevich
14048cb83e
Update NGINX version to 1.25.2 (#7583) 2023-09-01 07:01:34 -05:00
Sergey Krashevich
602041beb1
Update s6 overlay version to 3.1.5.0 in the Docker installation script (#7584) 2023-09-01 07:01:19 -05:00
Sergey Krashevich
ef6b464d0e
Update libusb version to v1.0.26 in Dockerfile (#7585) 2023-09-01 07:01:06 -05:00
Andrew Reiter
318ae28004
Revert numpy upgrade in -tensorrt image (#7348) 2023-08-05 05:49:06 -05:00
Andrew Reiter
7d3e5c9c4c
Revert numpy upgrade (#7341)
* Revert numpy upgrade

* Upgrade arm64 onnx version to match amd64

* Increase CODEOWNERS granularity

Not sure if it has an effect since I don't have repository write access
2023-07-31 21:45:50 -05:00
Sergey Krashevich
eaf7078d98
Refactor Dockerfile to use scratch as base image and add go2rtc binary using ADD command (#7321) 2023-07-28 21:33:21 -05:00
Nate Meyer
b42e995f0f
Update OpenVINO 2022.3.1 (#7319)
* Use build platform for running OpenVino model conversion

* Update OpenVINO to 2022.3.1 and upgrade numpy
2023-07-28 19:27:53 -05:00
Andrew Reiter
a96a951e23
Nvidia Jetson ffmpeg + TensorRT support (#6458)
* Non-Jetson changes

Required for later commits:
- Allow base image to be overridden (and don't assume its WORKDIR)
- Ensure python3.9
- Map hwaccel decode presets as strings instead of lists
Not required:
- Fix existing documentation
- Simplify hwaccel scale logic

* Prepare for multi-arch tensorrt build

* Add tensorrt images for Jetson boards

* Add Jetson ffmpeg hwaccel

* Update docs

* Add CODEOWNERS

* CI

* Change default model from yolov7-tiny-416 to yolov7-320

In my experience the tiny models perform markedly worse without being
much faster

* fixup! Update docs
2023-07-26 05:50:41 -05:00
Nicolas Mowen
dc44a6c3b4
Community Supported Boards Framework (#7114)
* Make main frigate build non rpi specific and build rpi using base image

* Add boards to sidebar

* Fix docker build

* Fix docs build

* Update pr branch for testing

* remove target from rpi build

* Remove manual build

* Add push build for rpi

* fix typos, improve wording

* Add arm build for rpi

* Cleanup and add default github ref name

* Cleanup docker build file system

* Setup to use docker bake

* Add ci/cd for bake

* Fix path

* Fix devcontainer

* Set targets

* Fix build

* Fix syntax

* Add wheels target

* Move dev container to trt

* Update key and fix rpi local

* Move requirements files and set intermediate targets

* Add back --load

* Update docs for community board development

* Update installation docs to reflect different builds available

* Update docs with official and community supported headers

* Update codeowners docs

* Update docs

* Assemble main and standard builds

* Change order of pushes

* Remove community board after successful build

* Fix rpi bake file names
2023-07-23 16:45:29 -05:00
Thomas Anderson
d0413e3ea8
fix: allow env var templating for go2rtc rtsp creds (#6449) 2023-07-23 08:21:51 -05:00
Nate Meyer
dd02958f7c
Upgrade TensorRT to 8.5.3 (#7006)
* Update to latest tensorrt (8.6.1) release

* Build trt libyolo_layer.so in container

* Update tensorrt_models script to convert models from the frigate container

* Fix typo in model script

* Fix paths to yolo lib and models folder

* Add S6 scripts to test and convert specified TensortRT models at startup.

Rearrange tensorrt files into a docker support folder.

* Update TensorRT documentation to reflect the new model conversion process and minimum HW support.

* Fix model_cache path to live in config directory

* Move tensorrt s6 files to the correct directory

* Fix issues in model generation script

* Disable global timeout for s6 services

* Add version folder to tensorrt model_cache path

* Include TensorRT version 8.5.3

* Add numpy requirement prior to removal of np.bool

* This TRT version uses a mixture of cuda dependencies

* Redirect stdout from noisy model conversion
2023-07-06 14:20:33 -05:00
Sergey Krashevich
22cc2712a6
Bump NGINX version to 1.25.1, VOD module version to 1.31, secure token module version to 1.5, and RTMP module version to 1.2.2 (#7058) 2023-07-06 13:51:28 -05:00
Nicolas Mowen
606f00867e
Fix go2rtc getting env var (#7052) 2023-07-06 09:11:49 -05:00
Andrew Reiter
325205740b
Check ffmpeg version instead of checking for presence of BTBN_PATH (#7023)
* Check ffmpeg version instead of checking for presence of BTBN_PATH

* Query ffmpeg version in s6 run script instead of subprocessing in every import

* Define LIBAVFORMAT_VERSION_MAJOR in devcontainer too

* Formatting

* Default ffmpeg version to current btbn version so unit tests pass
2023-07-06 07:35:26 -05:00
Sergey Krashevich
b6fce8f0bb
Integrate ccache into libusb and nginx build scripts for improved build speed (#6886)
* Add ccache to libusb and nginx build scripts

* Add ccache support to Dockerfile for faster builds

* Add ccache to PATH and use it for compiling nginx with Makefile in build_nginx.sh script
2023-06-30 07:28:48 -05:00
Nicolas Mowen
d3949eebfa
Add API and WebUI to export recordings (#6550)
* Add ability to export frigate clips

* Add http endpoint

* Add dir to nginx

* Add webUI

* Formatting

* Cleanup unused

* Optimize timelapse

* Fix pts

* Use JSON body for params

* Use hwaccel to encode when available

* Print ffmpeg command when fail

* Print ffmpeg command when fail

* Add separate ffmpeg preset for timelapse

* Add docs outlining the export directory

* Add export docs

* Use ''

* Fix playlist max time

* Lower max playlist time

* Add api docs for export

* isort fixes
2023-06-08 07:32:35 -04:00
Martin Weinelt
ab50d0b006
Add isort and ruff linter (#6575)
* Add isort and ruff linter

Both linters are pretty common among modern python code bases.

The isort tool provides stable sorting and grouping, as well as pruning
of unused imports.

Ruff is a modern linter, that is very fast due to being written in rust.
It can detect many common issues in a python codebase.

Removes the pylint dev requirement, since ruff replaces it.

* treewide: fix issues detected by ruff

* treewide: fix bare except clauses

* .devcontainer: Set up isort

* treewide: optimize imports

* treewide: apply black

* treewide: make regex patterns raw strings

This is necessary for escape sequences to be properly recognized.
2023-05-29 05:31:17 -05:00