Commit Graph

1152 Commits

Author SHA1 Message Date
Nicolas Mowen
af3f6dadcb Improve graph using pandas (#9234)
* Ensure viewport is always full screen

* Protect against hour with no cards and ensure data is consistent

* Reduce grouped up image refreshes

* Include current hour and fix scrubbing bugginess

* Scroll initially selected timeline in to view

* Expand timelne class type

* Use poster image for preview on video player instead of using separate image view

* Fix available streaming modes

* Incrase timing for grouping timline items

* Fix audio activity listener

* Fix player not switching views correctly

* Use player time to convert to timeline time

* Update sub labels for previous timeline items

* Show mini timeline bar for non selected items

* Rewrite desktop timeline to use separate dynamic video player component

* Extend improvements to mobile as well

* Improve time formatting

* Fix scroll

* Fix no preview case

* Mobile fixes

* Audio toggle fixes

* More fixes for mobile

* Improve scaling of graph motion activity

* Add keyboard shortcut hook and support shortcuts for playback page

* Fix sizing of dialog

* Improve height scaling of dialog

* simplify and fix layout system for timeline

* Fix timeilne items not working

* Implement basic Frigate+ submitting from timeline
2024-01-31 12:56:11 +00:00
Nicolas Mowen
9c4b69191b Add graph showing motion and object activity to history timeline desktop view (#9184)
* Add timeline graph component

* Add more custom colors and improve graph

* Add api and data

* Fix data sorting

* Add graph to timeline

* Only show timeline for selected hour

* Make data full range
2024-01-31 12:56:11 +00:00
Nicolas Mowen
0ee81c7526 Automatically detect hwaccel args (#9142)
* Automatically detect nvidia / vaapi hwaccel args

* Update docs

* Use auto for hwaccel args

* Formatting
2024-01-31 12:56:11 +00:00
Josh Hawkins
d430b99562 Autotracking: better handle objects that touch frame edges (#9062)
* handle edge cases better

* don't lowercase status strings

* ruff formatting
2024-01-31 12:56:11 +00:00
Nicolas Mowen
a1e5c658d5 Add support for filtering history page and add support for creating timeline entries for audio / custom events (#9034)
* Add filter popover

* Add api filter hook and use UI with filtering

* Get history filtering working for cameras and labels

* Allow filtering on detail level

* Save timeline entries for api events

* reset

* fix width
2024-01-31 12:56:11 +00:00
Nicolas Mowen
1a27c7db29 Fix birdseye memory leak (#8992) 2024-01-31 12:56:11 +00:00
Nicolas Mowen
4524d9440c Add initial implementation of history view in new webui framework (#8895)
* Add support for review grid

* Cleanup reloading on focus

* Adjust timeline api to include metadata and before

* Be more efficient about getting info

* Adjust to new data format

* Cleanup types

* Cleanup text

* Transition to history

* Cleanup

* remove old web implementations

* Cleanup
2024-01-31 12:56:11 +00:00
Nicolas Mowen
d2d1278a4d Remove rtmp (#8941)
* remove rtmp from python

* remove rtmp from nginx

* remove rtmp from docs

* fix test for missing role
2024-01-31 12:56:11 +00:00
Nicolas Mowen
b1cd5f0926 Add external sub label as timeline entry (#8855)
* Add external sub label to timeline

* Include icon

* Update timeline.py

Co-authored-by: Sergey Krashevich <svk@svk.su>

* Formatting

---------

Co-authored-by: Sergey Krashevich <svk@svk.su>
2024-01-31 12:56:11 +00:00
Nicolas Mowen
c716e4b1cb Ensure final frame in preview is not duplicated 2024-01-31 12:56:11 +00:00
Nicolas Mowen
cfda531f5a Write a low resolution low fps stream from decoded frames (#8673)
* Generate low res low fps previews for recordings viewer

* Make sure previews end on the hour

* Fix durations and decrase keyframe interval to ensure smooth scrubbing

* Ensure minimized resolution is compatible with yuv

* Add ability to configure preview quality

* Fix

* Clean up previews more efficiently

* Use iterator
2024-01-31 12:56:11 +00:00
leccelecce
64a91f552f
Add info logging at startup if vacuuming database (#9432) 2024-01-26 07:18:29 -06:00
Nicolas Mowen
8e419132ea
Clean user / pass from stats command line (#9189) 2024-01-03 07:30:25 -06:00
Nicolas Mowen
c35c7da82a
Don't fail if deepstack detector times out (#8979) 2023-12-15 23:25:21 +00:00
Nicolas Mowen
ca4e0dbc75
Fix ffmpeg input arg parsing (#8924) 2023-12-12 10:48:09 +00:00
Nicolas Mowen
ee7eaff965
Don't fail if NaN is returned for segment duration (#8923) 2023-12-12 10:47:40 +00:00
Matti Hiljanen
e512406764
Fix inertia calculation check (#8890) 2023-12-08 07:30:22 -06:00
Nicolas Mowen
0de800a8e5
don't fail on empty producers (#8854) 2023-12-04 18:46:26 -06:00
Eric M
eed08f534f
Update output.py with NTSC DVT, Amcrest DV1 aspect ratio 704x480 (#8835)
* Update output.py with NTSC DVT, Amcrest DV1 aspect ratio 704x480

* linter fix
2023-12-03 03:22:50 +00:00
Josh Hawkins
cc5297f180
handle onvif connection failure in autotrack init (#8838)
* handle onvif connection failure in autotrack init

* remove whitespace and add consistency

* error message consistency

* more consistency
2023-12-03 03:14:52 +00:00
Nicolas Mowen
f27025aef3
don't fail on go2rtc stream with no url (#8839) 2023-12-03 03:14:30 +00:00
Nicolas Mowen
9b003e175d
Don't incorrectly overwrite score history (#8795) 2023-11-29 23:37:28 +00:00
Blake Blackshear
a490c375f4
Limit exposed go2rtc api to bare minimum (#8762)
* only permit GET requests to go2rtc

* bare minimum go2rtc passthrough

* support frigate card

* expose go2rtc streams data only
2023-11-27 18:25:47 -06:00
Marc Altmann
27cf1cdf15
Fix path of device tree on HassOS add on (#8764)
* fix device tree path for HassOS

* fix symlink call

* fix formatting
2023-11-27 18:13:12 -06:00
Blake Blackshear
5c4501efbc
remove mqtt password from config api (#8757) 2023-11-26 15:45:16 -06:00
Justin Dhillon
614a36af9f
Fix Broken Links (#8711)
* fixed broken link https://www.nginx.com/resources/wiki/start/topics/examples/xsendfile/

* fixed broken link https://www.nginx.com/resources/wiki/start/topics/examples/xsendfile/

* fixed broken link https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_ignore_headers

* fixed broken link https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_ignore_headers
2023-11-24 07:33:50 -06:00
Nicolas Mowen
18062eca06
Don't fail when tz is incorrect (#8723)
* Don't fail when tz is incorrect

* Fix import
2023-11-23 11:43:02 +00:00
Sergey Krashevich
500d369c50
Fix: workaround for drawing non-latin characters (#7686)
* Add transliteration support to draw_box_with_label function

* isort
2023-11-21 02:05:51 +00:00
tpjanssen
3dd0192fe6
Add rename exports function to API (#8687)
* Add rename exports function to API

* Update http.py

* Feedback
* Formatting fixes

* Update http.py

Formatting fix

* Update http.py

Lint fix
2023-11-20 19:11:18 -06:00
tpjanssen
8864e33d1c
Customize regions grid overlay API (#8668)
* Customize regions grid overlay

* Update http.py

Fix
2023-11-19 14:51:54 +00:00
Nicolas Mowen
7d157dfeb0
Set max value for pre_capture (#8656) 2023-11-18 15:37:06 -06:00
Marc Altmann
977eef9138
fix chrash after restart (#8661) 2023-11-18 15:36:24 -06:00
Josh Hawkins
678f1201c6
use timeout for move queues (#8662) 2023-11-18 15:36:13 -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
Nicolas Mowen
2da99c2308
Improve periodic sync reliability and make it optional (#8647)
* Improve recordings sync reliability

* Cleanup

* Formatting

* Make logs consistent

* Make syncing optional
2023-11-18 06:06:00 -06:00
Tibladar
9ac40cd953
Add H265 preset for Raspberry Pi (#8640)
* Add h265 pi preset to preset docs

* Add h265 pi preset to hardware acceleration docs

* Add preset for raspberry pi h265
2023-11-17 01:09:15 +00: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
Josh Hawkins
7b520e8a9d
use enabled_in_config for switch in HA integration (#8630) 2023-11-16 01:25:48 +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
Josh Hawkins
266b4099b5
a few small onvif fixes and relativemove debug (#8583) 2023-11-15 05:41:41 -06:00
Nicolas Mowen
8a010fc1f5
Fix vaapi color mapping (#8604) 2023-11-14 00:35:29 +00:00
Nicolas Mowen
3457dcddfe
Don't run forever in autotracking (#8579) 2023-11-10 18:12:20 -06:00
Nicolas Mowen
ef36aabd30
Make output writing asynchronous (#8530)
* Don't wait for frame write in output process

* Formatting

* Handle websocket exception

* Limit camera queeue size to 1 second
2023-11-07 16:24:56 -07:00
Nicolas Mowen
ca84732574
Ensure storage cleanup doesn't fail (#8531) 2023-11-07 23:21:43 +00:00
tpjanssen
3359123364
Performance increase with lots of recordings (#8525)
* Performance increase with lots of recordings

* Formatting + review

* Update 020_update_index_recordings.py

Formatting

* Feedback + check fix

* Update 020_update_index_recordings.py
2023-11-07 23:18:26 +00:00
Nicolas Mowen
cc5357a31a
Remove iterator from recordings events (#8522) 2023-11-07 07:02:02 -07:00
Nicolas Mowen
f29e152619
Revert TRT class id filtering (#8497) 2023-11-07 11:32:52 +00:00
Nicolas Mowen
92906a500a
Fix event only datetime check (#8500) 2023-11-07 11:32:31 +00:00
Nicolas Mowen
257bd89733
Reduce recording info timeout (#8506)
* Decrease timeout

* Use const for queue timeout
2023-11-07 11:32:11 +00:00
Josh Hawkins
1d99bb908d
only use max target box for relative zoom limiter (#8509) 2023-11-07 11:31:39 +00:00
Nicolas Mowen
591b91194a
Cleanup existing timeline entries (#8495)
* Cleanup existing timeline entries for beta users

* Formatting
2023-11-06 06:43:26 -07:00
Nicolas Mowen
2b2c831253
Set the min region size as the model size (#8486) 2023-11-06 06:45:37 -06:00
Nicolas Mowen
a482160691
Cleanup timeline entries (#8489) 2023-11-06 06:42:10 -06:00
Nicolas Mowen
89dd114da1
Write recording segments to cache with timezone info (#8468)
* Store recording segments with timezone info

* Don't use _

* Use different separator due to timezone
2023-11-05 14:30:29 -06:00
Nicolas Mowen
14c89c9b63
Fix periodic sync check (#8472)
* Fix periodic sync

* Formatting
2023-11-05 09:28:40 -07:00
Blake Blackshear
65e3e67a83
avoid import error for non-rk builds (#8454)
* avoid import error for non-rk builds

* linter
2023-11-04 07:56:35 -05:00
Nicolas Mowen
63233a5830
Periodically sync for stale recordings (#8433)
* Periodically cleanup recordings files / DB

* Make automatic sync limited ot last 36 hours
2023-11-04 02:21:29 +00:00
Nicolas Mowen
4f7b710112
Don't fail on invalid class IDs for TensorRT detector (#8438)
* Don't fail on invalid class IDs

* Fix whitespace

* Make log warning
2023-11-04 02:19:58 +00:00
coperni
ac53993f70
Add endpoint to restart Frigate (#8440)
* Add endpoint to restart Frigate

The only means of restarting Frigate remotely is to issue
a restart topic on the server's websocket. It's
convenient to also expose this capability via HTTP endpoint.

* Add new section to API docs

* Remove extra line
2023-11-04 02:19:29 +00:00
Nicolas Mowen
7270eef6bf
Don't fail on 0 rms (#8447) 2023-11-04 02:18:23 +00:00
Marc Altmann
b54aaad382
fix rknn.py (#8434)
Co-authored-by: MarcA711 <>
2023-11-03 00:12:54 +00:00
Josh Hawkins
fc36be4f88
suppress error by overriding class func (#8431) 2023-11-02 23:24:14 +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
Nicolas Mowen
a6279a0337
Clean up RPi ffmpeg presets (#8428)
* Clean up rpi ffmpeg presets

* Remove from docs

* Put back encoding
2023-11-02 12:54:51 +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
Nicolas Mowen
cc79cbcadc
Improve robustness of storage maintenance (#8411)
* Improve robustness of storage maintenance

* Fix tests

* Fix test
2023-11-01 23:21:59 +00:00
Nicolas Mowen
89366d7b12
Add endpoint to return camera frame with regions grid overlaid (#8413)
* Add endpoint to view grid overload on camera frame

* Add api to docs

* Formatting
2023-11-01 23:21:30 +00:00
Josh Hawkins
6eff08eb2d
Add MQTT topic for active autotracking (#8419)
* prevent estimate clipping when autotracking

* use unclipped estimate in distance function only

* remove autotracking velocity changes

* publish on init
2023-11-01 23:20:26 +00:00
tpjanssen
8b6b83bd62
Filtering on Frigate+ submits in frontend (#8344)
* Initial draft for filtering Frigate+ submits in frontend

* Hide filter when Frigate+ is not enabled

* Update http.py

* Revert "Update http.py"

This reverts commit fa292682d6.
2023-11-01 23:19:46 +00:00
Nicolas Mowen
8b6e3a0d37
Fix region when no data in grid (#8415)
* Fix region when no data in grid

* Make comment more clear
2023-11-01 23:19:17 +00:00
tpjanssen
8a9b26df4e
Visit camera directly from system page (#8405)
* Visit camera directly from system page

* Processed all feedback

* Changed button caption
2023-11-01 07:08:59 -06:00
tpjanssen
fd6a3bd5d2
API recordings snapsnot PNG fix (#8401)
* Update http.py

* Update http.py

Limit query results
2023-11-01 06:14:51 -05:00
Nicolas Mowen
8085ad4b4c
Ensure that birdseye error correction uses a resolution that is divisible by 4 (#8398) 2023-11-01 06:13:12 -05:00
Josh Hawkins
af24eb7dbf
Autotracking tweaks (#8400)
* optimize motion and velocity estimation

* change recommended fps and fix config validate

* remove unneeded var

* process at most 3 objects per second

* fix test
2023-11-01 06:12:43 -05:00
Blake Blackshear
d1620b4e39
clean passwords when both rtsp and http present (#8399) 2023-10-31 08:04:42 -05:00
Nicolas Mowen
ba603c1937
Make initialization configurable (#8392) 2023-10-30 20:26:31 -04:00
Nicolas Mowen
e89dafa82e
Handle recording checks in utc (#8379)
* Handle recording checks in utc

* Formatting
2023-10-30 20:25:21 -04:00
Nicolas Mowen
9d717b371c
Improve logic of birdseye (#8375)
* Improve logic of birdseye

* Formatting
2023-10-30 20:24:42 -04:00
Nicolas Mowen
3d70d29672
Delete export if it fails (#8381)
* Delete export if it fails

* Fix import
2023-10-30 20:24:11 -04:00
Nicolas Mowen
f1efd8dbe2
Use int for drawing box (#8388) 2023-10-30 19:53:29 -04:00
Josh Hawkins
16dc9f4bf7 update debug message 2023-10-26 17:32:58 -06:00
Josh Hawkins
52b47a3414 empty assumption for events 2023-10-26 17:32:58 -06:00
Josh Hawkins
139664e598 assumption on empty 2023-10-26 17:32:58 -06:00
Josh Hawkins
441c605312 make sure entire segment is accounted for 2023-10-26 17:32:58 -06:00
Josh Hawkins
def889e3a8 start_time is a datetime obj 2023-10-26 17:32:58 -06:00
Josh Hawkins
613f1f6bd6 check frame time for segment 2023-10-26 17:32:58 -06:00
Josh Hawkins
e173377859 change warning to debug 2023-10-26 17:32:58 -06:00
Nicolas Mowen
86c59c1722
Fix birdseye layout (#8343) 2023-10-26 18:23:39 -04:00
Josh Hawkins
a399cb09fa
Autotracking tweaks and docs update (#8345)
* refactor thresholds and reduce a duplicate call

* add camera to docs

* udpate docs
2023-10-26 18:21:58 -04:00
Nicolas Mowen
5a46c36380
Add other known birdseye aspect ratios (#8322)
* Add other known birdseye aspect ratios

* Formatting
2023-10-26 06:21:26 -05:00
Shaun Berryman
36c1e00a6b
MQTT: Birdseye enabled/disabled and mode change support (#8291)
* support enabled and mode change for birdseye via mqtt

* resolve feedback from PR review
https://github.com/blakeblackshear/frigate/pull/8291#discussion_r1370083613

* change birdseye mode topic to set

* type in the docs

* these commented out lines should have never been in here
2023-10-26 06:20:55 -05:00
Nicolas Mowen
cf2b56613f
Don't overwrite event while cleaning up expired cameras (#8320) 2023-10-26 06:20:06 -05:00
Nicolas Mowen
1a9e00ee49
Add count of audio labels to active count (#8310)
* Add count of audio labels to active count

* Formatting
2023-10-24 19:26:46 -04:00
Josh Hawkins
b9649de327
Don't generate region boxes from motion when autotracking (#8306)
* no region boxes from motion boxes when ptz moving

* debug contours and calibration

* remove debugging

* clarifying comment
2023-10-24 19:25:22 -04:00
Nicolas Mowen
823550eed3
Reduce zones for timeline (#8300) 2023-10-24 19:24:59 -04:00
Nicolas Mowen
c141362614
Use norfair uninitialized score history for tracked object and update false positive docs (#8299)
* Update docs

* Use norfair score history to start object history

* Formatting
2023-10-24 19:24:30 -04:00
Russell Troxel
e0e8a6fcc9
Add --validate-config option for CI config validation (#8222)
* add `--validate-config` option for CI config validation

Signed-off-by: Russell Troxel <russell.troxel@segment.com>

* Fix Lint

Signed-off-by: Russell Troxel <russell.troxel@segment.com>

* Add docs & test live

Signed-off-by: Russell Troxel <russell.troxel@segment.com>

* Update docs/docs/configuration/advanced.md

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

* Fix Lint

Signed-off-by: Russell Troxel <russell@troxel.io>

---------

Signed-off-by: Russell Troxel <russell.troxel@segment.com>
Signed-off-by: Russell Troxel <russell@troxel.io>
Co-authored-by: Nicolas Mowen <nickmowen213@gmail.com>
2023-10-23 20:33:52 -06:00
Nicolas Mowen
0b858419d1
re-enable init delay (#8283) 2023-10-23 20:50:22 -04:00
Nicolas Mowen
2fb7200fb7
Revamp object consolidation logic (#8289)
* Separate object reduction to own function and reduce confidence of boxes on edge of region

* Add tests for different scenarios

* Formatting
2023-10-23 20:20:21 -04:00