Commit Graph

1404 Commits

Author SHA1 Message Date
Nicolas Mowen
9afa1354da
Limit shm frame count (#12363)
* Limited shm frame count (#12346)

* Only keep 2x detect fps frames in SHM

* Don't delete previous shm frames in output

* Catch case where images do not exist

* Ensure files are closed

* Clear out all frames when shutting down

* Correct the number of frames saved

* Simplify empty shm error handling

* Improve frame safety

* Add handler logs when frame is None

* Don't fail on cleanup

* Cleanup logging

* Update docs

* Update calculation

* Restore condition

* Fix case where thumbnail is saved without frame

* Adjust debug logs

* Calculate best shm frame count

* Fix shm count calculation

* Catch missing frame

* Formatting

* Clarify docs

* Catch none frame in autotracking
2024-09-03 10:22:30 -06:00
Nicolas Mowen
58a471e466
Fix hardcoded camera name (#13520)
* Fix hardcoded camera name

* Simplify logic
2024-09-03 10:14:30 -06:00
Nicolas Mowen
e66f47bdf6
Cleanup after recordings refactor (#13518)
* Cleanup after recordings refactor

* Fix default retention mode

* Formatting

* Fix review item query

* Default review retention
2024-09-03 08:49:50 -06:00
gwmullin
5239790835
Emit an 'active' metric for events to address issue #7667 (#13279)
* Initial implementation of active object counters. Need to clean up a bit more and examine reuse of stationary/active logic in neighboring modules.

* A bit more cleanup for references to active, referencing the tracked object method rather than duplicating logic.

* Minor formatting and readability cleanup

* Update docs with the new active mqtt metric definition.

* Move the check for a change in active status into the code block protected by a false positive check.

* - Add 'active' to the tracked object dictionary, use the previous object for active comparison.

  - I also missed emitting updates when a tracked object is no longer tracked, and added handling for emitting zeros on object types.
2024-09-02 07:24:15 -06:00
Nicolas Mowen
0acbd3d5e8
Refactor recordings retention to be based on review items (#13355)
* Refactor recordings config to be based off of review items

* Update object processing logic for when an event is created

* Migrate to deciding recording retention based on review items

* Refactor recording expiration to be based off of review items

* Remove remainder of recording events access

* Handle migration automatically

* Update version and cleanup

* Update docs

* Clarify docs

* Cleanup

* Target camera config

* Safely access all fields
2024-09-02 07:22:53 -06:00
Josh Hawkins
e3da5ef2d5
Lower onvif timeouts to 10s (#13473) 2024-08-31 16:15:10 -05:00
Martin Weinelt
ecaba82c9d
Use escapse string in get_intel_gpu_stats (#13452)
````
frigate/util/services.py:299: SyntaxWarning: invalid escape sequence '\d'
    for result in re.findall('"Video/\d":{[a-z":\d.,%]+}', reading):
````
2024-08-31 10:49:13 -06:00
Nicolas Mowen
921c9de241
Fix preview generation for offline camera (#13449)
* Handle case where camera is offline when generating previews

* Don't rely on slow system

* Simplify checks to rely on other cameras

* Formatting

* Cleanup
2024-08-31 10:48:58 -06:00
Nicolas Mowen
01fa1777ac Fix ZMQ race condition with events (#13198) 2024-08-29 20:19:50 -06:00
Nicolas Mowen
a77436eec3 Add button for downloading full set of logs (#13188) 2024-08-29 20:19:50 -06:00
Nicolas Mowen
943114c052 Add support for review information side panel (#13063) 2024-08-29 20:19:50 -06:00
Nicolas Mowen
2cb81ef116 Use review item thumbnail for export (#12998)
* Use review item thumbnail for export

* Formatting
2024-08-29 20:19:50 -06:00
Nicolas Mowen
347d54f388 Chunk timeline deletes (#12900) 2024-08-29 20:19:50 -06:00
Nicolas Mowen
3428baa3fa Fix embeddings failing to start 2024-08-29 20:19:50 -06:00
Nicolas Mowen
04fd05bc7d Notification action (#12742) 2024-08-29 20:19:50 -06:00
Nicolas Mowen
3abf89596a Disable semantic search by default (#12568)
* Disable semantic search by default and don't start processes unless enabled

* Conditionally create embeddings

* Fix typing
2024-08-29 20:19:50 -06:00
Nicolas Mowen
690ee3dc15 Implement support for notifications (#12523)
* Setup basic notification page

* Add basic notification implementation

* Register for push notifications

* Implement dispatching

* Add fields

* Handle image and link

* Add notification config

* Add field for users notification tokens

* Implement saving of notification tokens

* Implement VAPID key generation

* Implement public key encoding

* Implement webpush from server

* Implement push notification handling

* Make notifications config only

* Add maskable icon

* Use zod form to control notification settings in the UI

* Use js

* Always open notification

* Support multiple endpoints

* Handle cleaning up expired notification registrations

* Correctly unsubscribe notifications

* Change ttl dynamically

* Add note about notification latency and features

* Cleanup docs

* Fix firefox pushes

* Add links to docs and improve formatting

* Improve wording

* Fix docstring

Co-authored-by: Blake Blackshear <blake@frigate.video>

* Handle case where native auth is not enabled

* Show errors in UI

---------

Co-authored-by: Blake Blackshear <blake@frigate.video>
2024-08-29 20:19:50 -06:00
Nicolas Mowen
331c882af2 Catch hailo initialization error (#12558) 2024-08-29 20:19:50 -06:00
spanner3003
4a35573210 Initial support for Hailo-8L (#12431)
* Initial support for Hailo-8L

Added file for Hailo-8L detector including dockerfile, h8l.mk, h8l.hcl, hailo8l.py, ci.yml and ssd_mobilenat_v1.hef as the inference network.

Added files to help with the installation of Hailo-8L dependences like generate_wheel_conf.py, requirements-wheel-h8l.txt and modified setup.py to try and work with any hardware.

Updated docs to reflect Initial Hailo-8L support including oject_detectors.md,  hardware.md and installation.md.

* Update .github/workflows/ci.yml

typo h8l not arm64

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

* Update docs/docs/configuration/object_detectors.md

Clarity for the end user and correct uses of words

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

* Update docs/docs/frigate/installation.md

typo

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

* update Installation.md to clarify Hailo-8L installation process.

* Update docs/docs/frigate/hardware.md

Co-authored-by: Josh Hawkins <32435876+hawkeye217@users.noreply.github.com>

* Update hardware.md add Inference time.

* Oops no new line at the end of the file.

* Update docs/docs/frigate/hardware.md typo

Co-authored-by: Josh Hawkins <32435876+hawkeye217@users.noreply.github.com>

* Update dockerfile to download the ssd_modilenet_v1 model instead of having it in the repo.

* Updated dockerfile so it dose not download the model file.

add function to download it at runtime.

update model path.

* fix formatting according to ruff and removed unnecessary functions.

---------

Co-authored-by: Nicolas Mowen <nickmowen213@gmail.com>
Co-authored-by: Josh Hawkins <32435876+hawkeye217@users.noreply.github.com>
2024-08-29 20:19:50 -06:00
Jason Hunter
0d7a148897 reindex events in batches to reduce memory and cpu load (#12124) 2024-08-29 20:19:50 -06:00
Jason Hunter
9e825811f2 Semantic Search API (#12105)
* initial event search api implementation

* fix lint

* fix tests

* move chromadb imports and pysqlite hotswap to fix tests

* remove unused import

* switch default limit to 50

* fix events accidently pulling inside chroma results loop
2024-08-29 20:19:50 -06:00
Jason Hunter
36cbffcc5e Semantic Search for Detections (#11899)
* Initial re-implementation of semantic search

* put docker-compose back and make reindex match docs

* remove debug code and fix import

* fix docs

* manually build pysqlite3 as binaries are only available for x86-64

* update comment in build_pysqlite3.sh

* only embed objects

* better error handling when genai fails

* ask ollama to pull requested model at startup

* update ollama docs

* address some PR review comments

* fix lint

* use IPC to write description, update docs for reindex

* remove gemini-pro-vision from docs as it will be unavailable soon

* fix OpenAI doc available models

* fix api error in gemini and metadata for embeddings
2024-08-29 20:19:50 -06:00
Nicolas Mowen
d96f76c27f
Ensure only enabled birdseye cameras are considered active (#13194)
* Ensure only enabled birdseye cameras are considered active

* Cleanup
2024-08-19 16:01:48 -05:00
Nicolas Mowen
2e724291db
Catch case where github sends bad json data (#13077) 2024-08-14 20:41:41 -05:00
Nicolas Mowen
13d121f443
Catch case where recording starts right at end of request (#12956) 2024-08-11 08:32:17 -05:00
Nicolas Mowen
4afa7bf4e1
Catch case where user tries to end definite manual event (#12951)
* Catch case where user tries to end definite manual event

* Formatting
2024-08-11 07:32:39 -05:00
Nicolas Mowen
99e03576bf
Remove user args from http jpeg (#12909) 2024-08-09 16:22:24 -06:00
Nicolas Mowen
e9e86cc5af
Fix use experimental migrator (#12906) 2024-08-09 16:59:55 -05:00
Marc Altmann
57503cc318 fix default model for rknn detector (#12807) 2024-08-08 07:54:13 -06:00
Nicolas Mowen
e563692fa2 Add camera name to audio debug line (#12799)
* Add camera name to audio debug line

* Formatting
2024-08-08 07:54:13 -06:00
Nicolas Mowen
8212b66ee0 Use camera status to get state of camera config (#12787)
* Use camera status to get state of camera config

* Fix spelling
2024-08-08 07:54:13 -06:00
Nicolas Mowen
7c39b176ac
Limit preview threads (#12633) 2024-07-26 09:16:45 -05:00
Nicolas Mowen
b4db07d7a5
Fix perview serialization (#12597) 2024-07-24 12:29:51 -05:00
Nicolas Mowen
1bd3285679
Use pickle for config objects (#12594) 2024-07-24 10:37:29 -05:00
Josh Hawkins
6de426c697
Prevent pandas overflow and runtime errors from division by zero/NaN (#12591)
* Prevent pandas overflow and runtime errors from division by zero/NaN

* remove pysqlite3
2024-07-24 08:58:42 -06:00
Nicolas Mowen
d28ad0f0c8
Use JSON instead of pickle for serialization (#12590) 2024-07-24 08:58:23 -06:00
Nicolas Mowen
c56e7e7c6c
UI fixes (#12490)
* Improve export handling when errors occur

* Fix mobile zooming

* Handle recordings buffering

* Cleanup

* Url encode export name

* Start with actual name in input

* Fix buffering
2024-07-17 07:39:37 -06:00
Nicolas Mowen
30f0f73a4e
Add camera name to recordings log (#12480)
* Add camera name to recordings log

* Formatting
2024-07-16 11:56:09 -05:00
Nicolas Mowen
91f62cf8ce
Fix ui config migration (#12476) 2024-07-16 08:45:11 -05:00
Josh Hawkins
3afd77cbe0
No need to check for h264 onvif profile (#12444) 2024-07-14 13:29:49 -05:00
Josh Hawkins
093201a1cc
Update docs for clarity on review items (#12441) 2024-07-14 11:12:26 -06:00
Josh Hawkins
51153af944
Attempt to support zoom-only onvif cams (#12415)
* Attempt to support zoom-only onvif cams

* don't skip ptz configuration
2024-07-12 11:01:52 -06:00
Josh Thorpe
8f51f7b4c4
strip whitespaces when loading secrets (#12393)
* strip whitespaces when loading secrets

* formatting
2024-07-12 07:36:15 -06:00
stephendb
aacb8c84e0
Bug fix for ONVIF cameras, adjust_time parameter added (#12352)
* adds adjust_time which allows users to fix an issue with onvif authentication where time is not syncrhonized

* updated adjust_time to ignore_time_mismatch to make it clearer what this option does

* adds ignore_time_mismatch to the reference.md and adds a line about the security risk this can introduce as well as the recommendation to setup NTP for both ends.

* fix format error

* happy now linter?

* white space

* Update docs/docs/configuration/reference.md

Co-authored-by: Josh Hawkins <32435876+hawkeye217@users.noreply.github.com>

---------

Co-authored-by: Stephen Butler <stephen.butler@ni.com>
Co-authored-by: Josh Hawkins <32435876+hawkeye217@users.noreply.github.com>
2024-07-09 13:00:47 -06:00
Nicolas Mowen
f44df9fe61
Revert "Limited shm frame count (#12346)" (#12362)
This reverts commit 34812b7439.
2024-07-09 11:49:08 -05:00
Nicolas Mowen
34812b7439
Limited shm frame count (#12346)
* Only keep 2x detect fps frames in SHM

* Don't delete previous shm frames in output

* Catch case where images do not exist

* Ensure files are closed

* Clear out all frames when shutting down

* Correct the number of frames saved

* Simplify empty shm error handling

* Improve frame safety
2024-07-09 06:44:53 -06:00
ubawurinna
2ea1d34f4f
OpenVino - Error clarification for compile_model function (#12304)
* Error clarification for openvino's compile_model function

* run ruff format

---------

Co-authored-by: ubawurinna <you@example.com>
2024-07-08 08:13:33 -05:00
Josh Hawkins
a0741aa7b1
Remove matplotlib and generate color palette to mimic matplotlib's colors (#12327) 2024-07-07 12:53:00 -06:00
Nicolas Mowen
012aa63571
Enforce minimum value for mqtt stats update (#12253) 2024-07-01 17:08:14 -05:00
Nicolas Mowen
ef7846bb41
Update ffmpeg source (#12251)
* Revert "Use latest 5.1 ffmpeg update (#12243)"

This reverts commit 93e08688be.

* Revert "Change qsv device arg to standard hwaccel arg (#12249)"

This reverts commit 56b4a551dc.

* Use different repo for build
2024-07-01 15:46:40 -06:00
Nicolas Mowen
56b4a551dc
Change qsv device arg to standard hwaccel arg (#12249) 2024-07-01 12:57:04 -06:00
Nicolas Mowen
46c3ef8c6b
Nginx config tweaks (#12174)
* Change auth port and remove ipv6

* Add docs for nginx bind mount

* Consolidate listen statements

* Update port in docs

* Fix typing
2024-06-29 07:18:40 -06:00
Nicolas Mowen
bfbacee7b5
Quick fix (#12153)
* Use list for zones to keep chronological order

* Replace when changing playbackRate
2024-06-25 07:38:37 -05:00
Nicolas Mowen
88046ebd15
Fix review items (#12126) 2024-06-23 18:52:02 -05:00
Nicolas Mowen
abc1ecfb60
Show correct previous state when updating for end (#12122)
* Show correct previous state when updating for end

* remove log

* Formatting
2024-06-23 08:45:10 -05:00
Nicolas Mowen
3410290b45
Fix preview failing on cameras with - in name (#12093) 2024-06-21 07:33:20 -06:00
Marc Altmann
4bca405e29
fix key error for custom models (#12042) 2024-06-18 07:40:54 -06:00
Nicolas Mowen
bdda89b5e2
Fix case where S6 timestamp is missing (#12040) 2024-06-18 08:07:28 -05:00
Nicolas Mowen
4635e64b2e
Use api path to determine type (#12031)
* Use api path to determine type

* Use in both cases

* Fix extension parsing
2024-06-17 14:53:35 -06:00
Nicolas Mowen
24770148a7
Don't fail when preview restore fails (#12022)
* Don't fail when preview restore fails

* Cleanup
2024-06-17 08:56:24 -05:00
Nicolas Mowen
ba6fc0fdb3
UI Tweaks (#12002)
* Adjust review padding

* Fix mse check

* Don't fail when cpu property is missing

* ignore lines without any spaces
2024-06-17 06:19:16 -06:00
Miguel Angel Nubla
02af1b0ac7
Fix header auth (#11985) 2024-06-16 05:52:17 -05:00
Blake Blackshear
15e2df1e5c
set shortest edge to preview height (#11971) 2024-06-15 06:42:23 -05:00
Alex Yao
0d862d6aa8
Show failure exception message (#11964) 2024-06-14 20:34:14 -05:00
Blake Blackshear
9ceffeb191
split out proxy from auth (#11963)
* split out proxy from auth

* update documentation

* fixup auth mode check
2024-06-14 18:02:13 -05:00
Nicolas Mowen
3e1861e2ce
Correctly update segment data (#11922) 2024-06-12 15:48:54 -06:00
Nicolas Mowen
6978140492
Copy review data so there is a diff (#11896) 2024-06-11 18:05:20 -05:00
Nicolas Mowen
c9d253a320
Review improvements (#11879)
* Update segment even when number of active objects is the same

* add score to frigate+ chip

* Add support for selecting zones

* Add api support for filtering on zones

* Adjust UI

* Update filtering logic

* Clean up
2024-06-11 08:19:17 -06:00
Blake Blackshear
b3eab17f2c
just check for secret file specifically (#11877)
* just check for secret file specifically

* add josh to funding
2024-06-11 06:53:12 -06:00
Blake Blackshear
30b86271ea
move clip.mp4 backend to clips folder (#11834)
* move clip.mp4 backend to clips folder

* improve caching

* fix check
2024-06-09 13:45:26 -05:00
Blake Blackshear
4313fd97aa
Adds support for YOLO-NAS in OpenVino (#11645)
* update onnxruntime

* support for yolo-nas in openvino

* cleanup notebook

* update docs

* improve docs

* handle AUTO issue and update docs
2024-06-07 05:52:08 -06:00
Blake Blackshear
b4384a1be3
Shutdown hang (#11793)
* intentionally handle queues during shutdown and carefully manage shutdown order

* more carefully manage shutdown to avoid threadlocks

* use debug for signal logging

* ensure disabled cameras dont break shutdown

* typo
2024-06-06 18:54:38 -05:00
Josh Hawkins
5b42c91a91
Compare timestamps instead of datetimes when exporting (#11790) 2024-06-06 14:34:31 -06:00
Josh Hawkins
926d394b2f
Ensure datetime comparison is the same (native vs aware) (#11789) 2024-06-06 14:10:46 -06:00
Josh Hawkins
fc5a926892
Ensure export thumbnail datetime is UTC (#11786) 2024-06-06 13:18:42 -06:00
Josh Hawkins
d2787d4308
Change debug message about deleting db entries to warning (#11780) 2024-06-06 09:16:28 -06:00
Ramūnas Dronga
36ae42a011
fix: remove contradictory ffmpeg param and missing param (#11752) 2024-06-04 14:19:37 -06:00
Nicolas Mowen
2875e84cb5
UI Fixes (#11742)
* Allow deleting failed in progress exports

* Fix comparison and preview retrieval

* Fix stretching of event cards

* Reset edit state when group changes

* Allow specifying group
2024-06-04 09:10:19 -06:00
Jason Hunter
7917bf55ff
Fix unclean shutdown of ZMQ (#11740) 2024-06-04 06:39:34 -06:00
Marc Altmann
7a4eb0b37c
Add coco-80 labelmap and update FFmpeg for Rockchip (#11695)
* add coco-80 labelmap and update ffmpeg

* Update docs/docs/configuration/object_detectors.md

---------

Co-authored-by: Blake Blackshear <blake.blackshear@gmail.com>
2024-06-02 20:47:26 -05:00
Blake Blackshear
e431031112
improve tls implementation (#11690)
* improve tls implementation

* update docs
2024-06-02 06:48:28 -06:00
Nicolas Mowen
142641b387
Adjust nginx proc count based on available CPUs (#11653)
* Restrict nginx to 4 processes if more are available

* Fix bash

* Different sed structure

* Limit ffmpeg thread counts for secondary ffmpeg processes

* Add up / down keyboard shortcut
2024-05-30 12:34:01 -05:00
Nicolas Mowen
1c2e2a7b38
Handle case where user sets detections as empty list (#11646) 2024-05-30 07:45:34 -05:00
Nicolas Mowen
ec88752666
Don't show mark reviewed button when all items are in progress (#11636)
* Don't show mark reviewed button when all items are in progress

* Fix unknown preview file
2024-05-29 19:54:56 -05:00
Nicolas Mowen
9fc22efa2d
Always save previews in UTC offset (#11629) 2024-05-29 14:55:56 -06:00
Nicolas Mowen
9e8202874e
Remove live mode from config (#11618)
* Use preferred mode as default

* Remove live mode from config

* Add deer icon

* remove from config schema
2024-05-29 13:06:48 -05:00
Josh Hawkins
3dd401f57a
string or list for camera groups (#11616) 2024-05-29 09:19:05 -05:00
Nicolas Mowen
d5f6decd30
Cache camera stream info to speed up future config generations (#11614)
* Cache camera stream info to speed up future config generations

* Formatting

* fix
2024-05-29 07:41:41 -06:00
Nicolas Mowen
cf4517cbdb
cache current hour previews (#11606) 2024-05-28 17:35:55 -05:00
James Tanner-McLeod
c95758580f
Draw motion mask first (#11598)
This draws the motion mask before the other overlay elements (such as bounding boxes), so that they are still visible. Fixes #11592
2024-05-28 12:44:20 -06:00
Josh Hawkins
f7c3ddd380
check if motion dataframe is empty (#11593) 2024-05-28 11:33:28 -06:00
Nicolas Mowen
d64633889b
Fixes (#11575)
* Fix settings icon

* Handle out of resources
2024-05-27 21:27:01 -05:00
Blake Blackshear
bfeb7b8a96
upgrade to latest openvino version (#11563) 2024-05-27 14:49:35 -06:00
Nicolas Mowen
c2eac10925
Tweaks and fixes (#11541)
* Update config version to be stored inside of the config

* Don't remove items from list when navigating back

* Use video api instead of webps for live current hour filmstrip

* Check that the config file is writable

* Show camera name when camera is offline

* Show camera name when offline

* Cleanup
2024-05-26 16:49:12 -05:00
Josh Hawkins
3f171e7670
bugfixes (#11526) 2024-05-25 20:37:53 -06:00
Nicolas Mowen
4d05bc25f4
Safely load config file for go2rtc (#11491)
* Safely load config file for go2rtc

* Add log for default config

* Cleanup
2024-05-22 18:10:55 -05:00
Nicolas Mowen
527d2ab27b
Fix extra space in command (#11487) 2024-05-22 13:25:58 -05:00
Nicolas Mowen
c49be0a47f
UI tweaks / fixes (#11479)
* Update coloring of logs button

* Fix paging after submitting

* Fix sorting

* Add icon
2024-05-22 07:14:48 -06:00
Rémi Bédard-Couture
592b645231
Add support for TensorRT v10 (multiple api calls have changed) (#11166)
* Add support for TensorRT v10 (multiple api calls have changed)

* Remove unnecessary size check in TensorRT v10 block

* Refactor to reduce code duplication

* Fix wrong function name in new _get_binding_dtype function and only return input check (not assertion) in new _binding_is_input function

* Add space around TRT_VERSION variable assignment (=) to respect linting

* More linting fix

* Update frigate/detectors/plugins/tensorrt.py

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

* More linting

---------

Co-authored-by: Nicolas Mowen <nickmowen213@gmail.com>
2024-05-22 06:57:52 -06:00
Marc Altmann
e91f3d8d9b
Reimplement support for rknn detector (#11365)
* initial support for rknn detector

* remove purge_model_cache option

* update rknn

* support rk3576

* fix post_process_yolonas call

* add yolonas models

* update config

* exclude yolonas from image

* remove code
2024-05-21 17:50:03 -05:00