Commit Graph

1393 Commits

Author SHA1 Message Date
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
Meow
6e39d55dd3
cspell fixes (#11447) 2024-05-20 07:37:56 -06:00
Josh Hawkins
82d4bf8ab5
Log warning for high detect fps (#11435)
* warn in log if detect fps > 10

* change message
2024-05-19 21:36:41 -06:00
Blake Blackshear
402f5fa142
add setting for secure flag on cookie (#11422)
* add setting for secure flag on cookie

* docs fix
2024-05-18 13:53:49 -06:00
Blake Blackshear
1133202cbd
Auth! (#11347)
* reload the window on 401

* backend apis for auth

* add login page

* re-enable web linter

* fix login page routing

* bypass csrf for internal auth endpoint

* disable healthcheck in devcontainer target

* include login page in vite build

* redirect to login page on 401

* implement config for users and settings

* implement JWT actual secret

* add brute force protection on login

* add support for redirecting from auth failures on api calls

* return location for redirect

* default cookie name should pass regex test

* set hash iterations to current OWASP recommendation

* move users to database instead of config

* config option to reset admin password on startup

* user management UI

* check for deleted user on refresh

* validate username and fixes

* remove password constraint

* cleanup

* fix user check on refresh

* web fixes

* implement auth via new external port

* use x-forwarded-for to rate limit login attempts by ip

* implement logout and profile

* fixes

* lint fixes

* add support for user passthru from upstream proxies

* add support for specifying a logout url

* add documentation

* Update docs/docs/configuration/authentication.md

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

* Update docs/docs/configuration/authentication.md

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

---------

Co-authored-by: Nicolas Mowen <nickmowen213@gmail.com>
2024-05-18 10:36:13 -06:00
Marc Altmann
a70dd02788
Implement common post_processing (#11408)
* implement common post_processing

* fix formatting

* rename yolonas to post_process_yolonas
2024-05-17 10:50:45 -06:00
Nicolas Mowen
97f5ba0145
Update go2rtc and implement stream probe to only show 2 way talk when supported (#11407)
* Support two way talk validation

* Fix handling

* Use go2rtc stream info to infer audio output

* Update go2rtc

* Update bundle policy

* Formatting
2024-05-17 07:30:22 -06:00
Nicolas Mowen
07eef9b139
Recording fixes (#11406)
* Fix infinite review items when record is disabled

* Fix showing loading icon while continuing to scrub

* Fix recording layout previews
2024-05-17 07:26:42 -06:00
Nicolas Mowen
76f822630d
Fix preview saving for ffmpeg builds < 5 (#11400)
* Fix ffmpeg for rpi

* Fix character
2024-05-16 16:55:55 -05:00
Nicolas Mowen
b10ae68c1f
Tweaks and fixes (#11372)
* Ensure camera activity is up to date

* Persist playback rate between cameras

* Add setting for default playback rate

* Fix audio events saving image

* Formatting

* Use select component
2024-05-14 08:38:03 -05:00
Nicolas Mowen
b451d0a4f1
Improve mask error (#11361)
* Don't apply masks / zones that are outside of the detect resolution

* formatting
2024-05-13 10:00:34 -05:00
Nicolas Mowen
9680f2a574
Bug fixes (#11332)
* Fix external events saving

* Only show relevant labels

* Set on recordings view too

* Fix video control width on motion page

* use overlay so player state is maintained between camera switches

* use overlay so player state is maintained between camera switches

* mobile only

* Formatting

* Use higher amount

* Only wrap when needed
2024-05-10 11:42:56 -06:00