* Remove source_type from API
* Don't require state classification models to select all classes
* Specifically validate provided end_time for manual events
* Remove yolov9 specification for warning
* Remove warning for coral
* clarify zone name tip
* clarify replace rules in lpr docs
* remove periods
* Add explanation for review report
* adjust HLS gap controller params
defaults to false, should help to recover from hangs and stalling in tracking details videos on chrome
* only redirect to login page once on 401
attempt to fix ios pwa safari redirect storm
* Use contextual information from other cameras to inform report summary
* Formatting and prompt improvements for review summary report
* More improvements to prompt
* Remove examples
* Don't show admin action buttons on export card
* fix redirect race condition
Coordinate 401 redirect logic between ApiProvider and ProtectedRoute using a shared flag to prevent multiple simultaneous redirects that caused UI flashing. Ensure both auth error paths check and set the redirect flag before navigating to login, eliminating race conditions where both mechanisms could trigger at once
---------
Co-authored-by: Josh Hawkins <32435876+hawkeye217@users.noreply.github.com>
* Adds support for YOLO v9 models running on Google Coral
* fix format by using ruff instead of black
* Remove comment
Co-authored-by: Nicolas Mowen <nickmowen213@gmail.com>
* Remove log message
Co-authored-by: Nicolas Mowen <nickmowen213@gmail.com>
* revert to hard-coded settings. use ModelTypeEnum directly
* remove log messages. detect invalid output tensor count
* remove 1-tensor processing. add pre_process() function
* check for valid model type
* fix formatting
* remove unused import and variable
* remove tip that indicates other YOLO models may be supported.
---------
Co-authored-by: Nicolas Mowen <nickmowen213@gmail.com>
* ensure audio events display timeline entries in tracking details
* tweak tracking details layout for small desktop sizes
* update transcription docs
* Update classification docs for training recommendations
* Make number of classification images to be kept configurable
* Add bird to classification reference
* Fix incorrect averaging of the segments so it correctly only uses the most recent segments
* fix trigger logic
* add ability to download clean snapshot
---------
Co-authored-by: Nicolas Mowen <nickmowen213@gmail.com>
* Implement renaming in model editing dialog
* add transcription faq
* remove incorrect constraint for viewer as username
should be able to change anyone's role other than admin
* Don't save redundant state changes
* prevent crash when a camera doesn't support onvif imaging service required for focus support
* Fine tune behavior
* Stop redundant go2rtc stream metadata requests and defer audio information to allow bandwidth for image requests
* Improve cleanup logic for capture process
---------
Co-authored-by: Josh Hawkins <32435876+hawkeye217@users.noreply.github.com>
* Fix history management failing when updating URL
* Handle case where user doesn't have images that represent all states
If a user selects all imags and can't proceed we show a warning that they can still proceed but the model won't be trained until they get at least one image for every state.
* Still create all classes
We stil need to create all classes even if the user didn't assign images to them.
* fix camera group access for non admin users
changes from previous PR wrongly included users from the standard viewer role (but excluded custom viewer roles)
* Adjust threat level interaction to be less strict
* use base path when fetching go2rtc data
* show config error message when starting in safe mode
* fix genai migration
* fix genai
* Fix genai migration
---------
Co-authored-by: Josh Hawkins <32435876+hawkeye217@users.noreply.github.com>
* Don't add to history when opening search dialog
* Update caniuse
* Revamp the history handling for dialog components
* clarify audio transcription docs
* Use titlecase helper
* Allow running object clasasification on stationary objects
* small spacing tweaks for tablets
* require admin role to delete users
* explicitly prevent deletion of admin user
---------
Co-authored-by: Josh Hawkins <32435876+hawkeye217@users.noreply.github.com>
Currently translated at 100.0% (125 of 125 strings)
Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (639 of 639 strings)
Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (639 of 639 strings)
Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (90 of 90 strings)
Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (127 of 127 strings)
Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (214 of 214 strings)
Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (52 of 52 strings)
Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (116 of 116 strings)
Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (639 of 639 strings)
Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (127 of 127 strings)
Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (39 of 39 strings)
Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (214 of 214 strings)
Co-authored-by: GuoQing Liu <842607283@qq.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/zh_Hans/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-classificationmodel/zh_Hans/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-events/zh_Hans/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-explore/zh_Hans/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-facelibrary/zh_Hans/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-live/zh_Hans/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/zh_Hans/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-system/zh_Hans/
Translation: Frigate NVR/common
Translation: Frigate NVR/views-classificationmodel
Translation: Frigate NVR/views-events
Translation: Frigate NVR/views-explore
Translation: Frigate NVR/views-facelibrary
Translation: Frigate NVR/views-live
Translation: Frigate NVR/views-settings
Translation: Frigate NVR/views-system
Currently translated at 100.0% (128 of 128 strings)
Translated using Weblate (Swedish)
Currently translated at 100.0% (127 of 127 strings)
Translated using Weblate (Swedish)
Currently translated at 100.0% (125 of 125 strings)
Translated using Weblate (Swedish)
Currently translated at 100.0% (639 of 639 strings)
Translated using Weblate (Swedish)
Currently translated at 100.0% (214 of 214 strings)
Translated using Weblate (Swedish)
Currently translated at 100.0% (92 of 92 strings)
Translated using Weblate (Swedish)
Currently translated at 100.0% (54 of 54 strings)
Translated using Weblate (Swedish)
Currently translated at 100.0% (639 of 639 strings)
Translated using Weblate (Swedish)
Currently translated at 100.0% (639 of 639 strings)
Translated using Weblate (Swedish)
Currently translated at 100.0% (116 of 116 strings)
Translated using Weblate (Swedish)
Currently translated at 100.0% (639 of 639 strings)
Translated using Weblate (Swedish)
Currently translated at 100.0% (127 of 127 strings)
Translated using Weblate (Swedish)
Currently translated at 100.0% (39 of 39 strings)
Translated using Weblate (Swedish)
Currently translated at 100.0% (214 of 214 strings)
Translated using Weblate (Norwegian Bokmål)
Currently translated at 100.0% (118 of 118 strings)
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Kristian Johansson <knmjohansson@gmail.com>
Co-authored-by: Noah <noah@hack.se>
Co-authored-by: OverTheHillsAndFarAway <prosjektx@users.noreply.hosted.weblate.org>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/sv/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-dialog/sv/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/objects/nb_NO/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-classificationmodel/sv/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-events/sv/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-explore/sv/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-live/sv/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/sv/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-system/sv/
Translation: Frigate NVR/common
Translation: Frigate NVR/components-dialog
Translation: Frigate NVR/objects
Translation: Frigate NVR/views-classificationmodel
Translation: Frigate NVR/views-events
Translation: Frigate NVR/views-explore
Translation: Frigate NVR/views-live
Translation: Frigate NVR/views-settings
Translation: Frigate NVR/views-system
Currently translated at 100.0% (127 of 127 strings)
Translated using Weblate (French)
Currently translated at 100.0% (128 of 128 strings)
Translated using Weblate (French)
Currently translated at 100.0% (125 of 125 strings)
Translated using Weblate (French)
Currently translated at 100.0% (92 of 92 strings)
Translated using Weblate (French)
Currently translated at 100.0% (639 of 639 strings)
Translated using Weblate (French)
Currently translated at 100.0% (127 of 127 strings)
Translated using Weblate (French)
Currently translated at 100.0% (39 of 39 strings)
Translated using Weblate (French)
Currently translated at 100.0% (214 of 214 strings)
Translated using Weblate (French)
Currently translated at 100.0% (116 of 116 strings)
Translated using Weblate (French)
Currently translated at 100.0% (118 of 118 strings)
Translated using Weblate (French)
Currently translated at 100.0% (635 of 635 strings)
Translated using Weblate (French)
Currently translated at 100.0% (113 of 113 strings)
Translated using Weblate (French)
Currently translated at 100.0% (108 of 108 strings)
Translated using Weblate (French)
Currently translated at 100.0% (52 of 52 strings)
Translated using Weblate (French)
Currently translated at 100.0% (209 of 209 strings)
Translated using Weblate (French)
Currently translated at 100.0% (106 of 106 strings)
Translated using Weblate (French)
Currently translated at 97.1% (103 of 106 strings)
Translated using Weblate (French)
Currently translated at 97.1% (103 of 106 strings)
Translated using Weblate (French)
Currently translated at 100.0% (598 of 598 strings)
Translated using Weblate (French)
Currently translated at 100.0% (127 of 127 strings)
Co-authored-by: Anonymous <noreply@weblate.org>
Co-authored-by: Apocoloquintose <bertrand.moreux@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/fr/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-classificationmodel/fr/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-events/fr/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-explore/fr/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-facelibrary/fr/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-live/fr/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/fr/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-system/fr/
Translation: Frigate NVR/common
Translation: Frigate NVR/views-classificationmodel
Translation: Frigate NVR/views-events
Translation: Frigate NVR/views-explore
Translation: Frigate NVR/views-facelibrary
Translation: Frigate NVR/views-live
Translation: Frigate NVR/views-settings
Translation: Frigate NVR/views-system
Currently translated at 90.2% (83 of 92 strings)
Translated using Weblate (Spanish)
Currently translated at 30.1% (35 of 116 strings)
Translated using Weblate (Spanish)
Currently translated at 64.0% (409 of 639 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (39 of 39 strings)
Translated using Weblate (Spanish)
Currently translated at 76.3% (97 of 127 strings)
Translated using Weblate (Spanish)
Currently translated at 29.3% (34 of 116 strings)
Translated using Weblate (Spanish)
Currently translated at 24.1% (28 of 116 strings)
Translated using Weblate (Spanish)
Currently translated at 25.4% (27 of 106 strings)
Translated using Weblate (Spanish)
Currently translated at 26.4% (28 of 106 strings)
Translated using Weblate (Spanish)
Currently translated at 76.3% (97 of 127 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (39 of 39 strings)
Co-authored-by: Adrian C <adriancuervo@gmail.com>
Co-authored-by: Gerard Ricart Castells <gerard.ricart@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Josep Olivé <josepolive89@gmail.com>
Co-authored-by: Ramòn Rueda <virem1@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-classificationmodel/es/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-events/es/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-explore/es/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-live/es/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/es/
Translation: Frigate NVR/views-classificationmodel
Translation: Frigate NVR/views-events
Translation: Frigate NVR/views-explore
Translation: Frigate NVR/views-live
Translation: Frigate NVR/views-settings
Currently translated at 100.0% (127 of 127 strings)
Translated using Weblate (Dutch)
Currently translated at 100.0% (128 of 128 strings)
Translated using Weblate (Dutch)
Currently translated at 100.0% (116 of 116 strings)
Translated using Weblate (Dutch)
Currently translated at 100.0% (92 of 92 strings)
Translated using Weblate (Dutch)
Currently translated at 100.0% (125 of 125 strings)
Translated using Weblate (Dutch)
Currently translated at 100.0% (639 of 639 strings)
Translated using Weblate (Dutch)
Currently translated at 100.0% (127 of 127 strings)
Translated using Weblate (Dutch)
Currently translated at 100.0% (39 of 39 strings)
Translated using Weblate (Dutch)
Currently translated at 100.0% (214 of 214 strings)
Translated using Weblate (Dutch)
Currently translated at 100.0% (116 of 116 strings)
Translated using Weblate (Dutch)
Currently translated at 100.0% (635 of 635 strings)
Translated using Weblate (Dutch)
Currently translated at 100.0% (113 of 113 strings)
Translated using Weblate (Dutch)
Currently translated at 100.0% (108 of 108 strings)
Translated using Weblate (Dutch)
Currently translated at 100.0% (52 of 52 strings)
Translated using Weblate (Dutch)
Currently translated at 100.0% (209 of 209 strings)
Translated using Weblate (Dutch)
Currently translated at 100.0% (106 of 106 strings)
Translated using Weblate (Dutch)
Currently translated at 100.0% (106 of 106 strings)
Translated using Weblate (Dutch)
Currently translated at 100.0% (598 of 598 strings)
Translated using Weblate (Dutch)
Currently translated at 100.0% (207 of 207 strings)
Translated using Weblate (Dutch)
Currently translated at 97.1% (103 of 106 strings)
Translated using Weblate (Dutch)
Currently translated at 97.1% (103 of 106 strings)
Translated using Weblate (Dutch)
Currently translated at 100.0% (598 of 598 strings)
Translated using Weblate (Dutch)
Currently translated at 100.0% (127 of 127 strings)
Co-authored-by: Anonymous <noreply@weblate.org>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Marijn <168113859+Marijn0@users.noreply.github.com>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/nl/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-classificationmodel/nl/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-events/nl/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-explore/nl/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-facelibrary/nl/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-live/nl/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/nl/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-system/nl/
Translation: Frigate NVR/common
Translation: Frigate NVR/views-classificationmodel
Translation: Frigate NVR/views-events
Translation: Frigate NVR/views-explore
Translation: Frigate NVR/views-facelibrary
Translation: Frigate NVR/views-live
Translation: Frigate NVR/views-settings
Translation: Frigate NVR/views-system
Currently translated at 14.6% (17 of 116 strings)
Translated using Weblate (Czech)
Currently translated at 13.7% (16 of 116 strings)
Translated using Weblate (Czech)
Currently translated at 100.0% (13 of 13 strings)
Translated using Weblate (Czech)
Currently translated at 63.0% (403 of 639 strings)
Translated using Weblate (Czech)
Currently translated at 76.9% (30 of 39 strings)
Translated using Weblate (Czech)
Currently translated at 4.7% (5 of 106 strings)
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Jakub Sojka <sojkubu@seznam.cz>
Co-authored-by: Martin Janda <janda@chilliit.cz>
Co-authored-by: Michal K <michal@totaljs.com>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-classificationmodel/cs/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-events/cs/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-exports/cs/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/cs/
Translation: Frigate NVR/views-classificationmodel
Translation: Frigate NVR/views-events
Translation: Frigate NVR/views-exports
Translation: Frigate NVR/views-settings
Currently translated at 100.0% (127 of 127 strings)
Translated using Weblate (Catalan)
Currently translated at 100.0% (128 of 128 strings)
Translated using Weblate (Catalan)
Currently translated at 100.0% (125 of 125 strings)
Translated using Weblate (Catalan)
Currently translated at 100.0% (639 of 639 strings)
Translated using Weblate (Catalan)
Currently translated at 100.0% (92 of 92 strings)
Translated using Weblate (Catalan)
Currently translated at 100.0% (639 of 639 strings)
Translated using Weblate (Catalan)
Currently translated at 100.0% (127 of 127 strings)
Translated using Weblate (Catalan)
Currently translated at 100.0% (39 of 39 strings)
Translated using Weblate (Catalan)
Currently translated at 100.0% (214 of 214 strings)
Translated using Weblate (Catalan)
Currently translated at 100.0% (116 of 116 strings)
Translated using Weblate (Catalan)
Currently translated at 100.0% (113 of 113 strings)
Translated using Weblate (Catalan)
Currently translated at 100.0% (108 of 108 strings)
Translated using Weblate (Catalan)
Currently translated at 100.0% (52 of 52 strings)
Translated using Weblate (Catalan)
Currently translated at 100.0% (209 of 209 strings)
Translated using Weblate (Catalan)
Currently translated at 100.0% (106 of 106 strings)
Translated using Weblate (Catalan)
Currently translated at 100.0% (598 of 598 strings)
Translated using Weblate (Catalan)
Currently translated at 97.1% (103 of 106 strings)
Translated using Weblate (Catalan)
Currently translated at 100.0% (106 of 106 strings)
Translated using Weblate (Catalan)
Currently translated at 100.0% (598 of 598 strings)
Translated using Weblate (Catalan)
Currently translated at 100.0% (127 of 127 strings)
Co-authored-by: Eduardo Pastor Fernández <123eduardoneko123@gmail.com>
Co-authored-by: Gerard Ricart Castells <gerard.ricart@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/ca/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-classificationmodel/ca/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-events/ca/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-explore/ca/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-facelibrary/ca/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-live/ca/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/ca/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-system/ca/
Translation: Frigate NVR/common
Translation: Frigate NVR/views-classificationmodel
Translation: Frigate NVR/views-events
Translation: Frigate NVR/views-explore
Translation: Frigate NVR/views-facelibrary
Translation: Frigate NVR/views-live
Translation: Frigate NVR/views-settings
Translation: Frigate NVR/views-system
Currently translated at 100.0% (127 of 127 strings)
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (128 of 128 strings)
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (125 of 125 strings)
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (92 of 92 strings)
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (639 of 639 strings)
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (127 of 127 strings)
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (39 of 39 strings)
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (214 of 214 strings)
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (214 of 214 strings)
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (116 of 116 strings)
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (635 of 635 strings)
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (113 of 113 strings)
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (108 of 108 strings)
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (52 of 52 strings)
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (209 of 209 strings)
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (106 of 106 strings)
Translated using Weblate (Ukrainian)
Currently translated at 97.1% (103 of 106 strings)
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (598 of 598 strings)
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (127 of 127 strings)
Co-authored-by: Alex Taran <oleksii.taran@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Максим Горпиніч <gorpinicmaksim0@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/uk/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-classificationmodel/uk/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-events/uk/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-explore/uk/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-facelibrary/uk/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-live/uk/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/uk/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-system/uk/
Translation: Frigate NVR/common
Translation: Frigate NVR/views-classificationmodel
Translation: Frigate NVR/views-events
Translation: Frigate NVR/views-explore
Translation: Frigate NVR/views-facelibrary
Translation: Frigate NVR/views-live
Translation: Frigate NVR/views-settings
Translation: Frigate NVR/views-system
Currently translated at 100.0% (639 of 639 strings)
Translated using Weblate (Romanian)
Currently translated at 100.0% (127 of 127 strings)
Translated using Weblate (Romanian)
Currently translated at 100.0% (128 of 128 strings)
Translated using Weblate (Romanian)
Currently translated at 100.0% (125 of 125 strings)
Translated using Weblate (Romanian)
Currently translated at 100.0% (92 of 92 strings)
Translated using Weblate (Romanian)
Currently translated at 100.0% (118 of 118 strings)
Translated using Weblate (Romanian)
Currently translated at 100.0% (639 of 639 strings)
Translated using Weblate (Romanian)
Currently translated at 100.0% (127 of 127 strings)
Translated using Weblate (Romanian)
Currently translated at 100.0% (39 of 39 strings)
Translated using Weblate (Romanian)
Currently translated at 100.0% (214 of 214 strings)
Translated using Weblate (Romanian)
Currently translated at 100.0% (116 of 116 strings)
Translated using Weblate (Romanian)
Currently translated at 100.0% (113 of 113 strings)
Translated using Weblate (Romanian)
Currently translated at 100.0% (108 of 108 strings)
Translated using Weblate (Romanian)
Currently translated at 100.0% (52 of 52 strings)
Translated using Weblate (Romanian)
Currently translated at 100.0% (106 of 106 strings)
Translated using Weblate (Romanian)
Currently translated at 100.0% (598 of 598 strings)
Translated using Weblate (Romanian)
Currently translated at 100.0% (127 of 127 strings)
Translated using Weblate (Romanian)
Currently translated at 100.0% (209 of 209 strings)
Translated using Weblate (Romanian)
Currently translated at 97.1% (103 of 106 strings)
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: lukasig <lukasig@hotmail.com>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/ro/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-classificationmodel/ro/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-events/ro/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-explore/ro/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-facelibrary/ro/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-live/ro/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/ro/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-system/ro/
Translation: Frigate NVR/common
Translation: Frigate NVR/views-classificationmodel
Translation: Frigate NVR/views-events
Translation: Frigate NVR/views-explore
Translation: Frigate NVR/views-facelibrary
Translation: Frigate NVR/views-live
Translation: Frigate NVR/views-settings
Translation: Frigate NVR/views-system
Currently translated at 68.7% (439 of 639 strings)
Translated using Weblate (Russian)
Currently translated at 98.5% (211 of 214 strings)
Translated using Weblate (Russian)
Currently translated at 95.5% (108 of 113 strings)
Translated using Weblate (Russian)
Currently translated at 100.0% (52 of 52 strings)
Translated using Weblate (Russian)
Currently translated at 100.0% (209 of 209 strings)
Translated using Weblate (Russian)
Currently translated at 100.0% (501 of 501 strings)
Translated using Weblate (Russian)
Currently translated at 100.0% (108 of 108 strings)
Translated using Weblate (Russian)
Currently translated at 100.0% (54 of 54 strings)
Translated using Weblate (Russian)
Currently translated at 100.0% (106 of 106 strings)
Translated using Weblate (Russian)
Currently translated at 78.0% (467 of 598 strings)
Translated using Weblate (Russian)
Currently translated at 100.0% (52 of 52 strings)
Translated using Weblate (Russian)
Currently translated at 100.0% (127 of 127 strings)
Translated using Weblate (Russian)
Currently translated at 100.0% (39 of 39 strings)
Translated using Weblate (Russian)
Currently translated at 73.9% (442 of 598 strings)
Translated using Weblate (Russian)
Currently translated at 95.5% (86 of 90 strings)
Translated using Weblate (Russian)
Currently translated at 98.0% (51 of 52 strings)
Translated using Weblate (Russian)
Currently translated at 71.6% (91 of 127 strings)
Translated using Weblate (Russian)
Currently translated at 86.4% (433 of 501 strings)
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Артём Владимиров <artyomka71@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/audio/ru/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/ru/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-dialog/ru/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-classificationmodel/ru/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-events/ru/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-explore/ru/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-facelibrary/ru/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-live/ru/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/ru/
Translation: Frigate NVR/audio
Translation: Frigate NVR/common
Translation: Frigate NVR/components-dialog
Translation: Frigate NVR/views-classificationmodel
Translation: Frigate NVR/views-events
Translation: Frigate NVR/views-explore
Translation: Frigate NVR/views-facelibrary
Translation: Frigate NVR/views-live
Translation: Frigate NVR/views-settings
Currently translated at 21.5% (25 of 116 strings)
Translated using Weblate (German)
Currently translated at 92.3% (36 of 39 strings)
Translated using Weblate (German)
Currently translated at 93.7% (119 of 127 strings)
Translated using Weblate (German)
Currently translated at 19.8% (23 of 116 strings)
Translated using Weblate (German)
Currently translated at 89.7% (35 of 39 strings)
Translated using Weblate (German)
Currently translated at 100.0% (13 of 13 strings)
Translated using Weblate (German)
Currently translated at 77.7% (497 of 639 strings)
Translated using Weblate (German)
Currently translated at 98.0% (51 of 52 strings)
Translated using Weblate (German)
Currently translated at 18.1% (21 of 116 strings)
Translated using Weblate (German)
Currently translated at 84.6% (33 of 39 strings)
Translated using Weblate (German)
Currently translated at 6.0% (7 of 116 strings)
Translated using Weblate (German)
Currently translated at 92.3% (48 of 52 strings)
Translated using Weblate (German)
Currently translated at 93.7% (119 of 127 strings)
Translated using Weblate (German)
Currently translated at 71.6% (91 of 127 strings)
Translated using Weblate (German)
Currently translated at 100.0% (54 of 54 strings)
Translated using Weblate (Dutch)
Currently translated at 100.0% (635 of 635 strings)
Translated using Weblate (German)
Currently translated at 100.0% (209 of 209 strings)
Translated using Weblate (German)
Currently translated at 88.4% (443 of 501 strings)
Co-authored-by: Christos Sidiropoulos <dev@csidirop.de>
Co-authored-by: Fuxle <moritz.hofmann2005@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Marijn <168113859+Marijn0@users.noreply.github.com>
Co-authored-by: mvdberge <micha.vordemberge@christmann.info>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/audio/de/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/de/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-dialog/de/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-classificationmodel/de/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-events/de/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-explore/de/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-exports/de/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-facelibrary/de/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/de/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/nl/
Translation: Frigate NVR/audio
Translation: Frigate NVR/common
Translation: Frigate NVR/components-dialog
Translation: Frigate NVR/views-classificationmodel
Translation: Frigate NVR/views-events
Translation: Frigate NVR/views-explore
Translation: Frigate NVR/views-exports
Translation: Frigate NVR/views-facelibrary
Translation: Frigate NVR/views-settings
* fix wording in reference config
* spacing tweaks
* make live view settings drawer scrollable
* clarify audio transcription docs
* change audio transcription icon to activity indicator when transcription is in progress
the backend doesn't implement any kind of queueing for speech event transcription
* tracking details tweaks
- Add attribute box overlay and area
- Add score
- Throttle swr revalidation during video component rerendering
* add mse codecs to console debug on errors
* add camera name
* update live view docs
* use swr as single source of truth for searchDetail
rather than maintaining a separate state, derive the selected item from swr cache. fixes websocket sync when regenerating descriptions or fetching transcriptions
* fix key warning in console
* don't try to fetch event from review item for audio events
* update audio transcription toast wording
* Add a community supported badge to specific detectors in the info summaries to better separate
* Make object classification publish to tracked object update and add examples for state classification
* Add item to advanced docs about tensorflow limiting
* Don't show submission for in progress objects
* fix for ios not reporting video dimensions on initial metadata load
in testing, polling with requestAnimationFrame finds the dimensions within 2 frames
* Catch jetson nvidia device tree
---------
Co-authored-by: Nicolas Mowen <nickmowen213@gmail.com>
* Include DB in safe mode config
Copy DB when going into safe mode to avoid creating a new one if a user has configured a separate location
* Fix documentation for example log module
* Set minimum duration for recording segments
Due to the inpoint logic, some recordings would get clipped on the end of the segment with a non-zero duration but not enough duration to include a frame. 100 ms is a safe value for any video that is 10fps or higher to have a frame
* Add docs to explain object assignment for classification
* Add warning for Intel GPU stats bug
Add warning with explanation on GPU stats page when all Intel GPU values are 0
* Update docs with creation instructions
* reset loading state when moving through events in tracking details
* disable pip on preview players
* Improve HLS handling for startPosition
The startPosition was incorrectly calculated assuming continuous recordings, when it needs to consider only some segments exist. This extracts that logic to a utility so all can use it.
---------
Co-authored-by: Josh Hawkins <32435876+hawkeye217@users.noreply.github.com>
* ensure viewer roles are available in create user dialog
* admin-only endpoint to return unmaksed camera paths and go2rtc streams
* remove camera edit dropdown
pushing camera editing from the UI to 0.18
* clean up camera edit form
* rename component for clarity
CameraSettingsView is now CameraReviewSettingsView
* Catch case where user requsts clip for time that has no recordings
* ensure emergency cleanup also sets has_clip on overlapping events
improves https://github.com/blakeblackshear/frigate/discussions/20945
* use debug log instead of info
* update docs to recommend tmpfs
* improve display of in-progress events in explore tracking details
* improve seeking logic in tracking details
mimic the logic of DynamicVideoController
* only use ffprobe for duration to avoid blocking
fixes https://github.com/blakeblackshear/frigate/discussions/20737#discussioncomment-14999869
* Revert "only use ffprobe for duration to avoid blocking"
This reverts commit 8b15078005.
* update readme to link to object detector docs
---------
Co-authored-by: Nicolas Mowen <nickmowen213@gmail.com>
* don't flatten the search result cache when updating
this would cause an infinite swr fetch if something was mutated and then fetch was called again
* Properly sort keys for recording summary in StorageMetrics
* tracked object description box tweaks
* Remove ability to right click on elements inside of face popup
* Update reprocess message
* don't show object track until video metadata is loaded
* fix blue line height calc for in progress events
* Use timeline tab by default for notifications but add a query arg for customization
* Try and improve notification opening behavior
* Reduce review item buffering behavior
* ensure logging config is passed to camera capture and tracker processes
* ensure on demand recording stops when browser closes
* improve active line progress height with resize observer
* remove icons and duplicate find similar link in explore context menu
* fix for initial broken image when creating trigger from explore
* display friendly names for triggers in toasts
* lpr and triggers docs updates
* remove icons from dropdowns in face and classification
* fix comma dangle linter issue
* re-add incorrectly removed face library button icons
* fix sidebar nav links on < 768px desktop layout
* allow text to wrap on mark as reviewed button
* match exact pixels
* clarify LPR docs
---------
Co-authored-by: Nicolas Mowen <nickmowen213@gmail.com>
* chore: i18n use cache key
* Fix indentation in Dockerfile for pip command
* Add build argument for GIT_COMMIT_HASH in CI workflow
* Add short-sha output to action.yml
* Update build args to use short SHA output
* build: use vite .env
* Remove unnecessary newline in Dockerfile
* Define proxy host variable in vite.config.ts
Add a new line to define the proxy host variable.
* digest auth backend
* frontend
* i18n
* update field description language to include note about onvif specific credentials
* mask util helper function
* language
* mask passwords in http-flv and others where a url param is password
* backend api endpoint
* don't add no-credentials version of streams to rtsp_candidates
* frontend types
* improve types
* add optional probe dialog to wizard step 1
* i18n
* form description and field change
* add onvif form description
* match onvif probe pane with other steps in the wizard
* refactor to add probe and snapshot as step 2
* consolidate probe dialog
* don't change dialog size
* radio button style
* refactor to select onvif urls via combobox in step 3
* i18n
* add scrollbar container
* i18n cleanup
* fix button activity indicator
* match test parsing in step 3 with step 2
* hide resolution if both width and height are zero
* use drawer for stream selection on mobile in step 3
* suppress double toasts
* api endpoint description
* Don't warn when event ids have expired for trigger sync
* Import faster_whisper conditinally to avoid illegal instruction
* Catch OpenVINO runtime error
* fix race condition in detail stream context
navigating between tracked objects in Explore would sometimes prevent the object track from appearing
* Handle case where classification images are deleted
* Adjust default rounded corners on larger screens
* Improve flow handling for classification state
* Remove images when wizard is cancelled
* Improve deletion handling for classes
* Set constraints on review buffers
* Update to support correct data format
* Set minimum duration for recording based review items
* Use friendly name in review genai prompt
---------
Co-authored-by: Nicolas Mowen <nickmowen213@gmail.com>
* Fix filtering for classification
* Adjust prompt to account for response tokens
* Correctly return response for reprocess
* Use API response to update data instead of trying to re-parse all of the values
* Implement rename class api
* Fix model deletion / rename dialog
* Remove camera spatial context
* Catch error
* use grid view on desktop
* refactor description box to remove buttons and add row of action icon buttons
* add tooltips
* fix trigger creation
when using the search effect to create a trigger, the prefilled object will not exist in the config yet
* i18n
* set max width on thumbnail
* show id field when editing zone
* improve zone capitalization
* Update NPU models and docs
* fix mobilepage in tracked object details
* Use thread lock for openvino to avoid concurrent requests with JinaV2
* fix hashing function to avoid collisions
* remove extra flex div causing overflow
* ensure header stays on top of video controls
* don't smart capitalize friendly names
* Fix incorrect object classification crop
* don't display submit to plus if object doesn't have a snapshot
* check for snapshot and clip in actions menu
* frigate plus submission fix
still show frigate+ section if snapshot has already been submitted and run optimistic update, local state was being overridden
* Don't fail to show 0% when showing classification
* Don't fail on file system error
* Improve title and description for review genai
* fix overflowing truncated review item description in detail stream
* catch events with review items that start after the first timeline entry
review items may start later than events within them, so subtract a padding from the start time in the filter so the start of events are not incorrectly filtered out of the list in the detail stream
* also pad on review end_time
* fix
* change order of timeline zoom buttons on mobile
* use grid to ensure genai title does not cause overflow
* small tweaks
* Cleanup
---------
Co-authored-by: Nicolas Mowen <nickmowen213@gmail.com>
* feat: add zones friendly name
* fix: fix the issue where the input field was empty when there was no friendly_name
* chore: fix the issue where the friendly name would replace spaces with underscores
* docs: update zones docs
* Update web/src/components/settings/ZoneEditPane.tsx
Co-authored-by: Josh Hawkins <32435876+hawkeye217@users.noreply.github.com>
* Add friendly_name option for zone configuration
Added optional friendly name for zones in configuration.
* fix: fix the logical error in the null/empty check for the polygons parameter
* fix: remove the toast name for zones will use the friendly_name instead
* docs: remove emoji tips
* revert: revert zones doc ui tips
* Update docs/docs/configuration/zones.md
Co-authored-by: Josh Hawkins <32435876+hawkeye217@users.noreply.github.com>
* Update docs/docs/configuration/zones.md
Co-authored-by: Josh Hawkins <32435876+hawkeye217@users.noreply.github.com>
* Update docs/docs/configuration/zones.md
Co-authored-by: Josh Hawkins <32435876+hawkeye217@users.noreply.github.com>
* feat: add friendly zone names to tracking details and lifecycle item descriptions
* chore: lint fix
* refactor: add friendly zone names to timeline entries and clean up unused code
* refactor: add formatList
---------
Co-authored-by: Josh Hawkins <32435876+hawkeye217@users.noreply.github.com>
* remove frigate+ icon from explore grid footer
* add margin
* pointer cursor on event menu items in detail stream
* don't show submit to plus for non-objects and if plus is disabled
* tweak spacing in annotation settings popover
* Fix deletion of classification images and library
* Ensure after creating a class that things are correct
* Fix dialog getting stuck
* Only show the genai summary popup on mobile when timeline is open
* fix audio transcription embedding
* spacing
* hide x icon on restart sheet to prevent closure issues
* prevent x overflow in detail stream on mobile safari
* ensure name is valid for search effect trigger
* add trigger to detail actions menu
* move find similar to actions menu
* Use a column layout for MobilePageContent in PlatformAwareSheet
This is so the header is outside the scrolling area and the content can grow/scroll independently. This now matches the way it's done in classification
* Skip azure execution provider
* add optional ref to always scroll to top
the more filters in explore was not scrolled to the top on open due to the use of framer motion
* fix title classes on desktop
---------
Co-authored-by: Nicolas Mowen <nickmowen213@gmail.com>
Currently translated at 99.8% (597 of 598 strings)
Translated using Weblate (Norwegian Bokmål)
Currently translated at 98.9% (98 of 99 strings)
Translated using Weblate (Norwegian Bokmål)
Currently translated at 100.0% (99 of 99 strings)
Translated using Weblate (Norwegian Bokmål)
Currently translated at 100.0% (125 of 125 strings)
Translated using Weblate (Norwegian Bokmål)
Currently translated at 100.0% (598 of 598 strings)
Translated using Weblate (Norwegian Bokmål)
Currently translated at 100.0% (125 of 125 strings)
Translated using Weblate (Norwegian Bokmål)
Currently translated at 100.0% (596 of 596 strings)
Translated using Weblate (Norwegian Bokmål)
Currently translated at 100.0% (207 of 207 strings)
Translated using Weblate (Norwegian Bokmål)
Currently translated at 100.0% (98 of 98 strings)
Translated using Weblate (Norwegian Bokmål)
Currently translated at 100.0% (125 of 125 strings)
Translated using Weblate (Norwegian Bokmål)
Currently translated at 100.0% (72 of 72 strings)
Translated using Weblate (Norwegian Bokmål)
Currently translated at 100.0% (596 of 596 strings)
Translated using Weblate (Norwegian Bokmål)
Currently translated at 100.0% (48 of 48 strings)
Translated using Weblate (Norwegian Bokmål)
Currently translated at 100.0% (124 of 124 strings)
Translated using Weblate (Norwegian Bokmål)
Currently translated at 100.0% (72 of 72 strings)
Translated using Weblate (Norwegian Bokmål)
Currently translated at 100.0% (54 of 54 strings)
Translated using Weblate (Norwegian Bokmål)
Currently translated at 100.0% (596 of 596 strings)
Translated using Weblate (Norwegian Bokmål)
Currently translated at 100.0% (88 of 88 strings)
Translated using Weblate (Norwegian Bokmål)
Currently translated at 100.0% (124 of 124 strings)
Translated using Weblate (Norwegian Bokmål)
Currently translated at 100.0% (39 of 39 strings)
Translated using Weblate (Norwegian Bokmål)
Currently translated at 100.0% (596 of 596 strings)
Translated using Weblate (Norwegian Bokmål)
Currently translated at 100.0% (90 of 90 strings)
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: OverTheHillsAndFarAway <prosjektx@users.noreply.hosted.weblate.org>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/nb_NO/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-dialog/nb_NO/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-filter/nb_NO/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-classificationmodel/nb_NO/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-events/nb_NO/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-explore/nb_NO/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-live/nb_NO/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-search/nb_NO/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/nb_NO/
Translation: Frigate NVR/common
Translation: Frigate NVR/components-dialog
Translation: Frigate NVR/components-filter
Translation: Frigate NVR/views-classificationmodel
Translation: Frigate NVR/views-events
Translation: Frigate NVR/views-explore
Translation: Frigate NVR/views-live
Translation: Frigate NVR/views-search
Translation: Frigate NVR/views-settings
Currently translated at 100.0% (106 of 106 strings)
Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 99.8% (597 of 598 strings)
Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (99 of 99 strings)
Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (598 of 598 strings)
Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (207 of 207 strings)
Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (98 of 98 strings)
Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (125 of 125 strings)
Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (88 of 88 strings)
Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (596 of 596 strings)
Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (124 of 124 strings)
Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (39 of 39 strings)
Co-authored-by: GuoQing Liu <842607283@qq.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/zh_Hans/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-classificationmodel/zh_Hans/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-events/zh_Hans/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-explore/zh_Hans/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/zh_Hans/
Translation: Frigate NVR/common
Translation: Frigate NVR/views-classificationmodel
Translation: Frigate NVR/views-events
Translation: Frigate NVR/views-explore
Translation: Frigate NVR/views-settings
Currently translated at 99.4% (595 of 598 strings)
Translated using Weblate (Slovak)
Currently translated at 97.9% (97 of 99 strings)
Translated using Weblate (Slovak)
Currently translated at 100.0% (98 of 98 strings)
Translated using Weblate (Slovak)
Currently translated at 100.0% (596 of 596 strings)
Translated using Weblate (Slovak)
Currently translated at 99.2% (124 of 125 strings)
Translated using Weblate (Slovak)
Currently translated at 100.0% (51 of 51 strings)
Translated using Weblate (Slovak)
Currently translated at 100.0% (207 of 207 strings)
Translated using Weblate (Slovak)
Currently translated at 85.9% (512 of 596 strings)
Translated using Weblate (Slovak)
Currently translated at 99.1% (123 of 124 strings)
Translated using Weblate (Slovak)
Currently translated at 100.0% (54 of 54 strings)
Translated using Weblate (Slovak)
Currently translated at 98.6% (494 of 501 strings)
Translated using Weblate (Slovak)
Currently translated at 100.0% (88 of 88 strings)
Translated using Weblate (Slovak)
Currently translated at 74.1% (442 of 596 strings)
Translated using Weblate (Slovak)
Currently translated at 98.3% (122 of 124 strings)
Translated using Weblate (Slovak)
Currently translated at 100.0% (13 of 13 strings)
Translated using Weblate (Slovak)
Currently translated at 100.0% (39 of 39 strings)
Translated using Weblate (Slovak)
Currently translated at 98.1% (53 of 54 strings)
Translated using Weblate (Slovak)
Currently translated at 100.0% (206 of 206 strings)
Translated using Weblate (Slovak)
Currently translated at 88.0% (441 of 501 strings)
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Jakub K <klacanjakub0@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/audio/sk/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/sk/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-dialog/sk/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-classificationmodel/sk/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-events/sk/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-explore/sk/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-exports/sk/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-facelibrary/sk/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/sk/
Translation: Frigate NVR/audio
Translation: Frigate NVR/common
Translation: Frigate NVR/components-dialog
Translation: Frigate NVR/views-classificationmodel
Translation: Frigate NVR/views-events
Translation: Frigate NVR/views-explore
Translation: Frigate NVR/views-exports
Translation: Frigate NVR/views-facelibrary
Translation: Frigate NVR/views-settings
Currently translated at 99.8% (597 of 598 strings)
Translated using Weblate (Swedish)
Currently translated at 100.0% (106 of 106 strings)
Translated using Weblate (Swedish)
Currently translated at 100.0% (99 of 99 strings)
Translated using Weblate (Swedish)
Currently translated at 100.0% (99 of 99 strings)
Translated using Weblate (Swedish)
Currently translated at 100.0% (598 of 598 strings)
Translated using Weblate (Swedish)
Currently translated at 100.0% (98 of 98 strings)
Translated using Weblate (Swedish)
Currently translated at 100.0% (596 of 596 strings)
Translated using Weblate (Swedish)
Currently translated at 100.0% (596 of 596 strings)
Translated using Weblate (Swedish)
Currently translated at 100.0% (125 of 125 strings)
Translated using Weblate (Swedish)
Currently translated at 100.0% (39 of 39 strings)
Translated using Weblate (Swedish)
Currently translated at 100.0% (207 of 207 strings)
Co-authored-by: Daniel Nylander <daniel@danielnylander.se>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Kristian Johansson <knmjohansson@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/sv/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-classificationmodel/sv/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-events/sv/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-explore/sv/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/sv/
Translation: Frigate NVR/common
Translation: Frigate NVR/views-classificationmodel
Translation: Frigate NVR/views-events
Translation: Frigate NVR/views-explore
Translation: Frigate NVR/views-settings
Currently translated at 99.8% (597 of 598 strings)
Translated using Weblate (French)
Currently translated at 100.0% (106 of 106 strings)
Translated using Weblate (French)
Currently translated at 100.0% (99 of 99 strings)
Translated using Weblate (French)
Currently translated at 100.0% (99 of 99 strings)
Translated using Weblate (French)
Currently translated at 100.0% (598 of 598 strings)
Translated using Weblate (French)
Currently translated at 100.0% (125 of 125 strings)
Translated using Weblate (French)
Currently translated at 100.0% (207 of 207 strings)
Translated using Weblate (French)
Currently translated at 100.0% (98 of 98 strings)
Translated using Weblate (French)
Currently translated at 100.0% (125 of 125 strings)
Translated using Weblate (French)
Currently translated at 100.0% (89 of 89 strings)
Translated using Weblate (French)
Currently translated at 100.0% (88 of 88 strings)
Translated using Weblate (French)
Currently translated at 100.0% (596 of 596 strings)
Translated using Weblate (French)
Currently translated at 100.0% (124 of 124 strings)
Translated using Weblate (French)
Currently translated at 100.0% (39 of 39 strings)
Co-authored-by: Apocoloquintose <bertrand.moreux@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/fr/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-classificationmodel/fr/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-events/fr/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-explore/fr/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/fr/
Translation: Frigate NVR/common
Translation: Frigate NVR/views-classificationmodel
Translation: Frigate NVR/views-events
Translation: Frigate NVR/views-explore
Translation: Frigate NVR/views-settings
Currently translated at 99.8% (597 of 598 strings)
Translated using Weblate (Dutch)
Currently translated at 100.0% (106 of 106 strings)
Translated using Weblate (Dutch)
Currently translated at 98.9% (98 of 99 strings)
Translated using Weblate (Dutch)
Currently translated at 100.0% (99 of 99 strings)
Translated using Weblate (Dutch)
Currently translated at 100.0% (125 of 125 strings)
Translated using Weblate (Dutch)
Currently translated at 100.0% (598 of 598 strings)
Translated using Weblate (Dutch)
Currently translated at 100.0% (207 of 207 strings)
Translated using Weblate (Dutch)
Currently translated at 100.0% (98 of 98 strings)
Translated using Weblate (Dutch)
Currently translated at 100.0% (90 of 90 strings)
Translated using Weblate (Dutch)
Currently translated at 100.0% (125 of 125 strings)
Translated using Weblate (Dutch)
Currently translated at 100.0% (89 of 89 strings)
Translated using Weblate (Dutch)
Currently translated at 100.0% (88 of 88 strings)
Translated using Weblate (Dutch)
Currently translated at 100.0% (596 of 596 strings)
Translated using Weblate (Dutch)
Currently translated at 100.0% (124 of 124 strings)
Translated using Weblate (Dutch)
Currently translated at 100.0% (39 of 39 strings)
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Marijn <168113859+Marijn0@users.noreply.github.com>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/nl/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-classificationmodel/nl/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-events/nl/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-explore/nl/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-live/nl/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/nl/
Translation: Frigate NVR/common
Translation: Frigate NVR/views-classificationmodel
Translation: Frigate NVR/views-events
Translation: Frigate NVR/views-explore
Translation: Frigate NVR/views-live
Translation: Frigate NVR/views-settings
Currently translated at 99.8% (597 of 598 strings)
Translated using Weblate (Italian)
Currently translated at 100.0% (106 of 106 strings)
Translated using Weblate (Italian)
Currently translated at 100.0% (598 of 598 strings)
Translated using Weblate (Italian)
Currently translated at 97.9% (97 of 99 strings)
Translated using Weblate (Italian)
Currently translated at 100.0% (98 of 98 strings)
Translated using Weblate (Italian)
Currently translated at 100.0% (72 of 72 strings)
Translated using Weblate (Italian)
Currently translated at 100.0% (125 of 125 strings)
Translated using Weblate (Italian)
Currently translated at 100.0% (207 of 207 strings)
Translated using Weblate (Italian)
Currently translated at 100.0% (89 of 89 strings)
Translated using Weblate (Italian)
Currently translated at 100.0% (88 of 88 strings)
Translated using Weblate (Italian)
Currently translated at 100.0% (596 of 596 strings)
Translated using Weblate (Italian)
Currently translated at 100.0% (124 of 124 strings)
Translated using Weblate (Italian)
Currently translated at 100.0% (54 of 54 strings)
Translated using Weblate (Italian)
Currently translated at 100.0% (206 of 206 strings)
Translated using Weblate (Italian)
Currently translated at 28.4% (25 of 88 strings)
Translated using Weblate (Italian)
Currently translated at 100.0% (13 of 13 strings)
Translated using Weblate (Italian)
Currently translated at 100.0% (39 of 39 strings)
Translated using Weblate (Italian)
Currently translated at 100.0% (51 of 51 strings)
Translated using Weblate (Italian)
Currently translated at 75.0% (93 of 124 strings)
Translated using Weblate (Italian)
Currently translated at 98.1% (53 of 54 strings)
Co-authored-by: Gringo <ita.translations@tiscali.it>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/it/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-dialog/it/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-filter/it/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-classificationmodel/it/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-events/it/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-explore/it/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-exports/it/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-facelibrary/it/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/it/
Translation: Frigate NVR/common
Translation: Frigate NVR/components-dialog
Translation: Frigate NVR/components-filter
Translation: Frigate NVR/views-classificationmodel
Translation: Frigate NVR/views-events
Translation: Frigate NVR/views-explore
Translation: Frigate NVR/views-exports
Translation: Frigate NVR/views-facelibrary
Translation: Frigate NVR/views-settings
Currently translated at 99.8% (597 of 598 strings)
Translated using Weblate (Catalan)
Currently translated at 100.0% (106 of 106 strings)
Translated using Weblate (Catalan)
Currently translated at 97.9% (97 of 99 strings)
Translated using Weblate (Catalan)
Currently translated at 100.0% (598 of 598 strings)
Translated using Weblate (Catalan)
Currently translated at 100.0% (48 of 48 strings)
Translated using Weblate (Catalan)
Currently translated at 100.0% (48 of 48 strings)
Translated using Weblate (Catalan)
Currently translated at 100.0% (207 of 207 strings)
Translated using Weblate (Catalan)
Currently translated at 100.0% (98 of 98 strings)
Translated using Weblate (Catalan)
Currently translated at 100.0% (596 of 596 strings)
Translated using Weblate (Catalan)
Currently translated at 100.0% (13 of 13 strings)
Translated using Weblate (Catalan)
Currently translated at 100.0% (125 of 125 strings)
Translated using Weblate (Catalan)
Currently translated at 100.0% (39 of 39 strings)
Translated using Weblate (Catalan)
Currently translated at 100.0% (54 of 54 strings)
Translated using Weblate (Catalan)
Currently translated at 100.0% (207 of 207 strings)
Co-authored-by: Eduardo Pastor Fernández <123eduardoneko123@gmail.com>
Co-authored-by: Gerard Ricart Castells <gerard.ricart@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/ca/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-dialog/ca/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-classificationmodel/ca/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-events/ca/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-explore/ca/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-exports/ca/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-search/ca/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/ca/
Translation: Frigate NVR/common
Translation: Frigate NVR/components-dialog
Translation: Frigate NVR/views-classificationmodel
Translation: Frigate NVR/views-events
Translation: Frigate NVR/views-explore
Translation: Frigate NVR/views-exports
Translation: Frigate NVR/views-search
Translation: Frigate NVR/views-settings
Currently translated at 99.8% (597 of 598 strings)
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (106 of 106 strings)
Translated using Weblate (Ukrainian)
Currently translated at 98.9% (98 of 99 strings)
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (99 of 99 strings)
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (598 of 598 strings)
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (98 of 98 strings)
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (207 of 207 strings)
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (98 of 98 strings)
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (125 of 125 strings)
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (89 of 89 strings)
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (88 of 88 strings)
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (596 of 596 strings)
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (51 of 51 strings)
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (13 of 13 strings)
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (124 of 124 strings)
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (39 of 39 strings)
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (54 of 54 strings)
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (206 of 206 strings)
Co-authored-by: Anatoli Skovpen <a@ask.kiev.ua>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Максим Горпиніч <gorpinicmaksim0@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/uk/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-dialog/uk/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-classificationmodel/uk/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-events/uk/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-explore/uk/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-exports/uk/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-facelibrary/uk/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/uk/
Translation: Frigate NVR/common
Translation: Frigate NVR/components-dialog
Translation: Frigate NVR/views-classificationmodel
Translation: Frigate NVR/views-events
Translation: Frigate NVR/views-explore
Translation: Frigate NVR/views-exports
Translation: Frigate NVR/views-facelibrary
Translation: Frigate NVR/views-settings
Currently translated at 99.8% (597 of 598 strings)
Translated using Weblate (Romanian)
Currently translated at 100.0% (106 of 106 strings)
Translated using Weblate (Romanian)
Currently translated at 98.9% (98 of 99 strings)
Translated using Weblate (Romanian)
Currently translated at 100.0% (99 of 99 strings)
Translated using Weblate (Romanian)
Currently translated at 100.0% (598 of 598 strings)
Translated using Weblate (Romanian)
Currently translated at 100.0% (98 of 98 strings)
Translated using Weblate (Romanian)
Currently translated at 100.0% (125 of 125 strings)
Translated using Weblate (Romanian)
Currently translated at 100.0% (207 of 207 strings)
Translated using Weblate (Romanian)
Currently translated at 100.0% (88 of 88 strings)
Translated using Weblate (Romanian)
Currently translated at 100.0% (51 of 51 strings)
Translated using Weblate (Romanian)
Currently translated at 100.0% (124 of 124 strings)
Translated using Weblate (Romanian)
Currently translated at 100.0% (39 of 39 strings)
Translated using Weblate (Romanian)
Currently translated at 100.0% (593 of 593 strings)
Translated using Weblate (Romanian)
Currently translated at 100.0% (48 of 48 strings)
Translated using Weblate (Romanian)
Currently translated at 100.0% (90 of 90 strings)
Translated using Weblate (Romanian)
Currently translated at 100.0% (51 of 51 strings)
Translated using Weblate (Romanian)
Currently translated at 100.0% (13 of 13 strings)
Translated using Weblate (Romanian)
Currently translated at 100.0% (124 of 124 strings)
Translated using Weblate (Romanian)
Currently translated at 100.0% (34 of 34 strings)
Translated using Weblate (Romanian)
Currently translated at 100.0% (54 of 54 strings)
Translated using Weblate (Romanian)
Currently translated at 100.0% (206 of 206 strings)
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: lukasig <lukasig@hotmail.com>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/ro/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-dialog/ro/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-classificationmodel/ro/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-events/ro/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-explore/ro/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-exports/ro/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-facelibrary/ro/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-live/ro/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-search/ro/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/ro/
Translation: Frigate NVR/common
Translation: Frigate NVR/components-dialog
Translation: Frigate NVR/views-classificationmodel
Translation: Frigate NVR/views-events
Translation: Frigate NVR/views-explore
Translation: Frigate NVR/views-exports
Translation: Frigate NVR/views-facelibrary
Translation: Frigate NVR/views-live
Translation: Frigate NVR/views-search
Translation: Frigate NVR/views-settings
Currently translated at 22.6% (24 of 106 strings)
Translated using Weblate (Russian)
Currently translated at 96.1% (50 of 52 strings)
Translated using Weblate (Russian)
Currently translated at 94.8% (37 of 39 strings)
Translated using Weblate (Russian)
Currently translated at 22.2% (22 of 99 strings)
Translated using Weblate (Russian)
Currently translated at 72.0% (90 of 125 strings)
Translated using Weblate (Russian)
Currently translated at 89.7% (35 of 39 strings)
Translated using Weblate (Russian)
Currently translated at 11.1% (11 of 99 strings)
Translated using Weblate (Russian)
Currently translated at 100.0% (13 of 13 strings)
Translated using Weblate (Russian)
Currently translated at 84.6% (33 of 39 strings)
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Артём Владимиров <artyomka71@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-classificationmodel/ru/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-events/ru/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-explore/ru/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-exports/ru/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-facelibrary/ru/
Translation: Frigate NVR/views-classificationmodel
Translation: Frigate NVR/views-events
Translation: Frigate NVR/views-explore
Translation: Frigate NVR/views-exports
Translation: Frigate NVR/views-facelibrary
Currently translated at 74.9% (448 of 598 strings)
Translated using Weblate (Portuguese (Brazil))
Currently translated at 22.2% (22 of 99 strings)
Translated using Weblate (Portuguese (Brazil))
Currently translated at 23.4% (23 of 98 strings)
Translated using Weblate (Portuguese (Brazil))
Currently translated at 72.0% (90 of 125 strings)
Translated using Weblate (Portuguese (Brazil))
Currently translated at 97.4% (38 of 39 strings)
Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (34 of 34 strings)
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Marcelo Popper Costa <marcelo_popper@hotmail.com>
Co-authored-by: Nico <n2778370@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-classificationmodel/pt_BR/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-events/pt_BR/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-explore/pt_BR/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/pt_BR/
Translation: Frigate NVR/views-classificationmodel
Translation: Frigate NVR/views-events
Translation: Frigate NVR/views-explore
Translation: Frigate NVR/views-settings
Currently translated at 41.4% (41 of 99 strings)
Translated using Weblate (Turkish)
Currently translated at 42.4% (42 of 99 strings)
Translated using Weblate (Turkish)
Currently translated at 42.4% (42 of 99 strings)
Translated using Weblate (Turkish)
Currently translated at 62.7% (375 of 598 strings)
Translated using Weblate (Turkish)
Currently translated at 62.7% (375 of 598 strings)
Translated using Weblate (Turkish)
Currently translated at 95.5% (86 of 90 strings)
Translated using Weblate (Turkish)
Currently translated at 98.0% (51 of 52 strings)
Translated using Weblate (Turkish)
Currently translated at 98.0% (51 of 52 strings)
Translated using Weblate (Turkish)
Currently translated at 92.3% (12 of 13 strings)
Translated using Weblate (Turkish)
Currently translated at 92.3% (12 of 13 strings)
Translated using Weblate (Turkish)
Currently translated at 86.4% (108 of 125 strings)
Translated using Weblate (Turkish)
Currently translated at 97.4% (38 of 39 strings)
Translated using Weblate (Turkish)
Currently translated at 97.4% (38 of 39 strings)
Translated using Weblate (Turkish)
Currently translated at 96.2% (52 of 54 strings)
Translated using Weblate (Turkish)
Currently translated at 100.0% (10 of 10 strings)
Translated using Weblate (Turkish)
Currently translated at 100.0% (10 of 10 strings)
Co-authored-by: Emircanos <emircan368@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Serhat Karaman <serhatkaramanworkmail@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-auth/tr/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-dialog/tr/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-classificationmodel/tr/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-events/tr/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-explore/tr/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-exports/tr/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-facelibrary/tr/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-live/tr/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/tr/
Translation: Frigate NVR/components-auth
Translation: Frigate NVR/components-dialog
Translation: Frigate NVR/views-classificationmodel
Translation: Frigate NVR/views-events
Translation: Frigate NVR/views-explore
Translation: Frigate NVR/views-exports
Translation: Frigate NVR/views-facelibrary
Translation: Frigate NVR/views-live
Translation: Frigate NVR/views-settings
* add prev/next buttons on desktop
* buttons should work with summary and grid view
* i18n
* small tweaks
* don't change dialog size
* remove heading and count
* remove icons
* spacing
* two column detail view
* add actions to dots menu
* move actions menu to its own component
* set modal to false on face library dropdown to guard against improper closures
https://github.com/shadcn-ui/ui/discussions/6908
* frigate plus layout
* remove face training
* clean up unused
* refactor to remove duplication between mobile and desktop
* turn annotation settings into a popover
* fix popover
* improve annotation offset popver
* change icon and popover text in detail stream for annotation settings
* clean up
* use drawer on mobile
* fix setter function
* use dialog ref for popover portal
* don't portal popover
* tweaks
* add button type
* lower xl max width
* fixes
* justify
* Correctly sort summary responses
* Consider JinaV2 as a complex model
* Subscribe to record updates in camera watchdog
* Cleanup score showing
* No need to sort review summary
* Add tests for recording summary
* Don't break existing format
* Sort event summary by day
* Always show ID field when editing a trigger
* use onBlur method for form validation
this will prevent the trigger ID from expanding too soon when a user is typing the friendly name
* camera wizard input mobile font zooming
* ensure the selected page is visible when navigating via url on mobile
* Filter detail stream to only show items from within the review item
* remove incorrect classes causing extra scroll in detail stream
* change button label
* fix mobile menu button highlight issue
---------
Co-authored-by: Nicolas Mowen <nickmowen213@gmail.com>
* Don't show model selection or back button when in multi select mode
* Add dialog to edit classification models
* Fix header spacing
* Cleanup desktop
* Incrase max number of object classifications
* fix iOS mobile card
* Cleanup
* Correctly remove classification model from config
* Undo
* fix
* Use existing config update API and dynamically remove models that were running
* Set update message for face
* detail stream settings
* remove old review detail dialog
* change layout
* use detail stream in tracking details
* reusable tabs component
* pass in tabs for desktop
* fix object selection and time updating
* i18n
* aspect fixes
* include tolerance for displaying of path and zone
some browsers (firefox and probably brave) intentionally reduce precision of seeking with currentTime for privacy reasons
* detail stream seeking fixes
* tracking details seeking fixes
* layout tweaks
* add download button back for now
* remove
* remove
* snapshot is now default tab
* Pull context size from openai models
* Adjust wording based on type of model
* Instruct to not use parenthesis
* Simplify genai config
* Don't use GPU for training
* Update docs for review descriptions
* Add logging for context tokens used
* Incrase number of images due to lower than expected context usage
* Re-balance the suspicious activity checks
* Adjustments to context sizing
* optimize context usage
* Adjust context usage
* Make title more direct
* Update docs
Currently translated at 100.0% (593 of 593 strings)
Translated using Weblate (Norwegian Bokmål)
Currently translated at 100.0% (13 of 13 strings)
Translated using Weblate (Norwegian Bokmål)
Currently translated at 100.0% (54 of 54 strings)
Translated using Weblate (Norwegian Bokmål)
Currently translated at 84.3% (500 of 593 strings)
Translated using Weblate (Norwegian Bokmål)
Currently translated at 100.0% (206 of 206 strings)
Translated using Weblate (Norwegian Bokmål)
Currently translated at 76.5% (454 of 593 strings)
Translated using Weblate (Norwegian Bokmål)
Currently translated at 100.0% (204 of 204 strings)
Translated using Weblate (Norwegian Bokmål)
Currently translated at 100.0% (124 of 124 strings)
Translated using Weblate (Norwegian Bokmål)
Currently translated at 100.0% (53 of 53 strings)
Translated using Weblate (Norwegian Bokmål)
Currently translated at 100.0% (87 of 87 strings)
Translated using Weblate (Norwegian Bokmål)
Currently translated at 100.0% (118 of 118 strings)
Translated using Weblate (Norwegian Bokmål)
Currently translated at 100.0% (90 of 90 strings)
Translated using Weblate (Norwegian Bokmål)
Currently translated at 100.0% (51 of 51 strings)
Translated using Weblate (Norwegian Bokmål)
Currently translated at 100.0% (124 of 124 strings)
Translated using Weblate (Norwegian Bokmål)
Currently translated at 100.0% (34 of 34 strings)
Translated using Weblate (Norwegian Bokmål)
Currently translated at 75.8% (444 of 585 strings)
Translated using Weblate (Norwegian Bokmål)
Currently translated at 100.0% (10 of 10 strings)
Added translation using Weblate (Norwegian Bokmål)
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Languages add-on <noreply-addon-languages@weblate.org>
Co-authored-by: OverTheHillsAndFarAway <prosjektx@users.noreply.hosted.weblate.org>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/nb_NO/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-auth/nb_NO/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-dialog/nb_NO/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-classificationmodel/nb_NO/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-events/nb_NO/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-explore/nb_NO/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-exports/nb_NO/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-facelibrary/nb_NO/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-live/nb_NO/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/nb_NO/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-system/nb_NO/
Translation: Frigate NVR/common
Translation: Frigate NVR/components-auth
Translation: Frigate NVR/components-dialog
Translation: Frigate NVR/views-classificationmodel
Translation: Frigate NVR/views-events
Translation: Frigate NVR/views-explore
Translation: Frigate NVR/views-exports
Translation: Frigate NVR/views-facelibrary
Translation: Frigate NVR/views-live
Translation: Frigate NVR/views-settings
Translation: Frigate NVR/views-system
Currently translated at 100.0% (593 of 593 strings)
Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (124 of 124 strings)
Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (54 of 54 strings)
Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (206 of 206 strings)
Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (13 of 13 strings)
Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 76.6% (95 of 124 strings)
Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 98.1% (53 of 54 strings)
Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (87 of 87 strings)
Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (124 of 124 strings)
Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 97.0% (33 of 34 strings)
Added translation using Weblate (Chinese (Simplified Han script))
Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (584 of 584 strings)
Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (582 of 582 strings)
Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (60 of 60 strings)
Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (10 of 10 strings)
Co-authored-by: GuoQing Liu <842607283@qq.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Languages add-on <noreply-addon-languages@weblate.org>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/zh_Hans/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-auth/zh_Hans/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-dialog/zh_Hans/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-classificationmodel/zh_Hans/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-events/zh_Hans/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-explore/zh_Hans/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-exports/zh_Hans/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-facelibrary/zh_Hans/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/zh_Hans/
Translation: Frigate NVR/common
Translation: Frigate NVR/components-auth
Translation: Frigate NVR/components-dialog
Translation: Frigate NVR/views-classificationmodel
Translation: Frigate NVR/views-events
Translation: Frigate NVR/views-explore
Translation: Frigate NVR/views-exports
Translation: Frigate NVR/views-facelibrary
Translation: Frigate NVR/views-settings
Currently translated at 27.5% (24 of 87 strings)
Translated using Weblate (Slovenian)
Currently translated at 30.7% (180 of 585 strings)
Translated using Weblate (Slovenian)
Currently translated at 100.0% (72 of 72 strings)
Translated using Weblate (Slovenian)
Currently translated at 100.0% (53 of 53 strings)
Translated using Weblate (Slovenian)
Currently translated at 26.8% (157 of 585 strings)
Translated using Weblate (Slovenian)
Currently translated at 19.1% (112 of 585 strings)
Translated using Weblate (Slovenian)
Currently translated at 1.1% (1 of 87 strings)
Translated using Weblate (Slovenian)
Currently translated at 16.7% (98 of 585 strings)
Translated using Weblate (Slovenian)
Currently translated at 100.0% (51 of 51 strings)
Added translation using Weblate (Slovenian)
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Languages add-on <noreply-addon-languages@weblate.org>
Co-authored-by: tadythefish <tady.the.fish@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-dialog/sl/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-filter/sl/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-classificationmodel/sl/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-facelibrary/sl/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/sl/
Translation: Frigate NVR/components-dialog
Translation: Frigate NVR/components-filter
Translation: Frigate NVR/views-classificationmodel
Translation: Frigate NVR/views-facelibrary
Translation: Frigate NVR/views-settings
Currently translated at 74.1% (434 of 585 strings)
Translated using Weblate (Slovak)
Currently translated at 86.6% (434 of 501 strings)
Translated using Weblate (Slovak)
Currently translated at 65.2% (382 of 585 strings)
Translated using Weblate (Slovak)
Currently translated at 76.8% (385 of 501 strings)
Translated using Weblate (Slovak)
Currently translated at 100.0% (87 of 87 strings)
Translated using Weblate (Slovak)
Currently translated at 62.7% (367 of 585 strings)
Translated using Weblate (Slovak)
Currently translated at 73.8% (370 of 501 strings)
Translated using Weblate (Slovak)
Currently translated at 83.9% (73 of 87 strings)
Translated using Weblate (Slovak)
Currently translated at 96.0% (49 of 51 strings)
Added translation using Weblate (Slovak)
Translated using Weblate (Slovak)
Currently translated at 62.0% (363 of 585 strings)
Translated using Weblate (Slovak)
Currently translated at 99.1% (123 of 124 strings)
Translated using Weblate (Slovak)
Currently translated at 100.0% (90 of 90 strings)
Translated using Weblate (Slovak)
Currently translated at 100.0% (34 of 34 strings)
Translated using Weblate (Slovak)
Currently translated at 100.0% (10 of 10 strings)
Translated using Weblate (Slovak)
Currently translated at 98.0% (50 of 51 strings)
Translated using Weblate (Slovak)
Currently translated at 72.8% (365 of 501 strings)
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Jakub K <klacanjakub0@gmail.com>
Co-authored-by: Languages add-on <noreply-addon-languages@weblate.org>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/audio/sk/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-auth/sk/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-classificationmodel/sk/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-events/sk/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-explore/sk/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-facelibrary/sk/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-live/sk/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/sk/
Translation: Frigate NVR/audio
Translation: Frigate NVR/components-auth
Translation: Frigate NVR/views-classificationmodel
Translation: Frigate NVR/views-events
Translation: Frigate NVR/views-explore
Translation: Frigate NVR/views-facelibrary
Translation: Frigate NVR/views-live
Translation: Frigate NVR/views-settings
Currently translated at 13.7% (12 of 87 strings)
Translated using Weblate (Persian)
Currently translated at 1.6% (2 of 124 strings)
Added translation using Weblate (Persian)
Co-authored-by: Amir Hossein Omidi <amirhosein011omidi@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Languages add-on <noreply-addon-languages@weblate.org>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-classificationmodel/fa/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-explore/fa/
Translation: Frigate NVR/views-classificationmodel
Translation: Frigate NVR/views-explore
Currently translated at 59.7% (52 of 87 strings)
Translated using Weblate (Swedish)
Currently translated at 96.7% (120 of 124 strings)
Translated using Weblate (Swedish)
Currently translated at 100.0% (54 of 54 strings)
Translated using Weblate (Swedish)
Currently translated at 48.2% (42 of 87 strings)
Translated using Weblate (Swedish)
Currently translated at 100.0% (13 of 13 strings)
Translated using Weblate (Swedish)
Currently translated at 87.9% (109 of 124 strings)
Translated using Weblate (Swedish)
Currently translated at 40.2% (35 of 87 strings)
Translated using Weblate (Swedish)
Currently translated at 99.1% (580 of 585 strings)
Translated using Weblate (Swedish)
Currently translated at 100.0% (51 of 51 strings)
Translated using Weblate (Swedish)
Currently translated at 82.2% (102 of 124 strings)
Translated using Weblate (Swedish)
Currently translated at 100.0% (53 of 53 strings)
Added translation using Weblate (Swedish)
Translated using Weblate (Swedish)
Currently translated at 100.0% (51 of 51 strings)
Translated using Weblate (Swedish)
Currently translated at 99.1% (123 of 124 strings)
Translated using Weblate (Swedish)
Currently translated at 100.0% (34 of 34 strings)
Translated using Weblate (Swedish)
Currently translated at 100.0% (10 of 10 strings)
Co-authored-by: Daniel Nylander <daniel@danielnylander.se>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Kristian Johansson <knmjohansson@gmail.com>
Co-authored-by: Languages add-on <noreply-addon-languages@weblate.org>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-auth/sv/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-dialog/sv/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-classificationmodel/sv/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-events/sv/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-explore/sv/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-exports/sv/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-facelibrary/sv/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/sv/
Translation: Frigate NVR/components-auth
Translation: Frigate NVR/components-dialog
Translation: Frigate NVR/views-classificationmodel
Translation: Frigate NVR/views-events
Translation: Frigate NVR/views-explore
Translation: Frigate NVR/views-exports
Translation: Frigate NVR/views-facelibrary
Translation: Frigate NVR/views-settings
Currently translated at 100.0% (593 of 593 strings)
Translated using Weblate (French)
Currently translated at 100.0% (206 of 206 strings)
Translated using Weblate (French)
Currently translated at 98.1% (582 of 593 strings)
Translated using Weblate (French)
Currently translated at 100.0% (54 of 54 strings)
Translated using Weblate (French)
Currently translated at 100.0% (204 of 204 strings)
Translated using Weblate (French)
Currently translated at 100.0% (13 of 13 strings)
Translated using Weblate (French)
Currently translated at 100.0% (87 of 87 strings)
Translated using Weblate (French)
Currently translated at 100.0% (118 of 118 strings)
Translated using Weblate (French)
Currently translated at 100.0% (585 of 585 strings)
Translated using Weblate (French)
Currently translated at 100.0% (48 of 48 strings)
Translated using Weblate (French)
Currently translated at 100.0% (6 of 6 strings)
Translated using Weblate (French)
Currently translated at 100.0% (90 of 90 strings)
Translated using Weblate (French)
Currently translated at 100.0% (51 of 51 strings)
Translated using Weblate (French)
Currently translated at 100.0% (9 of 9 strings)
Translated using Weblate (French)
Currently translated at 100.0% (124 of 124 strings)
Translated using Weblate (French)
Currently translated at 100.0% (34 of 34 strings)
Translated using Weblate (French)
Currently translated at 100.0% (72 of 72 strings)
Translated using Weblate (French)
Currently translated at 100.0% (25 of 25 strings)
Translated using Weblate (French)
Currently translated at 100.0% (2 of 2 strings)
Translated using Weblate (French)
Currently translated at 100.0% (53 of 53 strings)
Translated using Weblate (French)
Currently translated at 100.0% (10 of 10 strings)
Translated using Weblate (French)
Currently translated at 100.0% (46 of 46 strings)
Translated using Weblate (French)
Currently translated at 100.0% (118 of 118 strings)
Translated using Weblate (French)
Currently translated at 100.0% (199 of 199 strings)
Translated using Weblate (French)
Currently translated at 100.0% (124 of 124 strings)
Translated using Weblate (French)
Currently translated at 100.0% (585 of 585 strings)
Translated using Weblate (French)
Currently translated at 100.0% (6 of 6 strings)
Translated using Weblate (French)
Currently translated at 100.0% (90 of 90 strings)
Translated using Weblate (French)
Currently translated at 100.0% (51 of 51 strings)
Translated using Weblate (French)
Currently translated at 100.0% (124 of 124 strings)
Translated using Weblate (French)
Currently translated at 100.0% (72 of 72 strings)
Translated using Weblate (French)
Currently translated at 100.0% (199 of 199 strings)
Translated using Weblate (French)
Currently translated at 100.0% (87 of 87 strings)
Translated using Weblate (French)
Currently translated at 100.0% (585 of 585 strings)
Translated using Weblate (French)
Currently translated at 100.0% (90 of 90 strings)
Translated using Weblate (French)
Currently translated at 100.0% (51 of 51 strings)
Translated using Weblate (French)
Currently translated at 100.0% (124 of 124 strings)
Translated using Weblate (French)
Currently translated at 100.0% (34 of 34 strings)
Translated using Weblate (French)
Currently translated at 100.0% (72 of 72 strings)
Translated using Weblate (French)
Currently translated at 100.0% (25 of 25 strings)
Translated using Weblate (French)
Currently translated at 100.0% (2 of 2 strings)
Translated using Weblate (French)
Currently translated at 100.0% (53 of 53 strings)
Translated using Weblate (French)
Currently translated at 100.0% (10 of 10 strings)
Translated using Weblate (French)
Currently translated at 100.0% (46 of 46 strings)
Translated using Weblate (French)
Currently translated at 100.0% (199 of 199 strings)
Translated using Weblate (French)
Currently translated at 100.0% (87 of 87 strings)
Added translation using Weblate (French)
Translated using Weblate (French)
Currently translated at 100.0% (118 of 118 strings)
Translated using Weblate (French)
Currently translated at 100.0% (585 of 585 strings)
Translated using Weblate (French)
Currently translated at 100.0% (124 of 124 strings)
Translated using Weblate (French)
Currently translated at 100.0% (34 of 34 strings)
Translated using Weblate (French)
Currently translated at 100.0% (199 of 199 strings)
Translated using Weblate (French)
Currently translated at 100.0% (501 of 501 strings)
Translated using Weblate (French)
Currently translated at 100.0% (48 of 48 strings)
Translated using Weblate (French)
Currently translated at 100.0% (6 of 6 strings)
Translated using Weblate (French)
Currently translated at 100.0% (90 of 90 strings)
Translated using Weblate (French)
Currently translated at 100.0% (51 of 51 strings)
Translated using Weblate (French)
Currently translated at 100.0% (9 of 9 strings)
Translated using Weblate (French)
Currently translated at 100.0% (122 of 122 strings)
Translated using Weblate (French)
Currently translated at 100.0% (33 of 33 strings)
Translated using Weblate (French)
Currently translated at 100.0% (72 of 72 strings)
Translated using Weblate (French)
Currently translated at 100.0% (10 of 10 strings)
Translated using Weblate (French)
Currently translated at 100.0% (25 of 25 strings)
Translated using Weblate (French)
Currently translated at 100.0% (2 of 2 strings)
Translated using Weblate (French)
Currently translated at 100.0% (53 of 53 strings)
Translated using Weblate (French)
Currently translated at 100.0% (10 of 10 strings)
Translated using Weblate (French)
Currently translated at 100.0% (46 of 46 strings)
Translated using Weblate (French)
Currently translated at 100.0% (118 of 118 strings)
Translated using Weblate (French)
Currently translated at 100.0% (199 of 199 strings)
Translated using Weblate (French)
Currently translated at 100.0% (501 of 501 strings)
Translated using Weblate (French)
Currently translated at 100.0% (584 of 584 strings)
Translated using Weblate (French)
Currently translated at 100.0% (582 of 582 strings)
Translated using Weblate (French)
Currently translated at 100.0% (90 of 90 strings)
Translated using Weblate (French)
Currently translated at 100.0% (33 of 33 strings)
Translated using Weblate (French)
Currently translated at 100.0% (10 of 10 strings)
Translated using Weblate (French)
Currently translated at 100.0% (501 of 501 strings)
Translated using Weblate (French)
Currently translated at 100.0% (580 of 580 strings)
Translated using Weblate (French)
Currently translated at 100.0% (60 of 60 strings)
Translated using Weblate (French)
Currently translated at 100.0% (33 of 33 strings)
Translated using Weblate (French)
Currently translated at 100.0% (580 of 580 strings)
Translated using Weblate (French)
Currently translated at 100.0% (580 of 580 strings)
Translated using Weblate (French)
Currently translated at 98.8% (89 of 90 strings)
Translated using Weblate (French)
Currently translated at 100.0% (33 of 33 strings)
Translated using Weblate (French)
Currently translated at 100.0% (33 of 33 strings)
Translated using Weblate (French)
Currently translated at 100.0% (501 of 501 strings)
Translated using Weblate (French)
Currently translated at 100.0% (501 of 501 strings)
Co-authored-by: Apocoloquintose <bertrand.moreux@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Pascal Courtonne <pascal@bobbz.org>
Co-authored-by: Yanom1212 <ylamarche@icloud.com>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/audio/fr/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/fr/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-auth/fr/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-camera/fr/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-dialog/fr/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-filter/fr/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-icons/fr/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-input/fr/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-player/fr/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/objects/fr/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-classificationmodel/fr/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-configeditor/fr/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-events/fr/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-explore/fr/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-exports/fr/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-facelibrary/fr/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-live/fr/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-recording/fr/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-search/fr/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/fr/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-system/fr/
Translation: Frigate NVR/audio
Translation: Frigate NVR/common
Translation: Frigate NVR/components-auth
Translation: Frigate NVR/components-camera
Translation: Frigate NVR/components-dialog
Translation: Frigate NVR/components-filter
Translation: Frigate NVR/components-icons
Translation: Frigate NVR/components-input
Translation: Frigate NVR/components-player
Translation: Frigate NVR/objects
Translation: Frigate NVR/views-classificationmodel
Translation: Frigate NVR/views-configeditor
Translation: Frigate NVR/views-events
Translation: Frigate NVR/views-explore
Translation: Frigate NVR/views-exports
Translation: Frigate NVR/views-facelibrary
Translation: Frigate NVR/views-live
Translation: Frigate NVR/views-recording
Translation: Frigate NVR/views-search
Translation: Frigate NVR/views-settings
Translation: Frigate NVR/views-system
Translated using Weblate (Spanish)
Currently translated at 100.0% (10 of 10 strings)
Translated using Weblate (Spanish)
Currently translated at 72.1% (420 of 582 strings)
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Israel Cabrera <issurfer@gmail.com>
Co-authored-by: Languages add-on <noreply-addon-languages@weblate.org>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-auth/es/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/es/
Translation: Frigate NVR/components-auth
Translation: Frigate NVR/views-settings
Currently translated at 100.0% (593 of 593 strings)
Translated using Weblate (Dutch)
Currently translated at 100.0% (54 of 54 strings)
Translated using Weblate (Dutch)
Currently translated at 100.0% (206 of 206 strings)
Translated using Weblate (Dutch)
Currently translated at 100.0% (13 of 13 strings)
Translated using Weblate (Dutch)
Currently translated at 100.0% (53 of 53 strings)
Translated using Weblate (Dutch)
Currently translated at 100.0% (124 of 124 strings)
Translated using Weblate (Dutch)
Currently translated at 100.0% (53 of 53 strings)
Translated using Weblate (Dutch)
Currently translated at 100.0% (87 of 87 strings)
Added translation using Weblate (Dutch)
Translated using Weblate (Dutch)
Currently translated at 100.0% (51 of 51 strings)
Translated using Weblate (Dutch)
Currently translated at 100.0% (124 of 124 strings)
Translated using Weblate (Dutch)
Currently translated at 100.0% (34 of 34 strings)
Translated using Weblate (Dutch)
Currently translated at 100.0% (584 of 584 strings)
Translated using Weblate (Dutch)
Currently translated at 100.0% (582 of 582 strings)
Translated using Weblate (Dutch)
Currently translated at 100.0% (60 of 60 strings)
Translated using Weblate (Dutch)
Currently translated at 100.0% (10 of 10 strings)
Translated using Weblate (Dutch)
Currently translated at 100.0% (90 of 90 strings)
Translated using Weblate (Dutch)
Currently translated at 100.0% (122 of 122 strings)
Translated using Weblate (Dutch)
Currently translated at 100.0% (118 of 118 strings)
Translated using Weblate (Dutch)
Currently translated at 100.0% (501 of 501 strings)
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Languages add-on <noreply-addon-languages@weblate.org>
Co-authored-by: Marijn <168113859+Marijn0@users.noreply.github.com>
Co-authored-by: Patrick <github@derr.eu>
Co-authored-by: kheno <kheno@go9.be>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/audio/nl/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/nl/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-auth/nl/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-dialog/nl/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/objects/nl/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-classificationmodel/nl/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-events/nl/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-explore/nl/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-exports/nl/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-facelibrary/nl/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-live/nl/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/nl/
Translation: Frigate NVR/audio
Translation: Frigate NVR/common
Translation: Frigate NVR/components-auth
Translation: Frigate NVR/components-dialog
Translation: Frigate NVR/objects
Translation: Frigate NVR/views-classificationmodel
Translation: Frigate NVR/views-events
Translation: Frigate NVR/views-explore
Translation: Frigate NVR/views-exports
Translation: Frigate NVR/views-facelibrary
Translation: Frigate NVR/views-live
Translation: Frigate NVR/views-settings
Currently translated at 100.0% (124 of 124 strings)
Translated using Weblate (Catalan)
Currently translated at 100.0% (53 of 53 strings)
Translated using Weblate (Catalan)
Currently translated at 100.0% (501 of 501 strings)
Translated using Weblate (Catalan)
Currently translated at 100.0% (87 of 87 strings)
Translated using Weblate (Catalan)
Currently translated at 100.0% (585 of 585 strings)
Translated using Weblate (Catalan)
Currently translated at 100.0% (51 of 51 strings)
Translated using Weblate (Catalan)
Currently translated at 100.0% (124 of 124 strings)
Translated using Weblate (Catalan)
Currently translated at 100.0% (34 of 34 strings)
Added translation using Weblate (Catalan)
Translated using Weblate (Catalan)
Currently translated at 100.0% (585 of 585 strings)
Translated using Weblate (Catalan)
Currently translated at 99.2% (497 of 501 strings)
Translated using Weblate (Catalan)
Currently translated at 100.0% (582 of 582 strings)
Translated using Weblate (Catalan)
Currently translated at 100.0% (90 of 90 strings)
Translated using Weblate (Catalan)
Currently translated at 93.0% (466 of 501 strings)
Translated using Weblate (Catalan)
Currently translated at 100.0% (580 of 580 strings)
Translated using Weblate (Catalan)
Currently translated at 100.0% (10 of 10 strings)
Translated using Weblate (Catalan)
Currently translated at 89.8% (450 of 501 strings)
Translated using Weblate (Catalan)
Currently translated at 97.0% (563 of 580 strings)
Translated using Weblate (Catalan)
Currently translated at 100.0% (90 of 90 strings)
Translated using Weblate (Catalan)
Currently translated at 98.3% (59 of 60 strings)
Translated using Weblate (Catalan)
Currently translated at 100.0% (33 of 33 strings)
Translated using Weblate (Catalan)
Currently translated at 85.2% (427 of 501 strings)
Co-authored-by: Eduardo Pastor Fernández <123eduardoneko123@gmail.com>
Co-authored-by: Gerard Ricart Castells <gerard.ricart@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Languages add-on <noreply-addon-languages@weblate.org>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/audio/ca/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-auth/ca/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-dialog/ca/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-classificationmodel/ca/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-events/ca/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-explore/ca/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-facelibrary/ca/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-live/ca/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/ca/
Translation: Frigate NVR/audio
Translation: Frigate NVR/components-auth
Translation: Frigate NVR/components-dialog
Translation: Frigate NVR/views-classificationmodel
Translation: Frigate NVR/views-events
Translation: Frigate NVR/views-explore
Translation: Frigate NVR/views-facelibrary
Translation: Frigate NVR/views-live
Translation: Frigate NVR/views-settings
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (34 of 34 strings)
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (584 of 584 strings)
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (582 of 582 strings)
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (60 of 60 strings)
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (10 of 10 strings)
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Languages add-on <noreply-addon-languages@weblate.org>
Co-authored-by: Максим Горпиніч <gorpinicmaksim0@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-auth/uk/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-events/uk/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-facelibrary/uk/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/uk/
Translation: Frigate NVR/components-auth
Translation: Frigate NVR/views-events
Translation: Frigate NVR/views-facelibrary
Translation: Frigate NVR/views-settings
* Adjust for commutes
* Tweaks
* Don't show no models view in grid
* Add text-md to inputs
* Adjust train title for mobile
* Cleanup prompt more
* Use i18n functions for tooltip
* Fix model complexity causing crash
* Cleanup
* black background
* fix backend logic
* fixes
* ensure data being sent to api is segment aligned
* tweak
* tweaks to keep motion review as-is
* fix for half segment fractional seconds when using zooming
* feat(player): always show camera names + add UI config toggle
* feat(settings): add toggle for displaying camera names in multi-camera views
* update label and description for camera name setting
* Make prompt more fair and reduce time extension
* Adjust naming of unrecognized objects
* Improve object naming behavior
* Add more context image levels
* add reusable component for combined name / internal name form field
* fix labels
* refactor utilities
* refactor image picker
* lazy loading
* don't clear text box
* trigger wizard
* image picker fixes
* use name and ID field in trigger edit dialog
* ensure wizard resets when reopening
* icon size tweak
* multiple triggers can trigger at once
* remove scrolling
* mobile tweaks
* remove duplicated component
* fix types
* use table on desktop and keep cards on mobile
* provide default
* add blurred icon button component
* apply component to explore, face, and classification views
* apply to exports and fix bug where play button was unclickable
* spacing tweaks and add link to explore for plate
* clear selected objects when changing cameras
* plate link and spacing in object lifecycle
* set tabindex to prevent tooltip from showing on reopen
* show month and day in object lifecycle timestamp
* tweak api to fetch multiple timelines
* support multiple selected objects in context
* rework context provider
* use toggle in detail stream
* use toggle in menu
* plot multiple object tracks
* verified icon, recognized plate, and clicking tweaks
* add plate to object lifecycle
* close menu before opening frigate+ dialog
* clean up
* normal text case for tooltip
* capitalization
* use flexbox for recording view
* match face wizard with camera and classification wizards
* remove review detail dialog and link chip to detail stream in history
* remove footer on explore images and move to overlay
* use consistent overlay button styles
* spacing tweak
* ensure selected ring stays on top of gradients
* fix z-index
* match object lifecycle with details
* add detail stream selector to mobile drawer
* tweak getDurationFromTimestamps for i18n and abbreviations
* improve lifecycle description labeling
* i18n
* match figma
* fix progress line and add area and ratio tooltip
* allow clicking on chevron without triggering playback
* tweaks
* add key
* change wording
* clean up
* clean up
* remove check
* clean up
* Implement extraction of images for classification state models
* Add object classification dataset preparation
* Add first step wizard
* Update i18n
* Add state classification image selection step
* Improve box handling
* Add object selector
* Improve object cropping implementation
* Fix state classification selection
* Finalize training and image selection step
* Cleanup
* Design optimizations
* Cleanup mobile styling
* Update no models screen
* Cleanups and fixes
* Fix bugs
* Improve model training and creation process
* Cleanup
* Dynamically add metrics for new model
* Add loading when hitting continue
* Improve image selection mechanism
* Remove unused translation keys
* Adjust wording
* Add retry button for image generation
* Make no models view more specific
* Adjust plus icon
* Adjust form label
* Start with correct type selected
* Cleanup sizing and more font colors
* Small tweaks
* Add tips and more info
* Cleanup dialog sizing
* Add cursor rule for frontend
* Cleanup
* remove underline
* Lazy loading
* Add cutoff for object classification
* Add selector for classifiction model type
* Improve model selection view
* Clean up design of classification card
* Tweaks
* Adjust button colors
* Improvements to gradients and making face library consistent
* Add basic classification model wizard
* Use relative coordinates
* Properly get resolution
* Clean up exports
* Cleanup
* Cleanup
* Update to use pre-defined component for image shadow
* Refactor image grouping
* Clean up mobile
* Clean up decision logic
* Remove max check on classification objects
* Increase default number of faces shown
* Cleanup
* Improve mobile layout
* Clenaup
* Update vocabulary
* Fix layout
* Fix page
* Cleanup
* Choose last item for unknown objects
* Move explore button
* Cleanup grid
* Cleanup classification
* Cleanup grid
* Cleanup
* Set transparency
* Set unknown
* Don't filter all configs
* Check length
Currently translated at 92.2% (83 of 90 strings)
Translated using Weblate (Norwegian Bokmål)
Currently translated at 100.0% (33 of 33 strings)
Translated using Weblate (Norwegian Bokmål)
Currently translated at 100.0% (53 of 53 strings)
Translated using Weblate (Norwegian Bokmål)
Currently translated at 74.4% (432 of 580 strings)
Translated using Weblate (Norwegian Bokmål)
Currently translated at 100.0% (199 of 199 strings)
Translated using Weblate (Norwegian Bokmål)
Currently translated at 100.0% (60 of 60 strings)
Translated using Weblate (Norwegian Bokmål)
Currently translated at 100.0% (467 of 467 strings)
Translated using Weblate (Norwegian Bokmål)
Currently translated at 100.0% (193 of 193 strings)
Translated using Weblate (Swedish)
Currently translated at 100.0% (33 of 33 strings)
Translated using Weblate (Swedish)
Currently translated at 96.8% (485 of 501 strings)
Translated using Weblate (Swedish)
Currently translated at 94.8% (475 of 501 strings)
Translated using Weblate (Swedish)
Currently translated at 94.4% (473 of 501 strings)
Translated using Weblate (Swedish)
Currently translated at 93.6% (469 of 501 strings)
Translated using Weblate (Swedish)
Currently translated at 89.6% (449 of 501 strings)
Translated using Weblate (Swedish)
Currently translated at 100.0% (91 of 91 strings)
Translated using Weblate (Swedish)
Currently translated at 100.0% (579 of 579 strings)
Translated using Weblate (Swedish)
Currently translated at 100.0% (118 of 118 strings)
Translated using Weblate (Swedish)
Currently translated at 100.0% (577 of 577 strings)
Translated using Weblate (Swedish)
Currently translated at 80.1% (461 of 575 strings)
Translated using Weblate (Swedish)
Currently translated at 100.0% (199 of 199 strings)
Translated using Weblate (Swedish)
Currently translated at 100.0% (87 of 87 strings)
Translated using Weblate (Swedish)
Currently translated at 100.0% (53 of 53 strings)
Translated using Weblate (Swedish)
Currently translated at 100.0% (468 of 468 strings)
Translated using Weblate (Swedish)
Currently translated at 100.0% (193 of 193 strings)
Translated using Weblate (Swedish)
Currently translated at 100.0% (467 of 467 strings)
Translated using Weblate (Swedish)
Currently translated at 100.0% (61 of 61 strings)
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Kristian Johansson <knmjohansson@gmail.com>
Co-authored-by: OverTheHillsAndFarAway <prosjektx@users.noreply.hosted.weblate.org>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/audio/sv/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/nb_NO/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/sv/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-dialog/nb_NO/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-dialog/sv/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-events/nb_NO/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-events/sv/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-facelibrary/nb_NO/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-facelibrary/sv/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-live/nb_NO/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-live/sv/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/nb_NO/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/sv/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-system/sv/
Translation: Frigate NVR/audio
Translation: Frigate NVR/common
Translation: Frigate NVR/components-dialog
Translation: Frigate NVR/views-events
Translation: Frigate NVR/views-facelibrary
Translation: Frigate NVR/views-live
Translation: Frigate NVR/views-settings
Translation: Frigate NVR/views-system
Currently translated at 100.0% (580 of 580 strings)
Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (90 of 90 strings)
Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (501 of 501 strings)
Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 96.9% (32 of 33 strings)
Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (579 of 579 strings)
Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (91 of 91 strings)
Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 90.3% (523 of 579 strings)
Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (87 of 87 strings)
Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (53 of 53 strings)
Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (199 of 199 strings)
Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 97.7% (85 of 87 strings)
Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (468 of 468 strings)
Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (193 of 193 strings)
Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (118 of 118 strings)
Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (467 of 467 strings)
Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (84 of 84 strings)
Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (61 of 61 strings)
Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (122 of 122 strings)
Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (26 of 26 strings)
Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (72 of 72 strings)
Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (46 of 46 strings)
Co-authored-by: GuoQing Liu <842607283@qq.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/audio/zh_Hans/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/zh_Hans/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-camera/zh_Hans/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-dialog/zh_Hans/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-filter/zh_Hans/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-events/zh_Hans/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-explore/zh_Hans/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-facelibrary/zh_Hans/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-live/zh_Hans/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/zh_Hans/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-system/zh_Hans/
Translation: Frigate NVR/audio
Translation: Frigate NVR/common
Translation: Frigate NVR/components-camera
Translation: Frigate NVR/components-dialog
Translation: Frigate NVR/components-filter
Translation: Frigate NVR/views-events
Translation: Frigate NVR/views-explore
Translation: Frigate NVR/views-facelibrary
Translation: Frigate NVR/views-live
Translation: Frigate NVR/views-settings
Translation: Frigate NVR/views-system
Currently translated at 61.7% (358 of 580 strings)
Translated using Weblate (Slovak)
Currently translated at 100.0% (33 of 33 strings)
Translated using Weblate (Slovak)
Currently translated at 70.2% (352 of 501 strings)
Translated using Weblate (Slovak)
Currently translated at 61.8% (358 of 579 strings)
Translated using Weblate (Slovak)
Currently translated at 100.0% (90 of 90 strings)
Translated using Weblate (Slovak)
Currently translated at 100.0% (199 of 199 strings)
Translated using Weblate (Slovak)
Currently translated at 64.8% (325 of 501 strings)
Translated using Weblate (Slovak)
Currently translated at 54.7% (316 of 577 strings)
Translated using Weblate (Slovak)
Currently translated at 41.7% (241 of 577 strings)
Translated using Weblate (Slovak)
Currently translated at 98.4% (196 of 199 strings)
Translated using Weblate (Slovak)
Currently translated at 34.0% (196 of 575 strings)
Translated using Weblate (Slovak)
Currently translated at 97.4% (194 of 199 strings)
Translated using Weblate (Slovak)
Currently translated at 100.0% (118 of 118 strings)
Translated using Weblate (Slovak)
Currently translated at 51.9% (243 of 468 strings)
Translated using Weblate (Slovak)
Currently translated at 99.1% (121 of 122 strings)
Translated using Weblate (Slovak)
Currently translated at 100.0% (118 of 118 strings)
Translated using Weblate (Slovak)
Currently translated at 100.0% (60 of 60 strings)
Translated using Weblate (Slovak)
Currently translated at 100.0% (53 of 53 strings)
Translated using Weblate (Slovak)
Currently translated at 98.4% (190 of 193 strings)
Translated using Weblate (Slovak)
Currently translated at 61.3% (262 of 427 strings)
Translated using Weblate (Slovak)
Currently translated at 91.5% (108 of 118 strings)
Translated using Weblate (Slovak)
Currently translated at 23.0% (108 of 468 strings)
Translated using Weblate (Slovak)
Currently translated at 88.5% (108 of 122 strings)
Translated using Weblate (Slovak)
Currently translated at 100.0% (87 of 87 strings)
Translated using Weblate (Slovak)
Currently translated at 91.5% (108 of 118 strings)
Translated using Weblate (Slovak)
Currently translated at 56.9% (110 of 193 strings)
Translated using Weblate (Slovak)
Currently translated at 29.2% (125 of 427 strings)
Translated using Weblate (Slovak)
Currently translated at 87.2% (103 of 118 strings)
Translated using Weblate (Slovak)
Currently translated at 22.0% (103 of 467 strings)
Translated using Weblate (Slovak)
Currently translated at 84.4% (103 of 122 strings)
Translated using Weblate (Slovak)
Currently translated at 100.0% (84 of 84 strings)
Translated using Weblate (Slovak)
Currently translated at 88.1% (104 of 118 strings)
Translated using Weblate (Slovak)
Currently translated at 55.2% (106 of 192 strings)
Translated using Weblate (Slovak)
Currently translated at 28.3% (121 of 427 strings)
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Jakub K <klacanjakub0@gmail.com>
Co-authored-by: Jakub T <jakub.tilesch@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/audio/sk/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/sk/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-dialog/sk/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/objects/sk/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-events/sk/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-explore/sk/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-facelibrary/sk/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-live/sk/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/sk/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-system/sk/
Translation: Frigate NVR/audio
Translation: Frigate NVR/common
Translation: Frigate NVR/components-dialog
Translation: Frigate NVR/objects
Translation: Frigate NVR/views-events
Translation: Frigate NVR/views-explore
Translation: Frigate NVR/views-facelibrary
Translation: Frigate NVR/views-live
Translation: Frigate NVR/views-settings
Translation: Frigate NVR/views-system
Currently translated at 96.6% (114 of 118 strings)
Translated using Weblate (Korean)
Currently translated at 10.3% (60 of 580 strings)
Translated using Weblate (Korean)
Currently translated at 13.9% (17 of 122 strings)
Translated using Weblate (Korean)
Currently translated at 83.3% (50 of 60 strings)
Translated using Weblate (Korean)
Currently translated at 100.0% (10 of 10 strings)
Translated using Weblate (Korean)
Currently translated at 93.9% (31 of 33 strings)
Translated using Weblate (Korean)
Currently translated at 100.0% (9 of 9 strings)
Translated using Weblate (Korean)
Currently translated at 100.0% (90 of 90 strings)
Translated using Weblate (Korean)
Currently translated at 13.5% (68 of 501 strings)
Translated using Weblate (Korean)
Currently translated at 100.0% (2 of 2 strings)
Translated using Weblate (Korean)
Currently translated at 99.1% (117 of 118 strings)
Translated using Weblate (Korean)
Currently translated at 100.0% (25 of 25 strings)
Translated using Weblate (Korean)
Currently translated at 100.0% (46 of 46 strings)
Translated using Weblate (Korean)
Currently translated at 69.8% (37 of 53 strings)
Translated using Weblate (Korean)
Currently translated at 98.9% (197 of 199 strings)
Translated using Weblate (Korean)
Currently translated at 7.0% (33 of 468 strings)
Translated using Weblate (Korean)
Currently translated at 100.0% (46 of 46 strings)
Translated using Weblate (Korean)
Currently translated at 71.1% (37 of 52 strings)
Translated using Weblate (Korean)
Currently translated at 13.1% (16 of 122 strings)
Translated using Weblate (Korean)
Currently translated at 6.6% (4 of 60 strings)
Translated using Weblate (Korean)
Currently translated at 60.8% (28 of 46 strings)
Translated using Weblate (Korean)
Currently translated at 100.0% (9 of 9 strings)
Translated using Weblate (Korean)
Currently translated at 100.0% (87 of 87 strings)
Translated using Weblate (Korean)
Currently translated at 100.0% (193 of 193 strings)
Translated using Weblate (Korean)
Currently translated at 15.6% (67 of 427 strings)
Translated using Weblate (Korean)
Currently translated at 100.0% (118 of 118 strings)
Translated using Weblate (Korean)
Currently translated at 100.0% (6 of 6 strings)
Translated using Weblate (Korean)
Currently translated at 100.0% (118 of 118 strings)
Translated using Weblate (Korean)
Currently translated at 70.2% (59 of 84 strings)
Translated using Weblate (Korean)
Currently translated at 8.1% (35 of 427 strings)
Translated using Weblate (Korean)
Currently translated at 55.0% (65 of 118 strings)
Translated using Weblate (Korean)
Currently translated at 23.6% (17 of 72 strings)
Co-authored-by: GGAMBI <mmxdog@empal.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/audio/ko/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/ko/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-auth/ko/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-camera/ko/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-dialog/ko/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-filter/ko/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-input/ko/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-player/ko/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/objects/ko/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-configeditor/ko/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-events/ko/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-explore/ko/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-exports/ko/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-facelibrary/ko/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-live/ko/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-recording/ko/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/ko/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-system/ko/
Translation: Frigate NVR/audio
Translation: Frigate NVR/common
Translation: Frigate NVR/components-auth
Translation: Frigate NVR/components-camera
Translation: Frigate NVR/components-dialog
Translation: Frigate NVR/components-filter
Translation: Frigate NVR/components-input
Translation: Frigate NVR/components-player
Translation: Frigate NVR/objects
Translation: Frigate NVR/views-configeditor
Translation: Frigate NVR/views-events
Translation: Frigate NVR/views-explore
Translation: Frigate NVR/views-exports
Translation: Frigate NVR/views-facelibrary
Translation: Frigate NVR/views-live
Translation: Frigate NVR/views-recording
Translation: Frigate NVR/views-settings
Translation: Frigate NVR/views-system
Currently translated at 100.0% (90 of 90 strings)
Translated using Weblate (Swedish)
Currently translated at 100.0% (501 of 501 strings)
Translated using Weblate (Swedish)
Currently translated at 100.0% (580 of 580 strings)
Translated using Weblate (Swedish)
Currently translated at 98.8% (495 of 501 strings)
Translated using Weblate (Swedish)
Currently translated at 100.0% (33 of 33 strings)
Translated using Weblate (Swedish)
Currently translated at 96.8% (485 of 501 strings)
Translated using Weblate (Swedish)
Currently translated at 94.8% (475 of 501 strings)
Translated using Weblate (Swedish)
Currently translated at 94.4% (473 of 501 strings)
Translated using Weblate (Swedish)
Currently translated at 93.6% (469 of 501 strings)
Translated using Weblate (Swedish)
Currently translated at 89.6% (449 of 501 strings)
Translated using Weblate (Swedish)
Currently translated at 100.0% (91 of 91 strings)
Translated using Weblate (Swedish)
Currently translated at 100.0% (579 of 579 strings)
Translated using Weblate (Swedish)
Currently translated at 100.0% (118 of 118 strings)
Translated using Weblate (Swedish)
Currently translated at 100.0% (577 of 577 strings)
Translated using Weblate (Swedish)
Currently translated at 80.1% (461 of 575 strings)
Translated using Weblate (Swedish)
Currently translated at 100.0% (199 of 199 strings)
Translated using Weblate (Swedish)
Currently translated at 100.0% (87 of 87 strings)
Translated using Weblate (Swedish)
Currently translated at 100.0% (53 of 53 strings)
Translated using Weblate (Swedish)
Currently translated at 100.0% (468 of 468 strings)
Translated using Weblate (Swedish)
Currently translated at 100.0% (193 of 193 strings)
Translated using Weblate (Swedish)
Currently translated at 100.0% (467 of 467 strings)
Translated using Weblate (Swedish)
Currently translated at 100.0% (61 of 61 strings)
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Kristian Johansson <knmjohansson@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/audio/sv/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/sv/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-dialog/sv/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-events/sv/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-facelibrary/sv/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-live/sv/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/sv/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-system/sv/
Translation: Frigate NVR/audio
Translation: Frigate NVR/common
Translation: Frigate NVR/components-dialog
Translation: Frigate NVR/views-events
Translation: Frigate NVR/views-facelibrary
Translation: Frigate NVR/views-live
Translation: Frigate NVR/views-settings
Translation: Frigate NVR/views-system
Currently translated at 97.6% (489 of 501 strings)
Translated using Weblate (French)
Currently translated at 100.0% (579 of 579 strings)
Translated using Weblate (French)
Currently translated at 100.0% (579 of 579 strings)
Translated using Weblate (French)
Currently translated at 100.0% (579 of 579 strings)
Translated using Weblate (French)
Currently translated at 96.4% (483 of 501 strings)
Translated using Weblate (French)
Currently translated at 77.8% (451 of 579 strings)
Translated using Weblate (French)
Currently translated at 100.0% (91 of 91 strings)
Translated using Weblate (French)
Currently translated at 73.7% (427 of 579 strings)
Translated using Weblate (French)
Currently translated at 100.0% (199 of 199 strings)
Translated using Weblate (French)
Currently translated at 100.0% (87 of 87 strings)
Translated using Weblate (French)
Currently translated at 100.0% (53 of 53 strings)
Translated using Weblate (French)
Currently translated at 100.0% (468 of 468 strings)
Translated using Weblate (French)
Currently translated at 100.0% (193 of 193 strings)
Translated using Weblate (French)
Currently translated at 100.0% (467 of 467 strings)
Translated using Weblate (French)
Currently translated at 100.0% (61 of 61 strings)
Co-authored-by: Apocoloquintose <bertrand.moreux@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Pascal Courtonne <pascal@bobbz.org>
Co-authored-by: Sylvain LEROY <syl_tigra@hotmail.com>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/audio/fr/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/fr/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-dialog/fr/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-facelibrary/fr/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-live/fr/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/fr/
Translation: Frigate NVR/audio
Translation: Frigate NVR/common
Translation: Frigate NVR/components-dialog
Translation: Frigate NVR/views-facelibrary
Translation: Frigate NVR/views-live
Translation: Frigate NVR/views-settings
Currently translated at 100.0% (580 of 580 strings)
Translated using Weblate (Dutch)
Currently translated at 100.0% (579 of 579 strings)
Translated using Weblate (Dutch)
Currently translated at 100.0% (90 of 90 strings)
Translated using Weblate (Dutch)
Currently translated at 100.0% (33 of 33 strings)
Translated using Weblate (Dutch)
Currently translated at 100.0% (53 of 53 strings)
Translated using Weblate (Dutch)
Currently translated at 100.0% (501 of 501 strings)
Translated using Weblate (Dutch)
Currently translated at 100.0% (199 of 199 strings)
Translated using Weblate (Dutch)
Currently translated at 72.3% (419 of 579 strings)
Translated using Weblate (Dutch)
Currently translated at 100.0% (468 of 468 strings)
Translated using Weblate (Dutch)
Currently translated at 100.0% (193 of 193 strings)
Translated using Weblate (Dutch)
Currently translated at 100.0% (467 of 467 strings)
Translated using Weblate (Dutch)
Currently translated at 100.0% (61 of 61 strings)
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Marijn <168113859+Marijn0@users.noreply.github.com>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/audio/nl/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/nl/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-dialog/nl/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-events/nl/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-facelibrary/nl/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-live/nl/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/nl/
Translation: Frigate NVR/audio
Translation: Frigate NVR/common
Translation: Frigate NVR/components-dialog
Translation: Frigate NVR/views-events
Translation: Frigate NVR/views-facelibrary
Translation: Frigate NVR/views-live
Translation: Frigate NVR/views-settings
Currently translated at 1.7% (10 of 579 strings)
Translated using Weblate (Indonesian)
Currently translated at 20.1% (86 of 427 strings)
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Toni Tan <toni@tan.lc>
Co-authored-by: Tukimin Satrio <k797du3eh@mozmail.com>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/audio/id/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/id/
Translation: Frigate NVR/audio
Translation: Frigate NVR/views-settings
Currently translated at 100.0% (579 of 579 strings)
Translated using Weblate (Italian)
Currently translated at 100.0% (90 of 90 strings)
Translated using Weblate (Italian)
Currently translated at 100.0% (33 of 33 strings)
Translated using Weblate (Italian)
Currently translated at 86.8% (435 of 501 strings)
Translated using Weblate (Italian)
Currently translated at 100.0% (575 of 575 strings)
Translated using Weblate (Italian)
Currently translated at 100.0% (87 of 87 strings)
Translated using Weblate (Italian)
Currently translated at 100.0% (53 of 53 strings)
Translated using Weblate (Italian)
Currently translated at 100.0% (199 of 199 strings)
Translated using Weblate (Italian)
Currently translated at 72.8% (419 of 575 strings)
Translated using Weblate (Italian)
Currently translated at 97.7% (85 of 87 strings)
Translated using Weblate (Italian)
Currently translated at 100.0% (468 of 468 strings)
Translated using Weblate (Italian)
Currently translated at 100.0% (193 of 193 strings)
Translated using Weblate (Italian)
Currently translated at 100.0% (467 of 467 strings)
Translated using Weblate (Italian)
Currently translated at 100.0% (61 of 61 strings)
Translated using Weblate (Italian)
Currently translated at 100.0% (84 of 84 strings)
Co-authored-by: GMagician <gmagician@users.noreply.hosted.weblate.org>
Co-authored-by: Gringo <ita.translations@tiscali.it>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/audio/it/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/it/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-dialog/it/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-events/it/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-facelibrary/it/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-live/it/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/it/
Translation: Frigate NVR/audio
Translation: Frigate NVR/common
Translation: Frigate NVR/components-dialog
Translation: Frigate NVR/views-events
Translation: Frigate NVR/views-facelibrary
Translation: Frigate NVR/views-live
Translation: Frigate NVR/views-settings
Currently translated at 100.0% (87 of 87 strings)
Translated using Weblate (Polish)
Currently translated at 100.0% (53 of 53 strings)
Translated using Weblate (Polish)
Currently translated at 100.0% (468 of 468 strings)
Translated using Weblate (Polish)
Currently translated at 100.0% (84 of 84 strings)
Translated using Weblate (Polish)
Currently translated at 100.0% (193 of 193 strings)
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Patryk Smoliński <smolinski.patryk@mensa.org.pl>
Co-authored-by: Wojciech Niziński <niziak-weblate@spox.org>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/pl/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-dialog/pl/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-live/pl/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/pl/
Translation: Frigate NVR/common
Translation: Frigate NVR/components-dialog
Translation: Frigate NVR/views-live
Translation: Frigate NVR/views-settings
Currently translated at 73.7% (427 of 579 strings)
Translated using Weblate (Hungarian)
Currently translated at 97.7% (88 of 90 strings)
Translated using Weblate (Hungarian)
Currently translated at 100.0% (199 of 199 strings)
Translated using Weblate (Hungarian)
Currently translated at 100.0% (468 of 468 strings)
Translated using Weblate (Hungarian)
Currently translated at 100.0% (87 of 87 strings)
Translated using Weblate (Hungarian)
Currently translated at 100.0% (53 of 53 strings)
Translated using Weblate (Hungarian)
Currently translated at 100.0% (193 of 193 strings)
Co-authored-by: Balázs Bencs <beniboy87@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Zsolt Fojtyik <zsozso830316@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/hu/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-dialog/hu/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-live/hu/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/hu/
Translation: Frigate NVR/common
Translation: Frigate NVR/components-dialog
Translation: Frigate NVR/views-live
Translation: Frigate NVR/views-settings
Currently translated at 100.0% (579 of 579 strings)
Translated using Weblate (Japanese)
Currently translated at 100.0% (91 of 91 strings)
Translated using Weblate (Japanese)
Currently translated at 100.0% (577 of 577 strings)
Translated using Weblate (Japanese)
Currently translated at 73.3% (423 of 577 strings)
Translated using Weblate (Japanese)
Currently translated at 100.0% (87 of 87 strings)
Translated using Weblate (Japanese)
Currently translated at 100.0% (53 of 53 strings)
Translated using Weblate (Japanese)
Currently translated at 100.0% (199 of 199 strings)
Translated using Weblate (Japanese)
Currently translated at 98.9% (197 of 199 strings)
Translated using Weblate (Japanese)
Currently translated at 100.0% (118 of 118 strings)
Translated using Weblate (Japanese)
Currently translated at 72.5% (417 of 575 strings)
Translated using Weblate (Japanese)
Currently translated at 100.0% (122 of 122 strings)
Translated using Weblate (Japanese)
Currently translated at 96.9% (193 of 199 strings)
Translated using Weblate (Japanese)
Currently translated at 100.0% (118 of 118 strings)
Translated using Weblate (Japanese)
Currently translated at 100.0% (467 of 467 strings)
Translated using Weblate (Japanese)
Currently translated at 100.0% (84 of 84 strings)
Translated using Weblate (Japanese)
Currently translated at 100.0% (61 of 61 strings)
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: yhi264 <yhiraki@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/ja/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-dialog/ja/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-explore/ja/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-facelibrary/ja/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-live/ja/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/ja/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-system/ja/
Translation: Frigate NVR/common
Translation: Frigate NVR/components-dialog
Translation: Frigate NVR/views-explore
Translation: Frigate NVR/views-facelibrary
Translation: Frigate NVR/views-live
Translation: Frigate NVR/views-settings
Translation: Frigate NVR/views-system
Currently translated at 100.0% (90 of 90 strings)
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (580 of 580 strings)
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (33 of 33 strings)
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (501 of 501 strings)
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (91 of 91 strings)
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (579 of 579 strings)
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (118 of 118 strings)
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (577 of 577 strings)
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (48 of 48 strings)
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (199 of 199 strings)
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (118 of 118 strings)
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (575 of 575 strings)
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (48 of 48 strings)
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (199 of 199 strings)
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (53 of 53 strings)
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (87 of 87 strings)
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (468 of 468 strings)
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (193 of 193 strings)
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (467 of 467 strings)
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (61 of 61 strings)
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Максим Горпиніч <gorpinicmaksim0@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/audio/uk/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/uk/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-dialog/uk/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-events/uk/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-facelibrary/uk/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-live/uk/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-search/uk/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/uk/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-system/uk/
Translation: Frigate NVR/audio
Translation: Frigate NVR/common
Translation: Frigate NVR/components-dialog
Translation: Frigate NVR/views-events
Translation: Frigate NVR/views-facelibrary
Translation: Frigate NVR/views-live
Translation: Frigate NVR/views-search
Translation: Frigate NVR/views-settings
Translation: Frigate NVR/views-system
Currently translated at 100.0% (90 of 90 strings)
Translated using Weblate (Romanian)
Currently translated at 100.0% (580 of 580 strings)
Translated using Weblate (Romanian)
Currently translated at 100.0% (33 of 33 strings)
Translated using Weblate (Romanian)
Currently translated at 100.0% (118 of 118 strings)
Translated using Weblate (Romanian)
Currently translated at 100.0% (501 of 501 strings)
Translated using Weblate (Romanian)
Currently translated at 100.0% (579 of 579 strings)
Translated using Weblate (Romanian)
Currently translated at 100.0% (90 of 90 strings)
Translated using Weblate (Romanian)
Currently translated at 100.0% (122 of 122 strings)
Translated using Weblate (Romanian)
Currently translated at 100.0% (53 of 53 strings)
Translated using Weblate (Romanian)
Currently translated at 100.0% (199 of 199 strings)
Translated using Weblate (Romanian)
Currently translated at 92.6% (464 of 501 strings)
Translated using Weblate (Romanian)
Currently translated at 100.0% (468 of 468 strings)
Translated using Weblate (Romanian)
Currently translated at 100.0% (193 of 193 strings)
Translated using Weblate (Romanian)
Currently translated at 100.0% (467 of 467 strings)
Translated using Weblate (Romanian)
Currently translated at 100.0% (84 of 84 strings)
Translated using Weblate (Romanian)
Currently translated at 100.0% (61 of 61 strings)
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: THT <andreyavram@yahoo.com>
Co-authored-by: lukasig <lukasig@hotmail.com>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/audio/ro/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/ro/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-dialog/ro/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-events/ro/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-explore/ro/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-facelibrary/ro/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-live/ro/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/ro/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-system/ro/
Translation: Frigate NVR/audio
Translation: Frigate NVR/common
Translation: Frigate NVR/components-dialog
Translation: Frigate NVR/views-events
Translation: Frigate NVR/views-explore
Translation: Frigate NVR/views-facelibrary
Translation: Frigate NVR/views-live
Translation: Frigate NVR/views-settings
Translation: Frigate NVR/views-system
Currently translated at 99.6% (577 of 579 strings)
Translated using Weblate (German)
Currently translated at 99.6% (577 of 579 strings)
Translated using Weblate (German)
Currently translated at 100.0% (91 of 91 strings)
Translated using Weblate (German)
Currently translated at 96.3% (558 of 579 strings)
Translated using Weblate (German)
Currently translated at 100.0% (53 of 53 strings)
Translated using Weblate (German)
Currently translated at 100.0% (199 of 199 strings)
Translated using Weblate (German)
Currently translated at 100.0% (87 of 87 strings)
Translated using Weblate (German)
Currently translated at 100.0% (468 of 468 strings)
Translated using Weblate (German)
Currently translated at 100.0% (118 of 118 strings)
Translated using Weblate (German)
Currently translated at 100.0% (84 of 84 strings)
Translated using Weblate (German)
Currently translated at 100.0% (60 of 60 strings)
Translated using Weblate (German)
Currently translated at 100.0% (193 of 193 strings)
Co-authored-by: Christos Sidiropoulos <dev@csidirop.de>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Patrick Polsterer <patrick.polsterer@gmail.com>
Co-authored-by: mvdberge <micha.vordemberge@christmann.info>
Co-authored-by: sandronidi <sandro.niederhauser@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/de/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-dialog/de/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/objects/de/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-facelibrary/de/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-live/de/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/de/
Translation: Frigate NVR/common
Translation: Frigate NVR/components-dialog
Translation: Frigate NVR/objects
Translation: Frigate NVR/views-facelibrary
Translation: Frigate NVR/views-live
Translation: Frigate NVR/views-settings
Currently translated at 79.1% (458 of 579 strings)
Translated using Weblate (Portuguese (Brazil))
Currently translated at 98.8% (89 of 90 strings)
Translated using Weblate (Portuguese (Brazil))
Currently translated at 96.6% (87 of 90 strings)
Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (33 of 33 strings)
Translated using Weblate (Portuguese (Brazil))
Currently translated at 86.0% (431 of 501 strings)
Translated using Weblate (Portuguese (Brazil))
Currently translated at 76.4% (441 of 577 strings)
Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (53 of 53 strings)
Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (199 of 199 strings)
Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (87 of 87 strings)
Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (468 of 468 strings)
Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (193 of 193 strings)
Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (467 of 467 strings)
Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (61 of 61 strings)
Co-authored-by: Helder Santana <helder.santana@systemsbr.com.br>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Marcelo Popper Costa <marcelo_popper@hotmail.com>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/audio/pt_BR/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/pt_BR/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-dialog/pt_BR/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-events/pt_BR/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-facelibrary/pt_BR/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-live/pt_BR/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/pt_BR/
Translation: Frigate NVR/audio
Translation: Frigate NVR/common
Translation: Frigate NVR/components-dialog
Translation: Frigate NVR/views-events
Translation: Frigate NVR/views-facelibrary
Translation: Frigate NVR/views-live
Translation: Frigate NVR/views-settings
Currently translated at 96.9% (32 of 33 strings)
Translated using Weblate (Lithuanian)
Currently translated at 78.7% (453 of 575 strings)
Translated using Weblate (Lithuanian)
Currently translated at 100.0% (87 of 87 strings)
Translated using Weblate (Lithuanian)
Currently translated at 100.0% (53 of 53 strings)
Translated using Weblate (Lithuanian)
Currently translated at 100.0% (199 of 199 strings)
Translated using Weblate (Lithuanian)
Currently translated at 100.0% (468 of 468 strings)
Translated using Weblate (Lithuanian)
Currently translated at 100.0% (193 of 193 strings)
Translated using Weblate (Lithuanian)
Currently translated at 100.0% (467 of 467 strings)
Translated using Weblate (Lithuanian)
Currently translated at 100.0% (84 of 84 strings)
Translated using Weblate (Lithuanian)
Currently translated at 100.0% (52 of 52 strings)
Translated using Weblate (Lithuanian)
Currently translated at 98.8% (83 of 84 strings)
Translated using Weblate (Lithuanian)
Currently translated at 100.0% (61 of 61 strings)
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Kostas Čaplinskas <pokemonm360@gmail.com>
Co-authored-by: MaBeniu <runnerm@gmail.com>
Co-authored-by: pcxtx <pcxtx@yahoo.com>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/lt/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-dialog/lt/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-events/lt/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-facelibrary/lt/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-live/lt/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/lt/
Translation: Frigate NVR/common
Translation: Frigate NVR/components-dialog
Translation: Frigate NVR/views-events
Translation: Frigate NVR/views-facelibrary
Translation: Frigate NVR/views-live
Translation: Frigate NVR/views-settings
* Add optional idle heartbeat for Birdseye (periodic frame emission when idle)
birdseye: add optional idle heartbeat and FFmpeg tuning envs (default off)
This adds an optional configuration field `birdseye.idle_heartbeat_fps` to
enable a lightweight idle heartbeat mechanism in Birdseye. When set to a value
greater than 0, Birdseye periodically re-sends the last composed frame during
idle periods (no motion or active updates).
This helps downstream consumers such as go2rtc, Alexa, or Scrypted to attach
faster and maintain a low-latency RTSP stream when the system is idle.
Key details:
- Config-based (`birdseye.idle_heartbeat_fps`), default `0` (disabled).
- Uses existing Birdseye rendering pipeline; minimal performance impact.
- Does not alter behavior when unset.
Documentation: added tip section in docs/configuration/restream.md.
* Update docs/docs/configuration/restream.md
Co-authored-by: Nicolas Mowen <nickmowen213@gmail.com>
* Update docs/docs/configuration/reference.md
Co-authored-by: Nicolas Mowen <nickmowen213@gmail.com>
* Refactors Birdseye idle frame broadcasting
Simplifies the idle frame broadcasting logic by removing the dedicated thread.
The idle frame is now resent directly within the main loop,
improving efficiency and reducing complexity. Also, limits the idle
heartbeat FPS to a maximum of 10 since the framebuffer is limited to 10 anyway
* ruff fix
---------
Co-authored-by: Nicolas Mowen <nickmowen213@gmail.com>
Co-authored-by: Francesco Durighetto <francesco.durighetto@subbyx.com>
Co-authored-by: duri <duri@homelabubuntu.durihome.unifi>
* show audio events in detail stream
* refactor object lifecycle to look similar to detail stream
* pass detail stream as prop to avoid context error
* fix highlighting timing
* add view in explore to menu
* new type
* activity stream panel
* use context provider for activity stream
* new activity stream panel in history view
* overlay for object tracking details in history view
* use overlay in video player
* don't refetch timeline
* fix activity stream group from being highlighted prematurely
* use annotation offset
* fix scrolling and use custom hook for interaction
* memoize to prevent unnecessary renders
* i18n and timestamp formatting
* add annotation offset slider
* bg color
* add collapsible component
* refactor
* rename activity to detail
* fix merge conflicts
* i18n
* more i18n
* save clean webp instead of png
* send clean webp to plus with fallback for old events
* manual event webp
* event cleanup
* api def
* convert png to webp if exists
* update reference config
* change quality
* Migrate camera APIs to separate tag
* Implement reolink detection to handle dynamic URL assignment
* Cleanup codec handling
* Use average framerate not relative framerate
* Add reolink rtsp warning
* Don't return exception
* Use avg_frame_rate in final info
* Clenaup
* Validate host
* Fix overlap
* fetch more from ffprobe
* add detailed param to ffprobe endpoint
* add dots variant to step indicator
* add classname
* tweak colors for dark mode to match figma
* add step 1 form
* add helper function for ffmpeg snapshot
* add go2rtc stream add and ffprobe snapshot endpoints
* add camera image and stream details on successful test
* step 1 tweaks
* step 2 and i18n
* types
* step 1 and 2 tweaks
* add wizard to camera settings view
* add data unit i18n keys
* restream tweak
* fix type
* implement rough idea for step 3
* add api endpoint to delete stream from go2rtc
* add main wizard dialog component
* extract logic for friendly_name and use in wizard
* add i18n and popover for brand url
* add camera name to top
* consolidate validation logic
* prevent dialog from closing when clicking outside
* center camera name on mobile
* add help/docs link popovers
* keep spaces in friendly name
* add stream details to overlay like stats in liveplayer
* add validation results pane to step 3
* ensure test is invalidated if stream is changed
* only display validation results and enable save button if all streams have been tested
* tweaks
* normalize camera name to lower case and improve hash generation
* move wizard to subfolder
* tweaks
* match look of camera edit form to wizard
* move wizard and edit form to its own component
* move enabled/disabled switch to management section
* clean up
* fixes
* fix mobile
* new body param
* use new body param in endpoint
* explicitly use new param in frontend endpoint
* use reviewsegment as type instead of list of strings
* add toggle function to mark as unreviewed when all selected are reviewed
* i18n
* fix tests
* Map verified objects to their sub label directly
* Simplify access
* Cleanup
* Add protection for mismatched object and index
* Keep track of verified objects separately
* camera level config
* set up model runner on thread start to avoid unpickling error
* ensure feature is enabled globally
* suppress info logs from faster_whisper
* fix incorrect event_type for api and audio timeline entries
* docs
* fix
* clean up
* refactor with sidebar and mobile page
* sidebar spacing and color tweaks
* layout tweaks
* move camera switch button to header
* improve mobile
* remove back button on mobile page header
* mobile fixes
* remove debug
* don't use mobilepage
* more mobile tweaks
* use mobile page for components
* add optional actions to mobile page header for top right buttons
* fix alignment
* use page toggle
* tweaks
* sidebar inset tweaks
* move triggers to notifications sub menu
* consistency
* fix padding
* more padding fixes
* navigate history
* Update classification API docs
* Add information to events api
* Fix tag
* Add exports
* Add generic response to model for classification apis
* Add preview API information
* Cleanup
* Cleanup
* Refactor face card into generic classification card
* Update classification data card to use classification card
* Refactor state training grid to use classification card
* Refactor grouped face card into generic component
* Combine classification objects by event
* Fixup
* Cleanup
* Cleanup
* Do not fail if a single event is not found
* Save original frame
* Cleanup
* Undo
* Make keyboard shortcuts consistent
* Cleanup
* Refactor prevent default to not require separate input
* Fix
* Implement escape for reviews
* Implement escape for explore
* Send content ref to get page changes for free
Because the "a" key is used by the keyboard listener for select all, this would prevent it from being used in the tracked object details pane. This change mimics what is already done in Explore.
Currently translated at 98.8% (83 of 84 strings)
Translated using Weblate (Spanish)
Currently translated at 93.9% (434 of 462 strings)
Translated using Weblate (Spanish)
Currently translated at 93.0% (430 of 462 strings)
Translated using Weblate (Spanish)
Currently translated at 99.1% (121 of 122 strings)
Translated using Weblate (Spanish)
Currently translated at 86.7% (401 of 462 strings)
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Reydel Leon Machado <contact@reydelleon.me>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-explore/es/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-live/es/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/es/
Translation: Frigate NVR/views-explore
Translation: Frigate NVR/views-live
Translation: Frigate NVR/views-settings
Currently translated at 100.0% (118 of 118 strings)
Translated using Weblate (Japanese)
Currently translated at 100.0% (462 of 462 strings)
Translated using Weblate (Japanese)
Currently translated at 100.0% (48 of 48 strings)
Translated using Weblate (Japanese)
Currently translated at 100.0% (83 of 83 strings)
Translated using Weblate (Japanese)
Currently translated at 100.0% (61 of 61 strings)
Translated using Weblate (Japanese)
Currently translated at 100.0% (9 of 9 strings)
Translated using Weblate (Japanese)
Currently translated at 100.0% (122 of 122 strings)
Translated using Weblate (Japanese)
Currently translated at 100.0% (26 of 26 strings)
Translated using Weblate (Japanese)
Currently translated at 100.0% (52 of 52 strings)
Translated using Weblate (Japanese)
Currently translated at 100.0% (192 of 192 strings)
Translated using Weblate (Japanese)
Currently translated at 100.0% (462 of 462 strings)
Translated using Weblate (Japanese)
Currently translated at 100.0% (10 of 10 strings)
Translated using Weblate (Japanese)
Currently translated at 100.0% (25 of 25 strings)
Translated using Weblate (Japanese)
Currently translated at 100.0% (2 of 2 strings)
Translated using Weblate (Japanese)
Currently translated at 100.0% (72 of 72 strings)
Translated using Weblate (Japanese)
Currently translated at 100.0% (52 of 52 strings)
Translated using Weblate (Japanese)
Currently translated at 100.0% (46 of 46 strings)
Translated using Weblate (Japanese)
Currently translated at 100.0% (118 of 118 strings)
Translated using Weblate (Japanese)
Currently translated at 100.0% (192 of 192 strings)
Translated using Weblate (Japanese)
Currently translated at 100.0% (6 of 6 strings)
Translated using Weblate (Japanese)
Currently translated at 100.0% (427 of 427 strings)
Translated using Weblate (Japanese)
Currently translated at 100.0% (9 of 9 strings)
Translated using Weblate (Japanese)
Currently translated at 100.0% (192 of 192 strings)
Translated using Weblate (Japanese)
Currently translated at 22.9% (14 of 61 strings)
Translated using Weblate (Japanese)
Currently translated at 79.1% (152 of 192 strings)
Translated using Weblate (Japanese)
Currently translated at 23.0% (6 of 26 strings)
Translated using Weblate (Japanese)
Currently translated at 22.8% (27 of 118 strings)
Translated using Weblate (Japanese)
Currently translated at 100.0% (427 of 427 strings)
Translated using Weblate (Japanese)
Currently translated at 21.3% (13 of 61 strings)
Translated using Weblate (Japanese)
Currently translated at 44.4% (4 of 9 strings)
Translated using Weblate (Japanese)
Currently translated at 4.0% (5 of 122 strings)
Translated using Weblate (Japanese)
Currently translated at 19.2% (5 of 26 strings)
Translated using Weblate (Japanese)
Currently translated at 16.0% (4 of 25 strings)
Translated using Weblate (Japanese)
Currently translated at 8.3% (6 of 72 strings)
Translated using Weblate (Japanese)
Currently translated at 7.6% (4 of 52 strings)
Translated using Weblate (Japanese)
Currently translated at 10.8% (5 of 46 strings)
Translated using Weblate (Japanese)
Currently translated at 44.4% (4 of 9 strings)
Translated using Weblate (Japanese)
Currently translated at 4.2% (5 of 118 strings)
Translated using Weblate (Japanese)
Currently translated at 3.1% (6 of 192 strings)
Translated using Weblate (Japanese)
Currently translated at 83.3% (5 of 6 strings)
Translated using Weblate (Japanese)
Currently translated at 1.1% (5 of 427 strings)
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: virmaior <akomasinski@gmail.com>
Co-authored-by: yhi264 <yhiraki@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/audio/ja/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/ja/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-auth/ja/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-camera/ja/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-dialog/ja/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-filter/ja/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-input/ja/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-player/ja/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/objects/ja/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-configeditor/ja/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-events/ja/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-explore/ja/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-exports/ja/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-facelibrary/ja/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-live/ja/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-recording/ja/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-search/ja/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/ja/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-system/ja/
Translation: Frigate NVR/audio
Translation: Frigate NVR/common
Translation: Frigate NVR/components-auth
Translation: Frigate NVR/components-camera
Translation: Frigate NVR/components-dialog
Translation: Frigate NVR/components-filter
Translation: Frigate NVR/components-input
Translation: Frigate NVR/components-player
Translation: Frigate NVR/objects
Translation: Frigate NVR/views-configeditor
Translation: Frigate NVR/views-events
Translation: Frigate NVR/views-explore
Translation: Frigate NVR/views-exports
Translation: Frigate NVR/views-facelibrary
Translation: Frigate NVR/views-live
Translation: Frigate NVR/views-recording
Translation: Frigate NVR/views-search
Translation: Frigate NVR/views-settings
Translation: Frigate NVR/views-system
Currently translated at 26.9% (7 of 26 strings)
Translated using Weblate (Danish)
Currently translated at 13.5% (16 of 118 strings)
Translated using Weblate (Danish)
Currently translated at 18.9% (81 of 427 strings)
Translated using Weblate (Danish)
Currently translated at 23.0% (6 of 26 strings)
Translated using Weblate (Danish)
Currently translated at 12.7% (15 of 118 strings)
Translated using Weblate (Danish)
Currently translated at 12.0% (3 of 25 strings)
Translated using Weblate (Danish)
Currently translated at 17.0% (73 of 427 strings)
Translated using Weblate (Danish)
Currently translated at 5.0% (6 of 118 strings)
Translated using Weblate (Danish)
Currently translated at 0.8% (4 of 462 strings)
Translated using Weblate (Danish)
Currently translated at 14.5% (7 of 48 strings)
Translated using Weblate (Danish)
Currently translated at 83.3% (5 of 6 strings)
Translated using Weblate (Danish)
Currently translated at 7.1% (6 of 84 strings)
Translated using Weblate (Danish)
Currently translated at 6.5% (4 of 61 strings)
Translated using Weblate (Danish)
Currently translated at 55.5% (5 of 9 strings)
Translated using Weblate (Danish)
Currently translated at 5.7% (7 of 122 strings)
Translated using Weblate (Danish)
Currently translated at 19.2% (5 of 26 strings)
Translated using Weblate (Danish)
Currently translated at 40.0% (4 of 10 strings)
Translated using Weblate (Danish)
Currently translated at 7.6% (9 of 118 strings)
Translated using Weblate (Danish)
Currently translated at 9.7% (7 of 72 strings)
Translated using Weblate (Danish)
Currently translated at 5.7% (3 of 52 strings)
Translated using Weblate (Danish)
Currently translated at 15.2% (7 of 46 strings)
Translated using Weblate (Danish)
Currently translated at 77.7% (7 of 9 strings)
Translated using Weblate (Danish)
Currently translated at 3.9% (17 of 427 strings)
Translated using Weblate (Danish)
Currently translated at 1.6% (2 of 118 strings)
Translated using Weblate (Danish)
Currently translated at 0.4% (2 of 462 strings)
Translated using Weblate (Danish)
Currently translated at 4.1% (2 of 48 strings)
Translated using Weblate (Danish)
Currently translated at 50.0% (3 of 6 strings)
Translated using Weblate (Danish)
Currently translated at 2.4% (2 of 83 strings)
Translated using Weblate (Danish)
Currently translated at 4.9% (3 of 61 strings)
Translated using Weblate (Danish)
Currently translated at 7.6% (2 of 26 strings)
Translated using Weblate (Danish)
Currently translated at 10.0% (1 of 10 strings)
Translated using Weblate (Danish)
Currently translated at 1.6% (2 of 118 strings)
Translated using Weblate (Danish)
Currently translated at 8.0% (2 of 25 strings)
Translated using Weblate (Danish)
Currently translated at 50.0% (1 of 2 strings)
Translated using Weblate (Danish)
Currently translated at 100.0% (2 of 2 strings)
Translated using Weblate (Danish)
Currently translated at 1.3% (1 of 72 strings)
Translated using Weblate (Danish)
Currently translated at 3.8% (2 of 52 strings)
Translated using Weblate (Danish)
Currently translated at 1.8% (8 of 427 strings)
Co-authored-by: Alexander <ava5270@gmail.com>
Co-authored-by: Emil Friis Osmann <Emilfriisosmann@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/audio/da/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-auth/da/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-camera/da/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-dialog/da/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-filter/da/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-icons/da/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-input/da/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-player/da/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/objects/da/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-configeditor/da/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-events/da/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-explore/da/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-exports/da/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-facelibrary/da/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-live/da/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-recording/da/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-search/da/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/da/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-system/da/
Translation: Frigate NVR/audio
Translation: Frigate NVR/components-auth
Translation: Frigate NVR/components-camera
Translation: Frigate NVR/components-dialog
Translation: Frigate NVR/components-filter
Translation: Frigate NVR/components-icons
Translation: Frigate NVR/components-input
Translation: Frigate NVR/components-player
Translation: Frigate NVR/objects
Translation: Frigate NVR/views-configeditor
Translation: Frigate NVR/views-events
Translation: Frigate NVR/views-explore
Translation: Frigate NVR/views-exports
Translation: Frigate NVR/views-facelibrary
Translation: Frigate NVR/views-live
Translation: Frigate NVR/views-recording
Translation: Frigate NVR/views-search
Translation: Frigate NVR/views-settings
Translation: Frigate NVR/views-system
* Fix group url param where a camera group was not always loaded
Need to use the loading state from the usePersistence hook because values are loaded from indexed db asynchronously
* ensure group icon changes when using url param
* clean up
* Improve prompt to have better discernment and logic based on detected objects
* Be more specific about the time of day
* Add re-inforcers for LLM to be accurate and not complete a narrative
* Cleanup components
* integrate debug view
* Refactor menu handling
* Cleanup
* cleanup
* Improve ptz placement for debug view
* Cleanup
* Cleanup mobile
* Always show options
* Add info for stream picking being disabled
* Add to mobile too
* Fix ns
* Cleanup
* refactor get_video_properties and use json output from ffprobe
* add zmq topic
* publish valid segment data in recording maintainer
* check for valid video data
- restart separate record ffmpeg process if no video data has been received in 120s
- refactor datetime import
* listen to correct topic in embeddings maintainer
* refactor to move get_latest_segment_datetime logic to recordings maintainer
* debug logging
* cleanup
* Update ROCm to 7.0.1
* Update ONNXRuntime
* Add back in
* Get basic detection working
* Use env vars
* Handle complex migraphx models
* Enable model caching
* Remove unused
* Add tip to docs
* [Init] Initial commit for Synaptics SL1680 NPU
* add a rough detector which is testing with yolov8 tflite model.
* [Feat] Add dependencies installation in docker build
- Add runtime library and wheels installation in main/Dockerfile
- Add model.synap(default model, transfer from mobilenet_224full80) in docker/synap1680
* [Update] Remove dependencies installation from main Dockerfile
- remove deps installation from Dockerfile
- add dependencies installation and split wheels, deps stage in synap1680 Dockerfile
* Refactor synap detector to more closely match other implementations
* [Update] Add model path configuration check
* [Update] update ModelType to ssd
* [Update] Remove unuse script
- install_deps.sh has already been executing in deps download stage
- Dockerfile.toolchain is for testing to extract runtime libraries from Synaptics toolchain
* [Update] update Synaptics SL1680 setup description
* [Update] remove install_synap1680
- The deps download and installation is existed in synap1680
* [Fix] update document content
* [Update] Update detector from synap1680 to synaptics
This update is in order to make the synaptics SL-series NPU detector more general.
- Fix detector `os` module not import bug
- Update detector type `synap1680` to `synaptics`
- Update document description `SL1680` to `Synaptics` only
- Update docker build content `synap1680` to `synaptics`
* [Fix] Update configuration document
* Update docs/docs/configuration/object_detectors.md
Co-authored-by: Nicolas Mowen <nickmowen213@gmail.com>
* [Update] Update document content and detector default layout
- Update object_detectors document
- Update detector's default layout
- Update default model name
* [Update] Update object detector document content
* [Fix] Fix InputTensorEnum not defined error
- import InputTensorEnum from detector_config
* [Update] Update detector script coding format
* [Update] Update synaptics detector coding format
* [Update] Add synaptics ci workflow
* [Update] update synaptics runtime libs download path
- Fork Synaptics astra sdk repo and put the runtime lib package on it
- Frigate team can update this download path later
---------
Co-authored-by: Nicolas Mowen <nickmowen213@gmail.com>
* Implement stationary car classifier to base stationary state on visual changes and not just bounding box stability
* Cleanup
* Fix mypy
* Move to new file and add config to disable if needed
* Cleanup
* Undo
This supports systemd credentials, see https://systemd.io/CREDENTIALS/.
Default to `/run/secrets` (the Docker Secrets dir) for backwards
compatibility.
* pull count of detection events by label into prometheus metrics
* format changes with ruff
* remove unneeded f-string
* fix imports format
---------
Co-authored-by: iesad <iesad>
Currently translated at 100.0% (462 of 462 strings)
Translated using Weblate (Swedish)
Currently translated at 100.0% (192 of 192 strings)
Translated using Weblate (Swedish)
Currently translated at 96.5% (446 of 462 strings)
Translated using Weblate (Swedish)
Currently translated at 100.0% (427 of 427 strings)
Translated using Weblate (Swedish)
Currently translated at 86.1% (398 of 462 strings)
Translated using Weblate (Swedish)
Currently translated at 93.2% (398 of 427 strings)
Translated using Weblate (Swedish)
Currently translated at 82.6% (382 of 462 strings)
Translated using Weblate (Swedish)
Currently translated at 89.9% (384 of 427 strings)
Translated using Weblate (Swedish)
Currently translated at 81.8% (378 of 462 strings)
Translated using Weblate (Swedish)
Currently translated at 100.0% (118 of 118 strings)
Translated using Weblate (Swedish)
Currently translated at 88.9% (380 of 427 strings)
Translated using Weblate (Swedish)
Currently translated at 78.5% (363 of 462 strings)
Translated using Weblate (Swedish)
Currently translated at 85.0% (363 of 427 strings)
Translated using Weblate (Swedish)
Currently translated at 75.9% (351 of 462 strings)
Translated using Weblate (Swedish)
Currently translated at 79.3% (339 of 427 strings)
Translated using Weblate (Swedish)
Currently translated at 74.4% (318 of 427 strings)
Translated using Weblate (Swedish)
Currently translated at 76.3% (326 of 427 strings)
Translated using Weblate (Swedish)
Currently translated at 65.8% (281 of 427 strings)
Translated using Weblate (Swedish)
Currently translated at 69.0% (295 of 427 strings)
Translated using Weblate (Swedish)
Currently translated at 100.0% (118 of 118 strings)
Translated using Weblate (Swedish)
Currently translated at 47.5% (203 of 427 strings)
Translated using Weblate (Swedish)
Currently translated at 47.5% (203 of 427 strings)
Translated using Weblate (Swedish)
Currently translated at 100.0% (6 of 6 strings)
Translated using Weblate (Swedish)
Currently translated at 100.0% (61 of 61 strings)
Translated using Weblate (Swedish)
Currently translated at 100.0% (122 of 122 strings)
Translated using Weblate (Swedish)
Currently translated at 100.0% (122 of 122 strings)
Translated using Weblate (Swedish)
Currently translated at 100.0% (72 of 72 strings)
Translated using Weblate (Swedish)
Currently translated at 100.0% (118 of 118 strings)
Translated using Weblate (Swedish)
Currently translated at 51.2% (219 of 427 strings)
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Kristian Johansson <knmjohansson@gmail.com>
Co-authored-by: Martin Lindhe <martin.j.lindhe@gmail.com>
Co-authored-by: Oscar Haraldsson <oscar.haraldsson@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/audio/sv/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/sv/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-filter/sv/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/objects/sv/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-explore/sv/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-facelibrary/sv/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-recording/sv/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/sv/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-system/sv/
Translation: Frigate NVR/audio
Translation: Frigate NVR/common
Translation: Frigate NVR/components-filter
Translation: Frigate NVR/objects
Translation: Frigate NVR/views-explore
Translation: Frigate NVR/views-facelibrary
Translation: Frigate NVR/views-recording
Translation: Frigate NVR/views-settings
Translation: Frigate NVR/views-system
Currently translated at 100.0% (462 of 462 strings)
Translated using Weblate (French)
Currently translated at 95.2% (440 of 462 strings)
Translated using Weblate (French)
Currently translated at 100.0% (427 of 427 strings)
Co-authored-by: Apocoloquintose <bertrand.moreux@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/fr/
Translation: Frigate NVR/views-settings
Currently translated at 100.0% (427 of 427 strings)
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Jack Fish <fishappy0@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/vi/
Translation: Frigate NVR/views-settings
Currently translated at 100.0% (462 of 462 strings)
Translated using Weblate (Ukrainian)
Currently translated at 94.3% (436 of 462 strings)
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (72 of 72 strings)
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (192 of 192 strings)
Co-authored-by: Alex Taran <oleksii.taran@gmail.com>
Co-authored-by: Denys Dovhan <denysdovhan@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Максим Горпиніч <gorpinicmaksim0@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/uk/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-filter/uk/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/uk/
Translation: Frigate NVR/common
Translation: Frigate NVR/components-filter
Translation: Frigate NVR/views-settings
Currently translated at 100.0% (462 of 462 strings)
Translated using Weblate (German)
Currently translated at 100.0% (118 of 118 strings)
Translated using Weblate (German)
Currently translated at 100.0% (72 of 72 strings)
Translated using Weblate (German)
Currently translated at 100.0% (192 of 192 strings)
Translated using Weblate (German)
Currently translated at 100.0% (122 of 122 strings)
Translated using Weblate (German)
Currently translated at 100.0% (192 of 192 strings)
Translated using Weblate (German)
Currently translated at 100.0% (118 of 118 strings)
Translated using Weblate (German)
Currently translated at 100.0% (427 of 427 strings)
Translated using Weblate (German)
Currently translated at 100.0% (72 of 72 strings)
Translated using Weblate (German)
Currently translated at 100.0% (46 of 46 strings)
Translated using Weblate (German)
Currently translated at 100.0% (192 of 192 strings)
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Jurals <wblat@juralus.de>
Co-authored-by: Phil Jope <phil@jope.cloud>
Co-authored-by: ahgln <ahgln@users.noreply.hosted.weblate.org>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/de/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-camera/de/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-filter/de/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-explore/de/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/de/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-system/de/
Translation: Frigate NVR/common
Translation: Frigate NVR/components-camera
Translation: Frigate NVR/components-filter
Translation: Frigate NVR/views-explore
Translation: Frigate NVR/views-settings
Translation: Frigate NVR/views-system
Currently translated at 100.0% (462 of 462 strings)
Translated using Weblate (Lithuanian)
Currently translated at 95.6% (442 of 462 strings)
Translated using Weblate (Lithuanian)
Currently translated at 100.0% (427 of 427 strings)
Translated using Weblate (Lithuanian)
Currently translated at 100.0% (48 of 48 strings)
Translated using Weblate (Lithuanian)
Currently translated at 100.0% (83 of 83 strings)
Translated using Weblate (Lithuanian)
Currently translated at 100.0% (61 of 61 strings)
Translated using Weblate (Lithuanian)
Currently translated at 100.0% (122 of 122 strings)
Translated using Weblate (Lithuanian)
Currently translated at 100.0% (72 of 72 strings)
Translated using Weblate (Lithuanian)
Currently translated at 100.0% (427 of 427 strings)
Translated using Weblate (Lithuanian)
Currently translated at 100.0% (427 of 427 strings)
Translated using Weblate (Lithuanian)
Currently translated at 21.3% (13 of 61 strings)
Translated using Weblate (Lithuanian)
Currently translated at 100.0% (9 of 9 strings)
Translated using Weblate (Lithuanian)
Currently translated at 13.9% (17 of 122 strings)
Translated using Weblate (Lithuanian)
Currently translated at 15.2% (11 of 72 strings)
Translated using Weblate (Lithuanian)
Currently translated at 100.0% (52 of 52 strings)
Translated using Weblate (Lithuanian)
Currently translated at 100.0% (46 of 46 strings)
Translated using Weblate (Lithuanian)
Currently translated at 44.9% (192 of 427 strings)
Translated using Weblate (Lithuanian)
Currently translated at 45.9% (196 of 427 strings)
Translated using Weblate (Lithuanian)
Currently translated at 13.1% (16 of 122 strings)
Translated using Weblate (Lithuanian)
Currently translated at 13.8% (10 of 72 strings)
Translated using Weblate (Lithuanian)
Currently translated at 25.0% (13 of 52 strings)
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: MaBeniu <runnerm@gmail.com>
Co-authored-by: Ramūnas Dronga <github@ramuno.lt>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/audio/lt/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-camera/lt/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-dialog/lt/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-filter/lt/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-explore/lt/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-exports/lt/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-facelibrary/lt/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-live/lt/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-search/lt/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/lt/
Translation: Frigate NVR/audio
Translation: Frigate NVR/components-camera
Translation: Frigate NVR/components-dialog
Translation: Frigate NVR/components-filter
Translation: Frigate NVR/views-explore
Translation: Frigate NVR/views-exports
Translation: Frigate NVR/views-facelibrary
Translation: Frigate NVR/views-live
Translation: Frigate NVR/views-search
Translation: Frigate NVR/views-settings
* continue to use paddleocr v3 text detection model for large
v5 was not finding text on multi-line plates at all in testing
* implement clustering of plate variants per event
should reduce OCR inconsistencies and improve plate recognition stability by using string similarity to cluster similar variants (10 per event id) and choosing the highest confidence representative as the final plate
* pass camera
* prune number of variants based on detect fps
* implement replacement rules for cleaning up and normalizing plates
* docs
* docs
* Cleanup onnx detector
* Fix
* Fix classification cropping
* Deprioritize openvino
* Send model type
* Use model type to decide if model can use full optimization
* Clenanup
* Cleanup
* Use OpenVINO directly to detect if devices are available
* Cleanup
* Update OpenVINO
* Cleanup
* Don't try to use OpenVINO when CPU is set as device
* Catch case where input tensor can't be pre-defined
* Cleanup
* Use re-usable inference request to reduce CPU usage
* Share tensor
* Don't count performance
* Create openvino runner class
* Break apart onnx runner
* Add specific note about inability to use CUDA graphs for some models
* Adjust rknn to use RKNNRunner
* Use optimized runner
* Add support for non-complex models for CudaExecutionProvider
* Use core mask for rknn
* Correctly handle cuda input
* Cleanup
* Sort imports
* update config for roles and add validator
* ensure admin and viewer are never overridden
* add class method to user to retrieve all allowed cameras
* enforce config roles in auth api endpoints
* add camera access api dependency functions
* protect review endpoints
* protect preview endpoints
* rename param name for better fastapi injection matching
* remove unneeded
* protect export endpoints
* protect event endpoints
* protect media endpoints
* update auth hook for allowed cameras
* update default app view
* ensure anonymous user always returns all cameras
* limit cameras in explore
* cameras is already a list
* limit cameras in review/history
* limit cameras in live view
* limit cameras in camera groups
* only show face library and classification in sidebar for admin
* remove check in delete reviews
since admin role is required, no need to check camera access. fixes failing test
* pass request with camera access for tests
* more async
* camera access tests
* fix proxy auth tests
* allowed cameras for review tests
* combine event tests and refactor for camera access
* fix post validation for roles
* don't limit roles in create user dialog
* fix triggers endpoints
no need to run require camera access dep since the required role is admin
* fix type
* create and edit role dialogs
* delete role dialog
* fix role change dialog
* update settings view for roles
* i18n changes
* minor spacing tweaks
* docs
* use badges and camera name label component
* clarify docs
* display all cameras badge for admin and viewer
* i18n fix
* use validator to prevent reserved and empty roles from being assigned
* split users and roles into separate tabs in settings
* tweak docs
* clarify docs
* change icon
* don't memoize roles
always recalculate on component render
* Update object_detectors.md for v16
* add configurability to IMG_SIZE for YOLOv9 export
* remove TensorRT detector as it's no longer supported in v16
* Revert removing NVIDIA TensorRT detector docs
Added documentation for NVidia TensorRT Detector, including model generation, configuration parameters, and example usage.
* Dumb copy/paste
* Enhance YOLOv9 export instructions in documentation
Updated YOLOv9 export command to include IMG_SIZE parameter and clarified model size options.
* model type does not need to match config model type
As long as a model is supported by a detector, it should be available in the list
* fix missing semicolon
the web linter was complaining
* Use asyncio lock when checking camera status
get_camera_status() can be called during normal autotracking movement and from routine camera_maintenance(). Some cameras cause one of the status calls to hang, which then subsequently hangs autotracking. A lock serializes access and prevents the hang.
* use while loop in camera_maintenance for status check
some cameras seem to take a little bit to update their status, don't assume the first call shows the motor has stopped
Currently translated at 46.1% (197 of 427 strings)
Translated using Weblate (Swedish)
Currently translated at 49.8% (213 of 427 strings)
Translated using Weblate (Swedish)
Currently translated at 100.0% (118 of 118 strings)
Translated using Weblate (Swedish)
Currently translated at 43.3% (185 of 427 strings)
Translated using Weblate (Swedish)
Currently translated at 47.3% (202 of 427 strings)
Translated using Weblate (Swedish)
Currently translated at 42.3% (181 of 427 strings)
Translated using Weblate (Swedish)
Currently translated at 42.3% (181 of 427 strings)
Translated using Weblate (Swedish)
Currently translated at 100.0% (72 of 72 strings)
Translated using Weblate (Swedish)
Currently translated at 100.0% (46 of 46 strings)
Translated using Weblate (Swedish)
Currently translated at 44.9% (192 of 427 strings)
Translated using Weblate (Swedish)
Currently translated at 44.9% (192 of 427 strings)
Translated using Weblate (Swedish)
Currently translated at 100.0% (116 of 116 strings)
Translated using Weblate (Swedish)
Currently translated at 33.6% (143 of 425 strings)
Translated using Weblate (Swedish)
Currently translated at 100.0% (122 of 122 strings)
Translated using Weblate (Swedish)
Currently translated at 100.0% (192 of 192 strings)
Translated using Weblate (Swedish)
Currently translated at 40.0% (171 of 427 strings)
Translated using Weblate (Swedish)
Currently translated at 99.1% (115 of 116 strings)
Translated using Weblate (Swedish)
Currently translated at 27.3% (115 of 420 strings)
Translated using Weblate (Swedish)
Currently translated at 94.2% (115 of 122 strings)
Translated using Weblate (Swedish)
Currently translated at 95.8% (184 of 192 strings)
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Kristian Johansson <knmjohansson@gmail.com>
Co-authored-by: revellion <revellion@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/audio/sv/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/sv/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-camera/sv/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-filter/sv/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-explore/sv/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/sv/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-system/sv/
Translation: Frigate NVR/audio
Translation: Frigate NVR/common
Translation: Frigate NVR/components-camera
Translation: Frigate NVR/components-filter
Translation: Frigate NVR/views-explore
Translation: Frigate NVR/views-settings
Translation: Frigate NVR/views-system
Currently translated at 100.0% (118 of 118 strings)
Translated using Weblate (French)
Currently translated at 100.0% (427 of 427 strings)
Translated using Weblate (French)
Currently translated at 100.0% (118 of 118 strings)
Translated using Weblate (French)
Currently translated at 100.0% (61 of 61 strings)
Translated using Weblate (French)
Currently translated at 100.0% (427 of 427 strings)
Translated using Weblate (French)
Currently translated at 100.0% (46 of 46 strings)
Translated using Weblate (French)
Currently translated at 100.0% (72 of 72 strings)
Translated using Weblate (French)
Currently translated at 100.0% (425 of 425 strings)
Translated using Weblate (French)
Currently translated at 100.0% (116 of 116 strings)
Co-authored-by: Apocoloquintose <bertrand.moreux@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-camera/fr/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-filter/fr/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-facelibrary/fr/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/fr/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-system/fr/
Translation: Frigate NVR/components-camera
Translation: Frigate NVR/components-filter
Translation: Frigate NVR/views-facelibrary
Translation: Frigate NVR/views-settings
Translation: Frigate NVR/views-system
Currently translated at 100.0% (122 of 122 strings)
Translated using Weblate (Norwegian Bokmål)
Currently translated at 100.0% (427 of 427 strings)
Translated using Weblate (Norwegian Bokmål)
Currently translated at 100.0% (118 of 118 strings)
Translated using Weblate (Norwegian Bokmål)
Currently translated at 99.1% (121 of 122 strings)
Translated using Weblate (Norwegian Bokmål)
Currently translated at 92.0% (393 of 427 strings)
Translated using Weblate (Norwegian Bokmål)
Currently translated at 100.0% (72 of 72 strings)
Translated using Weblate (Norwegian Bokmål)
Currently translated at 100.0% (46 of 46 strings)
Translated using Weblate (Norwegian Bokmål)
Currently translated at 100.0% (116 of 116 strings)
Translated using Weblate (Norwegian Bokmål)
Currently translated at 81.6% (343 of 420 strings)
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: OverTheHillsAndFarAway <prosjektx@users.noreply.hosted.weblate.org>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-camera/nb_NO/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-filter/nb_NO/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-explore/nb_NO/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/nb_NO/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-system/nb_NO/
Translation: Frigate NVR/components-camera
Translation: Frigate NVR/components-filter
Translation: Frigate NVR/views-explore
Translation: Frigate NVR/views-settings
Translation: Frigate NVR/views-system
Currently translated at 100.0% (118 of 118 strings)
Translated using Weblate (Swedish)
Currently translated at 43.3% (185 of 427 strings)
Translated using Weblate (Swedish)
Currently translated at 47.3% (202 of 427 strings)
Translated using Weblate (Swedish)
Currently translated at 42.3% (181 of 427 strings)
Translated using Weblate (Swedish)
Currently translated at 42.3% (181 of 427 strings)
Translated using Weblate (Swedish)
Currently translated at 100.0% (72 of 72 strings)
Translated using Weblate (Swedish)
Currently translated at 100.0% (46 of 46 strings)
Translated using Weblate (Swedish)
Currently translated at 44.9% (192 of 427 strings)
Translated using Weblate (Swedish)
Currently translated at 44.9% (192 of 427 strings)
Translated using Weblate (Swedish)
Currently translated at 100.0% (116 of 116 strings)
Translated using Weblate (Swedish)
Currently translated at 33.6% (143 of 425 strings)
Translated using Weblate (Swedish)
Currently translated at 100.0% (122 of 122 strings)
Translated using Weblate (Swedish)
Currently translated at 100.0% (192 of 192 strings)
Translated using Weblate (Swedish)
Currently translated at 40.0% (171 of 427 strings)
Translated using Weblate (Swedish)
Currently translated at 99.1% (115 of 116 strings)
Translated using Weblate (Swedish)
Currently translated at 27.3% (115 of 420 strings)
Translated using Weblate (Swedish)
Currently translated at 94.2% (115 of 122 strings)
Translated using Weblate (Swedish)
Currently translated at 95.8% (184 of 192 strings)
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Kristian Johansson <knmjohansson@gmail.com>
Co-authored-by: revellion <revellion@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/audio/sv/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/sv/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-camera/sv/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-filter/sv/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-explore/sv/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/sv/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-system/sv/
Translation: Frigate NVR/audio
Translation: Frigate NVR/common
Translation: Frigate NVR/components-camera
Translation: Frigate NVR/components-filter
Translation: Frigate NVR/views-explore
Translation: Frigate NVR/views-settings
Translation: Frigate NVR/views-system
Currently translated at 4.9% (21 of 425 strings)
Translated using Weblate (Arabic)
Currently translated at 37.0% (43 of 116 strings)
Translated using Weblate (Arabic)
Currently translated at 3.3% (14 of 420 strings)
Translated using Weblate (Arabic)
Currently translated at 31.2% (15 of 48 strings)
Translated using Weblate (Arabic)
Currently translated at 26.9% (14 of 52 strings)
Translated using Weblate (Arabic)
Currently translated at 18.5% (13 of 70 strings)
Translated using Weblate (Arabic)
Currently translated at 57.6% (15 of 26 strings)
Translated using Weblate (Arabic)
Currently translated at 18.0% (15 of 83 strings)
Translated using Weblate (Arabic)
Currently translated at 13.1% (16 of 122 strings)
Translated using Weblate (Arabic)
Currently translated at 60.0% (15 of 25 strings)
Translated using Weblate (Arabic)
Currently translated at 33.3% (15 of 45 strings)
Translated using Weblate (Arabic)
Currently translated at 16.9% (20 of 118 strings)
Translated using Weblate (Arabic)
Currently translated at 24.5% (15 of 61 strings)
Translated using Weblate (Arabic)
Currently translated at 7.8% (15 of 192 strings)
Translated using Weblate (Arabic)
Currently translated at 15.2% (65 of 427 strings)
Translated using Weblate (Arabic)
Currently translated at 11.2% (13 of 116 strings)
Translated using Weblate (Arabic)
Currently translated at 2.6% (11 of 420 strings)
Translated using Weblate (Arabic)
Currently translated at 27.0% (13 of 48 strings)
Translated using Weblate (Arabic)
Currently translated at 21.1% (11 of 52 strings)
Translated using Weblate (Arabic)
Currently translated at 17.1% (12 of 70 strings)
Translated using Weblate (Arabic)
Currently translated at 100.0% (9 of 9 strings)
Translated using Weblate (Arabic)
Currently translated at 100.0% (9 of 9 strings)
Translated using Weblate (Arabic)
Currently translated at 53.8% (14 of 26 strings)
Translated using Weblate (Arabic)
Currently translated at 16.8% (14 of 83 strings)
Translated using Weblate (Arabic)
Currently translated at 12.2% (15 of 122 strings)
Translated using Weblate (Arabic)
Currently translated at 56.0% (14 of 25 strings)
Translated using Weblate (Arabic)
Currently translated at 28.8% (13 of 45 strings)
Translated using Weblate (Arabic)
Currently translated at 16.1% (19 of 118 strings)
Translated using Weblate (Arabic)
Currently translated at 22.9% (14 of 61 strings)
Translated using Weblate (Arabic)
Currently translated at 6.7% (13 of 192 strings)
Translated using Weblate (Arabic)
Currently translated at 100.0% (10 of 10 strings)
Translated using Weblate (Arabic)
Currently translated at 14.9% (64 of 427 strings)
Translated using Weblate (Arabic)
Currently translated at 7.7% (9 of 116 strings)
Translated using Weblate (Arabic)
Currently translated at 1.6% (7 of 420 strings)
Translated using Weblate (Arabic)
Currently translated at 18.7% (9 of 48 strings)
Translated using Weblate (Arabic)
Currently translated at 100.0% (6 of 6 strings)
Translated using Weblate (Arabic)
Currently translated at 15.3% (8 of 52 strings)
Translated using Weblate (Arabic)
Currently translated at 14.2% (10 of 70 strings)
Translated using Weblate (Arabic)
Currently translated at 77.7% (7 of 9 strings)
Translated using Weblate (Arabic)
Currently translated at 77.7% (7 of 9 strings)
Translated using Weblate (Arabic)
Currently translated at 42.3% (11 of 26 strings)
Translated using Weblate (Arabic)
Currently translated at 13.2% (11 of 83 strings)
Translated using Weblate (Arabic)
Currently translated at 9.8% (12 of 122 strings)
Translated using Weblate (Arabic)
Currently translated at 44.0% (11 of 25 strings)
Translated using Weblate (Arabic)
Currently translated at 22.2% (10 of 45 strings)
Translated using Weblate (Arabic)
Currently translated at 13.5% (16 of 118 strings)
Translated using Weblate (Arabic)
Currently translated at 14.7% (9 of 61 strings)
Translated using Weblate (Arabic)
Currently translated at 5.7% (11 of 192 strings)
Translated using Weblate (Arabic)
Currently translated at 80.0% (8 of 10 strings)
Translated using Weblate (Arabic)
Currently translated at 14.5% (62 of 427 strings)
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: MAATECH <hmmdcool@gmail.com>
Co-authored-by: Modar Soos <modarsoos@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/audio/ar/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/ar/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-auth/ar/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-camera/ar/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-dialog/ar/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-filter/ar/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-player/ar/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/objects/ar/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-configeditor/ar/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-events/ar/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-explore/ar/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-exports/ar/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-facelibrary/ar/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-live/ar/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-recording/ar/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-search/ar/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/ar/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-system/ar/
Translation: Frigate NVR/audio
Translation: Frigate NVR/common
Translation: Frigate NVR/components-auth
Translation: Frigate NVR/components-camera
Translation: Frigate NVR/components-dialog
Translation: Frigate NVR/components-filter
Translation: Frigate NVR/components-player
Translation: Frigate NVR/objects
Translation: Frigate NVR/views-configeditor
Translation: Frigate NVR/views-events
Translation: Frigate NVR/views-explore
Translation: Frigate NVR/views-exports
Translation: Frigate NVR/views-facelibrary
Translation: Frigate NVR/views-live
Translation: Frigate NVR/views-recording
Translation: Frigate NVR/views-search
Translation: Frigate NVR/views-settings
Translation: Frigate NVR/views-system
Currently translated at 18.1% (21 of 116 strings)
Translated using Weblate (Greek)
Currently translated at 5.3% (23 of 427 strings)
Translated using Weblate (Greek)
Currently translated at 43.7% (21 of 48 strings)
Translated using Weblate (Greek)
Currently translated at 33.7% (28 of 83 strings)
Translated using Weblate (Greek)
Currently translated at 39.3% (24 of 61 strings)
Translated using Weblate (Greek)
Currently translated at 18.0% (22 of 122 strings)
Translated using Weblate (Greek)
Currently translated at 76.9% (20 of 26 strings)
Translated using Weblate (Greek)
Currently translated at 40.3% (21 of 52 strings)
Translated using Weblate (Greek)
Currently translated at 29.1% (21 of 72 strings)
Translated using Weblate (Greek)
Currently translated at 14.0% (27 of 192 strings)
Translated using Weblate (Greek)
Currently translated at 18.6% (22 of 118 strings)
Translated using Weblate (Greek)
Currently translated at 14.7% (63 of 427 strings)
Translated using Weblate (Greek)
Currently translated at 16.3% (19 of 116 strings)
Translated using Weblate (Greek)
Currently translated at 5.1% (22 of 427 strings)
Translated using Weblate (Greek)
Currently translated at 39.5% (19 of 48 strings)
Translated using Weblate (Greek)
Currently translated at 100.0% (6 of 6 strings)
Translated using Weblate (Greek)
Currently translated at 24.0% (20 of 83 strings)
Translated using Weblate (Greek)
Currently translated at 36.0% (22 of 61 strings)
Translated using Weblate (Greek)
Currently translated at 100.0% (9 of 9 strings)
Translated using Weblate (Greek)
Currently translated at 16.3% (20 of 122 strings)
Translated using Weblate (Greek)
Currently translated at 69.2% (18 of 26 strings)
Translated using Weblate (Greek)
Currently translated at 100.0% (10 of 10 strings)
Translated using Weblate (Greek)
Currently translated at 100.0% (25 of 25 strings)
Translated using Weblate (Greek)
Currently translated at 100.0% (9 of 9 strings)
Translated using Weblate (Greek)
Currently translated at 36.5% (19 of 52 strings)
Translated using Weblate (Greek)
Currently translated at 43.4% (20 of 46 strings)
Translated using Weblate (Greek)
Currently translated at 27.7% (20 of 72 strings)
Translated using Weblate (Greek)
Currently translated at 13.5% (26 of 192 strings)
Translated using Weblate (Greek)
Currently translated at 17.7% (21 of 118 strings)
Translated using Weblate (Greek)
Currently translated at 14.5% (62 of 427 strings)
Co-authored-by: Alexander Lagos <kinglagos@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/audio/el/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/el/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-auth/el/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-camera/el/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-dialog/el/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-filter/el/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-player/el/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/objects/el/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-configeditor/el/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-events/el/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-explore/el/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-exports/el/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-facelibrary/el/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-live/el/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-recording/el/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-search/el/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/el/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-system/el/
Translation: Frigate NVR/audio
Translation: Frigate NVR/common
Translation: Frigate NVR/components-auth
Translation: Frigate NVR/components-camera
Translation: Frigate NVR/components-dialog
Translation: Frigate NVR/components-filter
Translation: Frigate NVR/components-player
Translation: Frigate NVR/objects
Translation: Frigate NVR/views-configeditor
Translation: Frigate NVR/views-events
Translation: Frigate NVR/views-explore
Translation: Frigate NVR/views-exports
Translation: Frigate NVR/views-facelibrary
Translation: Frigate NVR/views-live
Translation: Frigate NVR/views-recording
Translation: Frigate NVR/views-search
Translation: Frigate NVR/views-settings
Translation: Frigate NVR/views-system
Currently translated at 100.0% (122 of 122 strings)
Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (72 of 72 strings)
Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (118 of 118 strings)
Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (427 of 427 strings)
Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (122 of 122 strings)
Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (72 of 72 strings)
Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (46 of 46 strings)
Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (192 of 192 strings)
Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (425 of 425 strings)
Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (116 of 116 strings)
Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (116 of 116 strings)
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: João Gabriel Frohlich <gabrielfrohlich14@gmail.com>
Co-authored-by: Marcelo Popper Costa <marcelo_popper@hotmail.com>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/pt_BR/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-camera/pt_BR/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-filter/pt_BR/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-explore/pt_BR/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/pt_BR/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-system/pt_BR/
Translation: Frigate NVR/common
Translation: Frigate NVR/components-camera
Translation: Frigate NVR/components-filter
Translation: Frigate NVR/views-explore
Translation: Frigate NVR/views-settings
Translation: Frigate NVR/views-system
* Refactor active objects to class
* Keep segment going when detection is newer than end of alert
* Cleanup logic
* Fix
* Cleanup ending
* Adjust timing
* Improve detection saving
* Don't have padding at end for in progress reviews
* Add review config for cutoff times
* Add PTZ Camera recommendations, explanations and docs for 2-way audio
* Fix typos
* Change lingo as suggested
* Add issue template for camera compatibility report and ask user to fill it out in docs
* Update docs as suggested
Co-authored-by: Josh Hawkins <32435876+hawkeye217@users.noreply.github.com>
* Remove issue template, tweak call to action
* Add suggested tweaks
Co-authored-by: Josh Hawkins <32435876+hawkeye217@users.noreply.github.com>
* Lingo update as suggested
Co-authored-by: Josh Hawkins <32435876+hawkeye217@users.noreply.github.com>
* Shorter link to two-way audio page
---------
Co-authored-by: Janis Hutz <info@janishutz.com>
Co-authored-by: Josh Hawkins <32435876+hawkeye217@users.noreply.github.com>
Explore videos are very small on Chrome specifically, this has something to do with how the latest version of Chrome loads video metadata. This change provides a default aspect ratio instead of a default height when the container ref is not defined yet
* Added degirum plugin, updated documentation for degirum detector usage, updated requirements with degirum_headless
* Fixed broken link
* Made it so openvino prioritizes using GPU and NPU over CPU
* Version that detects model and can begin using @local
* Updating requirements to build dev container
* Added optimized version of degirum plugin + updated docs
* Added guard clause for empty inference reponse
* Updated DeGirum's docs
* Moved DeGirum section to 'Community' detectors, fixed formatting of headers to be more consistent with the rest of the page, and removed uneeded 'models' folder
* Moved DeGirum section to correct place in community models
* Update ROCm to 6.4.0 (#18264)
* Update to rocm 6.4.0
* Update URL
* Remove old env var
* Dynamic Config Updates (#18353)
* Create classes to handle publishing and subscribing config updates
* Cleanup
* Use config updater
* Update handling for enabled config
* Cleanup
* Recording config updates
* Birdseye config updates
* Handle notifications
* handle review
* Update motion
* Dynamically update masks and zones for cameras (#18359)
* Include config publisher in api
* Call update topic for passed topics
* Update zones dynamically
* Update zones internally
* Support zone and mask reset
* Handle updating objects config
* Don't put status for needing to restart Frigate
* Cleanup http tests
* Fix tests
* Initial custom classification model config support (#18362)
* Add basic config for defining a teachable machine model
* Add model type
* Add basic config for teachable machine models
* Adjust config for state and object
* Use config to process
* Correctly check for objects
* Remove debug
* Rename to not be teachable machine specific
* Cleanup
* Implement support for no recordings indicator on timeline (#18363)
* Indicate no recordings on the history timeline with gray hash marks
This commit includes a new backend API endpoint and the frontend changes needed to support this functionality
* don't show slashes for now
* Update ROCm to 6.4.1 (#18364)
* Update rocm to 6.4.1
* Quick fix
* Add ability to configure when custom classification models run (#18380)
* Add config to control when classification models are run
* Cleanup
* Add basic config editor when Frigate can't startup (#18383)
* Start Frigate in safe mode when config does not validate
* Add safe mode page that is just the config editor
* Adjust Frigate config editor when in safe mode
* Cleanup
* Improve log message
* Fix incorrectly running lpr (#18390)
* Audio transcription support (#18398)
* install new packages for transcription support
* add config options
* audio maintainer modifications to support transcription
* pass main config to audio process
* embeddings support
* api and transcription post processor
* embeddings maintainer support for post processor
* live audio transcription with sherpa and faster-whisper
* update dispatcher with live transcription topic
* frontend websocket
* frontend live transcription
* frontend changes for speech events
* i18n changes
* docs
* mqtt docs
* fix linter
* use float16 and small model on gpu for real-time
* fix return value and use requestor to embed description instead of passing embeddings
* run real-time transcription in its own thread
* tweaks
* publish live transcriptions on their own topic instead of tracked_object_update
* config validator and docs
* clarify docs
* Implement API to train classification models (#18475)
* Intel updates (#18493)
* Update openvino and onnxruntime
* Install icd and level-zero-gpu deps from intel directly
* Install
* Add dep
* Fix package install
* Tiered recordings (#18492)
* Implement tiered recording
* Add migration for record config
* Update docs
* Update reference docs
* Fix preview query
* Fix incorrect accesses
* Fix
* Fix
* Fix
* Fix
* Upgrade PaddleOCR models to v4 (rec) and v5 (det) (#18505)
The PP_OCRv5 text detection models have greatly improved over v3. The v5 recognition model makes improvements to challenging handwriting and uncommon characters, which are not necessary for LPR, so using v4 seemed like a better choice to continue to keep inference time as low as possible. Also included is the full dictionary for Chinese character support.
* Audio transcription tweaks (#18540)
* use model runner
* unload whisper model when live transcription is complete
* Classification Model UI (#18571)
* Setup basic training structure
* Build out route
* Handle model configs
* Add image fetch APIs
* Implement model training screen with dataset selection
* Implement viewing of training images
* Adjust directories
* Implement viewing of images
* Add support for deleting images
* Implement full deletion
* Implement classification model training
* Improve naming
* More renaming
* Improve layout
* Reduce logging
* Cleanup
* Live classification model training (#18583)
* Implement model training via ZMQ and add model states to represent training
* Get model updates working
* Improve toasts and model state
* Clean up logging
* Add back in
* Classification Model Metrics (#18595)
* Add speed and rate metrics for custom classification models
* Use metrics for classification models
* Use keys
* Cast to list
* Add Mesa Teflon as a TFLite detector (#18310)
* Refactor common functions for tflite detector implementations
* Add detector using mesa teflon delegate
Non-EdgeTPU TFLite can use the standard .tflite format
* Add mesa-teflon-delegate from bookworm-backports to arm64 images
* feat: enable using GenAI for cameras with GenAI disabled from the API (#18616)
* fix: Initialize GenAI client if GenAI is enabled globally (#18623)
* Make Birdseye clickable (#18628)
* keep track of layout changes and publish on change
* websocket hook
* clickable overlay div to navigate to full camera view
* Refactor TensorRT (#18643)
* Combine base and arm trt detectors
* Remove unused deps for amd64 build
* Add missing packages and cleanup ldconfig
* Expand packages for tensorflow model training
* Cleanup
* Refactor training to not reserve memory
* Dynamic Management of Cameras (#18671)
* Add base class for global config updates
* Add or remove camera states
* Move camera process management to separate thread
* Move camera management fully to separate class
* Cleanup
* Stop camera processes when stop command is sent
* Start processes dynamically when needed
* Adjust
* Leave extra room in tracked object queue for two cameras
* Dynamically set extra config pieces
* Add some TODOs
* Fix type check
* Simplify config updates
* Improve typing
* Correctly handle indexed entries
* Cleanup
* Create out SHM
* Use ZMQ for signaling object detectoin is completed
* Get camera correctly created
* Cleanup for updating the cameras config
* Cleanup
* Don't enable audio if no cameras have audio transcription
* Use exact string so similar camera names don't interfere
* Add ability to update config via json body to config/set endpoint
Additionally, update the config in a single rather than multiple calls for each updated key
* fix autotracking calibration to support new config updater function
---------
Co-authored-by: Josh Hawkins <32435876+hawkeye217@users.noreply.github.com>
* Use Fork-Server As Spawn Method (#18682)
* Set runtime
* Use count correctly
* Don't assume camera sizes
* Use separate zmq proxy for object detection
* Correct order
* Use forkserver
* Only store PID instead of entire process reference
* Cleanup
* Catch correct errors
* Fix typing
* Remove before_run from process util
The before_run never actually ran because:
You're right to suspect an issue with before_run not being called and a potential deadlock. The way you've implemented the run_wrapper using __getattribute__ for the run method of BaseProcess is a common pitfall in Python's multiprocessing, especially when combined with how multiprocessing.Process works internally.
Here's a breakdown of why before_run isn't being called and why you might be experiencing a deadlock:
The Problem: __getattribute__ and Process Serialization
When you create a multiprocessing.Process object and call start(), the multiprocessing module needs to serialize the process object (or at least enough of it to re-create the process in the new interpreter). It then pickles this serialized object and sends it to the newly spawned process.
The issue with your __getattribute__ implementation for run is that:
run is retrieved during serialization: When multiprocessing tries to pickle your Process object to send to the new process, it will likely access the run attribute. This triggers your __getattribute__ wrapper, which then tries to bind run_wrapper to self.
run_wrapper is bound to the parent process's self: The run_wrapper closure, when created in the parent process, captures the self (the Process instance) from the parent's memory space.
Deserialization creates a new object: In the child process, a new Process object is created by deserializing the pickled data. However, the run_wrapper method that was pickled still holds a reference to the self from the parent process. This is a subtle but critical distinction.
The child's run is not your wrapped run: When the child process starts, it internally calls its own run method. Because of the serialization and deserialization process, the run method that's ultimately executed in the child process is the original multiprocessing.Process.run or the Process.run if you had directly overridden it. Your __getattribute__ magic, which wraps run, isn't correctly applied to the Process object within the child's context.
* Cleanup
* Logging bugfix (#18465)
* use mp Manager to handle logging queues
A Python bug (https://github.com/python/cpython/issues/91555) was preventing logs from the embeddings maintainer process from printing. The bug is fixed in Python 3.14, but a viable workaround is to use the multiprocessing Manager, which better manages mp queues and causes the logging to work correctly.
* consolidate
* fix typing
* Fix typing
* Use global log queue
* Move to using process for logging
* Convert camera tracking to process
* Add more processes
* Finalize process
* Cleanup
* Cleanup typing
* Formatting
* Remove daemon
---------
Co-authored-by: Josh Hawkins <32435876+hawkeye217@users.noreply.github.com>
* Add basic camera settings to UI for testing (#18690)
* add basic camera add/edit pane to the UI for testing
* only init model runner if transcription is enabled globally
* fix role checkboxes
* Ensure logging config is propagated to forked processes (#18704)
* Move log level initialization to log
* Use logger config
* Formatting
* Fix config order
* Set process names
---------
Co-authored-by: Nicolas Mowen <nickmowen213@gmail.com>
* Fix go2rtc init (#18708)
* Cleanup process handling
* Adjust process name
* Reduce tf initialization
* Don't use staticmethod
* Don't fail on unicode debug for config updates
* Catch unpickling error
* Fix birdseye crash when dynamically adding a camera (#18821)
* Catch invalid character index in lpr CTC decoder (#18825)
* Classification model cover images (#18843)
* Move to separate component
* Add cover images for clssification models
* Fix process name
* Handle SIGINT with forkserver (#18860)
* Pass stopevent from main start
* Share stop event across processes
* preload modules
* remove explicit os._exit call
---------
Co-authored-by: Josh Hawkins <32435876+hawkeye217@users.noreply.github.com>
* Don't try to close or join mp manager queues (#18866)
Multiprocessing Manager queues don't have a close() or join_thread() method, and the Manager will clean it up appropriately after we empty it. This prevents an infinite loop when an AttributeError exception fires for Manager AutoProxy queue objects.
* Improve logging (#18867)
* Ignore numpy get limits warning
* Add function wrapper to redirect stdout and stderr to logpipe
* Save stderr too
* Add more to catch
* run logpipe
* Use other logging redirect class
* Use other logging redirect class
* add decorator for redirecting c/c++ level output to logger
* fix typing
---------
Co-authored-by: Josh Hawkins <32435876+hawkeye217@users.noreply.github.com>
* Add ONVIF focus support (#18883)
* backend
* frontend and i18n
* 0.17 tweaks (#18892)
* Set version
* Cleanup more logs
* Don't log matplotlib
* Improve object classification (#18908)
* Ui improvements
* Improve image cropping and model saving
* Improve naming
* Add logs for training
* Improve model labeling
* Don't set sub label for none object classification
* Cleanup
* Remove TFLite init logs
* Improve classification UI (#18910)
* Move threhsold to base model config
* Improve score handling
* Add back button
* Classification improvements (#19020)
* Move classification training to full process
* Sort class images
* Semantic Search Triggers (#18969)
* semantic trigger test
* database and model
* config
* embeddings maintainer and trigger post-processor
* api to create, edit, delete triggers
* frontend and i18n keys
* use thumbnail and description for trigger types
* image picker tweaks
* initial sync
* thumbnail file management
* clean up logs and use saved thumbnail on frontend
* publish mqtt messages
* webpush changes to enable trigger notifications
* add enabled switch
* add triggers from explore
* renaming and deletion fixes
* fix typing
* UI updates and add last triggering event time and link
* log exception instead of return in endpoint
* highlight entry in UI when triggered
* save and delete thumbnails directly
* remove alert action for now and add descriptions
* tweaks
* clean up
* fix types
* docs
* docs tweaks
* docs
* reuse enum
* Optionally show tracked object paths in debug view (#19025)
* Dynamically enable/disable GenAI (#19139)
* config
* dispatcher and mqtt
* docs
* use config updater
* add switch to frontend
* Classification train updates (#19173)
* Improve model train button
* Add filters for classification
* Cleanup
* Don't run classification on false positives
* Cleanup filter
* Fix icon color
* Object attribute classification (#19205)
* Add enum for type of classification for objects
* Update recognized license plate topic to be used as attribute updater
* Update attribute for attribute type object classification
* Cleanup
* Require setting process priority for FrigateProcess (#19207)
* Add bookworm-backports to the rocm images and upgrade mesa/vaapi to support RDNA4 GPUs (#19312)
* Improve the tablet layout (#19320)
* Improve the tablet layout
* Update imports sort
* Fix more imports
* Implement start for review item description processor (#19352)
* Add review item data transmission
* Publish review updates
* Add review item subscriber
* Basic implementation for testing review processor
* Formatting
* Cleanup
* Improve comms typing (#18599)
* Enable mypy for comms
* Make zmq data types consistent
* Cleanup inter process typing issues
* Cleanup embeddings typing
* Cleanup config updater
* Cleanup recordings updator
* Make publisher have a generic type
* Cleanup event metadata updater
* Cleanup event metadata updater
* Cleanup detections updater
* Cleanup websocket
* Cleanup mqtt
* Cleanup webpush
* Cleanup dispatcher
* Formatting
* Remove unused
* Add return type
* Fix tests
* Fix semantic triggers config typing
* Cleanup
* Ensure alertVideos persistence is loaded before displaying thumb or preview (#19432)
The default value of true would cause previews to be loaded in the background even if the local storage value was false
* Adjust loitering behavior based on object type (#19433)
* Adjust loitering behavior based on object
* Update docs
* Grammar
* Enable mypy for DB and fix types (#19434)
* Install peewee type hints
* Models now have proper types
* Fix iterator type
* Enable debug builds with dev reqs installed
* Install as wheel
* Fix cast type
* Migrate object genai configuration (#19437)
* Move genAI object to objects section
* Adjust config propogation behavior
* Refactor genai config usage
* Automatic migration
* Always start the embeddings process
* Always init embeddings
* Config fixes
* Adjust reference config
* Adjust docs
* Formatting
* Fix
* Review Item GenAI metadata (#19442)
* Rename existing function
* Keep track of thumbnial updates
* Tinkering with genai prompt
* Adjust input format
* Create model for review description output
* testing prompt changes
* Prompt improvements and image saving
* Add config for review items genai
* Use genai review config
* Actual config usage
* Adjust debug image saving
* Fix
* Fix review creation
* Adjust prompt
* Prompt adjustment
* Run genai in thread
* Fix detections block
* Adjust prompt
* Prompt changes
* Save genai response to metadata model
* Handle metadata
* Send review update to dispatcher
* Save review metadata to DB
* Send review notification updates
* Quick fix
* Fix name
* Fix update type
* Correctly dump model
* Add card
* Add card
* Remove message
* Cleanup typing and UI
* Adjust prompt
* Formatting
* Add log
* Formatting
* Add inference speed and keep alive
* Review genai updates (#19448)
* Include extra level for normal activity
* Add dynamic toggling
* Update docs
* Add different threshold for genai
* Adjust webUI for object and review description feature
* Adjust config
* Send on startup
* Cleanup config setting
* Set config
* Fix config name
* Use preview frames for Review Descriptions (#19450)
* Use preview frames for genai
* Cleanup
* Adjust
* Add config for users to define additional concerns that GenAI should make note of in review summary (#19463)
* Don't default to openai
* Improve UI
* Allow configuring additional concerns that users may want the AI to note
* Formatting
* Add preferred language config
* Remove unused
* Added total camera fps, total processed fps, and total skipped fps to stats api (#19469)
Co-authored-by: Mark Francis <markfrancisonly@gmail.com>
* Genai review summaries (#19473)
* Generate review item summaries with requests
* Adjust logic to only send important items
* Don't mention ladder
* Adjust prompt to be more specific
* Add more relaxed nature for normal activity
* Cleanup summary
* Update ollama client
* Add more directions to analyze the frames in order
* Remove environment from prompt
* Add ability to pass additional args to Ollama (#19484)
* Call out recognized objects more specifically
* Cleanup
* Make keep_alive and options configurable
* Generalize
* Use for other providers
* Update GenAI docs for new review summaries feature (#19493)
* Remove old genai docs
* Separate existing genai docs to separate sections
* Add docs for genai features
* Update reference config
* Update link
* Move to bottom
* Improve natural language of prompt (#19515)
* Make sequence details human-readable so they are used in natural language response
* Cleanup
* Improve prompt and image selection
* Adjust
* Adjust sligtly
* Format time
* Adjust frame selection logic
* Debug save response
* Ignore extra fields
* Adjust docs
* Cleanup filename sanitization
* Added degirum plugin, updated documentation for degirum detector usage, updated requirements with degirum_headless
* Fixed broken link
* Made it so openvino prioritizes using GPU and NPU over CPU
* Version that detects model and can begin using @local
* Added optimized version of degirum plugin + updated docs
* Updating requirements to build dev container
* Added guard clause for empty inference reponse
* Updated DeGirum's docs
* Moved DeGirum section to 'Community' detectors, fixed formatting of headers to be more consistent with the rest of the page, and removed uneeded 'models' folder
* Moved DeGirum section to correct place in community models
* Added degirum plugin, updated documentation for degirum detector usage, updated requirements with degirum_headless
* Fixed broken link
* Made it so openvino prioritizes using GPU and NPU over CPU
* Version that detects model and can begin using @local
* Added optimized version of degirum plugin + updated docs
* Updating requirements to build dev container
* Added guard clause for empty inference reponse
* Updated DeGirum's docs
* Moved DeGirum section to 'Community' detectors, fixed formatting of headers to be more consistent with the rest of the page, and removed uneeded 'models' folder
* Moved DeGirum section to correct place in community models
* Added degirum plugin, updated documentation for degirum detector usage, updated requirements with degirum_headless
* Fixed broken link
* Made it so openvino prioritizes using GPU and NPU over CPU
* Version that detects model and can begin using @local
* Added optimized version of degirum plugin + updated docs
* Updating requirements to build dev container
* Added guard clause for empty inference reponse
* Updated DeGirum's docs
* Moved DeGirum section to 'Community' detectors, fixed formatting of headers to be more consistent with the rest of the page, and removed uneeded 'models' folder
* Moved DeGirum section to correct place in community models
* Reverted changes to classification and audio
---------
Co-authored-by: Nicolas Mowen <nickmowen213@gmail.com>
Co-authored-by: Josh Hawkins <32435876+hawkeye217@users.noreply.github.com>
Co-authored-by: Jimmy <honj@alum.rpi.edu>
Co-authored-by: FL42 <46161216+fl42@users.noreply.github.com>
Co-authored-by: Steve Smith <tarkasteve@gmail.com>
Co-authored-by: markfrancisonly <12145270+markfrancisonly@users.noreply.github.com>
Co-authored-by: Mark Francis <markfrancisonly@gmail.com>
* refactor: Refactor camera nickname
* fix: fix cameraNameLabel visually
* chore: The Explore search function also displays the Camera's nickname in English
* chore: add mobile page camera nickname
* feat: webpush support camera nickname
* fix: fix storage camera name is null
* chore: fix review detail and context menu camera nickname
* chore: fix use-stats and notification setting camera nickname
* fix: fix stats camera if not nickname need capitalize
* fix: fix debug page open camera web ui i18n and camera nickname support
* fix: fix camera metrics not use nickname
* refactor: refactor use-camera-nickname hook.
* add regex support to events api for recognized_license_plate
* frontend
add ability to use regexes in the plate search box and add select all/clear all links to quickly select all filtered plates
Currently translated at 100.0% (62 of 62 strings)
Translated using Weblate (German)
Currently translated at 100.0% (124 of 124 strings)
Translated using Weblate (German)
Currently translated at 100.0% (26 of 26 strings)
Translated using Weblate (German)
Currently translated at 100.0% (26 of 26 strings)
Co-authored-by: Christos Sidiropoulos <dev@csidirop.de>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Viktor Stier <viktor-stier@gmx.de>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-events/de/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-explore/de/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-facelibrary/de/
Translation: Frigate NVR/views-events
Translation: Frigate NVR/views-explore
Translation: Frigate NVR/views-facelibrary
* add model config parameter to full reference config
* oversight with comment location
---------
Co-authored-by: Nicolas Mowen <nickmowen213@gmail.com>
* use custom swr fetcher to check for audio support
The go2rtc API doesn't always return stream data for anything not being actively consumed, so audio support was not always being correctly deduced. So we can use a custom swr fetcher to call the endpoint that probes the streams, which returns the correct producers data.
* return correct mime type for thumbnail and latest frame endpoints
follow up to https://github.com/blakeblackshear/frigate/pull/19555
Currently translated at 94.7% (108 of 114 strings)
Translated using Weblate (Slovenian)
Currently translated at 25.9% (112 of 431 strings)
Translated using Weblate (Slovenian)
Currently translated at 100.0% (85 of 85 strings)
Translated using Weblate (Slovenian)
Currently translated at 95.0% (115 of 121 strings)
Translated using Weblate (Slovenian)
Currently translated at 96.3% (184 of 191 strings)
Translated using Weblate (Slovenian)
Currently translated at 33.2% (142 of 427 strings)
Translated using Weblate (Slovenian)
Currently translated at 72.8% (83 of 114 strings)
Translated using Weblate (Slovenian)
Currently translated at 19.7% (85 of 431 strings)
Translated using Weblate (Slovenian)
Currently translated at 97.6% (83 of 85 strings)
Translated using Weblate (Slovenian)
Currently translated at 98.3% (61 of 62 strings)
Translated using Weblate (Slovenian)
Currently translated at 81.8% (99 of 121 strings)
Translated using Weblate (Slovenian)
Currently translated at 100.0% (70 of 70 strings)
Translated using Weblate (Slovenian)
Currently translated at 100.0% (53 of 53 strings)
Translated using Weblate (Slovenian)
Currently translated at 48.1% (92 of 191 strings)
Translated using Weblate (Slovenian)
Currently translated at 30.9% (132 of 427 strings)
Translated using Weblate (Slovenian)
Currently translated at 56.1% (64 of 114 strings)
Translated using Weblate (Slovenian)
Currently translated at 7.4% (32 of 431 strings)
Translated using Weblate (Slovenian)
Currently translated at 27.0% (23 of 85 strings)
Translated using Weblate (Slovenian)
Currently translated at 40.3% (25 of 62 strings)
Translated using Weblate (Slovenian)
Currently translated at 40.4% (49 of 121 strings)
Translated using Weblate (Slovenian)
Currently translated at 100.0% (10 of 10 strings)
Translated using Weblate (Slovenian)
Currently translated at 48.5% (34 of 70 strings)
Translated using Weblate (Slovenian)
Currently translated at 45.2% (24 of 53 strings)
Translated using Weblate (Slovenian)
Currently translated at 27.1% (116 of 427 strings)
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Jan Šuklje <sukljejan@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/audio/sl/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/sl/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-dialog/sl/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-filter/sl/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-configeditor/sl/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-explore/sl/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-facelibrary/sl/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-live/sl/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/sl/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-system/sl/
Translation: Frigate NVR/audio
Translation: Frigate NVR/common
Translation: Frigate NVR/components-dialog
Translation: Frigate NVR/components-filter
Translation: Frigate NVR/views-configeditor
Translation: Frigate NVR/views-explore
Translation: Frigate NVR/views-facelibrary
Translation: Frigate NVR/views-live
Translation: Frigate NVR/views-settings
Translation: Frigate NVR/views-system
Currently translated at 44.7% (51 of 114 strings)
Translated using Weblate (Slovak)
Currently translated at 11.8% (51 of 431 strings)
Translated using Weblate (Slovak)
Currently translated at 100.0% (48 of 48 strings)
Translated using Weblate (Slovak)
Currently translated at 42.9% (52 of 121 strings)
Translated using Weblate (Slovak)
Currently translated at 60.0% (51 of 85 strings)
Translated using Weblate (Slovak)
Currently translated at 72.8% (51 of 70 strings)
Translated using Weblate (Slovak)
Currently translated at 43.2% (51 of 118 strings)
Translated using Weblate (Slovak)
Currently translated at 96.2% (51 of 53 strings)
Translated using Weblate (Slovak)
Currently translated at 27.7% (53 of 191 strings)
Translated using Weblate (Slovak)
Currently translated at 15.2% (65 of 427 strings)
Translated using Weblate (Slovak)
Currently translated at 41.2% (47 of 114 strings)
Translated using Weblate (Slovak)
Currently translated at 10.9% (47 of 431 strings)
Translated using Weblate (Slovak)
Currently translated at 97.9% (47 of 48 strings)
Translated using Weblate (Slovak)
Currently translated at 39.6% (48 of 121 strings)
Translated using Weblate (Slovak)
Currently translated at 100.0% (10 of 10 strings)
Translated using Weblate (Slovak)
Currently translated at 55.2% (47 of 85 strings)
Translated using Weblate (Slovak)
Currently translated at 67.1% (47 of 70 strings)
Translated using Weblate (Slovak)
Currently translated at 39.8% (47 of 118 strings)
Translated using Weblate (Slovak)
Currently translated at 100.0% (46 of 46 strings)
Translated using Weblate (Slovak)
Currently translated at 90.5% (48 of 53 strings)
Translated using Weblate (Slovak)
Currently translated at 25.6% (49 of 191 strings)
Translated using Weblate (Slovak)
Currently translated at 14.2% (61 of 427 strings)
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Jakub K <klacanjakub0@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/audio/sk/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/sk/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-camera/sk/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-dialog/sk/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-filter/sk/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/objects/sk/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-configeditor/sk/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-explore/sk/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-live/sk/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-search/sk/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/sk/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-system/sk/
Translation: Frigate NVR/audio
Translation: Frigate NVR/common
Translation: Frigate NVR/components-camera
Translation: Frigate NVR/components-dialog
Translation: Frigate NVR/components-filter
Translation: Frigate NVR/objects
Translation: Frigate NVR/views-configeditor
Translation: Frigate NVR/views-explore
Translation: Frigate NVR/views-live
Translation: Frigate NVR/views-search
Translation: Frigate NVR/views-settings
Translation: Frigate NVR/views-system
Currently translated at 45.6% (52 of 114 strings)
Translated using Weblate (Swedish)
Currently translated at 66.1% (41 of 62 strings)
Translated using Weblate (Swedish)
Currently translated at 34.6% (43 of 124 strings)
Translated using Weblate (Swedish)
Currently translated at 81.1% (43 of 53 strings)
Translated using Weblate (Swedish)
Currently translated at 35.9% (41 of 114 strings)
Translated using Weblate (Swedish)
Currently translated at 96.4% (82 of 85 strings)
Translated using Weblate (Swedish)
Currently translated at 48.3% (30 of 62 strings)
Translated using Weblate (Swedish)
Currently translated at 26.4% (32 of 121 strings)
Translated using Weblate (Swedish)
Currently translated at 62.2% (33 of 53 strings)
Translated using Weblate (Swedish)
Currently translated at 30.7% (35 of 114 strings)
Translated using Weblate (Swedish)
Currently translated at 14.6% (63 of 431 strings)
Translated using Weblate (Swedish)
Currently translated at 94.1% (80 of 85 strings)
Translated using Weblate (Swedish)
Currently translated at 35.4% (22 of 62 strings)
Translated using Weblate (Swedish)
Currently translated at 17.3% (21 of 121 strings)
Translated using Weblate (Swedish)
Currently translated at 100.0% (10 of 10 strings)
Translated using Weblate (Swedish)
Currently translated at 100.0% (25 of 25 strings)
Translated using Weblate (Swedish)
Currently translated at 100.0% (2 of 2 strings)
Translated using Weblate (Swedish)
Currently translated at 41.5% (22 of 53 strings)
Translated using Weblate (Swedish)
Currently translated at 37.4% (160 of 427 strings)
Translated using Weblate (Swedish)
Currently translated at 100.0% (70 of 70 strings)
Translated using Weblate (Swedish)
Currently translated at 30.7% (35 of 114 strings)
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Kristian Johansson <knmjohansson@gmail.com>
Co-authored-by: Magnus Kvevlander <magu@me.com>
Co-authored-by: jorg-stor <jorgen.storvist@techship.com>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/audio/sv/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-dialog/sv/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-filter/sv/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-icons/sv/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-player/sv/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-configeditor/sv/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-explore/sv/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-facelibrary/sv/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-live/sv/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/sv/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-system/sv/
Translation: Frigate NVR/audio
Translation: Frigate NVR/components-dialog
Translation: Frigate NVR/components-filter
Translation: Frigate NVR/components-icons
Translation: Frigate NVR/components-player
Translation: Frigate NVR/views-configeditor
Translation: Frigate NVR/views-explore
Translation: Frigate NVR/views-facelibrary
Translation: Frigate NVR/views-live
Translation: Frigate NVR/views-settings
Translation: Frigate NVR/views-system
Currently translated at 100.0% (124 of 124 strings)
Translated using Weblate (Dutch)
Currently translated at 100.0% (124 of 124 strings)
Translated using Weblate (Dutch)
Currently translated at 100.0% (26 of 26 strings)
Translated using Weblate (Dutch)
Currently translated at 100.0% (26 of 26 strings)
Translated using Weblate (Dutch)
Currently translated at 100.0% (431 of 431 strings)
Translated using Weblate (Dutch)
Currently translated at 100.0% (121 of 121 strings)
Translated using Weblate (Dutch)
Currently translated at 100.0% (53 of 53 strings)
Translated using Weblate (Dutch)
Currently translated at 100.0% (114 of 114 strings)
Translated using Weblate (Dutch)
Currently translated at 82.1% (354 of 431 strings)
Translated using Weblate (Dutch)
Currently translated at 100.0% (85 of 85 strings)
Translated using Weblate (Dutch)
Currently translated at 100.0% (85 of 85 strings)
Translated using Weblate (Dutch)
Currently translated at 96.6% (117 of 121 strings)
Translated using Weblate (Dutch)
Currently translated at 100.0% (10 of 10 strings)
Translated using Weblate (Dutch)
Currently translated at 100.0% (70 of 70 strings)
Translated using Weblate (Dutch)
Currently translated at 98.1% (52 of 53 strings)
Translated using Weblate (Dutch)
Currently translated at 100.0% (191 of 191 strings)
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: JBakers <evilspawn@gmail.com>
Co-authored-by: Marijn <168113859+Marijn0@users.noreply.github.com>
Co-authored-by: Wout Rombouts <woutrombouts18@gmail.com>
Co-authored-by: glenn schrooyen <gschrooyen@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/nl/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-dialog/nl/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-filter/nl/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-configeditor/nl/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-events/nl/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-explore/nl/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-live/nl/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/nl/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-system/nl/
Translation: Frigate NVR/common
Translation: Frigate NVR/components-dialog
Translation: Frigate NVR/components-filter
Translation: Frigate NVR/views-configeditor
Translation: Frigate NVR/views-events
Translation: Frigate NVR/views-explore
Translation: Frigate NVR/views-live
Translation: Frigate NVR/views-settings
Translation: Frigate NVR/views-system
Currently translated at 100.0% (431 of 431 strings)
Translated using Weblate (German)
Currently translated at 100.0% (48 of 48 strings)
Translated using Weblate (German)
Currently translated at 100.0% (85 of 85 strings)
Translated using Weblate (German)
Currently translated at 100.0% (121 of 121 strings)
Translated using Weblate (German)
Currently translated at 100.0% (10 of 10 strings)
Translated using Weblate (German)
Currently translated at 100.0% (70 of 70 strings)
Translated using Weblate (German)
Currently translated at 100.0% (53 of 53 strings)
Translated using Weblate (German)
Currently translated at 99.4% (190 of 191 strings)
Translated using Weblate (German)
Currently translated at 100.0% (352 of 352 strings)
Translated using Weblate (German)
Currently translated at 100.0% (80 of 80 strings)
Translated using Weblate (German)
Currently translated at 100.0% (191 of 191 strings)
Translated using Weblate (German)
Currently translated at 100.0% (191 of 191 strings)
Co-authored-by: Export33 <jannis.riemann@web.de>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Phil Jope <phil@jope.cloud>
Co-authored-by: Viktor Stier <viktor-stier@gmx.de>
Co-authored-by: ahgln <a.hegglin@windowslive.com>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/de/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-dialog/de/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-filter/de/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-configeditor/de/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-explore/de/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-live/de/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-search/de/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/de/
Translation: Frigate NVR/common
Translation: Frigate NVR/components-dialog
Translation: Frigate NVR/components-filter
Translation: Frigate NVR/views-configeditor
Translation: Frigate NVR/views-explore
Translation: Frigate NVR/views-live
Translation: Frigate NVR/views-search
Translation: Frigate NVR/views-settings
Currently translated at 100.0% (431 of 431 strings)
Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (124 of 124 strings)
Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (26 of 26 strings)
Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (191 of 191 strings)
Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (431 of 431 strings)
Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (121 of 121 strings)
Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (427 of 427 strings)
Translated using Weblate (Portuguese (Brazil))
Currently translated at 99.5% (429 of 431 strings)
Translated using Weblate (Portuguese (Brazil))
Currently translated at 91.1% (393 of 431 strings)
Translated using Weblate (Portuguese (Brazil))
Currently translated at 86.5% (373 of 431 strings)
Translated using Weblate (Portuguese (Brazil))
Currently translated at 86.0% (371 of 431 strings)
Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (85 of 85 strings)
Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (121 of 121 strings)
Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (10 of 10 strings)
Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (70 of 70 strings)
Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (53 of 53 strings)
Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (62 of 62 strings)
Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (114 of 114 strings)
Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (115 of 115 strings)
Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (66 of 66 strings)
Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (191 of 191 strings)
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Marcelo Popper Costa <marcelo_popper@hotmail.com>
Co-authored-by: P1LH4 <joao.calby@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/audio/pt_BR/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/pt_BR/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-dialog/pt_BR/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-filter/pt_BR/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-configeditor/pt_BR/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-events/pt_BR/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-explore/pt_BR/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-facelibrary/pt_BR/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-live/pt_BR/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/pt_BR/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-system/pt_BR/
Translation: Frigate NVR/audio
Translation: Frigate NVR/common
Translation: Frigate NVR/components-dialog
Translation: Frigate NVR/components-filter
Translation: Frigate NVR/views-configeditor
Translation: Frigate NVR/views-events
Translation: Frigate NVR/views-explore
Translation: Frigate NVR/views-facelibrary
Translation: Frigate NVR/views-live
Translation: Frigate NVR/views-settings
Translation: Frigate NVR/views-system
* Implement base rknn conversion
* Remove unused
* Formatting
* Add model conversion lock so it doesn't break when multiple detectors are defined
* Ignore unused impor
t
* Fix content type for latest image API endpoint
Extension is an enum and .value needed to be appended. Additionally, fastapi's Response() automatically sets the content type when media_type is specified, so a Content-Type in the headers was redundant.
* Remove another unneeded Content-Type
* Make sequence details human-readable so they are used in natural language response
* Cleanup
* Improve prompt and image selection
* Adjust
* Adjust sligtly
* Format time
* Adjust frame selection logic
* Debug save response
* Ignore extra fields
* Adjust docs
* Remove old genai docs
* Separate existing genai docs to separate sections
* Add docs for genai features
* Update reference config
* Update link
* Move to bottom
* Generate review item summaries with requests
* Adjust logic to only send important items
* Don't mention ladder
* Adjust prompt to be more specific
* Add more relaxed nature for normal activity
* Cleanup summary
* Update ollama client
* Add more directions to analyze the frames in order
* Remove environment from prompt
* Don't default to openai
* Improve UI
* Allow configuring additional concerns that users may want the AI to note
* Formatting
* Add preferred language config
* Remove unused
* Include extra level for normal activity
* Add dynamic toggling
* Update docs
* Add different threshold for genai
* Adjust webUI for object and review description feature
* Adjust config
* Send on startup
* Cleanup config setting
* Set config
* Fix config name
* Install peewee type hints
* Models now have proper types
* Fix iterator type
* Enable debug builds with dev reqs installed
* Install as wheel
* Fix cast type
* Add enum for type of classification for objects
* Update recognized license plate topic to be used as attribute updater
* Update attribute for attribute type object classification
* Cleanup
* semantic trigger test
* database and model
* config
* embeddings maintainer and trigger post-processor
* api to create, edit, delete triggers
* frontend and i18n keys
* use thumbnail and description for trigger types
* image picker tweaks
* initial sync
* thumbnail file management
* clean up logs and use saved thumbnail on frontend
* publish mqtt messages
* webpush changes to enable trigger notifications
* add enabled switch
* add triggers from explore
* renaming and deletion fixes
* fix typing
* UI updates and add last triggering event time and link
* log exception instead of return in endpoint
* highlight entry in UI when triggered
* save and delete thumbnails directly
* remove alert action for now and add descriptions
* tweaks
* clean up
* fix types
* docs
* docs tweaks
* docs
* reuse enum
* Ui improvements
* Improve image cropping and model saving
* Improve naming
* Add logs for training
* Improve model labeling
* Don't set sub label for none object classification
* Cleanup
* Ignore numpy get limits warning
* Add function wrapper to redirect stdout and stderr to logpipe
* Save stderr too
* Add more to catch
* run logpipe
* Use other logging redirect class
* Use other logging redirect class
* add decorator for redirecting c/c++ level output to logger
* fix typing
---------
Co-authored-by: Josh Hawkins <32435876+hawkeye217@users.noreply.github.com>
Multiprocessing Manager queues don't have a close() or join_thread() method, and the Manager will clean it up appropriately after we empty it. This prevents an infinite loop when an AttributeError exception fires for Manager AutoProxy queue objects.
* Move log level initialization to log
* Use logger config
* Formatting
* Fix config order
* Set process names
---------
Co-authored-by: Nicolas Mowen <nickmowen213@gmail.com>
* Set runtime
* Use count correctly
* Don't assume camera sizes
* Use separate zmq proxy for object detection
* Correct order
* Use forkserver
* Only store PID instead of entire process reference
* Cleanup
* Catch correct errors
* Fix typing
* Remove before_run from process util
The before_run never actually ran because:
You're right to suspect an issue with before_run not being called and a potential deadlock. The way you've implemented the run_wrapper using __getattribute__ for the run method of BaseProcess is a common pitfall in Python's multiprocessing, especially when combined with how multiprocessing.Process works internally.
Here's a breakdown of why before_run isn't being called and why you might be experiencing a deadlock:
The Problem: __getattribute__ and Process Serialization
When you create a multiprocessing.Process object and call start(), the multiprocessing module needs to serialize the process object (or at least enough of it to re-create the process in the new interpreter). It then pickles this serialized object and sends it to the newly spawned process.
The issue with your __getattribute__ implementation for run is that:
run is retrieved during serialization: When multiprocessing tries to pickle your Process object to send to the new process, it will likely access the run attribute. This triggers your __getattribute__ wrapper, which then tries to bind run_wrapper to self.
run_wrapper is bound to the parent process's self: The run_wrapper closure, when created in the parent process, captures the self (the Process instance) from the parent's memory space.
Deserialization creates a new object: In the child process, a new Process object is created by deserializing the pickled data. However, the run_wrapper method that was pickled still holds a reference to the self from the parent process. This is a subtle but critical distinction.
The child's run is not your wrapped run: When the child process starts, it internally calls its own run method. Because of the serialization and deserialization process, the run method that's ultimately executed in the child process is the original multiprocessing.Process.run or the Process.run if you had directly overridden it. Your __getattribute__ magic, which wraps run, isn't correctly applied to the Process object within the child's context.
* Cleanup
* Logging bugfix (#18465)
* use mp Manager to handle logging queues
A Python bug (https://github.com/python/cpython/issues/91555) was preventing logs from the embeddings maintainer process from printing. The bug is fixed in Python 3.14, but a viable workaround is to use the multiprocessing Manager, which better manages mp queues and causes the logging to work correctly.
* consolidate
* fix typing
* Fix typing
* Use global log queue
* Move to using process for logging
* Convert camera tracking to process
* Add more processes
* Finalize process
* Cleanup
* Cleanup typing
* Formatting
* Remove daemon
---------
Co-authored-by: Josh Hawkins <32435876+hawkeye217@users.noreply.github.com>
* Add base class for global config updates
* Add or remove camera states
* Move camera process management to separate thread
* Move camera management fully to separate class
* Cleanup
* Stop camera processes when stop command is sent
* Start processes dynamically when needed
* Adjust
* Leave extra room in tracked object queue for two cameras
* Dynamically set extra config pieces
* Add some TODOs
* Fix type check
* Simplify config updates
* Improve typing
* Correctly handle indexed entries
* Cleanup
* Create out SHM
* Use ZMQ for signaling object detectoin is completed
* Get camera correctly created
* Cleanup for updating the cameras config
* Cleanup
* Don't enable audio if no cameras have audio transcription
* Use exact string so similar camera names don't interfere
* Add ability to update config via json body to config/set endpoint
Additionally, update the config in a single rather than multiple calls for each updated key
* fix autotracking calibration to support new config updater function
---------
Co-authored-by: Josh Hawkins <32435876+hawkeye217@users.noreply.github.com>
* Combine base and arm trt detectors
* Remove unused deps for amd64 build
* Add missing packages and cleanup ldconfig
* Expand packages for tensorflow model training
* Cleanup
* Refactor training to not reserve memory
* Refactor common functions for tflite detector implementations
* Add detector using mesa teflon delegate
Non-EdgeTPU TFLite can use the standard .tflite format
* Add mesa-teflon-delegate from bookworm-backports to arm64 images
* Implement model training via ZMQ and add model states to represent training
* Get model updates working
* Improve toasts and model state
* Clean up logging
* Add back in
* Setup basic training structure
* Build out route
* Handle model configs
* Add image fetch APIs
* Implement model training screen with dataset selection
* Implement viewing of training images
* Adjust directories
* Implement viewing of images
* Add support for deleting images
* Implement full deletion
* Implement classification model training
* Improve naming
* More renaming
* Improve layout
* Reduce logging
* Cleanup
The PP_OCRv5 text detection models have greatly improved over v3. The v5 recognition model makes improvements to challenging handwriting and uncommon characters, which are not necessary for LPR, so using v4 seemed like a better choice to continue to keep inference time as low as possible. Also included is the full dictionary for Chinese character support.
* install new packages for transcription support
* add config options
* audio maintainer modifications to support transcription
* pass main config to audio process
* embeddings support
* api and transcription post processor
* embeddings maintainer support for post processor
* live audio transcription with sherpa and faster-whisper
* update dispatcher with live transcription topic
* frontend websocket
* frontend live transcription
* frontend changes for speech events
* i18n changes
* docs
* mqtt docs
* fix linter
* use float16 and small model on gpu for real-time
* fix return value and use requestor to embed description instead of passing embeddings
* run real-time transcription in its own thread
* tweaks
* publish live transcriptions on their own topic instead of tracked_object_update
* config validator and docs
* clarify docs
* Start Frigate in safe mode when config does not validate
* Add safe mode page that is just the config editor
* Adjust Frigate config editor when in safe mode
* Cleanup
* Improve log message
* Indicate no recordings on the history timeline with gray hash marks
This commit includes a new backend API endpoint and the frontend changes needed to support this functionality
* don't show slashes for now
* Add basic config for defining a teachable machine model
* Add model type
* Add basic config for teachable machine models
* Adjust config for state and object
* Use config to process
* Correctly check for objects
* Remove debug
* Rename to not be teachable machine specific
* Cleanup
* Include config publisher in api
* Call update topic for passed topics
* Update zones dynamically
* Update zones internally
* Support zone and mask reset
* Handle updating objects config
* Don't put status for needing to restart Frigate
* Cleanup http tests
* Fix tests
* Include preferred startTime in source so that the playlist does not need to seek
* Compatibility
* Cleanup
* Adjust based on inpoint
* Don't set start position if it is not valid
* Handle firefox buggy behavior
* Fetch all license plates outside of filter component
If the swr call took a long time, the entire select component may not display. This change moves the fetch to the parent component (like sub labels).
* add loading indicator
* improve query
Use this form to submit a reproducible bug in Frigate or Frigate's UI.
Use this form to submit a reproducible bug in Frigate or Frigate's UI.
Before submitting your bug report, please [search the discussions][discussions], look at recent open and closed [pull requests][prs], read the [official Frigate documentation][docs], and read the [Frigate FAQ][faq] pinned at the Discussion page to see if your bug has already been fixed by the developers or reported by the community.
Before submitting your bug report, please ask the AI with the "Ask AI" button on the [official documentation site][ai] about your issue, [search the discussions][discussions], look at recent open and closed [pull requests][prs], read the [official Frigate documentation][docs], and read the [Frigate FAQ][faq] pinned at the Discussion page to see if your bug has already been fixed by the developers or reported by the community.
**Ifyou are unsure if your issue is actually a bug or not, please submit a support request first.**
**Ifyou are unsure if your issue is actually a bug or not, please submit a support request first.**
- label:I have tried a different browser to see if it is related to my browser.
- label:I have tried a different browser to see if it is related to my browser.
required:true
required:true
- label:I have tried reproducing the issue in [incognito mode](https://www.computerworld.com/article/1719851/how-to-go-incognito-in-chrome-firefox-safari-and-edge.html) to rule out problems with any third party extensions or plugins I have installed.
- label:I have tried reproducing the issue in [incognito mode](https://www.computerworld.com/article/1719851/how-to-go-incognito-in-chrome-firefox-safari-and-edge.html) to rule out problems with any third party extensions or plugins I have installed.
- label:I have asked the AI at https://docs.frigate.video about my issue.
A complete and local NVR designed for [Home Assistant](https://www.home-assistant.io) with AI object detection. Uses OpenCV and Tensorflow to perform realtime object detection locally for IP cameras.
A complete and local NVR designed for [Home Assistant](https://www.home-assistant.io) with AI object detection. Uses OpenCV and Tensorflow to perform realtime object detection locally for IP cameras.
Use of a GPU or AI accelerator such as a [Google Coral](https://coral.ai/products/) or [Hailo](https://hailo.ai/) is highly recommended. AI accelerators will outperform even the best CPUs with very little overhead.
Use of a GPU or AI accelerator is highly recommended. AI accelerators will outperform even the best CPUs with very little overhead. See Frigate's supported [object detectors](https://docs.frigate.video/configuration/object_detectors/).
- Tight integration with Home Assistant via a [custom component](https://github.com/blakeblackshear/frigate-hass-integration)
- Tight integration with Home Assistant via a [custom component](https://github.com/blakeblackshear/frigate-hass-integration)
- Designed to minimize resource use and maximize performance by only looking for objects when and where it is necessary
- Designed to minimize resource use and maximize performance by only looking for objects when and where it is necessary
@ -33,6 +35,15 @@ View the documentation at https://docs.frigate.video
If you would like to make a donation to support development, please use [Github Sponsors](https://github.com/sponsors/blakeblackshear).
If you would like to make a donation to support development, please use [Github Sponsors](https://github.com/sponsors/blakeblackshear).
## License
This project is licensed under the **MIT License**.
- **Code:** The source code, configuration files, and documentation in this repository are available under the [MIT License](LICENSE). You are free to use, modify, and distribute the code as long as you include the original copyright notice.
- **Trademarks:** The "Frigate" name, the "Frigate NVR" brand, and the Frigate logo are **trademarks of Frigate LLC** and are **not** covered by the MIT License.
Please see our [Trademark Policy](TRADEMARK.md) for details on acceptable use of our brand assets.
## Screenshots
## Screenshots
### Live dashboard
### Live dashboard
@ -66,3 +77,7 @@ We use [Weblate](https://hosted.weblate.org/projects/frigate-nvr/) to support la
This document outlines the policy regarding the use of the trademarks associated with the Frigate NVR project.
## 1. Our Trademarks
The following terms and visual assets are trademarks (the "Marks") of **Frigate LLC**:
- **Frigate™**
- **Frigate NVR™**
- **Frigate+™**
- **The Frigate Logo**
**Note on Common Law Rights:**
Frigate LLC asserts all common law rights in these Marks. The absence of a federal registration symbol (®) does not constitute a waiver of our intellectual property rights.
## 2. Interaction with the MIT License
The software in this repository is licensed under the [MIT License](LICENSE).
**Crucial Distinction:**
- The **Code** is free to use, modify, and distribute under the MIT terms.
- The **Brand (Trademarks)** is **NOT** licensed under MIT.
You may not use the Marks in any way that is not explicitly permitted by this policy or by written agreement with Frigate LLC.
## 3. Acceptable Use
You may use the Marks without prior written permission in the following specific contexts:
- **Referential Use:** To truthfully refer to the software (e.g., _"I use Frigate NVR for my home security"_).
- **Compatibility:** To indicate that your product or project works with the software (e.g., _"MyPlugin for Frigate NVR"_ or _"Compatible with Frigate"_).
- **Commentary:** In news articles, blog posts, or tutorials discussing the software.
## 4. Prohibited Use
You may **NOT** use the Marks in the following ways:
- **Commercial Products:** You may not use "Frigate" in the name of a commercial product, service, or app (e.g., selling an app named _"Frigate Viewer"_ is prohibited).
- **Implying Affiliation:** You may not use the Marks in a way that suggests your project is official, sponsored by, or endorsed by Frigate LLC.
- **Confusing Forks:** If you fork this repository to create a derivative work, you **must** remove the Frigate logo and rename your project to avoid user confusion. You cannot distribute a modified version of the software under the name "Frigate".
- **Domain Names:** You may not register domain names containing "Frigate" that are likely to confuse users (e.g., `frigate-official-support.com`).
## 5. The Logo
The Frigate logo (the bird icon) is a visual trademark.
- You generally **cannot** use the logo on your own website or product packaging without permission.
- If you are building a dashboard or integration that interfaces with Frigate, you may use the logo only to represent the Frigate node/service, provided it does not imply you _are_ Frigate.
## 6. Questions & Permissions
If you are unsure if your intended use violates this policy, or if you wish to request a specific license to use the Marks (e.g., for a partnership), please contact us at:
echo "[WARNING] Failed to convert cleaned config to YAML, creating minimal config"
echo '{"homekit": {}}' > "${config_path}"
}
# Clean up temp files
rm -f "${temp_json}" "${cleaned_json}"
}
set_libva_version
set_libva_version
if [[ -f "/dev/shm/go2rtc.yaml" ]]; then
if [[ -f "/dev/shm/go2rtc.yaml" ]]; then
@ -70,6 +102,10 @@ else
echo "[WARNING] Unable to remove existing go2rtc config. Changes made to your frigate config file may not be recognized. Please remove the /dev/shm/go2rtc.yaml from your docker host manually."
echo "[WARNING] Unable to remove existing go2rtc config. Changes made to your frigate config file may not be recognized. Please remove the /dev/shm/go2rtc.yaml from your docker host manually."
# Globally set pip break-system-packages option to avoid having to specify it every time
ARGPIP_BREAK_SYSTEM_PACKAGES=1
FROM wheels AS synap1680-wheels
ARG TARGETARCH
# Install dependencies
RUN wget -qO- "https://github.com/GaryHuang-ASUS/synaptics_astra_sdk/releases/download/v1.5.0/Synaptics-SL1680-v1.5.0-rt.tar"| tar -C / -xzf -
RUN wget -P /wheels/ "https://github.com/synaptics-synap/synap-python/releases/download/v0.0.4-preview/synap_python-0.0.4-cp311-cp311-manylinux_2_35_aarch64.whl"
FROM deps AS synap1680-deps
ARG TARGETARCH
ARG PIP_BREAK_SYSTEM_PACKAGES
RUN --mount=type=bind,from=synap1680-wheels,source=/wheels,target=/deps/synap-wheels \
@ -25,7 +25,7 @@ Examples of available modules are:
- `frigate.app`
- `frigate.app`
- `frigate.mqtt`
- `frigate.mqtt`
- `frigate.object_detection`
- `frigate.object_detection.base`
- `detector.<detector_name>`
- `detector.<detector_name>`
- `watchdog.<camera_name>`
- `watchdog.<camera_name>`
- `ffmpeg.<camera_name>.<sorted_roles>` NOTE: All FFmpeg logs are sent as `error` level.
- `ffmpeg.<camera_name>.<sorted_roles>` NOTE: All FFmpeg logs are sent as `error` level.
@ -53,6 +53,17 @@ environment_vars:
VARIABLE_NAME: variable_value
VARIABLE_NAME: variable_value
```
```
#### TensorFlow Thread Configuration
If you encounter thread creation errors during classification model training, you can limit TensorFlow's thread usage:
```yaml
environment_vars:
TF_INTRA_OP_PARALLELISM_THREADS: "2" # Threads within operations (0 = use default)
TF_INTER_OP_PARALLELISM_THREADS: "2" # Threads between operations (0 = use default)
TF_DATASET_THREAD_POOL_SIZE: "2" # Data pipeline threads (0 = use default)
```
### `database`
### `database`
Tracked object and recording information is managed in a sqlite database at `/config/frigate.db`. If that database is deleted, recordings will be orphaned and will need to be cleaned up manually. They also won't show up in the Media Browser within Home Assistant.
Tracked object and recording information is managed in a sqlite database at `/config/frigate.db`. If that database is deleted, recordings will be orphaned and will need to be cleaned up manually. They also won't show up in the Media Browser within Home Assistant.
By default, Frigate runs at the root path (`/`). However some setups require to run Frigate under a custom path prefix (e.g. `/frigate`), especially when Frigate is located behind a reverse proxy that requires path-based routing.
By default, Frigate runs at the root path (`/`). However some setups require to run Frigate under a custom path prefix (e.g. `/frigate`), especially when Frigate is located behind a reverse proxy that requires path-based routing.
### Set Base Path via HTTP Header
### Set Base Path via HTTP Header
The preferred way to configure the base path is through the `X-Ingress-Path` HTTP header, which needs to be set to the desired base path in an upstream reverse proxy.
The preferred way to configure the base path is through the `X-Ingress-Path` HTTP header, which needs to be set to the desired base path in an upstream reverse proxy.
For example, in Nginx:
For example, in Nginx:
```
```
location /frigate {
location /frigate {
proxy_set_header X-Ingress-Path /frigate;
proxy_set_header X-Ingress-Path /frigate;
@ -188,9 +201,11 @@ location /frigate {
```
```
### Set Base Path via Environment Variable
### Set Base Path via Environment Variable
When it is not feasible to set the base path via a HTTP header, it can also be set via the `FRIGATE_BASE_PATH` environment variable in the Docker Compose file.
When it is not feasible to set the base path via a HTTP header, it can also be set via the `FRIGATE_BASE_PATH` environment variable in the Docker Compose file.
For example:
For example:
```
```
services:
services:
frigate:
frigate:
@ -200,6 +215,7 @@ services:
```
```
This can be used for example to access Frigate via a Tailscale agent (https), by simply forwarding all requests to the base path (http):
This can be used for example to access Frigate via a Tailscale agent (https), by simply forwarding all requests to the base path (http):
The audio detector uses volume levels in the same way that motion in a camera feed is used for object detection. This means that frigate will not run audio detection unless the audio volume is above the configured level in order to reduce resource usage. Audio levels can vary widely between camera models so it is important to run tests to see what volume levels are. MQTT explorer can be used on the audio topic to see what volume level is being detected.
The audio detector uses volume levels in the same way that motion in a camera feed is used for object detection. This means that frigate will not run audio detection unless the audio volume is above the configured level in order to reduce resource usage. Audio levels can vary widely between camera models so it is important to run tests to see what volume levels are. The Debug view in the Frigate UI has an Audio tab for cameras that have the `audio` role assigned where a graph and the current levels are is displayed. The `min_volume` parameter should be set to the minimum the `RMS` level required to run audio detection.
:::tip
:::tip
@ -72,3 +72,106 @@ audio:
- speech
- speech
- yell
- yell
```
```
### Audio Transcription
Frigate supports fully local audio transcription using either `sherpa-onnx` or OpenAI’s open-source Whisper models via `faster-whisper`. The goal of this feature is to support Semantic Search for `speech` audio events. Frigate is not intended to act as a continuous, fully-automatic speech transcription service — automatically transcribing all speech (or queuing many audio events for transcription) requires substantial CPU (or GPU) resources and is impractical on most systems. For this reason, transcriptions for events are initiated manually from the UI or the API rather than being run continuously in the background.
Transcription accuracy also depends heavily on the quality of your camera's microphone and recording conditions. Many cameras use inexpensive microphones, and distance to the speaker, low audio bitrate, or background noise can significantly reduce transcription quality. If you need higher accuracy, more robust long-running queues, or large-scale automatic transcription, consider using the HTTP API in combination with an automation platform and a cloud transcription service.
#### Configuration
To enable transcription, enable it in your config. Note that audio detection must also be enabled as described above in order to use audio transcription features.
```yaml
audio_transcription:
enabled: True
device: ...
model_size: ...
```
Disable audio transcription for select cameras at the camera level:
```yaml
cameras:
back_yard:
...
audio_transcription:
enabled: False
```
:::note
Audio detection must be enabled and configured as described above in order to use audio transcription features.
:::
The optional config parameters that can be set at the global level include:
- **`enabled`**: Enable or disable the audio transcription feature.
- Default: `False`
- It is recommended to only configure the features at the global level, and enable it at the individual camera level.
- **`device`**: Device to use to run transcription and translation models.
- Default: `CPU`
- This can be `CPU` or `GPU`. The `sherpa-onnx` models are lightweight and run on the CPU only. The `whisper` models can run on GPU but are only supported on CUDA hardware.
- **`model_size`**: The size of the model used for live transcription.
- Default: `small`
- This can be `small` or `large`. The `small` setting uses `sherpa-onnx` models that are fast, lightweight, and always run on the CPU but are not as accurate as the `whisper` model.
- This config option applies to **live transcription only**. Recorded `speech` events will always use a different `whisper` model (and can be accelerated for CUDA hardware if available with `device: GPU`).
- **`language`**: Defines the language used by `whisper` to translate `speech` audio events (and live audio only if using the `large` model).
- Default: `en`
- You must use a valid [language code](https://github.com/openai/whisper/blob/main/whisper/tokenizer.py#L10).
- Transcriptions for `speech` events are translated.
- Live audio is translated only if you are using the `large` model. The `small``sherpa-onnx` model is English-only.
The only field that is valid at the camera level is `enabled`.
#### Live transcription
The single camera Live view in the Frigate UI supports live transcription of audio for streams defined with the `audio` role. Use the Enable/Disable Live Audio Transcription button/switch to toggle transcription processing. When speech is heard, the UI will display a black box over the top of the camera stream with text. The MQTT topic `frigate/<camera_name>/audio/transcription` will also be updated in real-time with transcribed text.
Results can be error-prone due to a number of factors, including:
- Poor quality camera microphone
- Distance of the audio source to the camera microphone
- Low audio bitrate setting in the camera
- Background noise
- Using the `small` model - it's fast, but not accurate for poor quality audio
For speech sources close to the camera with minimal background noise, use the `small` model.
If you have CUDA hardware, you can experiment with the `large``whisper` model on GPU. Performance is not quite as fast as the `sherpa-onnx``small` model, but live transcription is far more accurate. Using the `large` model with CPU will likely be too slow for real-time transcription.
#### Transcription and translation of `speech` audio events
Any `speech` events in Explore can be transcribed and/or translated through the Transcribe button in the Tracked Object Details pane.
In order to use transcription and translation for past events, you must enable audio detection and define `speech` as an audio type to listen for in your config. To have `speech` events translated into the language of your choice, set the `language` config parameter with the correct [language code](https://github.com/openai/whisper/blob/main/whisper/tokenizer.py#L10).
The transcribed/translated speech will appear in the description box in the Tracked Object Details pane. If Semantic Search is enabled, embeddings are generated for the transcription text and are fully searchable using the description search type.
:::note
Only one `speech` event may be transcribed at a time. Frigate does not automatically transcribe `speech` events or implement a queue for long-running transcription model inference.
:::
Recorded `speech` events will always use a `whisper` model, regardless of the `model_size` config setting. Without a supported Nvidia GPU, generating transcriptions for longer `speech` events may take a fair amount of time, so be patient.
#### FAQ
1. Why doesn't Frigate automatically transcribe all `speech` events?
Frigate does not implement a queue mechanism for speech transcription, and adding one is not trivial. A proper queue would need backpressure, prioritization, memory/disk buffering, retry logic, crash recovery, and safeguards to prevent unbounded growth when events outpace processing. That’s a significant amount of complexity for a feature that, in most real-world environments, would mostly just churn through low-value noise.
Because transcription is **serialized (one event at a time)** and speech events can be generated far faster than they can be processed, an auto-transcribe toggle would very quickly create an ever-growing backlog and degrade core functionality. For the amount of engineering and risk involved, it adds **very little practical value** for the majority of deployments, which are often on low-powered, edge hardware.
If you hear speech that’s actually important and worth saving/indexing for the future, **just press the transcribe button in Explore** on that specific `speech` event - that keeps things explicit, reliable, and under your control.
Other options are being considered for future versions of Frigate to add transcription options that support external `whisper` Docker containers. A single transcription service could then be shared by Frigate and other applications (for example, Home Assistant Voice), and run on more powerful machines when available.
2. Why don't you save live transcription text and use that for `speech` events?
There’s no guarantee that a `speech` event is even created from the exact audio that went through the transcription model. Live transcription and `speech` event creation are **separate, asynchronous processes**. Even when both are correctly configured, trying to align the **precise start and end time of a speech event** with whatever audio the model happened to be processing at that moment is unreliable.
Automatically persisting that data would often result in **misaligned, partial, or irrelevant transcripts**, while still incurring all of the CPU, storage, and privacy costs of transcription. That’s why Frigate treats transcription as an **explicit, user-initiated action** rather than an automatic side-effect of every `speech` event.
@ -59,6 +59,7 @@ The default session length for user authentication in Frigate is 24 hours. This
While the default provides a balance of security and convenience, you can customize this duration to suit your specific security requirements and user experience preferences. The session length is configured in seconds.
While the default provides a balance of security and convenience, you can customize this duration to suit your specific security requirements and user experience preferences. The session length is configured in seconds.
The default value of `86400` will expire the authentication session after 24 hours. Some other examples:
The default value of `86400` will expire the authentication session after 24 hours. Some other examples:
- `0`: Setting the session length to 0 will require a user to log in every time they access the application or after a very short, immediate timeout.
- `0`: Setting the session length to 0 will require a user to log in every time they access the application or after a very short, immediate timeout.
- `604800`: Setting the session length to 604800 will require a user to log in if the token is not refreshed for 7 days.
- `604800`: Setting the session length to 604800 will require a user to log in if the token is not refreshed for 7 days.
Frigate looks for a JWT token secret in the following order:
Frigate looks for a JWT token secret in the following order:
1. An environment variable named `FRIGATE_JWT_SECRET`
1. An environment variable named `FRIGATE_JWT_SECRET`
2. A docker secret named `FRIGATE_JWT_SECRET` in `/run/secrets/`
2. A file named `FRIGATE_JWT_SECRET` in the directory specified by the `CREDENTIALS_DIRECTORY` environment variable (defaults to the Docker Secrets directory: `/run/secrets/`)
3. A `jwt_secret` option from the Home Assistant Add-on options
3. A `jwt_secret` option from the Home Assistant Add-on options
4. A `.jwt_secret` file in the config directory
4. A `.jwt_secret` file in the config directory
@ -123,7 +124,7 @@ proxy:
role: x-forwarded-groups
role: x-forwarded-groups
```
```
Frigate supports both `admin` and `viewer` roles (see below). When using port `8971`, Frigate validates these headers and subsequent requests use the headers `remote-user` and `remote-role` for authorization.
Frigate supports `admin`, `viewer`, and custom roles (see below). When using port `8971`, Frigate validates these headers and subsequent requests use the headers `remote-user` and `remote-role` for authorization.
A default role can be provided. Any value in the mapped `role` header will override the default.
A default role can be provided. Any value in the mapped `role` header will override the default.
@ -133,6 +134,34 @@ proxy:
default_role: viewer
default_role: viewer
```
```
## Role mapping
In some environments, upstream identity providers (OIDC, SAML, LDAP, etc.) do not pass a Frigate-compatible role directly, but instead pass one or more group claims. To handle this, Frigate supports a `role_map` that translates upstream group names into Frigate’s internal roles (`admin`, `viewer`, or custom).
```yaml
proxy:
...
header_map:
user: x-forwarded-user
role: x-forwarded-groups
role_map:
admin:
- sysadmins
- access-level-security
viewer:
- camera-viewer
operator: # Custom role mapping
- operators
```
In this example:
- If the proxy passes a role header containing `sysadmins` or `access-level-security`, the user is assigned the `admin` role.
- If the proxy passes a role header containing `camera-viewer`, the user is assigned the `viewer` role.
- If the proxy passes a role header containing `operators`, the user is assigned the `operator` custom role.
- If no mapping matches, Frigate falls back to `default_role` if configured.
- If `role_map` is not defined, Frigate assumes the role header directly contains `admin`, `viewer`, or a custom role name.
#### Port Considerations
#### Port Considerations
**Authenticated Port (8971)**
**Authenticated Port (8971)**
@ -141,6 +170,7 @@ proxy:
- The `remote-role` header determines the user’s privileges:
- The `remote-role` header determines the user’s privileges:
- **admin** → Full access (user management, configuration changes).
- **admin** → Full access (user management, configuration changes).
- **viewer** → Read-only access.
- **viewer** → Read-only access.
- **Custom roles** → Read-only access limited to the cameras defined in `auth.roles[role]`.
- Ensure your **proxy sends both user and role headers** for proper role enforcement.
- Ensure your **proxy sends both user and role headers** for proper role enforcement.
**Unauthenticated Port (5000)**
**Unauthenticated Port (5000)**
@ -186,6 +216,41 @@ Frigate supports user roles to control access to certain features in the UI and
- **admin**: Full access to all features, including user management and configuration.
- **admin**: Full access to all features, including user management and configuration.
- **viewer**: Read-only access to the UI and API, including viewing cameras, review items, and historical footage. Configuration editor and settings in the UI are inaccessible.
- **viewer**: Read-only access to the UI and API, including viewing cameras, review items, and historical footage. Configuration editor and settings in the UI are inaccessible.
- **Custom Roles**: Arbitrary role names (alphanumeric, dots/underscores) with specific camera permissions. These extend the system for granular access (e.g., "operator" for select cameras).
### Custom Roles and Camera Access
The viewer role provides read-only access to all cameras in the UI and API. Custom roles allow admins to limit read-only access to specific cameras. Each role specifies an array of allowed camera names. If a user is assigned a custom role, their account is like the **viewer** role - they can only view Live, Review/History, Explore, and Export for the designated cameras. Backend API endpoints enforce this server-side (e.g., returning 403 for unauthorized cameras), and the frontend UI filters content accordingly (e.g., camera dropdowns show only permitted options).
### Role Configuration Example
```yaml
cameras:
front_door:
# ... camera config
side_yard:
# ... camera config
garage:
# ... camera config
auth:
enabled: true
roles:
operator: # Custom role
- front_door
- garage # Operator can access front and garage
neighbor:
- side_yard
```
If you want to provide access to all cameras to a specific user, just use the **viewer** role.
### Managing User Roles
1. Log in as an **admin** user via port `8971` (preferred), or unauthenticated via port `5000`.
2. Navigate to **Settings**.
3. In the **Users** section, edit a user’s role by selecting from available roles (admin, viewer, or custom).
4. In the **Roles** section, add/edit/delete custom roles (select cameras via switches). Deleting a role auto-reassigns users to "viewer".
@ -21,7 +21,7 @@ Frigate autotracking functions with PTZ cameras capable of relative movement wit
Many cheaper or older PTZs may not support this standard. Frigate will report an error message in the log and disable autotracking if your PTZ is unsupported.
Many cheaper or older PTZs may not support this standard. Frigate will report an error message in the log and disable autotracking if your PTZ is unsupported.
Alternatively, you can download and run [this simple Python script](https://gist.github.com/hawkeye217/152a1d4ba80760dac95d46e143d37112), replacing the details on line 4 with your camera's IP address, ONVIF port, username, and password to check your camera.
The FeatureList on the [ONVIF Conformant Products Database](https://www.onvif.org/conformant-products/) can provide a starting point to determine a camera's compatibility with Frigate's autotracking. Look to see if a camera lists `PTZRelative`, `PTZRelativePanTilt` and/or `PTZRelativeZoom`. These features are required for autotracking, but some cameras still fail to respond even if they claim support.
A growing list of cameras and brands that have been reported by users to work with Frigate's autotracking can be found [here](cameras.md).
A growing list of cameras and brands that have been reported by users to work with Frigate's autotracking can be found [here](cameras.md).
Reolink has older cameras (ex: 410 & 520) as well as newer camera (ex: 520a & 511wa) which support different subsets of options. In both cases using the http stream is recommended.
Reolink has many different camera models with inconsistently supported features and behavior. The below table shows a summary of various features and recommendations.
| Camera Resolution | Camera Generation | Recommended Stream Type | Additional Notes |
| 5MP or lower | All | http-flv | Stream is h264 |
| 6MP or higher | Latest (ex: Duo3, CX-8##) | http-flv with ffmpeg 8.0, or rtsp | This uses the new http-flv-enhanced over H265 which requires ffmpeg 8.0 |
| 6MP or higher | Older (ex: RLC-8##) | rtsp | |
Frigate works much better with newer reolink cameras that are setup with the below options:
Frigate works much better with newer reolink cameras that are setup with the below options:
If available, recommended settings are:
If available, recommended settings are:
@ -157,19 +164,35 @@ According to [this discussion](https://github.com/blakeblackshear/frigate/issues
Cameras connected via a Reolink NVR can be connected with the http stream, use `channel[0..15]` in the stream url for the additional channels.
Cameras connected via a Reolink NVR can be connected with the http stream, use `channel[0..15]` in the stream url for the additional channels.
The setup of main stream can be also done via RTSP, but isn't always reliable on all hardware versions. The example configuration is working with the oldest HW version RLN16-410 device with multiple types of cameras.
The setup of main stream can be also done via RTSP, but isn't always reliable on all hardware versions. The example configuration is working with the oldest HW version RLN16-410 device with multiple types of cameras.
:::warning
<details>
<summary>Example Config</summary>
The below configuration only works for reolink cameras with stream resolution of 5MP or lower, 8MP+ cameras need to use RTSP as http-flv is not supported in this case.
:::tip
Reolink's latest cameras support two way audio via go2rtc and other applications. It is important that the http-flv stream is still used for stability, a secondary rtsp stream can be added that will be using for the two way audio only.
NOTE: The RTSP stream can not be prefixed with `ffmpeg:`, as go2rtc needs to handle the stream to support two way audio.
Ensure HTTP is enabled in the camera's advanced network settings. To use two way talk with Frigate, see the [Live view documentation](/configuration/live#two-way-talk).
:::
:::
```yaml
```yaml
go2rtc:
go2rtc:
streams:
streams:
# example for connecting to a standard Reolink camera
- "ffmpeg:http://reolink_nvr_ip/flv?port=1935&app=bcs&stream=channel3_main.bcs&user=username&password=password" # channel numbers are 0-15
- "ffmpeg:http://reolink_nvr_ip/flv?port=1935&app=bcs&stream=channel3_main.bcs&user=username&password=password" # channel numbers are 0-15
- "ffmpeg:your_reolink_camera_via_nvr#audio=aac"
- "ffmpeg:your_reolink_camera_via_nvr#audio=aac"
@ -200,22 +223,7 @@ cameras:
roles:
roles:
- detect
- detect
```
```
</details>
#### Reolink Doorbell
The reolink doorbell supports two way audio via go2rtc and other applications. It is important that the http-flv stream is still used for stability, a secondary rtsp stream can be added that will be using for the two way audio only.
Ensure HTTP is enabled in the camera's advanced network settings. To use two way talk with Frigate, see the [Live view documentation](/configuration/live#two-way-talk).
[See the go2rtc docs for more information](https://github.com/AlexxIT/go2rtc/tree/v1.9.9#source-rtsp)
[See the go2rtc docs for more information](https://github.com/AlexxIT/go2rtc/tree/v1.9.10#source-rtsp)
In the Unifi 2.0 update Unifi Protect Cameras had a change in audio sample rate which causes issues for ffmpeg. The input rate needs to be set for record if used directly with unifi protect.
In the Unifi 2.0 update Unifi Protect Cameras had a change in audio sample rate which causes issues for ffmpeg. The input rate needs to be set for record if used directly with unifi protect.
@ -249,6 +257,7 @@ TP-Link VIGI cameras need some adjustments to the main stream settings on the ca
To use a USB camera (webcam) with Frigate, the recommendation is to use go2rtc's [FFmpeg Device](https://github.com/AlexxIT/go2rtc?tab=readme-ov-file#source-ffmpeg-device) support:
To use a USB camera (webcam) with Frigate, the recommendation is to use go2rtc's [FFmpeg Device](https://github.com/AlexxIT/go2rtc?tab=readme-ov-file#source-ffmpeg-device) support:
- Preparation outside of Frigate:
- Preparation outside of Frigate:
- Get USB camera path. Run `v4l2-ctl --list-devices` to get a listing of locally-connected cameras available. (You may need to install `v4l-utils` in a way appropriate for your Linux distribution). In the sample configuration below, we use `video=0` to correlate with a detected device path of `/dev/video0`
- Get USB camera path. Run `v4l2-ctl --list-devices` to get a listing of locally-connected cameras available. (You may need to install `v4l-utils` in a way appropriate for your Linux distribution). In the sample configuration below, we use `video=0` to correlate with a detected device path of `/dev/video0`
- Get USB camera formats & resolutions. Run `ffmpeg -f v4l2 -list_formats all -i /dev/video0` to get an idea of what formats and resolutions the USB Camera supports. In the sample configuration below, we use a width of 1024 and height of 576 in the stream and detection settings based on what was reported back.
- Get USB camera formats & resolutions. Run `ffmpeg -f v4l2 -list_formats all -i /dev/video0` to get an idea of what formats and resolutions the USB Camera supports. In the sample configuration below, we use a width of 1024 and height of 576 in the stream and detection settings based on what was reported back.
- If using Frigate in a container (e.g. Docker on TrueNAS), ensure you have USB Passthrough support enabled, along with a specific Host Device (`/dev/video0`) + Container Device (`/dev/video0`) listed.
- If using Frigate in a container (e.g. Docker on TrueNAS), ensure you have USB Passthrough support enabled, along with a specific Host Device (`/dev/video0`) + Container Device (`/dev/video0`) listed.
@ -259,7 +268,7 @@ To use a USB camera (webcam) with Frigate, the recommendation is to use go2rtc's
@ -89,34 +89,35 @@ An ONVIF-capable camera that supports relative movement within the field of view
## ONVIF PTZ camera recommendations
## ONVIF PTZ camera recommendations
This list of working and non-working PTZ cameras is based on user feedback.
This list of working and non-working PTZ cameras is based on user feedback. If you'd like to report specific quirks or issues with a manufacturer or camera that would be helpful for other users, open a pull request to add to this list.
| Brand or specific camera | PTZ Controls | Autotracking | Notes |
The FeatureList on the [ONVIF Conformant Products Database](https://www.onvif.org/conformant-products/) can provide a starting point to determine a camera's compatibility with Frigate's autotracking. Look to see if a camera lists `PTZRelative`, `PTZRelativePanTilt` and/or `PTZRelativeZoom`. These features are required for autotracking, but some cameras still fail to respond even if they claim support. If they are missing, autotracking will not work (though basic PTZ in the WebUI might). Avoid cameras with no database entry unless they are confirmed as working below.
| Annke CZ504 | ✅ | ✅ | Annke support provide specific firmware ([V5.7.1 build 250227](https://github.com/pierrepinon/annke_cz504/raw/refs/heads/main/digicap_V5-7-1_build_250227.dav)) to fix issue with ONVIF "TranslationSpaceFov" |
| Amcrest IP4M-S2112EW-AI | ✅ | ❌ | FOV relative movement not supported. |
| Ctronics PTZ | ✅ | ❌ | |
| Amcrest IP5M-1190EW | ✅ | ❌ | ONVIF Port: 80. FOV relative movement not supported. |
| Dahua | ✅ | ✅ | Some low-end Dahuas (lite series, among others) have been reported to not support autotracking |
| Annke CZ504 | ✅ | ✅ | Annke support provide specific firmware ([V5.7.1 build 250227](https://github.com/pierrepinon/annke_cz504/raw/refs/heads/main/digicap_V5-7-1_build_250227.dav)) to fix issue with ONVIF "TranslationSpaceFov" |
| Dahua DH-SD2A500HB | ✅ | ❌ | |
| Ctronics PTZ | ✅ | ❌ | |
| Dahua DH-SD49825GB-HNR | ✅ | ✅ | |
| Dahua | ✅ | ✅ | Some low-end Dahuas (lite series, picoo series (commonly), among others) have been reported to not support autotracking. These models usually don't have a four digit model number with chassis prefix and options postfix (e.g. DH-P5AE-PV vs DH-SD49825GB-HNR). |
| Dahua DH-P5AE-PV | ❌ | ❌ | |
| Dahua DH-SD2A500HB | ✅ | ❌ | |
| Foscam R5 | ✅ | ❌ | |
| Dahua DH-SD49825GB-HNR | ✅ | ✅ | |
| Hanwha XNP-6550RH | ✅ | ❌ | |
| Dahua DH-P5AE-PV | ❌ | ❌ | |
| Hikvision | ✅ | ❌ | Incomplete ONVIF support (MoveStatus won't update even on latest firmware) - reported with HWP-N4215IH-DE and DS-2DE3304W-DE, but likely others |
| Foscam | ✅ | ❌ | In general support PTZ, but not relative move. There are no official ONVIF certifications and tests available on the ONVIF Conformant Products Database | |
| Hikvision DS-2DE3A404IWG-E/W | ✅ | ✅ | |
| Foscam R5 | ✅ | ❌ | |
| Reolink 511WA | ✅ | ❌ | Zoom only |
| Foscam SD4 | ✅ | ❌ | |
| Reolink E1 Pro | ✅ | ❌ | |
| Hanwha XNP-6550RH | ✅ | ❌ | |
| Reolink E1 Zoom | ✅ | ❌ | |
| Hikvision | ✅ | ❌ | Incomplete ONVIF support (MoveStatus won't update even on latest firmware) - reported with HWP-N4215IH-DE and DS-2DE3304W-DE, but likely others |
| Reolink RLC-823A 16x | ✅ | ❌ | |
| Hikvision DS-2DE3A404IWG-E/W | ✅ | ✅ | |
| Speco O8P32X | ✅ | ❌ | |
| Reolink | ✅ | ❌ | |
| Sunba 405-D20X | ✅ | ❌ | Incomplete ONVIF support reported on original, and 4k models. All models are suspected incompatable. |
| Speco O8P32X | ✅ | ❌ | |
| Tapo | ✅ | ❌ | Many models supported, ONVIF Service Port: 2020 |
| Sunba 405-D20X | ✅ | ❌ | Incomplete ONVIF support reported on original, and 4k models. All models are suspected incompatable. |
| Uniview IPC672LR-AX4DUPK | ✅ | ❌ | Firmware says FOV relative movement is supported, but camera doesn't actually move when sending ONVIF commands |
| Tapo | ✅ | ❌ | Many models supported, ONVIF Service Port: 2020 |
| Uniview IPC6612SR-X33-VG | ✅ | ✅ | Leave `calibrate_on_startup` as `False`. A user has reported that zooming with `absolute` is working. |
| Uniview IPC672LR-AX4DUPK | ✅ | ❌ | Firmware says FOV relative movement is supported, but camera doesn't actually move when sending ONVIF commands |
Object classification allows you to train a custom MobileNetV2 classification model to run on tracked objects (persons, cars, animals, etc.) to identify a finer category or attribute for that object.
## Minimum System Requirements
Object classification models are lightweight and run very fast on CPU. Inference should be usable on virtually any machine that can run Frigate.
Training the model does briefly use a high amount of system resources for about 1–3 minutes per training run. On lower-power devices, training may take longer.
## Classes
Classes are the categories your model will learn to distinguish between. Each class represents a distinct visual category that the model will predict.
For object classification:
- Define classes that represent different types or attributes of the detected object
- Examples: For `person` objects, classes might be `delivery_person`, `resident`, `stranger`
- Include a `none` class for objects that don't fit any specific category
- Keep classes visually distinct to improve accuracy
### Classification Type
- **Sub label**:
- Applied to the object’s `sub_label` field.
- Ideal for a single, more specific identity or type.
- Example: `cat` → `Leo`, `Charlie`, `None`.
- **Attribute**:
- Added as metadata to the object (visible in /events): `<model_name>: <predicted_value>`.
- Ideal when multiple attributes can coexist independently.
- Example: Detecting if a `person` in a construction yard is wearing a helmet or not.
## Assignment Requirements
Sub labels and attributes are only assigned when both conditions are met:
1. **Threshold**: Each classification attempt must have a confidence score that meets or exceeds the configured `threshold` (default: `0.8`).
2. **Class Consensus**: After at least 3 classification attempts, 60% of attempts must agree on the same class label. If the consensus class is `none`, no assignment is made.
This two-step verification prevents false positives by requiring consistent predictions across multiple frames before assigning a sub label or attribute.
## Example use cases
### Sub label
- **Known pet vs unknown**: For `dog` objects, set sub label to your pet’s name (e.g., `buddy`) or `none` for others.
- **Mail truck vs normal car**: For `car`, classify as `mail_truck` vs `car` to filter important arrivals.
- **Delivery vs non-delivery person**: For `person`, classify `delivery` vs `visitor` based on uniform/props.
### Attributes
- **Backpack**: For `person`, add attribute `backpack: yes/no`.
- **Helmet**: For `person` (worksite), add `helmet: yes/no`.
- **Leash**: For `dog`, add `leash: yes/no` (useful for park or yard rules).
- **Ladder rack**: For `truck`, add `ladder_rack: yes/no` to flag service vehicles.
## Configuration
Object classification is configured as a custom classification model. Each model has its own name and settings. You must list which object labels should be classified.
```yaml
classification:
custom:
dog:
threshold: 0.8
object_config:
objects: [dog] # object labels to classify
classification_type: sub_label # or: attribute
```
## Training the model
Creating and training the model is done within the Frigate UI using the `Classification` page. The process consists of two steps:
### Step 1: Name and Define
Enter a name for your model, select the object label to classify (e.g., `person`, `dog`, `car`), choose the classification type (sub label or attribute), and define your classes. Include a `none` class for objects that don't fit any specific category.
### Step 2: Assign Training Examples
The system will automatically generate example images from detected objects matching your selected label. You'll be guided through each class one at a time to select which images represent that class. Any images not assigned to a specific class will automatically be assigned to `none` when you complete the last class. Once all images are processed, training will begin automatically.
When choosing which objects to classify, start with a small number of visually distinct classes and ensure your training samples match camera viewpoints and distances typical for those objects.
### Improving the Model
- **Problem framing**: Keep classes visually distinct and relevant to the chosen object types.
- **Data collection**: Use the model’s Recent Classification tab to gather balanced examples across times of day, weather, and distances.
- **Preprocessing**: Ensure examples reflect object crops similar to Frigate’s boxes; keep the subject centered.
- **Labels**: Keep label names short and consistent; include a `none` class if you plan to ignore uncertain predictions for sub labels.
- **Threshold**: Tune `threshold` per model to reduce false assignments. Start at `0.8` and adjust based on validation.
State classification allows you to train a custom MobileNetV2 classification model on a fixed region of your camera frame(s) to determine a current state. The model can be configured to run on a schedule and/or when motion is detected in that region.
## Minimum System Requirements
State classification models are lightweight and run very fast on CPU. Inference should be usable on virtually any machine that can run Frigate.
Training the model does briefly use a high amount of system resources for about 1–3 minutes per training run. On lower-power devices, training may take longer.
## Classes
Classes are the different states an area on your camera can be in. Each class represents a distinct visual state that the model will learn to recognize.
For state classification:
- Define classes that represent mutually exclusive states
- Examples: `open` and `closed` for a garage door, `on` and `off` for lights
- Use at least 2 classes (typically binary states work best)
- Keep class names clear and descriptive
## Example use cases
- **Door state**: Detect if a garage or front door is open vs closed.
- **Gate state**: Track if a driveway gate is open or closed.
- **Trash day**: Bins at curb vs no bins present.
- **Pool cover**: Cover on vs off.
## Configuration
State classification is configured as a custom classification model. Each model has its own name and settings. You must provide at least one camera crop under `state_config.cameras`.
```yaml
classification:
custom:
front_door:
threshold: 0.8
state_config:
motion: true # run when motion overlaps the crop
interval: 10 # also run every N seconds (optional)
cameras:
front:
crop: [0, 180, 220, 400]
```
## Training the model
Creating and training the model is done within the Frigate UI using the `Classification` page. The process consists of three steps:
### Step 1: Name and Define
Enter a name for your model and define at least 2 classes (states) that represent mutually exclusive states. For example, `open` and `closed` for a door, or `on` and `off` for lights.
### Step 2: Select the Crop Area
Choose one or more cameras and draw a rectangle over the area of interest for each camera. The crop should be tight around the region you want to classify to avoid extra signals unrelated to what is being classified. You can drag and resize the rectangle to adjust the crop area.
### Step 3: Assign Training Examples
The system will automatically generate example images from your camera feeds. You'll be guided through each class one at a time to select which images represent that state.
**Important**: All images must be assigned to a state before training can begin. This includes images that may not be optimal, such as when people temporarily block the view, sun glare is present, or other distractions occur. Assign these images to the state that is actually present (based on what you know the state to be), not based on the distraction. This training helps the model correctly identify the state even when such conditions occur during inference.
Once all images are assigned, training will begin automatically.
### Improving the Model
- **Problem framing**: Keep classes visually distinct and state-focused (e.g., `open`, `closed`, `unknown`). Avoid combining object identity with state in a single model unless necessary.
- **Data collection**: Use the model's Recent Classifications tab to gather balanced examples across times of day and weather.
- **When to train**: Focus on cases where the model is entirely incorrect or flips between states when it should not. There's no need to train additional images when the model is already working consistently.
- **Selecting training images**: Images scoring below 100% due to new conditions (e.g., first snow of the year, seasonal changes) or variations (e.g., objects temporarily in view, insects at night) are good candidates for training, as they represent scenarios different from the default state. Training these lower-scoring images that differ from existing training data helps prevent overfitting. Avoid training large quantities of images that look very similar, especially if they already score 100% as this can lead to overfitting.
@ -24,7 +24,7 @@ Frigate needs to first detect a `person` before it can detect and recognize a fa
Frigate has support for two face recognition model types:
Frigate has support for two face recognition model types:
- **small**: Frigate will run a FaceNet embedding model to recognize faces, which runs locally on the CPU. This model is optimized for efficiency and is not as accurate.
- **small**: Frigate will run a FaceNet embedding model to recognize faces, which runs locally on the CPU. This model is optimized for efficiency and is not as accurate.
- **large**: Frigate will run a large ArcFace embedding model that is optimized for accuracy. It is only recommended to be run when an integrated or dedicated GPU is available.
- **large**: Frigate will run a large ArcFace embedding model that is optimized for accuracy. It is only recommended to be run when an integrated or dedicated GPU / NPU is available.
In both cases, a lightweight face landmark detection model is also used to align faces before running recognition.
In both cases, a lightweight face landmark detection model is also used to align faces before running recognition.
@ -34,7 +34,7 @@ All of these features run locally on your system.
The `small` model is optimized for efficiency and runs on the CPU, most CPUs should run the model efficiently.
The `small` model is optimized for efficiency and runs on the CPU, most CPUs should run the model efficiently.
The `large` model is optimized for accuracy, an integrated or discrete GPU is required. See the [Hardware Accelerated Enrichments](/configuration/hardware_acceleration_enrichments.md) documentation.
The `large` model is optimized for accuracy, an integrated or discrete GPU / NPU is required. See the [Hardware Accelerated Enrichments](/configuration/hardware_acceleration_enrichments.md) documentation.
## Configuration
## Configuration
@ -70,9 +70,12 @@ Fine-tune face recognition with these optional parameters at the global level of
- `min_faces`: Min face recognitions for the sub label to be applied to the person object.
- `min_faces`: Min face recognitions for the sub label to be applied to the person object.
- Default: `1`
- Default: `1`
- `save_attempts`: Number of images of recognized faces to save for training.
- `save_attempts`: Number of images of recognized faces to save for training.
- Default: `100`.
- Default: `200`.
- `blur_confidence_filter`: Enables a filter that calculates how blurry the face is and adjusts the confidence based on this.
- `blur_confidence_filter`: Enables a filter that calculates how blurry the face is and adjusts the confidence based on this.
- Default: `True`.
- Default: `True`.
- `device`: Target a specific device to run the face recognition model on (multi-GPU installation).
- Default: `None`.
- Note: This setting is only applicable when using the `large` model. See [onnxruntime's provider options](https://onnxruntime.ai/docs/execution-providers/)
## Usage
## Usage
@ -111,9 +114,9 @@ When choosing images to include in the face training set it is recommended to al
:::
:::
### Understanding the Train Tab
### Understanding the Recent Recognitions Tab
The Train tab in the face library displays recent face recognition attempts. Detected face images are grouped according to the person they were identified as potentially matching.
The Recent Recognitions tab in the face library displays recent face recognition attempts. Detected face images are grouped according to the person they were identified as potentially matching.
Each face image is labeled with a name (or `Unknown`) along with the confidence score of the recognition attempt. While each image can be used to train the system for a specific person, not all images are suitable for training.
Each face image is labeled with a name (or `Unknown`) along with the confidence score of the recognition attempt. While each image can be used to train the system for a specific person, not all images are suitable for training.
@ -137,7 +140,7 @@ Once front-facing images are performing well, start choosing slightly off-angle
Start with the [Usage](#usage) section and re-read the [Model Requirements](#model-requirements) above.
Start with the [Usage](#usage) section and re-read the [Model Requirements](#model-requirements) above.
1. Ensure `person` is being _detected_. A `person` will automatically be scanned by Frigate for a face. Any detected faces will appear in the Train tab in the Frigate UI's Face Library.
1. Ensure `person` is being _detected_. A `person` will automatically be scanned by Frigate for a face. Any detected faces will appear in the Recent Recognitions tab in the Frigate UI's Face Library.
If you are using a Frigate+ or `face` detecting model:
If you are using a Frigate+ or `face` detecting model:
@ -158,6 +161,8 @@ Start with the [Usage](#usage) section and re-read the [Model Requirements](#mod
Accuracy is definitely a going to be improved with higher quality cameras / streams. It is important to look at the DORI (Detection Observation Recognition Identification) range of your camera, if that specification is posted. This specification explains the distance from the camera that a person can be detected, observed, recognized, and identified. The identification range is the most relevant here, and the distance listed by the camera is the furthest that face recognition will realistically work.
Accuracy is definitely a going to be improved with higher quality cameras / streams. It is important to look at the DORI (Detection Observation Recognition Identification) range of your camera, if that specification is posted. This specification explains the distance from the camera that a person can be detected, observed, recognized, and identified. The identification range is the most relevant here, and the distance listed by the camera is the furthest that face recognition will realistically work.
Some users have also noted that setting the stream in camera firmware to a constant bit rate (CBR) leads to better image clarity than with a variable bit rate (VBR).
### Why can't I bulk upload photos?
### Why can't I bulk upload photos?
It is important to methodically add photos to the library, bulk importing photos (especially from a general photo library) will lead to over-fitting in that particular scenario and hurt recognition performance.
It is important to methodically add photos to the library, bulk importing photos (especially from a general photo library) will lead to over-fitting in that particular scenario and hurt recognition performance.
@ -183,7 +188,7 @@ Avoid training on images that already score highly, as this can lead to over-fit
No, face recognition does not support negative training (i.e., explicitly telling it who someone is _not_). Instead, the best approach is to improve the training data by using a more diverse and representative set of images for each person.
No, face recognition does not support negative training (i.e., explicitly telling it who someone is _not_). Instead, the best approach is to improve the training data by using a more diverse and representative set of images for each person.
For more guidance, refer to the section above on improving recognition accuracy.
For more guidance, refer to the section above on improving recognition accuracy.
### I see scores above the threshold in the train tab, but a sub label wasn't assigned?
### I see scores above the threshold in the Recent Recognitions tab, but a sub label wasn't assigned?
The Frigate considers the recognition scores across all recognition attempts for each person object. The scores are continually weighted based on the area of the face, and a sub label will only be assigned to person if a person is confidently recognized consistently. This avoids cases where a single high confidence recognition would throw off the results.
The Frigate considers the recognition scores across all recognition attempts for each person object. The scores are continually weighted based on the area of the face, and a sub label will only be assigned to person if a person is confidently recognized consistently. This avoids cases where a single high confidence recognition would throw off the results.
@ -9,19 +9,18 @@ Requests for a description are sent off automatically to your AI provider at the
## Configuration
## Configuration
Generative AI can be enabled for all cameras or only for specific cameras. There are currently 3 native providers available to integrate with Frigate. Other providers that support the OpenAI standard API can also be used. See the OpenAI section below.
Generative AI can be enabled for all cameras or only for specific cameras. If GenAI is disabled for a camera, you can still manually generate descriptions for events using the HTTP API. There are currently 3 native providers available to integrate with Frigate. Other providers that support the OpenAI standard API can also be used. See the OpenAI section below.
To use Generative AI, you must define a single provider at the global level of your Frigate configuration. If the provider you choose requires an API key, you may either directly paste it in your configuration, or store it in an environment variable prefixed with `FRIGATE_`.
To use Generative AI, you must define a single provider at the global level of your Frigate configuration. If the provider you choose requires an API key, you may either directly paste it in your configuration, or store it in an environment variable prefixed with `FRIGATE_`.
By default, descriptions will be generated for all tracked objects and all zones. But you can also optionally specify `objects` and `required_zones` to only generate descriptions for certain tracked objects or zones.
By default, descriptions will be generated for all tracked objects and all zones. But you can also optionally specify `objects` and `required_zones` to only generate descriptions for certain tracked objects or zones.
Optionally, you can generate the description using a snapshot (if enabled) by setting `use_snapshot` to `True`. By default, this is set to `False`, which sends the uncompressed images from the `detect` stream collected over the object's lifetime to the model. Once the object lifecycle ends, only a single compressed and cropped thumbnail is saved with the tracked object. Using a snapshot might be useful when you want to _regenerate_ a tracked object's description as it will provide the AI with a higher-quality image (typically downscaled by the AI itself) than the cropped/compressed thumbnail. Using a snapshot otherwise has a trade-off in that only a single image is sent to your provider, which will limit the model's ability to determine object movement or direction.
Optionally, you can generate the description using a snapshot (if enabled) by setting `use_snapshot` to `True`. By default, this is set to `False`, which sends the uncompressed images from the `detect` stream collected over the object's lifetime to the model. Once the object lifecycle ends, only a single compressed and cropped thumbnail is saved with the tracked object. Using a snapshot might be useful when you want to _regenerate_ a tracked object's description as it will provide the AI with a higher-quality image (typically downscaled by the AI itself) than the cropped/compressed thumbnail. Using a snapshot otherwise has a trade-off in that only a single image is sent to your provider, which will limit the model's ability to determine object movement or direction.
Generative AI can also be toggled dynamically for a camera via MQTT with the topic `frigate/<camera_name>/object_descriptions/set`. See the [MQTT documentation](/integrations/mqtt/#frigatecamera_nameobjectdescriptionsset).
## Ollama
## Ollama
:::warning
:::warning
@ -66,10 +68,9 @@ You should have at least 8 GB of RAM available (or VRAM if running on GPU) to ru
```yaml
```yaml
genai:
genai:
enabled: True
provider: ollama
provider: ollama
base_url: http://localhost:11434
base_url: http://localhost:11434
model: llava:7b
model: qwen3-vl:4b
```
```
## Google Gemini
## Google Gemini
@ -78,7 +79,7 @@ Google Gemini has a free tier allowing [15 queries per minute](https://ai.google
### Supported Models
### Supported Models
You must use a vision capable model with Frigate. Current model variants can be found [in their documentation](https://ai.google.dev/gemini-api/docs/models/gemini). At the time of writing, this includes `gemini-1.5-pro` and `gemini-1.5-flash`.
You must use a vision capable model with Frigate. Current model variants can be found [in their documentation](https://ai.google.dev/gemini-api/docs/models/gemini).
### Get API Key
### Get API Key
@ -93,19 +94,24 @@ To start using Gemini, you must first get an API key from [Google AI Studio](htt
```yaml
```yaml
genai:
genai:
enabled: True
provider: gemini
provider: gemini
api_key: "{FRIGATE_GEMINI_API_KEY}"
api_key: "{FRIGATE_GEMINI_API_KEY}"
model: gemini-1.5-flash
model: gemini-2.0-flash
```
```
:::note
To use a different Gemini-compatible API endpoint, set the `GEMINI_BASE_URL` environment variable to your provider's API URL.
:::
## OpenAI
## OpenAI
OpenAI does not have a free tier for their API. With the release of gpt-4o, pricing has been reduced and each generation should cost fractions of a cent if you choose to go this route.
OpenAI does not have a free tier for their API. With the release of gpt-4o, pricing has been reduced and each generation should cost fractions of a cent if you choose to go this route.
### Supported Models
### Supported Models
You must use a vision capable model with Frigate. Current model variants can be found [in their documentation](https://platform.openai.com/docs/models). At the time of writing, this includes `gpt-4o` and `gpt-4-turbo`.
You must use a vision capable model with Frigate. Current model variants can be found [in their documentation](https://platform.openai.com/docs/models).
### Get API Key
### Get API Key
@ -115,7 +121,6 @@ To start using OpenAI, you must first [create an API key](https://platform.opena
```yaml
```yaml
genai:
genai:
enabled: True
provider: openai
provider: openai
api_key: "{FRIGATE_OPENAI_API_KEY}"
api_key: "{FRIGATE_OPENAI_API_KEY}"
model: gpt-4o
model: gpt-4o
@ -133,19 +138,19 @@ Microsoft offers several vision models through Azure OpenAI. A subscription is r
### Supported Models
### Supported Models
You must use a vision capable model with Frigate. Current model variants can be found [in their documentation](https://learn.microsoft.com/en-us/azure/ai-services/openai/concepts/models). At the time of writing, this includes `gpt-4o` and `gpt-4-turbo`.
You must use a vision capable model with Frigate. Current model variants can be found [in their documentation](https://learn.microsoft.com/en-us/azure/ai-services/openai/concepts/models).
### Create Resource and Get API Key
### Create Resource and Get API Key
To start using Azure OpenAI, you must first [create a resource](https://learn.microsoft.com/azure/cognitive-services/openai/how-to/create-resource?pivots=web-portal#create-a-resource). You'll need your API key and resource URL, which must include the `api-version` parameter (see the example below). The model field is not required in your configuration as the model is part of the deployment name you chose when deploying the resource.
To start using Azure OpenAI, you must first [create a resource](https://learn.microsoft.com/azure/cognitive-services/openai/how-to/create-resource?pivots=web-portal#create-a-resource). You'll need your API key, model name, and resource URL, which must include the `api-version` parameter (see the example below).
@ -186,32 +191,35 @@ You are also able to define custom prompts in your configuration.
```yaml
```yaml
genai:
genai:
enabled: True
provider: ollama
provider: ollama
base_url: http://localhost:11434
base_url: http://localhost:11434
model: llava
model: llava
objects:
prompt: "Analyze the {label} in these images from the {camera} security camera. Focus on the actions, behavior, and potential intent of the {label}, rather than just describing its appearance."
prompt: "Analyze the {label} in these images from the {camera} security camera. Focus on the actions, behavior, and potential intent of the {label}, rather than just describing its appearance."
object_prompts:
object_prompts:
person: "Examine the main person in these images. What are they doing and what might their actions suggest about their intent (e.g., approaching a door, leaving an area, standing still)? Do not describe the surroundings or static details."
person: "Examine the main person in these images. What are they doing and what might their actions suggest about their intent (e.g., approaching a door, leaving an area, standing still)? Do not describe the surroundings or static details."
car: "Observe the primary vehicle in these images. Focus on its movement, direction, or purpose (e.g., parking, approaching, circling). If it's a delivery vehicle, mention the company."
car: "Observe the primary vehicle in these images. Focus on its movement, direction, or purpose (e.g., parking, approaching, circling). If it's a delivery vehicle, mention the company."
```
```
Prompts can also be overriden at the camera level to provide a more detailed prompt to the model about your specific camera, if you desire.
Prompts can also be overridden at the camera level to provide a more detailed prompt to the model about your specific camera, if you desire.
```yaml
```yaml
cameras:
cameras:
front_door:
front_door:
genai:
objects:
use_snapshot: True
genai:
prompt: "Analyze the {label} in these images from the {camera} security camera at the front door. Focus on the actions and potential intent of the {label}."
enabled: True
object_prompts:
use_snapshot: True
person: "Examine the person in these images. What are they doing, and how might their actions suggest their purpose (e.g., delivering something, approaching, leaving)? If they are carrying or interacting with a package, include details about its source or destination."
prompt: "Analyze the {label} in these images from the {camera} security camera at the front door. Focus on the actions and potential intent of the {label}."
cat: "Observe the cat in these images. Focus on its movement and intent (e.g., wandering, hunting, interacting with objects). If the cat is near the flower pots or engaging in any specific actions, mention it."
object_prompts:
objects:
person: "Examine the person in these images. What are they doing, and how might their actions suggest their purpose (e.g., delivering something, approaching, leaving)? If they are carrying or interacting with a package, include details about its source or destination."
- person
cat: "Observe the cat in these images. Focus on its movement and intent (e.g., wandering, hunting, interacting with objects). If the cat is near the flower pots or engaging in any specific actions, mention it."
A Generative AI provider can be configured in the global config, which will make the Generative AI features available for use. There are currently 3 native providers available to integrate with Frigate. Other providers that support the OpenAI standard API can also be used. See the OpenAI section below.
To use Generative AI, you must define a single provider at the global level of your Frigate configuration. If the provider you choose requires an API key, you may either directly paste it in your configuration, or store it in an environment variable prefixed with `FRIGATE_`.
## Ollama
:::warning
Using Ollama on CPU is not recommended, high inference times make using Generative AI impractical.
:::
[Ollama](https://ollama.com/) allows you to self-host large language models and keep everything running locally. It provides a nice API over [llama.cpp](https://github.com/ggerganov/llama.cpp). It is highly recommended to host this server on a machine with an Nvidia graphics card, or on a Apple silicon Mac for best performance.
Most of the 7b parameter 4-bit vision models will fit inside 8GB of VRAM. There is also a [Docker container](https://hub.docker.com/r/ollama/ollama) available.
Parallel requests also come with some caveats. You will need to set `OLLAMA_NUM_PARALLEL=1` and choose a `OLLAMA_MAX_QUEUE` and `OLLAMA_MAX_LOADED_MODELS` values that are appropriate for your hardware and preferences. See the [Ollama documentation](https://github.com/ollama/ollama/blob/main/docs/faq.md#how-does-ollama-handle-concurrent-requests).
### Supported Models
You must use a vision capable model with Frigate. Current model variants can be found [in their model library](https://ollama.com/library). Note that Frigate will not automatically download the model you specify in your config, Ollama will try to download the model but it may take longer than the timeout, it is recommended to pull the model beforehand by running `ollama pull your_model` on your Ollama server/Docker container. Note that the model specified in Frigate's config must match the downloaded model tag.
:::info
Each model is available in multiple parameter sizes (3b, 4b, 8b, etc.). Larger sizes are more capable of complex tasks and understanding of situations, but requires more memory and computational resources. It is recommended to try multiple models and experiment to see which performs best.
:::
:::tip
If you are trying to use a single model for Frigate and HomeAssistant, it will need to support vision and tools calling. qwen3-VL supports vision and tools simultaneously in Ollama.
| `Intern3.5VL` | Relatively fast with good vision comprehension |
| `gemma3` | Strong frame-to-frame understanding, slower inference times |
| `qwen2.5-vl` | Fast but capable model with good vision comprehension |
:::note
You should have at least 8 GB of RAM available (or VRAM if running on GPU) to run the 7B models, 16 GB to run the 13B models, and 32 GB to run the 33B models.
:::
### Configuration
```yaml
genai:
provider: ollama
base_url: http://localhost:11434
model: minicpm-v:8b
provider_options: # other Ollama client options can be defined
keep_alive: -1
options:
num_ctx: 8192 # make sure the context matches other services that are using ollama
```
## Google Gemini
Google Gemini has a free tier allowing [15 queries per minute](https://ai.google.dev/pricing) to the API, which is more than sufficient for standard Frigate usage.
### Supported Models
You must use a vision capable model with Frigate. Current model variants can be found [in their documentation](https://ai.google.dev/gemini-api/docs/models/gemini). At the time of writing, this includes `gemini-1.5-pro` and `gemini-1.5-flash`.
### Get API Key
To start using Gemini, you must first get an API key from [Google AI Studio](https://aistudio.google.com).
1. Accept the Terms of Service
2. Click "Get API Key" from the right hand navigation
3. Click "Create API key in new project"
4. Copy the API key for use in your config
### Configuration
```yaml
genai:
provider: gemini
api_key: "{FRIGATE_GEMINI_API_KEY}"
model: gemini-1.5-flash
```
## OpenAI
OpenAI does not have a free tier for their API. With the release of gpt-4o, pricing has been reduced and each generation should cost fractions of a cent if you choose to go this route.
### Supported Models
You must use a vision capable model with Frigate. Current model variants can be found [in their documentation](https://platform.openai.com/docs/models). At the time of writing, this includes `gpt-4o` and `gpt-4-turbo`.
### Get API Key
To start using OpenAI, you must first [create an API key](https://platform.openai.com/api-keys) and [configure billing](https://platform.openai.com/settings/organization/billing/overview).
### Configuration
```yaml
genai:
provider: openai
api_key: "{FRIGATE_OPENAI_API_KEY}"
model: gpt-4o
```
:::note
To use a different OpenAI-compatible API endpoint, set the `OPENAI_BASE_URL` environment variable to your provider's API URL.
:::
## Azure OpenAI
Microsoft offers several vision models through Azure OpenAI. A subscription is required.
### Supported Models
You must use a vision capable model with Frigate. Current model variants can be found [in their documentation](https://learn.microsoft.com/en-us/azure/ai-services/openai/concepts/models). At the time of writing, this includes `gpt-4o` and `gpt-4-turbo`.
### Create Resource and Get API Key
To start using Azure OpenAI, you must first [create a resource](https://learn.microsoft.com/azure/cognitive-services/openai/how-to/create-resource?pivots=web-portal#create-a-resource). You'll need your API key and resource URL, which must include the `api-version` parameter (see the example below). The model field is not required in your configuration as the model is part of the deployment name you chose when deploying the resource.
Generative AI can be used to automatically generate descriptive text based on the thumbnails of your tracked objects. This helps with [Semantic Search](/configuration/semantic_search) in Frigate to provide more context about your tracked objects. Descriptions are accessed via the _Explore_ view in the Frigate UI by clicking on a tracked object's thumbnail.
Requests for a description are sent off automatically to your AI provider at the end of the tracked object's lifecycle, or can optionally be sent earlier after a number of significantly changed frames, for example in use in more real-time notifications. Descriptions can also be regenerated manually via the Frigate UI. Note that if you are manually entering a description for tracked objects prior to its end, this will be overwritten by the generated response.
By default, descriptions will be generated for all tracked objects and all zones. But you can also optionally specify `objects` and `required_zones` to only generate descriptions for certain tracked objects or zones.
Optionally, you can generate the description using a snapshot (if enabled) by setting `use_snapshot` to `True`. By default, this is set to `False`, which sends the uncompressed images from the `detect` stream collected over the object's lifetime to the model. Once the object lifecycle ends, only a single compressed and cropped thumbnail is saved with the tracked object. Using a snapshot might be useful when you want to _regenerate_ a tracked object's description as it will provide the AI with a higher-quality image (typically downscaled by the AI itself) than the cropped/compressed thumbnail. Using a snapshot otherwise has a trade-off in that only a single image is sent to your provider, which will limit the model's ability to determine object movement or direction.
Generative AI object descriptions can also be toggled dynamically for a camera via MQTT with the topic `frigate/<camera_name>/object_descriptions/set`. See the [MQTT documentation](/integrations/mqtt/#frigatecamera_nameobjectdescriptionsset).
## Usage and Best Practices
Frigate's thumbnail search excels at identifying specific details about tracked objects – for example, using an "image caption" approach to find a "person wearing a yellow vest," "a white dog running across the lawn," or "a red car on a residential street." To enhance this further, Frigate’s default prompts are designed to ask your AI provider about the intent behind the object's actions, rather than just describing its appearance.
While generating simple descriptions of detected objects is useful, understanding intent provides a deeper layer of insight. Instead of just recognizing "what" is in a scene, Frigate’s default prompts aim to infer "why" it might be there or "what" it could do next. Descriptions tell you what’s happening, but intent gives context. For instance, a person walking toward a door might seem like a visitor, but if they’re moving quickly after hours, you can infer a potential break-in attempt. Detecting a person loitering near a door at night can trigger an alert sooner than simply noting "a person standing by the door," helping you respond based on the situation’s context.
## Custom Prompts
Frigate sends multiple frames from the tracked object along with a prompt to your Generative AI provider asking it to generate a description. The default prompt is as follows:
```
Analyze the sequence of images containing the {label}. Focus on the likely intent or behavior of the {label} based on its actions and movement, rather than describing its appearance or the surroundings. Consider what the {label} is doing, why, and what it might do next.
```
:::tip
Prompts can use variable replacements `{label}`, `{sub_label}`, and `{camera}` to substitute information from the tracked object as part of the prompt.
:::
You are also able to define custom prompts in your configuration.
```yaml
genai:
provider: ollama
base_url: http://localhost:11434
model: llava
objects:
prompt: "Analyze the {label} in these images from the {camera} security camera. Focus on the actions, behavior, and potential intent of the {label}, rather than just describing its appearance."
object_prompts:
person: "Examine the main person in these images. What are they doing and what might their actions suggest about their intent (e.g., approaching a door, leaving an area, standing still)? Do not describe the surroundings or static details."
car: "Observe the primary vehicle in these images. Focus on its movement, direction, or purpose (e.g., parking, approaching, circling). If it's a delivery vehicle, mention the company."
```
Prompts can also be overridden at the camera level to provide a more detailed prompt to the model about your specific camera, if you desire.
```yaml
cameras:
front_door:
objects:
genai:
enabled: True
use_snapshot: True
prompt: "Analyze the {label} in these images from the {camera} security camera at the front door. Focus on the actions and potential intent of the {label}."
object_prompts:
person: "Examine the person in these images. What are they doing, and how might their actions suggest their purpose (e.g., delivering something, approaching, leaving)? If they are carrying or interacting with a package, include details about its source or destination."
cat: "Observe the cat in these images. Focus on its movement and intent (e.g., wandering, hunting, interacting with objects). If the cat is near the flower pots or engaging in any specific actions, mention it."
objects:
- person
- cat
required_zones:
- steps
```
### Experiment with prompts
Many providers also have a public facing chat interface for their models. Download a couple of different thumbnails or snapshots from Frigate and try new things in the playground to get descriptions to your liking before updating the prompt in Frigate.
- OpenAI - [ChatGPT](https://chatgpt.com)
- Gemini - [Google AI Studio](https://aistudio.google.com)
Generative AI can be used to automatically generate structured summaries of review items. These summaries will show up in Frigate's native notifications as well as in the UI. Generative AI can also be used to take a collection of summaries over a period of time and provide a report, which may be useful to get a quick report of everything that happened while out for some amount of time.
Requests for a summary are requested automatically to your AI provider for alert review items when the activity has ended, they can also be optionally enabled for detections as well.
Generative AI review summaries can also be toggled dynamically for a [camera via MQTT](/integrations/mqtt/#frigatecamera_namereviewdescriptionsset).
## Review Summary Usage and Best Practices
Review summaries provide structured JSON responses that are saved for each review item:
```
- `title` (string): A concise, direct title that describes the purpose or overall action (e.g., "Person taking out trash", "Joe walking dog").
- `scene` (string): A narrative description of what happens across the sequence from start to finish, including setting, detected objects, and their observable actions.
- `confidence` (float): 0-1 confidence in the analysis. Higher confidence when objects/actions are clearly visible and context is unambiguous.
- `other_concerns` (list): List of user-defined concerns that may need additional investigation.
- `potential_threat_level` (integer): 0, 1, or 2 as defined below.
```
This will show in multiple places in the UI to give additional context about each activity, and allow viewing more details when extra attention is required. Frigate's built in notifications will also automatically show the title and description when the data is available.
### Defining Typical Activity
Each installation and even camera can have different parameters for what is considered suspicious activity. Frigate allows the `activity_context_prompt` to be defined globally and at the camera level, which allows you to define more specifically what should be considered normal activity. It is important that this is not overly specific as it can sway the output of the response.
- Deliveries or services during daytime/evening (6 AM - 10 PM): carrying packages to doors/porches, placing items, leaving
- Services/maintenance workers with visible tools, uniforms, or service vehicles during daytime
- Activity confined to public areas only (sidewalks, streets) without entering property at any time
### Suspicious Activity Indicators (Level 1)
- **Testing or attempting to open doors/windows/handles on vehicles or buildings** — ALWAYS Level 1 regardless of time or duration
- **Unidentified person in private areas (driveways, near vehicles/buildings) during late night/early morning (11 PM - 5 AM)** — ALWAYS Level 1 regardless of activity or duration
- Taking items that don't belong to them (packages, objects from porches/driveways)
- Climbing or jumping fences/barriers to access property
- Attempting to conceal actions or items from view
- Prolonged loitering: remaining in same area without visible purpose throughout most of the sequence
- Otherwise, if daytime/evening (6 AM - 10 PM) with clear legitimate purpose (delivery, service worker) → Level 0
3. **Escalate to Level 2 if:** Weapons, break-in tools, forced entry in progress, violence, or active property damage visible (escalates from Level 0 or 1)
The mere presence of an unidentified person in private areas during late night hours is inherently suspicious and warrants human review, regardless of what activity they appear to be doing or how brief the sequence is.
```
</details>
### Image Source
By default, review summaries use preview images (cached preview frames) which have a lower resolution but use fewer tokens per image. For better image quality and more detailed analysis, you can configure Frigate to extract frames directly from recordings at a higher resolution:
```yaml
review:
genai:
enabled: true
image_source: recordings # Options: "preview" (default) or "recordings"
```
When using `recordings`, frames are extracted at 480px height while maintaining the camera's original aspect ratio, providing better detail for the LLM while being mindful of context window size. This is particularly useful for scenarios where fine details matter, such as identifying license plates, reading text, or analyzing distant objects.
The number of frames sent to the LLM is dynamically calculated based on:
- Your LLM provider's context window size
- The camera's resolution and aspect ratio (ultrawide cameras like 32:9 use more tokens per image)
- The image source (recordings use more tokens than preview images)
Frame counts are automatically optimized to use ~98% of the available context window while capping at 20 frames maximum to ensure reasonable inference times. Note that using recordings will:
- Provide higher quality images to the LLM (480p vs 180p preview images)
- Use more tokens per image due to higher resolution
- Result in fewer frames being sent for ultrawide cameras due to larger image size
- Require that recordings are enabled for the camera
If recordings are not available for a given time period, the system will automatically fall back to using preview frames.
### Additional Concerns
Along with the concern of suspicious activity or immediate threat, you may have concerns such as animals in your garden or a gate being left open. These concerns can be configured so that the review summaries will make note of them if the activity requires additional review. For example:
```yaml
review:
genai:
enabled: true
additional_concerns:
- animals in the garden
```
## Review Reports
Along with individual review item summaries, Generative AI provides the ability to request a report of a given time period. For example, you can get a daily report while on a vacation of any suspicious activity or other concerns that may require review.
### Requesting Reports Programmatically
Review reports can be requested via the [API](/integrations/api#review-summarization) by sending a POST request to `/api/review/summarize/start/{start_ts}/end/{end_ts}` with Unix timestamps.
For Home Assistant users, there is a built-in service (`frigate.generate_review_summary`) that makes it easy to request review reports as part of automations or scripts. This allows you to automatically generate daily summaries, vacation reports, or custom time period reports based on your specific needs.
Some of Frigate's enrichments can use a discrete GPU for accelerated processing.
Some of Frigate's enrichments can use a discrete GPU or integrated GPU for accelerated processing.
## Requirements
## Requirements
Object detection and enrichments (like Semantic Search, Face Recognition, and License Plate Recognition) are independent features. To use a GPU for object detection, see the [Object Detectors](/configuration/object_detectors.md) documentation. If you want to use your GPU for any supported enrichments, you must choose the appropriate Frigate Docker image for your GPU and configure the enrichment according to its specific documentation.
Object detection and enrichments (like Semantic Search, Face Recognition, and License Plate Recognition) are independent features. To use a GPU / NPU for object detection, see the [Object Detectors](/configuration/object_detectors.md) documentation. If you want to use your GPU for any supported enrichments, you must choose the appropriate Frigate Docker image for your GPU / NPU and configure the enrichment according to its specific documentation.
- **AMD**
- **AMD**
@ -18,11 +18,16 @@ Object detection and enrichments (like Semantic Search, Face Recognition, and Li
- **Intel**
- **Intel**
- OpenVINO will automatically be detected and used for enrichments in the default Frigate image.
- OpenVINO will automatically be detected and used for enrichments in the default Frigate image.
- **Note:** Intel NPUs have limited model support for enrichments. GPU is recommended for enrichments when available.
- **Nvidia**
- **Nvidia**
- Nvidia GPUs will automatically be detected and used for enrichments in the `-tensorrt` Frigate image.
- Nvidia GPUs will automatically be detected and used for enrichments in the `-tensorrt` Frigate image.
- Jetson devices will automatically be detected and used for enrichments in the `-tensorrt-jp6` Frigate image.
- Jetson devices will automatically be detected and used for enrichments in the `-tensorrt-jp6` Frigate image.
- **RockChip**
- RockChip NPU will automatically be detected and used for semantic search v1 and face recognition in the `-rk` Frigate image.
Utilizing a GPU for enrichments does not require you to use the same GPU for object detection. For example, you can run the `tensorrt` Docker image for enrichments and still use other dedicated hardware like a Coral or Hailo for object detection. However, one combination that is not supported is TensorRT for object detection and OpenVINO for enrichments.
Utilizing a GPU for enrichments does not require you to use the same GPU for object detection. For example, you can run the `tensorrt` Docker image for enrichments and still use other dedicated hardware like a Coral or Hailo for object detection. However, one combination that is not supported is TensorRT for object detection and OpenVINO for enrichments.
@ -9,7 +9,6 @@ It is highly recommended to use a GPU for hardware acceleration video decoding i
Depending on your system, these parameters may not be compatible. More information on hardware accelerated decoding for ffmpeg can be found here: https://trac.ffmpeg.org/wiki/HWAccelIntro
Depending on your system, these parameters may not be compatible. More information on hardware accelerated decoding for ffmpeg can be found here: https://trac.ffmpeg.org/wiki/HWAccelIntro
# Object Detection
## Raspberry Pi 3/4
## Raspberry Pi 3/4
@ -229,7 +228,7 @@ Additional configuration is needed for the Docker container to be able to access
Hardware accelerated video de-/encoding is supported on Synpatics SL-series SoC.
### Prerequisites
Make sure to follow the [Synaptics specific installation instructions](/frigate/installation#synaptics).
### Configuration
Add one of the following FFmpeg presets to your `config.yml` to enable hardware video processing:
```yaml
ffmpeg:
hwaccel_args: -c:v h264_v4l2m2m
input_args: preset-rtsp-restream
output_args:
record: preset-record-generic-audio-aac
```
:::warning
Make sure that your SoC supports hardware acceleration for your input stream and your input stream is h264 encoding. For example, if your camera streams with h264 encoding, your SoC must be able to de- and encode with it. If you are unsure whether your SoC meets the requirements, take a look at the datasheet.
Frigate can recognize license plates on vehicles and automatically add the detected characters to the `recognized_license_plate` field or a known name as a `sub_label` to tracked objects of type `car` or `motorcycle`. A common use case may be to read the license plates of cars pulling into a driveway or cars passing by on a street.
Frigate can recognize license plates on vehicles and automatically add the detected characters to the `recognized_license_plate` field or a [known](#matching) name as a `sub_label` to tracked objects of type `car` or `motorcycle`. A common use case may be to read the license plates of cars pulling into a driveway or cars passing by on a street.
LPR works best when the license plate is clearly visible to the camera. For moving vehicles, Frigate continuously refines the recognition process, keeping the most confident result. However, LPR does not run on stationary vehicles.
LPR works best when the license plate is clearly visible to the camera. For moving vehicles, Frigate continuously refines the recognition process, keeping the most confident result. When a vehicle becomes stationary, LPR continues to run for a short time after to attempt recognition.
When a plate is recognized, the details are:
When a plate is recognized, the details are:
- Added as a `sub_label` (if known) or the `recognized_license_plate` field (if unknown) to a tracked object.
- Added as a `sub_label` (if [known](#matching)) or the `recognized_license_plate` field (if unknown) to a tracked object.
- Viewable in the Review Item Details pane in Review (sub labels).
- Viewable in the Details pane in Review/History.
- Viewable in the Tracked Object Details pane in Explore (sub labels and recognized license plates).
- Viewable in the Tracked Object Details pane in Explore (sub labels and recognized license plates).
- Filterable through the More Filters menu in Explore.
- Filterable through the More Filters menu in Explore.
- Published via the `frigate/events` MQTT topic as a `sub_label` (known) or `recognized_license_plate` (unknown) for the `car` or `motorcycle` tracked object.
- Published via the `frigate/events` MQTT topic as a `sub_label` ([known](#matching)) or `recognized_license_plate` (unknown) for the `car` or `motorcycle` tracked object.
- Published via the `frigate/tracked_object_update` MQTT topic with `name` (if known) and `plate`.
- Published via the `frigate/tracked_object_update` MQTT topic with `name` (if [known](#matching)) and `plate`.
## Model Requirements
## Model Requirements
@ -30,7 +30,7 @@ In the default mode, Frigate's LPR needs to first detect a `car` or `motorcycle`
## Minimum System Requirements
## Minimum System Requirements
License plate recognition works by running AI models locally on your system. The models are relatively lightweight and can run on your CPU or GPU, depending on your configuration. At least 4GB of RAM is required.
License plate recognition works by running AI models locally on your system. The YOLOv9 plate detector model and the OCR models ([PaddleOCR](https://github.com/PaddlePaddle/PaddleOCR)) are relatively lightweight and can run on your CPU or GPU, depending on your configuration. At least 4GB of RAM is required.
## Configuration
## Configuration
@ -67,12 +67,15 @@ Fine-tune the LPR feature using these optional parameters at the global level of
- **`min_area`**: Defines the minimum area (in pixels) a license plate must be before recognition runs.
- **`min_area`**: Defines the minimum area (in pixels) a license plate must be before recognition runs.
- Default: `1000` pixels. Note: this is intentionally set very low as it is an _area_ measurement (length x width). For reference, 1000 pixels represents a ~32x32 pixel square in your camera image.
- Default: `1000` pixels. Note: this is intentionally set very low as it is an _area_ measurement (length x width). For reference, 1000 pixels represents a ~32x32 pixel square in your camera image.
- Depending on the resolution of your camera's `detect` stream, you can increase this value to ignore small or distant plates.
- Depending on the resolution of your camera's `detect` stream, you can increase this value to ignore small or distant plates.
- **`device`**: Device to use to run license plate recognition models.
- **`device`**: Device to use to run license plate detection _and_recognition models.
- Default: `CPU`
- Default: `CPU`
- This can be `CPU` or `GPU`. For users without a model that detects license plates natively, using a GPU may increase performance of the models, especially the YOLOv9 license plate detector model. See the [Hardware Accelerated Enrichments](/configuration/hardware_acceleration_enrichments.md) documentation.
- This can be `CPU`, `GPU`, or the GPU's device number. For users without a model that detects license plates natively, using a GPU may increase performance of the YOLOv9 license plate detector model. See the [Hardware Accelerated Enrichments](/configuration/hardware_acceleration_enrichments.md) documentation. However, for users who run a model that detects `license_plate` natively, there is little to no performance gain reported with running LPR on GPU compared to the CPU.
- **`model_size`**: The size of the model used to detect text on plates.
- **`model_size`**: The size of the model used to identify regions of text on plates.
- Default: `small`
- Default: `small`
- This can be `small` or `large`. The `large` model uses an enhanced text detector and is more accurate at finding text on plates but slower than the `small` model. For most users, the small model is recommended. For users in countries with multiple lines of text on plates, the large model is recommended. Note that using the large model does not improve _text recognition_, but it may improve _text detection_.
- This can be `small` or `large`.
- The `small` model is fast and identifies groups of Latin and Chinese characters.
- The `large` model identifies Latin characters only, and uses an enhanced text detector to find characters on multi-line plates. It is significantly slower than the `small` model.
- If your country or region does not use multi-line plates, you should use the `small` model as performance is much better for single-line plates.
### Recognition
### Recognition
@ -102,6 +105,32 @@ Fine-tune the LPR feature using these optional parameters at the global level of
- This setting is best adjusted at the camera level if running LPR on multiple cameras.
- This setting is best adjusted at the camera level if running LPR on multiple cameras.
- If Frigate is already recognizing plates correctly, leave this setting at the default of `0`. However, if you're experiencing frequent character issues or incomplete plates and you can already easily read the plates yourself, try increasing the value gradually, starting at 5 and adjusting as needed. You should see how different enhancement levels affect your plates. Use the `debug_save_plates` configuration option (see below).
- If Frigate is already recognizing plates correctly, leave this setting at the default of `0`. However, if you're experiencing frequent character issues or incomplete plates and you can already easily read the plates yourself, try increasing the value gradually, starting at 5 and adjusting as needed. You should see how different enhancement levels affect your plates. Use the `debug_save_plates` configuration option (see below).
### Normalization Rules
- **`replace_rules`**: List of regex replacement rules to normalize detected plates. These rules are applied sequentially and are applied _before_ the `format` regex, if specified. Each rule must have a `pattern` (which can be a string or a regex, prepended by `r`) and `replacement` (a string, which also supports [backrefs](https://docs.python.org/3/library/re.html#re.sub) like `\1`). These rules are useful for dealing with common OCR issues like noise characters, separators, or confusions (e.g., 'O'→'0').
These rules must be defined at the global level of your `lpr` config.
- Any changes made by the rules are printed to the LPR debug log.
- Tip: You can test patterns with tools like regex101.com.
### Debugging
### Debugging
- **`debug_save_plates`**: Set to `True` to save captured text on plates for debugging. These images are stored in `/media/frigate/clips/lpr`, organized into subdirectories by `<camera>/<event_id>`, and named based on the capture timestamp.
- **`debug_save_plates`**: Set to `True` to save captured text on plates for debugging. These images are stored in `/media/frigate/clips/lpr`, organized into subdirectories by `<camera>/<event_id>`, and named based on the capture timestamp.
@ -136,6 +165,9 @@ lpr:
recognition_threshold: 0.85
recognition_threshold: 0.85
format: "^[A-Z]{2} [A-Z][0-9]{4}$" # Only recognize plates that are two letters, followed by a space, followed by a single letter and 4 numbers
format: "^[A-Z]{2} [A-Z][0-9]{4}$" # Only recognize plates that are two letters, followed by a space, followed by a single letter and 4 numbers
match_distance: 1 # Allow one character variation in plate matching
match_distance: 1 # Allow one character variation in plate matching
replace_rules:
- pattern: "O"
replacement: "0" # Replace the letter O with the number 0 in every plate
known_plates:
known_plates:
Delivery Van:
Delivery Van:
- "RJ K5678"
- "RJ K5678"
@ -146,7 +178,7 @@ lpr:
:::note
:::note
If you want to detect cars on cameras but don't want to use resources to run LPR on those cars, you should disable LPR for those specific cameras.
If a camera is configured to detect `car` or `motorcycle` but you don't want Frigate to run LPR for that camera, disable LPR at the camera level:
```yaml
```yaml
cameras:
cameras:
@ -274,7 +306,7 @@ With this setup:
- Review items will always be classified as a `detection`.
- Review items will always be classified as a `detection`.
- Snapshots will always be saved.
- Snapshots will always be saved.
- Zones and object masks are **not** used.
- Zones and object masks are **not** used.
- The `frigate/events` MQTT topic will **not** publish tracked object updates with the license plate bounding box and score, though `frigate/reviews` will publish if recordings are enabled. If a plate is recognized as a known plate, publishing will occur with an updated `sub_label` field. If characters are recognized, publishing will occur with an updated `recognized_license_plate` field.
- The `frigate/events` MQTT topic will **not** publish tracked object updates with the license plate bounding box and score, though `frigate/reviews` will publish if recordings are enabled. If a plate is recognized as a [known](#matching) plate, publishing will occur with an updated `sub_label` field. If characters are recognized, publishing will occur with an updated `recognized_license_plate` field.
- License plate snapshots are saved at the highest-scoring moment and appear in Explore.
- License plate snapshots are saved at the highest-scoring moment and appear in Explore.
- Debug view will not show `license_plate` bounding boxes.
- Debug view will not show `license_plate` bounding boxes.
@ -174,7 +174,9 @@ For devices that support two way talk, Frigate can be configured to use the feat
- Ensure you access Frigate via https (may require [opening port 8971](/frigate/installation/#ports)).
- Ensure you access Frigate via https (may require [opening port 8971](/frigate/installation/#ports)).
- For the Home Assistant Frigate card, [follow the docs](http://card.camera/#/usage/2-way-audio) for the correct source.
- For the Home Assistant Frigate card, [follow the docs](http://card.camera/#/usage/2-way-audio) for the correct source.
To use the Reolink Doorbell with two way talk, you should use the [recommended Reolink configuration](/configuration/camera_specific#reolink-doorbell)
To use the Reolink Doorbell with two way talk, you should use the [recommended Reolink configuration](/configuration/camera_specific#reolink-cameras)
As a starting point to check compatibility for your camera, view the list of cameras supported for two-way talk on the [go2rtc repository](https://github.com/AlexxIT/go2rtc?tab=readme-ov-file#two-way-audio). For cameras in the category `ONVIF Profile T`, you can use the [ONVIF Conformant Products Database](https://www.onvif.org/conformant-products/)'s FeatureList to check for the presence of `AudioOutput`. A camera that supports `ONVIF Profile T`_usually_ supports this, but due to inconsistent support, a camera that explicitly lists this feature may still not work. If no entry for your camera exists on the database, it is recommended not to buy it or to consult with the manufacturer's support on the feature availability.
### Streaming options on camera group dashboards
### Streaming options on camera group dashboards
@ -212,6 +214,42 @@ For restreamed cameras, go2rtc remains active but does not use system resources
Note that disabling a camera through the config file (`enabled: False`) removes all related UI elements, including historical footage access. To retain access while disabling the camera, keep it enabled in the config and use the UI or MQTT to disable it temporarily.
Note that disabling a camera through the config file (`enabled: False`) removes all related UI elements, including historical footage access. To retain access while disabling the camera, keep it enabled in the config and use the UI or MQTT to disable it temporarily.
### Live player error messages
When your browser runs into problems playing back your camera streams, it will log short error messages to the browser console. They indicate playback, codec, or network issues on the client/browser side, not something server side with Frigate itself. Below are the common messages you may see and simple actions you can take to try to resolve them.
- **startup**
- What it means: The player failed to initialize or connect to the live stream (network or startup error).
- What to try: Reload the Live view or click _Reset_. Verify `go2rtc` is running and the camera stream is reachable. Try switching to a different stream from the Live UI dropdown (if available) or use a different browser.
- Possible console messages from the player code:
- `Error opening MediaSource.`
- `Browser reported a network error.`
- `Max error count ${errorCount} exceeded.` (the numeric value will vary)
- **mse-decode**
- What it means: The browser reported a decoding error while trying to play the stream, which usually is a result of a codec incompatibility or corrupted frames.
- What to try: Check the browser console for the supported and negotiated codecs. Ensure your camera/restream is using H.264 video and AAC audio (these are the most compatible). If your camera uses a non-standard audio codec, configure `go2rtc` to transcode the stream to AAC. Try another browser (some browsers have stricter MSE/codec support) and, for iPhone, ensure you're on iOS 17.1 or newer.
- Possible console messages from the player code:
- `Safari cannot open MediaSource.`
- `Safari reported InvalidStateError.`
- `Safari reported decoding errors.`
- **stalled**
- What it means: Playback has stalled because the player has fallen too far behind live (extended buffering or no data arriving).
- What to try: This is usually indicative of the browser struggling to decode too many high-resolution streams at once. Try selecting a lower-bandwidth stream (substream), reduce the number of live streams open, improve the network connection, or lower the camera resolution. Also check your camera's keyframe (I-frame) interval — shorter intervals make playback start and recover faster. You can also try increasing the timeout value in the UI pane of Frigate's settings.
- Possible console messages from the player code:
- `Buffer time (10 seconds) exceeded, browser may not be playing media correctly.`
- `Media playback has stalled after <n> seconds due to insufficient buffering or a network interruption.` (the seconds value will vary)
## Live view FAQ
## Live view FAQ
1. **Why don't I have audio in my Live view?**
1. **Why don't I have audio in my Live view?**
@ -228,7 +266,27 @@ Note that disabling a camera through the config file (`enabled: False`) removes
If you are using continuous streaming or you are loading more than a few high resolution streams at once on the dashboard, your browser may struggle to begin playback of your streams before the timeout. Frigate always prioritizes showing a live stream as quickly as possible, even if it is a lower quality jsmpeg stream. You can use the "Reset" link/button to try loading your high resolution stream again.
If you are using continuous streaming or you are loading more than a few high resolution streams at once on the dashboard, your browser may struggle to begin playback of your streams before the timeout. Frigate always prioritizes showing a live stream as quickly as possible, even if it is a lower quality jsmpeg stream. You can use the "Reset" link/button to try loading your high resolution stream again.
If you are still experiencing Frigate falling back to low bandwidth mode, you may need to adjust your camera's settings per the [recommendations above](#camera_settings_recommendations).
Errors in stream playback (e.g., connection failures, codec issues, or buffering timeouts) that cause the fallback to low bandwidth mode (jsmpeg) are logged to the browser console for easier debugging. These errors may include:
- Network issues (e.g., MSE or WebRTC network connection problems).
- Unsupported codecs or stream formats (e.g., H.265 in WebRTC, which is not supported in some browsers).
- Buffering timeouts or low bandwidth conditions causing fallback to jsmpeg.
- Browser compatibility problems (e.g., iOS Safari limitations with MSE).
To view browser console logs:
1. Open the Frigate Live View in your browser.
2. Open the browser's Developer Tools (F12 or right-click > Inspect > Console tab).
3. Reproduce the error (e.g., load a problematic stream or simulate network issues).
4. Look for messages prefixed with the camera name.
These logs help identify if the issue is player-specific (MSE vs. WebRTC) or related to camera configuration (e.g., go2rtc streams, codecs). If you see frequent errors:
- Verify your camera's H.264/AAC settings (see [Frigate's camera settings recommendations](#camera_settings_recommendations)).
- Check go2rtc configuration for transcoding (e.g., audio to AAC/OPUS).
- Test with a different stream via the UI dropdown (if `live -> streams` is configured).
- For WebRTC-specific issues, ensure port 8555 is forwarded and candidates are set (see (WebRTC Extra Configuration)(#webrtc-extra-configuration)).
- If your cameras are streaming at a high resolution, your browser may be struggling to load all of the streams before the buffering timeout occurs. Frigate prioritizes showing a true live view as quickly as possible. If the fallback occurs often, change your live view settings to use a lower bandwidth substream.
3. **It doesn't seem like my cameras are streaming on the Live dashboard. Why?**
3. **It doesn't seem like my cameras are streaming on the Live dashboard. Why?**
@ -251,3 +309,42 @@ Note that disabling a camera through the config file (`enabled: False`) removes
6. **I have unmuted some cameras on my dashboard, but I do not hear sound. Why?**
6. **I have unmuted some cameras on my dashboard, but I do not hear sound. Why?**
If your camera is streaming (as indicated by a red dot in the upper right, or if it has been set to continuous streaming mode), your browser may be blocking audio until you interact with the page. This is an intentional browser limitation. See [this article](https://developer.mozilla.org/en-US/docs/Web/Media/Autoplay_guide#autoplay_availability). Many browsers have a whitelist feature to change this behavior.
If your camera is streaming (as indicated by a red dot in the upper right, or if it has been set to continuous streaming mode), your browser may be blocking audio until you interact with the page. This is an intentional browser limitation. See [this article](https://developer.mozilla.org/en-US/docs/Web/Media/Autoplay_guide#autoplay_availability). Many browsers have a whitelist feature to change this behavior.
7. **My camera streams have lots of visual artifacts / distortion.**
Some cameras don't include the hardware to support multiple connections to the high resolution stream, and this can cause unexpected behavior. In this case it is recommended to [restream](./restream.md) the high resolution stream so that it can be used for live view and recordings.
8. **Why does my camera stream switch aspect ratios on the Live dashboard?**
Your camera may change aspect ratios on the dashboard because Frigate uses different streams for different purposes. With go2rtc and Smart Streaming, Frigate shows a static image from the `detect` stream when no activity is present, and switches to the live stream when motion is detected. The camera image will change size if your streams use different aspect ratios.
To prevent this, make the `detect` stream match the go2rtc live stream's aspect ratio (resolution does not need to match, just the aspect ratio). You can either adjust the camera's output resolution or set the `width` and `height` values in your config's `detect` section to a resolution with an aspect ratio that matches.
Example: Resolutions from two streams
- Mismatched (may cause aspect ratio switching on the dashboard):
- Live/go2rtc stream: 1920x1080 (16:9)
- Detect stream: 640x352 (~1.82:1, not 16:9)
- Matched (prevents switching):
- Live/go2rtc stream: 1920x1080 (16:9)
- Detect stream: 640x360 (16:9)
You can update the detect settings in your camera config to match the aspect ratio of your go2rtc live stream. For example:
```yaml
cameras:
front_door:
detect:
width: 640
height: 360 # set this to 360 instead of 352
ffmpeg:
inputs:
- path: rtsp://127.0.0.1:8554/front_door # main stream 1920x1080
roles:
- record
- path: rtsp://127.0.0.1:8554/front_door_sub # sub stream 640x352
import CommunityBadge from '@site/src/components/CommunityBadge';
# Supported Hardware
# Supported Hardware
:::info
:::info
@ -11,14 +13,20 @@ Frigate supports multiple different detectors that work on different types of ha
**Most Hardware**
**Most Hardware**
- [Coral EdgeTPU](#edge-tpu-detector): The Google Coral EdgeTPU is available in USB and m.2 format allowing for a wide range of compatibility with devices.
- [Coral EdgeTPU](#edge-tpu-detector): The Google Coral EdgeTPU is available in USB, Mini PCIe, and m.2 formats allowing for a wide range of compatibility with devices.
- [Hailo](#hailo-8): The Hailo8 and Hailo8L AI Acceleration module is available in m.2 format with a HAT for RPi devices, offering a wide range of compatibility with devices.
- [Hailo](#hailo-8): The Hailo8 and Hailo8L AI Acceleration module is available in m.2 format with a HAT for RPi devices, offering a wide range of compatibility with devices.
- <CommunityBadge/> [MemryX](#memryx-mx3): The MX3 Acceleration module is available in m.2 format, offering broad compatibility across various platforms.
- <CommunityBadge/> [DeGirum](#degirum): Service for using hardware devices in the cloud or locally. Hardware and models provided on the cloud on [their website](https://hub.degirum.com).
**AMD**
**AMD**
- [ROCm](#amdrocm-gpu-detector): ROCm can run on AMD Discrete GPUs to provide efficient object detection.
- [ROCm](#amdrocm-gpu-detector): ROCm can run on AMD Discrete GPUs to provide efficient object detection.
- [ONNX](#onnx): ROCm will automatically be detected and used as a detector in the `-rocm` Frigate image when a supported ONNX model is configured.
- [ONNX](#onnx): ROCm will automatically be detected and used as a detector in the `-rocm` Frigate image when a supported ONNX model is configured.
**Apple Silicon**
- [Apple Silicon](#apple-silicon-detector): Apple Silicon can run on M1 and newer Apple Silicon devices.
**Intel**
**Intel**
- [OpenVino](#openvino-detector): OpenVino can run on Intel Arc GPUs, Intel integrated GPUs, and Intel CPUs to provide efficient object detection.
- [OpenVino](#openvino-detector): OpenVino can run on Intel Arc GPUs, Intel integrated GPUs, and Intel CPUs to provide efficient object detection.
@ -28,14 +36,19 @@ Frigate supports multiple different detectors that work on different types of ha
- [ONNX](#onnx): TensorRT will automatically be detected and used as a detector in the `-tensorrt` Frigate image when a supported ONNX model is configured.
- [ONNX](#onnx): TensorRT will automatically be detected and used as a detector in the `-tensorrt` Frigate image when a supported ONNX model is configured.
**Nvidia Jetson**
**Nvidia Jetson** <CommunityBadge/>
- [TensortRT](#nvidia-tensorrt-detector): TensorRT can run on Jetson devices, using one of many default models.
- [TensortRT](#nvidia-tensorrt-detector): TensorRT can run on Jetson devices, using one of many default models.
- [ONNX](#onnx): TensorRT will automatically be detected and used as a detector in the `-tensorrt-jp6` Frigate image when a supported ONNX model is configured.
- [ONNX](#onnx): TensorRT will automatically be detected and used as a detector in the `-tensorrt-jp6` Frigate image when a supported ONNX model is configured.
**Rockchip**
**Rockchip**<CommunityBadge/>
- [RKNN](#rockchip-platform): RKNN models can run on Rockchip devices with included NPUs.
- [RKNN](#rockchip-platform): RKNN models can run on Rockchip devices with included NPUs.
**Synaptics** <CommunityBadge/>
- [Synaptics](#synaptics): synap models can run on Synaptics devices(e.g astra machina) with included NPUs.
**For Testing**
**For Testing**
- [CPU Detector (not recommended for actual use](#cpu-detector-not-recommended): Use a CPU to run tflite model, this is not recommended and in most cases OpenVINO can be used in CPU mode with better results.
- [CPU Detector (not recommended for actual use](#cpu-detector-not-recommended): Use a CPU to run tflite model, this is not recommended and in most cases OpenVINO can be used in CPU mode with better results.
@ -52,16 +65,14 @@ This does not affect using hardware for accelerating other tasks such as [semant
# Officially Supported Detectors
# Officially Supported Detectors
Frigate provides the following builtin detector types: `cpu`, `edgetpu`, `hailo8l`, `onnx`, `openvino`, `rknn`, and `tensorrt`. By default, Frigate will use a single CPU detector. Other detectors may require additional configuration as described below. When using multiple detectors they will run in dedicated processes, but pull from a common queue of detection requests from across all cameras.
Frigate provides the following builtin detector types: `cpu`, `edgetpu`, `hailo8l`, `memryx`, `onnx`, `openvino`, `rknn`, and `tensorrt`. By default, Frigate will use a single CPU detector. Other detectors may require additional configuration as described below. When using multiple detectors they will run in dedicated processes, but pull from a common queue of detection requests from across all cameras.
## Edge TPU Detector
## Edge TPU Detector
The Edge TPU detector type runs a TensorFlow Lite model utilizing the Google Coral delegate for hardware acceleration. To configure an Edge TPU detector, set the `"type"` attribute to `"edgetpu"`.
The Edge TPU detector type runs TensorFlow Lite models utilizing the Google Coral delegate for hardware acceleration. To configure an Edge TPU detector, set the `"type"` attribute to `"edgetpu"`.
The Edge TPU device can be specified using the `"device"` attribute according to the [Documentation for the TensorFlow Lite Python API](https://coral.ai/docs/edgetpu/multiple-edgetpu/#using-the-tensorflow-lite-python-api). If not set, the delegate will use the first device it finds.
The Edge TPU device can be specified using the `"device"` attribute according to the [Documentation for the TensorFlow Lite Python API](https://coral.ai/docs/edgetpu/multiple-edgetpu/#using-the-tensorflow-lite-python-api). If not set, the delegate will use the first device it finds.
A TensorFlow Lite model is provided in the container at `/edgetpu_model.tflite` and is used by this detector type by default. To provide your own model, bind mount the file into the container and provide the path with `model.path`.
:::tip
:::tip
See [common Edge TPU troubleshooting steps](/troubleshooting/edgetpu) if the Edge TPU is not detected.
See [common Edge TPU troubleshooting steps](/troubleshooting/edgetpu) if the Edge TPU is not detected.
| [MobileNet v2](#ssdlite-mobilenet-v2) | Default model |
| [YOLOv9](#yolo-v9) | More accurate but slower than default model |
#### SSDLite MobileNet v2
A TensorFlow Lite model is provided in the container at `/edgetpu_model.tflite` and is used by this detector type by default. To provide your own model, bind mount the file into the container and provide the path with `model.path`.
A Tensorflow Lite is provided in the container at `/openvino-model/ssdlite_mobilenet_v2.xml` and is used by this detector type by default. The model comes from Intel's Open Model Zoo [SSDLite MobileNet V2](https://github.com/openvinotoolkit/open_model_zoo/tree/master/models/public/ssdlite_mobilenet_v2) and is converted to an INT8 precision model.
#### YOLO v9
[YOLOv9](https://github.com/dbro/frigate-detector-edgetpu-yolo9/releases/download/v1.0/yolov9-s-relu6-best_320_int8_edgetpu.tflite) models that are compiled for Tensorflow Lite and properly quantized are supported, but not included by default. To provide your own model, bind mount the file into the container and provide the path with `model.path`. Note that the model may require a custom label file (eg. [use this 17 label file](https://raw.githubusercontent.com/dbro/frigate-detector-edgetpu-yolo9/refs/heads/main/labels-coco17.txt) for the model linked above.)
<details>
<summary>YOLOv9 Setup & Config</summary>
After placing the downloaded files for the tflite model and labels in your config folder, you can use the following configuration:
Note that the labelmap uses a subset of the complete COCO label set that has only 17 objects.
</details>
---
---
## Hailo-8
## Hailo-8
@ -242,41 +293,55 @@ Hailo8 supports all models in the Hailo Model Zoo that include HailoRT post-proc
## OpenVINO Detector
## OpenVINO Detector
The OpenVINO detector type runs an OpenVINO IR model on AMD and Intel CPUs, Intel GPUs and Intel VPU hardware. To configure an OpenVINO detector, set the `"type"` attribute to `"openvino"`.
The OpenVINO detector type runs an OpenVINO IR model on AMD and Intel CPUs, Intel GPUs and Intel NPUs. To configure an OpenVINO detector, set the `"type"` attribute to `"openvino"`.
The OpenVINO device to be used is specified using the `"device"` attribute according to the naming conventions in the [Device Documentation](https://docs.openvino.ai/2024/openvino-workflow/running-inference/inference-devices-and-modes.html). The most common devices are `CPU` and `GPU`. Currently, there is a known issue with using `AUTO`. For backwards compatibility, Frigate will attempt to use `GPU` if `AUTO` is set in your configuration.
The OpenVINO device to be used is specified using the `"device"` attribute according to the naming conventions in the [Device Documentation](https://docs.openvino.ai/2025/openvino-workflow/running-inference/inference-devices-and-modes.html). The most common devices are `CPU`, `GPU`, or `NPU`.
OpenVINO is supported on 6th Gen Intel platforms (Skylake) and newer. It will also run on AMD CPUs despite having no official support for it. A supported Intel platform is required to use the `GPU` device with OpenVINO. For detailed system requirements, see [OpenVINO System Requirements](https://docs.openvino.ai/2024/about-openvino/release-notes-openvino/system-requirements.html)
OpenVINO is supported on 6th Gen Intel platforms (Skylake) and newer. It will also run on AMD CPUs despite having no official support for it. A supported Intel platform is required to use the `GPU`or `NPU`device with OpenVINO. For detailed system requirements, see [OpenVINO System Requirements](https://docs.openvino.ai/2025/about-openvino/release-notes-openvino/system-requirements.html)
:::tip
:::tip
**NPU + GPU Systems:** If you have both NPU and GPU available (Intel Core Ultra processors), use NPU for object detection and GPU for enrichments (semantic search, face recognition, etc.) for best performance and compatibility.
When using many cameras one detector may not be enough to keep up. Multiple detectors can be defined assuming GPU resources are available. An example configuration would be:
When using many cameras one detector may not be enough to keep up. Multiple detectors can be defined assuming GPU resources are available. An example configuration would be:
| [MobileNet v2](#ssdlite-mobilenet-v2) | ✅ | ✅ | Fast and lightweight model, less accurate than larger models |
| [YOLOX](#yolox) | ✅ | ? | |
| [D-FINE](#d-fine) | ❌ | ❌ | |
#### SSDLite MobileNet v2
#### SSDLite MobileNet v2
An OpenVINO model is provided in the container at `/openvino-model/ssdlite_mobilenet_v2.xml` and is used by this detector type by default. The model comes from Intel's Open Model Zoo [SSDLite MobileNet V2](https://github.com/openvinotoolkit/open_model_zoo/tree/master/models/public/ssdlite_mobilenet_v2) and is converted to an FP16 precision IR model.
An OpenVINO model is provided in the container at `/openvino-model/ssdlite_mobilenet_v2.xml` and is used by this detector type by default. The model comes from Intel's Open Model Zoo [SSDLite MobileNet V2](https://github.com/openvinotoolkit/open_model_zoo/tree/master/models/public/ssdlite_mobilenet_v2) and is converted to an FP16 precision IR model.
<details>
<summary>MobileNet v2 Config</summary>
Use the model configuration shown below when using the OpenVINO detector with the default OpenVINO model:
Use the model configuration shown below when using the OpenVINO detector with the default OpenVINO model:
```yaml
```yaml
detectors:
detectors:
ov:
ov:
type: openvino
type: openvino
device: GPU
device: GPU # Or NPU
model:
model:
width: 300
width: 300
@ -287,6 +352,8 @@ model:
labelmap_path: /openvino-model/coco_91cl_bkgr.txt
labelmap_path: /openvino-model/coco_91cl_bkgr.txt
```
```
</details>
#### YOLOX
#### YOLOX
This detector also supports YOLOX. Frigate does not come with any YOLOX models preloaded, so you will need to supply your own models.
This detector also supports YOLOX. Frigate does not come with any YOLOX models preloaded, so you will need to supply your own models.
@ -295,6 +362,9 @@ This detector also supports YOLOX. Frigate does not come with any YOLOX models p
[YOLO-NAS](https://github.com/Deci-AI/super-gradients/blob/master/YOLONAS.md) models are supported, but not included by default. See [the models section](#downloading-yolo-nas-model) for more information on downloading the YOLO-NAS model for use in Frigate.
[YOLO-NAS](https://github.com/Deci-AI/super-gradients/blob/master/YOLONAS.md) models are supported, but not included by default. See [the models section](#downloading-yolo-nas-model) for more information on downloading the YOLO-NAS model for use in Frigate.
<details>
<summary>YOLO-NAS Setup & Config</summary>
After placing the downloaded onnx model in your config folder, you can use the following configuration:
After placing the downloaded onnx model in your config folder, you can use the following configuration:
```yaml
```yaml
@ -315,6 +385,8 @@ model:
Note that the labelmap uses a subset of the complete COCO label set that has only 80 objects.
Note that the labelmap uses a subset of the complete COCO label set that has only 80 objects.
</details>
#### YOLO (v3, v4, v7, v9)
#### YOLO (v3, v4, v7, v9)
YOLOv3, YOLOv4, YOLOv7, and [YOLOv9](https://github.com/WongKinYiu/yolov9) models are supported, but not included by default.
YOLOv3, YOLOv4, YOLOv7, and [YOLOv9](https://github.com/WongKinYiu/yolov9) models are supported, but not included by default.
@ -325,13 +397,22 @@ The YOLO detector has been designed to support YOLOv3, YOLOv4, YOLOv7, and YOLOv
:::
:::
<details>
<summary>YOLOv Setup & Config</summary>
:::warning
If you are using a Frigate+ model, you should not define any of the below `model` parameters in your config except for `path`. See [the Frigate+ model docs](/plus/first_model#step-3-set-your-model-id-in-the-config) for more information on setting up your model.
:::
After placing the downloaded onnx model in your config folder, you can use the following configuration:
After placing the downloaded onnx model in your config folder, you can use the following configuration:
```yaml
```yaml
detectors:
detectors:
ov:
ov:
type: openvino
type: openvino
device: GPU
device: GPU # or NPU
model:
model:
model_type: yolo-generic
model_type: yolo-generic
@ -345,6 +426,8 @@ model:
Note that the labelmap uses a subset of the complete COCO label set that has only 80 objects.
Note that the labelmap uses a subset of the complete COCO label set that has only 80 objects.
</details>
#### RF-DETR
#### RF-DETR
[RF-DETR](https://github.com/roboflow/rf-detr) is a DETR based model. The ONNX exported models are supported, but not included by default. See [the models section](#downloading-rf-detr-model) for more informatoin on downloading the RF-DETR model for use in Frigate.
[RF-DETR](https://github.com/roboflow/rf-detr) is a DETR based model. The ONNX exported models are supported, but not included by default. See [the models section](#downloading-rf-detr-model) for more informatoin on downloading the RF-DETR model for use in Frigate.
@ -355,6 +438,9 @@ Due to the size and complexity of the RF-DETR model, it is only recommended to b
:::
:::
<details>
<summary>RF-DETR Setup & Config</summary>
After placing the downloaded onnx model in your `config/model_cache` folder, you can use the following configuration:
After placing the downloaded onnx model in your `config/model_cache` folder, you can use the following configuration:
```yaml
```yaml
@ -372,6 +458,8 @@ model:
path: /config/model_cache/rfdetr.onnx
path: /config/model_cache/rfdetr.onnx
```
```
</details>
#### D-FINE
#### D-FINE
[D-FINE](https://github.com/Peterande/D-FINE) is a DETR based model. The ONNX exported models are supported, but not included by default. See [the models section](#downloading-d-fine-model) for more information on downloading the D-FINE model for use in Frigate.
[D-FINE](https://github.com/Peterande/D-FINE) is a DETR based model. The ONNX exported models are supported, but not included by default. See [the models section](#downloading-d-fine-model) for more information on downloading the D-FINE model for use in Frigate.
@ -382,6 +470,9 @@ Currently D-FINE models only run on OpenVINO in CPU mode, GPUs currently fail to
:::
:::
<details>
<summary>D-FINE Setup & Config</summary>
After placing the downloaded onnx model in your config/model_cache folder, you can use the following configuration:
After placing the downloaded onnx model in your config/model_cache folder, you can use the following configuration:
```yaml
```yaml
@ -396,7 +487,63 @@ model:
height: 640
height: 640
input_tensor: nchw
input_tensor: nchw
input_dtype: float
input_dtype: float
path: /config/model_cache/dfine_s_obj2coco.onnx
path: /config/model_cache/dfine-s.onnx
labelmap_path: /labelmap/coco-80.txt
```
Note that the labelmap uses a subset of the complete COCO label set that has only 80 objects.
</details>
## Apple Silicon detector
The NPU in Apple Silicon can't be accessed from within a container, so the [Apple Silicon detector client](https://github.com/frigate-nvr/apple-silicon-detector) must first be setup. It is recommended to use the Frigate docker image with `-standard-arm64` suffix, for example `ghcr.io/blakeblackshear/frigate:stable-standard-arm64`.
### Setup
1. Setup the [Apple Silicon detector client](https://github.com/frigate-nvr/apple-silicon-detector) and run the client
2. Configure the detector in Frigate and startup Frigate
### Configuration
Using the detector config below will connect to the client:
```yaml
detectors:
apple-silicon:
type: zmq
endpoint: tcp://host.docker.internal:5555
```
### Apple Silicon Supported Models
There is no default model provided, the following formats are supported:
#### YOLO (v3, v4, v7, v9)
YOLOv3, YOLOv4, YOLOv7, and [YOLOv9](https://github.com/WongKinYiu/yolov9) models are supported, but not included by default.
:::tip
The YOLO detector has been designed to support YOLOv3, YOLOv4, YOLOv7, and YOLOv9 models, but may support other YOLO model architectures as well. See [the models section](#downloading-yolo-models) for more information on downloading YOLO models for use in Frigate.
:::
When Frigate is started with the following config it will connect to the detector client and transfer the model automatically:
@ -440,14 +587,13 @@ Also AMD/ROCm does not "officially" support integrated GPUs. It still does work
For the rocm frigate build there is some automatic detection:
For the rocm frigate build there is some automatic detection:
- gfx90c -> 9.0.0
- gfx1031 -> 10.3.0
- gfx1031 -> 10.3.0
- gfx1103 -> 11.0.0
- gfx1103 -> 11.0.0
If you have something else you might need to override the `HSA_OVERRIDE_GFX_VERSION` at Docker launch. Suppose the version you want is `9.0.0`, then you should configure it from command line as:
If you have something else you might need to override the `HSA_OVERRIDE_GFX_VERSION` at Docker launch. Suppose the version you want is `10.0.0`, then you should configure it from command line as:
```bash
```bash
$ docker run -e HSA_OVERRIDE_GFX_VERSION=9.0.0 \
$ docker run -e HSA_OVERRIDE_GFX_VERSION=10.0.0 \
...
...
```
```
@ -458,7 +604,7 @@ services:
frigate:
frigate:
environment:
environment:
HSA_OVERRIDE_GFX_VERSION: "9.0.0"
HSA_OVERRIDE_GFX_VERSION: "10.0.0"
```
```
Figuring out what version you need can be complicated as you can't tell the chipset name and driver from the AMD brand name.
Figuring out what version you need can be complicated as you can't tell the chipset name and driver from the AMD brand name.
@ -483,7 +629,18 @@ We unset the `HSA_OVERRIDE_GFX_VERSION` to prevent an existing override from mes
The AMD GPU kernel is known problematic especially when converting models to mxr format. The recommended approach is:
1. Disable object detection in the config.
2. Startup Frigate with the onnx detector configured, the main object detection model will be converted to mxr format and cached in the config directory.
3. Once this is finished as indicated by the logs, enable object detection in the UI and confirm that it is working correctly.
4. Re-enable object detection in the config.
:::
See [ONNX supported models](#supported-models) for supported models, there are some caveats:
See [ONNX supported models](#supported-models) for supported models, there are some caveats:
| [YOLOv9](#yolo-v3-v4-v7-v9-2) | ✅ | ✅ | Supports CUDA Graphs for optimal Nvidia performance |
| [RF-DETR](#rf-detr) | ✅ | ❌ | Supports CUDA Graphs for optimal Nvidia performance |
| [YOLO-NAS](#yolo-nas-1) | ⚠️ | ⚠️ | Not supported by CUDA Graphs |
| [YOLOX](#yolox-1) | ✅ | ✅ | Supports CUDA Graphs for optimal Nvidia performance |
| [D-FINE](#d-fine) | ⚠️ | ❌ | Not supported by CUDA Graphs |
There is no default model provided, the following formats are supported:
There is no default model provided, the following formats are supported:
@ -534,6 +699,15 @@ There is no default model provided, the following formats are supported:
[YOLO-NAS](https://github.com/Deci-AI/super-gradients/blob/master/YOLONAS.md) models are supported, but not included by default. See [the models section](#downloading-yolo-nas-model) for more information on downloading the YOLO-NAS model for use in Frigate.
[YOLO-NAS](https://github.com/Deci-AI/super-gradients/blob/master/YOLONAS.md) models are supported, but not included by default. See [the models section](#downloading-yolo-nas-model) for more information on downloading the YOLO-NAS model for use in Frigate.
<details>
<summary>YOLO-NAS Setup & Config</summary>
:::warning
If you are using a Frigate+ YOLO-NAS model, you should not define any of the below `model` parameters in your config except for `path`. See [the Frigate+ model docs](/plus/first_model#step-3-set-your-model-id-in-the-config) for more information on setting up your model.
:::
After placing the downloaded onnx model in your config folder, you can use the following configuration:
After placing the downloaded onnx model in your config folder, you can use the following configuration:
```yaml
```yaml
@ -551,6 +725,8 @@ model:
labelmap_path: /labelmap/coco-80.txt
labelmap_path: /labelmap/coco-80.txt
```
```
</details>
#### YOLO (v3, v4, v7, v9)
#### YOLO (v3, v4, v7, v9)
YOLOv3, YOLOv4, YOLOv7, and [YOLOv9](https://github.com/WongKinYiu/yolov9) models are supported, but not included by default.
YOLOv3, YOLOv4, YOLOv7, and [YOLOv9](https://github.com/WongKinYiu/yolov9) models are supported, but not included by default.
@ -561,6 +737,15 @@ The YOLO detector has been designed to support YOLOv3, YOLOv4, YOLOv7, and YOLOv
:::
:::
<details>
<summary>YOLOv Setup & Config</summary>
:::warning
If you are using a Frigate+ model, you should not define any of the below `model` parameters in your config except for `path`. See [the Frigate+ model docs](/plus/first_model#step-3-set-your-model-id-in-the-config) for more information on setting up your model.
:::
After placing the downloaded onnx model in your config folder, you can use the following configuration:
After placing the downloaded onnx model in your config folder, you can use the following configuration:
```yaml
```yaml
@ -578,12 +763,17 @@ model:
labelmap_path: /labelmap/coco-80.txt
labelmap_path: /labelmap/coco-80.txt
```
```
</details>
Note that the labelmap uses a subset of the complete COCO label set that has only 80 objects.
Note that the labelmap uses a subset of the complete COCO label set that has only 80 objects.
#### YOLOx
#### YOLOx
[YOLOx](https://github.com/Megvii-BaseDetection/YOLOX) models are supported, but not included by default. See [the models section](#downloading-yolo-models) for more information on downloading the YOLOx model for use in Frigate.
[YOLOx](https://github.com/Megvii-BaseDetection/YOLOX) models are supported, but not included by default. See [the models section](#downloading-yolo-models) for more information on downloading the YOLOx model for use in Frigate.
<details>
<summary>YOLOx Setup & Config</summary>
After placing the downloaded onnx model in your config folder, you can use the following configuration:
After placing the downloaded onnx model in your config folder, you can use the following configuration:
```yaml
```yaml
@ -603,10 +793,15 @@ model:
Note that the labelmap uses a subset of the complete COCO label set that has only 80 objects.
Note that the labelmap uses a subset of the complete COCO label set that has only 80 objects.
</details>
#### RF-DETR
#### RF-DETR
[RF-DETR](https://github.com/roboflow/rf-detr) is a DETR based model. The ONNX exported models are supported, but not included by default. See [the models section](#downloading-rf-detr-model) for more information on downloading the RF-DETR model for use in Frigate.
[RF-DETR](https://github.com/roboflow/rf-detr) is a DETR based model. The ONNX exported models are supported, but not included by default. See [the models section](#downloading-rf-detr-model) for more information on downloading the RF-DETR model for use in Frigate.
<details>
<summary>RF-DETR Setup & Config</summary>
After placing the downloaded onnx model in your `config/model_cache` folder, you can use the following configuration:
After placing the downloaded onnx model in your `config/model_cache` folder, you can use the following configuration:
```yaml
```yaml
@ -623,10 +818,15 @@ model:
path: /config/model_cache/rfdetr.onnx
path: /config/model_cache/rfdetr.onnx
```
```
</details>
#### D-FINE
#### D-FINE
[D-FINE](https://github.com/Peterande/D-FINE) is a DETR based model. The ONNX exported models are supported, but not included by default. See [the models section](#downloading-d-fine-model) for more information on downloading the D-FINE model for use in Frigate.
[D-FINE](https://github.com/Peterande/D-FINE) is a DETR based model. The ONNX exported models are supported, but not included by default. See [the models section](#downloading-d-fine-model) for more information on downloading the D-FINE model for use in Frigate.
<details>
<summary>D-FINE Setup & Config</summary>
After placing the downloaded onnx model in your `config/model_cache` folder, you can use the following configuration:
After placing the downloaded onnx model in your `config/model_cache` folder, you can use the following configuration:
```yaml
```yaml
@ -644,6 +844,8 @@ model:
labelmap_path: /labelmap/coco-80.txt
labelmap_path: /labelmap/coco-80.txt
```
```
</details>
Note that the labelmap uses a subset of the complete COCO label set that has only 80 objects.
Note that the labelmap uses a subset of the complete COCO label set that has only 80 objects.
## CPU Detector (not recommended)
## CPU Detector (not recommended)
@ -699,6 +901,196 @@ To verify that the integration is working correctly, start Frigate and observe t
# Community Supported Detectors
# Community Supported Detectors
## MemryX MX3
This detector is available for use with the MemryX MX3 accelerator M.2 module. Frigate supports the MX3 on compatible hardware platforms, providing efficient and high-performance object detection.
See the [installation docs](../frigate/installation.md#memryx-mx3) for information on configuring the MemryX hardware.
To configure a MemryX detector, simply set the `type` attribute to `memryx` and follow the configuration guide below.
### Configuration
To configure the MemryX detector, use the following example configuration:
#### Single PCIe MemryX MX3
```yaml
detectors:
memx0:
type: memryx
device: PCIe:0
```
#### Multiple PCIe MemryX MX3 Modules
```yaml
detectors:
memx0:
type: memryx
device: PCIe:0
memx1:
type: memryx
device: PCIe:1
memx2:
type: memryx
device: PCIe:2
```
### Supported Models
MemryX `.dfp` models are automatically downloaded at runtime, if enabled, to the container at `/memryx_models/model_folder/`.
#### YOLO-NAS
The [YOLO-NAS](https://github.com/Deci-AI/super-gradients/blob/master/YOLONAS.md) model included in this detector is downloaded from the [Models Section](#downloading-yolo-nas-model) and compiled to DFP with [mx_nc](https://developer.memryx.com/tools/neural_compiler.html#usage).
**Note:** The default model for the MemryX detector is YOLO-NAS 320x320.
The input size for **YOLO-NAS** can be set to either **320x320** (default) or **640x640**.
- The default size of **320x320** is optimized for lower CPU usage and faster inference times.
##### Configuration
Below is the recommended configuration for using the **YOLO-NAS** (small) model with the MemryX detector:
```yaml
detectors:
memx0:
type: memryx
device: PCIe:0
model:
model_type: yolonas
width: 320 # (Can be set to 640 for higher resolution)
height: 320 # (Can be set to 640 for higher resolution)
input_tensor: nchw
input_dtype: float
labelmap_path: /labelmap/coco-80.txt
# Optional: The model is normally fetched through the runtime, so 'path' can be omitted unless you want to use a custom or local model.
# path: /config/yolonas.zip
# The .zip file must contain:
# ├── yolonas.dfp (a file ending with .dfp)
# └── yolonas_post.onnx (optional; only if the model includes a cropped post-processing network)
```
#### YOLOv9
The YOLOv9s model included in this detector is downloaded from [the original GitHub](https://github.com/WongKinYiu/yolov9) like in the [Models Section](#yolov9-1) and compiled to DFP with [mx_nc](https://developer.memryx.com/tools/neural_compiler.html#usage).
##### Configuration
Below is the recommended configuration for using the **YOLOv9** (small) model with the MemryX detector:
```yaml
detectors:
memx0:
type: memryx
device: PCIe:0
model:
model_type: yolo-generic
width: 320 # (Can be set to 640 for higher resolution)
height: 320 # (Can be set to 640 for higher resolution)
input_tensor: nchw
input_dtype: float
labelmap_path: /labelmap/coco-80.txt
# Optional: The model is normally fetched through the runtime, so 'path' can be omitted unless you want to use a custom or local model.
# path: /config/yolov9.zip
# The .zip file must contain:
# ├── yolov9.dfp (a file ending with .dfp)
```
#### YOLOX
The model is sourced from the [OpenCV Model Zoo](https://github.com/opencv/opencv_zoo) and precompiled to DFP.
##### Configuration
Below is the recommended configuration for using the **YOLOX** (small) model with the MemryX detector:
```yaml
detectors:
memx0:
type: memryx
device: PCIe:0
model:
model_type: yolox
width: 640
height: 640
input_tensor: nchw
input_dtype: float_denorm
labelmap_path: /labelmap/coco-80.txt
# Optional: The model is normally fetched through the runtime, so 'path' can be omitted unless you want to use a custom or local model.
# path: /config/yolox.zip
# The .zip file must contain:
# ├── yolox.dfp (a file ending with .dfp)
```
#### SSDLite MobileNet v2
The model is sourced from the [OpenMMLab Model Zoo](https://mmdeploy-oss.openmmlab.com/model/mmdet-det/ssdlite-e8679f.onnx) and has been converted to DFP.
##### Configuration
Below is the recommended configuration for using the **SSDLite MobileNet v2** model with the MemryX detector:
```yaml
detectors:
memx0:
type: memryx
device: PCIe:0
model:
model_type: ssd
width: 320
height: 320
input_tensor: nchw
input_dtype: float
labelmap_path: /labelmap/coco-80.txt
# Optional: The model is normally fetched through the runtime, so 'path' can be omitted unless you want to use a custom or local model.
# path: /config/ssdlite_mobilenet.zip
# The .zip file must contain:
# ├── ssdlite_mobilenet.dfp (a file ending with .dfp)
# └── ssdlite_mobilenet_post.onnx (optional; only if the model includes a cropped post-processing network)
```
#### Using a Custom Model
To use your own model:
1. Package your compiled model into a `.zip` file.
2. The `.zip` must contain the compiled `.dfp` file.
3. Depending on the model, the compiler may also generate a cropped post-processing network. If present, it will be named with the suffix `_post.onnx`.
4. Bind-mount the `.zip` file into the container and specify its path using `model.path` in your config.
5. Update the `labelmap_path` to match your custom model's labels.
For detailed instructions on compiling models, refer to the [MemryX Compiler](https://developer.memryx.com/tools/neural_compiler.html#usage) docs and [Tutorials](https://developer.memryx.com/tutorials/tutorials.html).
```yaml
# The detector automatically selects the default model if nothing is provided in the config.
#
# Optionally, you can specify a local model path as a .zip file to override the default.
# If a local path is provided and the file exists, it will be used instead of downloading.
#
# Example:
# path: /config/yolonas.zip
#
# The .zip file must contain:
# ├── yolonas.dfp (a file ending with .dfp)
# └── yolonas_post.onnx (optional; only if the model includes a cropped post-processing network)
```
---
## NVidia TensorRT Detector
## NVidia TensorRT Detector
Nvidia Jetson devices may be used for object detection using the TensorRT libraries. Due to the size of the additional libraries, this detector is only provided in images with the `-tensorrt-jp6` tag suffix, e.g. `ghcr.io/blakeblackshear/frigate:stable-tensorrt-jp6`. This detector is designed to work with Yolo models for object detection.
Nvidia Jetson devices may be used for object detection using the TensorRT libraries. Due to the size of the additional libraries, this detector is only provided in images with the `-tensorrt-jp6` tag suffix, e.g. `ghcr.io/blakeblackshear/frigate:stable-tensorrt-jp6`. This detector is designed to work with Yolo models for object detection.
@ -781,6 +1173,41 @@ model:
height: 320 # MUST match the chosen model i.e yolov7-320 -> 320 yolov4-416 -> 416
height: 320 # MUST match the chosen model i.e yolov7-320 -> 320 yolov4-416 -> 416
```
```
## Synaptics
Hardware accelerated object detection is supported on the following SoCs:
- SL1680
This implementation uses the [Synaptics model conversion](https://synaptics-synap.github.io/doc/v/latest/docs/manual/introduction.html#offline-model-conversion), version v3.1.0.
This implementation is based on sdk `v1.5.0`.
See the [installation docs](../frigate/installation.md#synaptics) for information on configuring the SL-series NPU hardware.
### Configuration
When configuring the Synap detector, you have to specify the model: a local **path**.
#### SSD Mobilenet
A synap model is provided in the container at /mobilenet.synap and is used by this detector type by default. The model comes from [Synap-release Github](https://github.com/synaptics-astra/synap-release/tree/v1.5.0/models/dolphin/object_detection/coco/model/mobilenet224_full80).
Use the model configuration shown below when using the synaptics detector with the default synap model:
```yaml
detectors: # required
synap_npu: # required
type: synaptics # required
model: # required
path: /synaptics/mobilenet.synap # required
width: 224 # required
height: 224 # required
tensor_format: nhwc # default value (optional. If you change the model, it is required)
labelmap_path: /labelmap/coco-80.txt # required
```
## Rockchip platform
## Rockchip platform
Hardware accelerated object detection is supported on the following SoCs:
Hardware accelerated object detection is supported on the following SoCs:
This `config.yml` shows all relevant options to configure the detector and explains them. All values shown are the default values (except for two). Lines that are required at least to use the detector are labeled as required, all other lines are optional.
This `config.yml` shows all relevant options to configure the detector and explains them. All values shown are the default values (except for two). Lines that are required at least to use the detector are labeled as required, all other lines are optional.
@ -950,6 +1377,105 @@ Explanation of the paramters:
- **example**: Specifying `output_name = "frigate-{quant}-{input_basename}-{soc}-v{tk_version}"` could result in a model called `frigate-i8-my_model-rk3588-v2.3.0.rknn`.
- **example**: Specifying `output_name = "frigate-{quant}-{input_basename}-{soc}-v{tk_version}"` could result in a model called `frigate-i8-my_model-rk3588-v2.3.0.rknn`.
- `config`: Configuration passed to `rknn-toolkit2` for model conversion. For an explanation of all available parameters have a look at section "2.2. Model configuration" of [this manual](https://github.com/MarcA711/rknn-toolkit2/releases/download/v2.3.2/03_Rockchip_RKNPU_API_Reference_RKNN_Toolkit2_V2.3.2_EN.pdf).
- `config`: Configuration passed to `rknn-toolkit2` for model conversion. For an explanation of all available parameters have a look at section "2.2. Model configuration" of [this manual](https://github.com/MarcA711/rknn-toolkit2/releases/download/v2.3.2/03_Rockchip_RKNPU_API_Reference_RKNN_Toolkit2_V2.3.2_EN.pdf).
## DeGirum
DeGirum is a detector that can use any type of hardware listed on [their website](https://hub.degirum.com). DeGirum can be used with local hardware through a DeGirum AI Server, or through the use of `@local`. You can also connect directly to DeGirum's AI Hub to run inferences. **Please Note:** This detector _cannot_ be used for commercial purposes.
### Configuration
#### AI Server Inference
Before starting with the config file for this section, you must first launch an AI server. DeGirum has an AI server ready to use as a docker container. Add this to your `docker-compose.yml` to get started:
```yaml
degirum_detector:
container_name: degirum
image: degirum/aiserver:latest
privileged: true
ports:
- "8778:8778"
```
All supported hardware will automatically be found on your AI server host as long as relevant runtimes and drivers are properly installed on your machine. Refer to [DeGirum's docs site](https://docs.degirum.com/pysdk/runtimes-and-drivers) if you have any trouble.
Once completed, changing the `config.yml` file is simple.
```yaml
degirum_detector:
type: degirum
location: degirum # Set to service name (degirum_detector), container_name (degirum), or a host:port (192.168.29.4:8778)
zoo: degirum/public # DeGirum's public model zoo. Zoo name should be in format "workspace/zoo_name". degirum/public is available to everyone, so feel free to use it if you don't know where to start. If you aren't pulling a model from the AI Hub, leave this and 'token' blank.
token: dg_example_token # For authentication with the AI Hub. Get this token through the "tokens" section on the main page of the [AI Hub](https://hub.degirum.com). This can be left blank if you're pulling a model from the public zoo and running inferences on your local hardware using @local or a local DeGirum AI Server
```
Setting up a model in the `config.yml` is similar to setting up an AI server.
You can set it to:
- A model listed on the [AI Hub](https://hub.degirum.com), given that the correct zoo name is listed in your detector
- If this is what you choose to do, the correct model will be downloaded onto your machine before running.
- A local directory acting as a zoo. See DeGirum's docs site [for more information](https://docs.degirum.com/pysdk/user-guide-pysdk/organizing-models#model-zoo-directory-structure).
- A path to some model.json.
```yaml
model:
path: ./mobilenet_v2_ssd_coco--300x300_quant_n2x_orca1_1 # directory to model .json and file
width: 300 # width is in the model name as the first number in the "int"x"int" section
height: 300 # height is in the model name as the second number in the "int"x"int" section
input_pixel_format: rgb/bgr # look at the model.json to figure out which to put here
```
#### Local Inference
It is also possible to eliminate the need for an AI server and run the hardware directly. The benefit of this approach is that you eliminate any bottlenecks that occur when transferring prediction results from the AI server docker container to the frigate one. However, the method of implementing local inference is different for every device and hardware combination, so it's usually more trouble than it's worth. A general guideline to achieve this would be:
1. Ensuring that the frigate docker container has the runtime you want to use. So for instance, running `@local` for Hailo means making sure the container you're using has the Hailo runtime installed.
2. To double check the runtime is detected by the DeGirum detector, make sure the `degirum sys-info` command properly shows whatever runtimes you mean to install.
3. Create a DeGirum detector in your `config.yml` file.
```yaml
degirum_detector:
type: degirum
location: "@local" # For accessing AI Hub devices and models
zoo: degirum/public # DeGirum's public model zoo. Zoo name should be in format "workspace/zoo_name". degirum/public is available to everyone, so feel free to use it if you don't know where to start.
token: dg_example_token # For authentication with the AI Hub. Get this token through the "tokens" section on the main page of the [AI Hub](https://hub.degirum.com). This can be left blank if you're pulling a model from the public zoo and running inferences on your local hardware using @local or a local DeGirum AI Server
```
Once `degirum_detector` is setup, you can choose a model through 'model' section in the `config.yml` file.
width: 300 # width is in the model name as the first number in the "int"x"int" section
height: 300 # height is in the model name as the second number in the "int"x"int" section
input_pixel_format: rgb/bgr # look at the model.json to figure out which to put here
```
#### AI Hub Cloud Inference
If you do not possess whatever hardware you want to run, there's also the option to run cloud inferences. Do note that your detection fps might need to be lowered as network latency does significantly slow down this method of detection. For use with Frigate, we highly recommend using a local AI server as described above. To set up cloud inferences,
1. Sign up at [DeGirum's AI Hub](https://hub.degirum.com).
2. Get an access token.
3. Create a DeGirum detector in your `config.yml` file.
```yaml
degirum_detector:
type: degirum
location: "@cloud" # For accessing AI Hub devices and models
zoo: degirum/public # DeGirum's public model zoo. Zoo name should be in format "workspace/zoo_name". degirum/public is available to everyone, so feel free to use it if you don't know where to start.
token: dg_example_token # For authentication with the AI Hub. Get this token through the "tokens" section on the main page of the (AI Hub)[https://hub.degirum.com).
```
Once `degirum_detector` is setup, you can choose a model through 'model' section in the `config.yml` file.
width: 300 # width is in the model name as the first number in the "int"x"int" section
height: 300 # height is in the model name as the second number in the "int"x"int" section
input_pixel_format: rgb/bgr # look at the model.json to figure out which to put here
```
# Models
# Models
Some model types are not included in Frigate by default.
Some model types are not included in Frigate by default.
@ -960,26 +1486,29 @@ Here are some tips for getting different model types
### Downloading D-FINE Model
### Downloading D-FINE Model
To export as ONNX:
D-FINE can be exported as ONNX by running the command below. You can copy and paste the whole thing to your terminal and execute, altering `MODEL_SIZE=s` in the first line to `s`, `m`, or `l` size.
1. Clone: https://github.com/Peterande/D-FINE and install all dependencies.
2. Select and download a checkpoint from the [readme](https://github.com/Peterande/D-FINE).
3. Modify line 58 of `tools/deployment/export_onnx.py` and change batch size to 1: `data = torch.rand(1, 3, 640, 640)`
4. Run the export, making sure you select the right config, for your checkpoint.
Model export has only been tested on Linux (or WSL2). Not all dependencies are in `requirements.txt`. Some live in the deployment folder, and some are still missing entirely and must be installed manually.
Make sure you change the batch size to 1 before exporting.
YOLOv9 model can be exported as ONNX using the command below. You can copy and paste the whole thing to your terminal and execute, altering `MODEL_SIZE=t` in the first line to the [model size](https://github.com/WongKinYiu/yolov9#performance) you would like to convert (available sizes are `t`, `s`, `m`, `c`, and `e`).
YOLOv9 model can be exported as ONNX using the command below. You can copy and paste the whole thing to your terminal and execute, altering `MODEL_SIZE=t`and `IMG_SIZE=320`in the first line to the [model size](https://github.com/WongKinYiu/yolov9#performance) you would like to convert (available model sizes are `t`, `s`, `m`, `c`, and `e`, common image sizes are `320` and `640`).
@ -13,34 +13,34 @@ H265 recordings can be viewed in Chrome 108+, Edge and Safari only. All other br
### Most conservative: Ensure all video is saved
### Most conservative: Ensure all video is saved
For users deploying Frigate in environments where it is important to have contiguous video stored even if there was no detectable motion, the following config will store all video for 3 days. After 3 days, only video containing motion and overlapping with alerts or detections will be retained until 30 days have passed.
For users deploying Frigate in environments where it is important to have contiguous video stored even if there was no detectable motion, the following config will store all video for 3 days. After 3 days, only video containing motion will be saved for 7 days. After 7 days, only video containing motion and overlapping with alerts or detections will be retained until 30 days have passed.
```yaml
```yaml
record:
record:
enabled: True
enabled: True
retain:
continuous:
days: 3
days: 3
mode: all
motion:
days: 7
alerts:
alerts:
retain:
retain:
days: 30
days: 30
mode: motion
mode: all
detections:
detections:
retain:
retain:
days: 30
days: 30
mode: motion
mode: all
```
```
### Reduced storage: Only saving video when motion is detected
### Reduced storage: Only saving video when motion is detected
In order to reduce storage requirements, you can adjust your config to only retain video where motion was detected.
In order to reduce storage requirements, you can adjust your config to only retain video where motion / activity was detected.
```yaml
```yaml
record:
record:
enabled: True
enabled: True
retain:
motion:
days: 3
days: 3
mode: motion
alerts:
alerts:
retain:
retain:
days: 30
days: 30
@ -53,12 +53,12 @@ record:
### Minimum: Alerts only
### Minimum: Alerts only
If you only want to retain video that occurs during a tracked object, this config will discard video unless an alert is ongoing.
If you only want to retain video that occurs during activity caused by tracked object(s), this config will discard video unless an alert is ongoing.
```yaml
```yaml
record:
record:
enabled: True
enabled: True
retain:
continuous:
days: 0
days: 0
alerts:
alerts:
retain:
retain:
@ -80,15 +80,17 @@ Retention configs support decimals meaning they can be configured to retain `0.5
:::
:::
### Continuous Recording
### Continuous and Motion Recording
The number of days to retain continuous recordings can be set via the following config where X is a number, by default continuous recording is disabled.
The number of days to retain continuous and motion recordings can be set via the following config where X is a number, by default continuous recording is disabled.
Continuous recording supports different retention modes [which are described below](#what-do-the-different-retain-modes-mean)
Continuous recording supports different retention modes [which are described below](#what-do-the-different-retain-modes-mean)
@ -112,38 +114,6 @@ This configuration will retain recording segments that overlap with alerts and d
**WARNING**: Recordings still must be enabled in the config. If a camera has recordings disabled in the config, enabling via the methods listed above will have no effect.
**WARNING**: Recordings still must be enabled in the config. If a camera has recordings disabled in the config, enabling via the methods listed above will have no effect.
## What do the different retain modes mean?
Frigate saves from the stream with the `record` role in 10 second segments. These options determine which recording segments are kept for continuous recording (but can also affect tracked objects).
Let's say you have Frigate configured so that your doorbell camera would retain the last **2** days of continuous recording.
- With the `all` option all 48 hours of those two days would be kept and viewable.
- With the `motion` option the only parts of those 48 hours would be segments that Frigate detected motion. This is the middle ground option that won't keep all 48 hours, but will likely keep all segments of interest along with the potential for some extra segments.
- With the `active_objects` option the only segments that would be kept are those where there was a true positive object that was not considered stationary.
The same options are available with alerts and detections, except it will only save the recordings when it overlaps with a review item of that type.
A configuration example of the above retain modes where all `motion` segments are stored for 7 days and `active objects` are stored for 14 days would be as follows:
```yaml
record:
enabled: True
retain:
days: 7
mode: motion
alerts:
retain:
days: 14
mode: active_objects
detections:
retain:
days: 14
mode: active_objects
```
The above configuration example can be added globally or on a per camera basis.
## Can I have "continuous" recordings, but only at certain times?
## Can I have "continuous" recordings, but only at certain times?
Using Frigate UI, Home Assistant, or MQTT, cameras can be automated to only record in certain situations or at certain times.
Using Frigate UI, Home Assistant, or MQTT, cameras can be automated to only record in certain situations or at certain times.
Frigate can restream your video feed as an RTSP feed for other applications such as Home Assistant to utilize it at `rtsp://<frigate_host>:8554/<camera_name>`. Port 8554 must be open. [This allows you to use a video feed for detection in Frigate and Home Assistant live view at the same time without having to make two separate connections to the camera](#reduce-connections-to-camera). The video feed is copied from the original video feed directly to avoid re-encoding. This feed does not include any annotation by Frigate.
Frigate can restream your video feed as an RTSP feed for other applications such as Home Assistant to utilize it at `rtsp://<frigate_host>:8554/<camera_name>`. Port 8554 must be open. [This allows you to use a video feed for detection in Frigate and Home Assistant live view at the same time without having to make two separate connections to the camera](#reduce-connections-to-camera). The video feed is copied from the original video feed directly to avoid re-encoding. This feed does not include any annotation by Frigate.
Frigate uses [go2rtc](https://github.com/AlexxIT/go2rtc/tree/v1.9.9) to provide its restream and MSE/WebRTC capabilities. The go2rtc config is hosted at the `go2rtc` in the config, see [go2rtc docs](https://github.com/AlexxIT/go2rtc/tree/v1.9.9#configuration) for more advanced configurations and features.
Frigate uses [go2rtc](https://github.com/AlexxIT/go2rtc/tree/v1.9.10) to provide its restream and MSE/WebRTC capabilities. The go2rtc config is hosted at the `go2rtc` in the config, see [go2rtc docs](https://github.com/AlexxIT/go2rtc/tree/v1.9.10#configuration) for more advanced configurations and features.
:::note
:::note
@ -24,6 +24,11 @@ birdseye:
restream: True
restream: True
```
```
:::tip
To improve connection speed when using Birdseye via restream you can enable a small idle heartbeat by setting `birdseye.idle_heartbeat_fps` to a low value (e.g. `1–2`). This makes Frigate periodically push the last frame even when no motion is detected, reducing initial connection latency.
:::
### Securing Restream With Authentication
### Securing Restream With Authentication
The go2rtc restream can be secured with RTSP based username / password authentication. Ex:
The go2rtc restream can be secured with RTSP based username / password authentication. Ex:
@ -156,7 +161,7 @@ See [this comment](https://github.com/AlexxIT/go2rtc/issues/1217#issuecomment-22
## Advanced Restream Configurations
## Advanced Restream Configurations
The [exec](https://github.com/AlexxIT/go2rtc/tree/v1.9.9#source-exec) source in go2rtc can be used for custom ffmpeg commands. An example is below:
The [exec](https://github.com/AlexxIT/go2rtc/tree/v1.9.10#source-exec) source in go2rtc can be used for custom ffmpeg commands. An example is below:
NOTE: The output will need to be passed with two curly braces `{{output}}`
NOTE: The output will need to be passed with two curly braces `{{output}}`
@ -164,4 +169,4 @@ NOTE: The output will need to be passed with two curly braces `{{output}}`
@ -39,7 +39,7 @@ If you are enabling Semantic Search for the first time, be advised that Frigate
The [V1 model from Jina](https://huggingface.co/jinaai/jina-clip-v1) has a vision model which is able to embed both images and text into the same vector space, which allows `image -> image` and `text -> image` similarity searches. Frigate uses this model on tracked objects to encode the thumbnail image and store it in the database. When searching for tracked objects via text in the search box, Frigate will perform a `text -> image` similarity search against this embedding. When clicking "Find Similar" in the tracked object detail pane, Frigate will perform an `image -> image` similarity search to retrieve the closest matching thumbnails.
The [V1 model from Jina](https://huggingface.co/jinaai/jina-clip-v1) has a vision model which is able to embed both images and text into the same vector space, which allows `image -> image` and `text -> image` similarity searches. Frigate uses this model on tracked objects to encode the thumbnail image and store it in the database. When searching for tracked objects via text in the search box, Frigate will perform a `text -> image` similarity search against this embedding. When clicking "Find Similar" in the tracked object detail pane, Frigate will perform an `image -> image` similarity search to retrieve the closest matching thumbnails.
The V1 text model is used to embed tracked object descriptions and perform searches against them. Descriptions can be created, viewed, and modified on the Explore page when clicking on thumbnail of a tracked object. See [the Generative AI docs](/configuration/genai.md) for more information on how to automatically generate tracked object descriptions.
The V1 text model is used to embed tracked object descriptions and perform searches against them. Descriptions can be created, viewed, and modified on the Explore page when clicking on thumbnail of a tracked object. See [the object description docs](/configuration/genai/objects.md) for more information on how to automatically generate tracked object descriptions.
Differently weighted versions of the Jina models are available and can be selected by setting the `model_size` config option as `small` or `large`:
Differently weighted versions of the Jina models are available and can be selected by setting the `model_size` config option as `small` or `large`:
@ -78,17 +78,21 @@ Switching between V1 and V2 requires reindexing your embeddings. The embeddings
### GPU Acceleration
### GPU Acceleration
The CLIP models are downloaded in ONNX format, and the `large` model can be accelerated using GPU hardware, when available. This depends on the Docker build that is used.
The CLIP models are downloaded in ONNX format, and the `large` model can be accelerated using GPU hardware, when available. This depends on the Docker build that is used. You can also target a specific device in a multi-GPU installation.
```yaml
```yaml
semantic_search:
semantic_search:
enabled: True
enabled: True
model_size: large
model_size: large
# Optional, if using the 'large' model in a multi-GPU installation
device: 0
```
```
:::info
:::info
If the correct build is used for your GPU and the `large` model is configured, then the GPU will be detected and used automatically.
If the correct build is used for your GPU / NPU and the `large` model is configured, then the GPU will be detected and used automatically.
Specify the `device` option to target a specific GPU in a multi-GPU system (see [onnxruntime's provider options](https://onnxruntime.ai/docs/execution-providers/)).
If you do not specify a device, the first available GPU will be used.
See the [Hardware Accelerated Enrichments](/configuration/hardware_acceleration_enrichments.md) documentation.
See the [Hardware Accelerated Enrichments](/configuration/hardware_acceleration_enrichments.md) documentation.
@ -102,3 +106,61 @@ See the [Hardware Accelerated Enrichments](/configuration/hardware_acceleration_
4. Make your search language and tone closely match exactly what you're looking for. If you are using thumbnail search, **phrase your query as an image caption**. Searching for "red car" may not work as well as "red sedan driving down a residential street on a sunny day".
4. Make your search language and tone closely match exactly what you're looking for. If you are using thumbnail search, **phrase your query as an image caption**. Searching for "red car" may not work as well as "red sedan driving down a residential street on a sunny day".
5. Semantic search on thumbnails tends to return better results when matching large subjects that take up most of the frame. Small things like "cat" tend to not work well.
5. Semantic search on thumbnails tends to return better results when matching large subjects that take up most of the frame. Small things like "cat" tend to not work well.
6. Experiment! Find a tracked object you want to test and start typing keywords and phrases to see what works for you.
6. Experiment! Find a tracked object you want to test and start typing keywords and phrases to see what works for you.
## Triggers
Triggers utilize Semantic Search to automate actions when a tracked object matches a specified image or description. Triggers can be configured so that Frigate executes a specific actions when a tracked object's image or description matches a predefined image or text, based on a similarity threshold. Triggers are managed per camera and can be configured via the Frigate UI in the Settings page under the Triggers tab.
:::note
Semantic Search must be enabled to use Triggers.
:::
### Configuration
Triggers are defined within the `semantic_search` configuration for each camera in your Frigate configuration file or through the UI. Each trigger consists of a `friendly_name`, a `type` (either `thumbnail` or `description`), a `data` field (the reference image event ID or text), a `threshold` for similarity matching, and a list of `actions` to perform when the trigger fires - `notification`, `sub_label`, and `attribute`.
Triggers are best configured through the Frigate UI.
#### Managing Triggers in the UI
1. Navigate to the **Settings** page and select the **Triggers** tab.
2. Choose a camera from the dropdown menu to view or manage its triggers.
3. Click **Add Trigger** to create a new trigger or use the pencil icon to edit an existing one.
4. In the **Create Trigger** wizard:
- Enter a **Name** for the trigger (e.g., "Red Car Alert").
- Enter a descriptive **Friendly Name** for the trigger (e.g., "Red car on the driveway camera").
- Select the **Type** (`Thumbnail` or `Description`).
- For `Thumbnail`, select an image to trigger this action when a similar thumbnail image is detected, based on the threshold.
- For `Description`, enter text to trigger this action when a similar tracked object description is detected.
- Set the **Threshold** for similarity matching.
- Select **Actions** to perform when the trigger fires.
If native webpush notifications are enabled, check the `Send Notification` box to send a notification.
Check the `Add Sub Label` box to add the trigger's friendly name as a sub label to any triggering tracked objects.
Check the `Add Attribute` box to add the trigger's internal ID (e.g., "red_car_alert") to a data attribute on the tracked object that can be processed via the API or MQTT.
5. Save the trigger to update the configuration and store the embedding in the database.
When a trigger fires, the UI highlights the trigger with a blue dot for 3 seconds for easy identification. Additionally, the UI will show the last date/time and tracked object ID that activated your trigger. The last triggered timestamp is not saved to the database or persisted through restarts of Frigate.
### Usage and Best Practices
1. **Thumbnail Triggers**: Select a representative image (event ID) from the Explore page that closely matches the object you want to detect. For best results, choose images where the object is prominent and fills most of the frame.
2. **Description Triggers**: Write concise, specific text descriptions (e.g., "Person in a red jacket") that align with the tracked object’s description. Avoid vague terms to improve matching accuracy.
3. **Threshold Tuning**: Adjust the threshold to balance sensitivity and specificity. A higher threshold (e.g., 0.8) requires closer matches, reducing false positives but potentially missing similar objects. A lower threshold (e.g., 0.6) is more inclusive but may trigger more often.
4. **Using Explore**: Use the context menu or right-click / long-press on a tracked object in the Grid View in Explore to quickly add a trigger based on the tracked object's thumbnail.
5. **Editing triggers**: For the best experience, triggers should be edited via the UI. However, Frigate will ensure triggers edited in the config will be synced with triggers created and edited in the UI.
### Notes
- Triggers rely on the same Jina AI CLIP models (V1 or V2) used for semantic search. Ensure `semantic_search` is enabled and properly configured.
- Reindexing embeddings (via the UI or `reindex: True`) does not affect trigger configurations but may update the embeddings used for matching.
- For optimal performance, use a system with sufficient RAM (8GB minimum, 16GB recommended) and a GPU for `large` model configurations, as described in the Semantic Search requirements.
### FAQ
#### Why can't I create a trigger on thumbnails for some text, like "person with a blue shirt" and have it trigger when a person with a blue shirt is detected?
TL;DR: Text-to-image triggers aren’t supported because CLIP can confuse similar images and give inconsistent scores, making automation unreliable. The same word–image pair can give different scores and the score ranges can be too close together to set a clear cutoff.
Text-to-image triggers are not supported due to fundamental limitations of CLIP-based similarity search. While CLIP works well for exploratory, manual queries, it is unreliable for automated triggers based on a threshold. Issues include embedding drift (the same text–image pair can yield different cosine distances over time), lack of true semantic grounding (visually similar but incorrect matches), and unstable thresholding (distance distributions are dataset-dependent and often too tightly clustered to separate relevant from irrelevant results). Instead, it is recommended to set up a workflow with thumbnail triggers: first use text search to manually select 3–5 representative reference tracked objects, then configure thumbnail triggers based on that visual similarity. This provides robust automation without the semantic ambiguity of text to image matching.
friendly_name: Entire yard # You can use characters from any language text
coordinates: ...
coordinates: ...
```
```
@ -44,8 +45,10 @@ cameras:
- edge_yard
- edge_yard
zones:
zones:
edge_yard:
edge_yard:
friendly_name: Edge yard # You can use characters from any language text
coordinates: ...
coordinates: ...
inner_yard:
inner_yard:
friendly_name: Inner yard # You can use characters from any language text
coordinates: ...
coordinates: ...
```
```
@ -59,6 +62,7 @@ cameras:
- entire_yard
- entire_yard
zones:
zones:
entire_yard:
entire_yard:
friendly_name: Entire yard
coordinates: ...
coordinates: ...
```
```
@ -82,13 +86,16 @@ cameras:
Only car objects can trigger the `front_yard_street` zone and only person can trigger the `entire_yard`. Objects will be tracked for any `person` that enter anywhere in the yard, and for cars only if they enter the street.
Only car objects can trigger the `front_yard_street` zone and only person can trigger the `entire_yard`. Objects will be tracked for any `person` that enter anywhere in the yard, and for cars only if they enter the street.
### Zone Loitering
### Zone Loitering
Sometimes objects are expected to be passing through a zone, but an object loitering in an area is unexpected. Zones can be configured to have a minimum loitering time after which the object will be considered in the zone.
Sometimes objects are expected to be passing through a zone, but an object loitering in an area is unexpected. Zones can be configured to have a minimum loitering time after which the object will be considered in the zone.
:::note
:::note
When using loitering zones, a review item will remain active until the object leaves. Loitering zones are only meant to be used in areas where loitering is not expected behavior.
When using loitering zones, a review item will behave in the following way:
- When a person is in a loitering zone, the review item will remain active until the person leaves the loitering zone, regardless of if they are stationary.
- When any other object is in a loitering zone, the review item will remain active until the loitering time is met. Then if the object is stationary the review item will end.
import CommunityBadge from '@site/src/components/CommunityBadge';
## Cameras
## Cameras
Cameras that output H.264 video and AAC audio will offer the most compatibility with all features of Frigate and Home Assistant. It is also helpful if your camera supports multiple substreams to allow different resolutions to be used for detection, streaming, and recordings without re-encoding.
Cameras that output H.264 video and AAC audio will offer the most compatibility with all features of Frigate and Home Assistant. It is also helpful if your camera supports multiple substreams to allow different resolutions to be used for detection, streaming, and recordings without re-encoding.
@ -56,33 +58,52 @@ Frigate supports multiple different detectors that work on different types of ha
- Runs best with tiny or small size models
- Runs best with tiny or small size models
- [Google Coral EdgeTPU](#google-coral-tpu): The Google Coral EdgeTPU is available in USB and m.2 format allowing for a wide range of compatibility with devices.
- [Google Coral EdgeTPU](#google-coral-tpu): The Google Coral EdgeTPU is available in USB and m.2 format allowing for a wide range of compatibility with devices.
- [Supports primarily ssdlite and mobilenet model architectures](../../configuration/object_detectors#edge-tpu-detector)
- [Supports primarily ssdlite and mobilenet model architectures](../../configuration/object_detectors#edge-tpu-detector)
- <CommunityBadge/> [MemryX](#memryx-mx3): The MX3 M.2 accelerator module is available in m.2 format allowing for a wide range of compatibility with devices.
- [Supports many model architectures](../../configuration/object_detectors#memryx-mx3)
- Runs best with tiny, small, or medium-size models
**AMD**
**AMD**
- [ROCm](#rocm---amd-gpu): ROCm can run on AMD Discrete GPUs to provide efficient object detection
- [ROCm](#rocm---amd-gpu): ROCm can run on AMD Discrete GPUs to provide efficient object detection
- [Supports limited model architectures](../../configuration/object_detectors#supported-models-1)
- [Supports limited model architectures](../../configuration/object_detectors#rocm-supported-models)
- Runs best on discrete AMD GPUs
- Runs best on discrete AMD GPUs
**Apple Silicon**
- [Apple Silicon](#apple-silicon): Apple Silicon is usable on all M1 and newer Apple Silicon devices to provide efficient and fast object detection
- [Supports primarily ssdlite and mobilenet model architectures](../../configuration/object_detectors#apple-silicon-supported-models)
- Runs well with any size models including large
- Runs via ZMQ proxy which adds some latency, only recommended for local connection
**Intel**
**Intel**
- [OpenVino](#openvino---intel): OpenVino can run on Intel Arc GPUs, Intel integrated GPUs, and Intel CPUs to provide efficient object detection.
- [OpenVino](#openvino---intel): OpenVino can run on Intel Arc GPUs, Intel integrated GPUs, and Intel NPUs to provide efficient object detection.
- [Supports majority of model architectures](../../configuration/object_detectors#supported-models)
- [Supports majority of model architectures](../../configuration/object_detectors#openvino-supported-models)
- Runs best with tiny, small, or medium models
- Runs best with tiny, small, or medium models
**Nvidia**
**Nvidia**
- [TensortRT](#tensorrt---nvidia-gpu): TensorRT can run on Nvidia GPUs and Jetson devices.
- [TensortRT](#tensorrt---nvidia-gpu): TensorRT can run on Nvidia GPUs to provide efficient object detection.
- [Supports majority of model architectures via ONNX](../../configuration/object_detectors#supported-models-2)
- [Supports majority of model architectures via ONNX](../../configuration/object_detectors#onnx-supported-models)
- Runs well with any size models including large
- Runs well with any size models including large
**Rockchip**
- <CommunityBadge/> [Jetson](#nvidia-jetson): Jetson devices are supported via the TensorRT or ONNX detectors when running Jetpack 6.
**Rockchip** <CommunityBadge/>
- [RKNN](#rockchip-platform): RKNN models can run on Rockchip devices with included NPUs to provide efficient object detection.
- [RKNN](#rockchip-platform): RKNN models can run on Rockchip devices with included NPUs to provide efficient object detection.
- [Supports limited model architectures](../../configuration/object_detectors#choosing-a-model)
- [Supports limited model architectures](../../configuration/object_detectors#choosing-a-model)
- Runs best with tiny or small size models
- Runs best with tiny or small size models
- Runs efficiently on low power hardware
- Runs efficiently on low power hardware
**Synaptics** <CommunityBadge/>
- [Synaptics](#synaptics): synap models can run on Synaptics devices(e.g astra machina) with included NPUs to provide efficient object detection.
:::
:::
### Hailo-8
### Hailo-8
@ -99,6 +120,7 @@ In real-world deployments, even with multiple cameras running concurrently, Frig
| Name | Hailo‑8 Inference Time | Hailo‑8L Inference Time |
| Name | Hailo‑8 Inference Time | Hailo‑8L Inference Time |
| Intel HD 530 | 15 - 35 ms | | | Can only run one detector instance |
| Intel HD 530 | 15 - 35 ms | | | | Can only run one detector instance |
| Intel HD 620 | 15 - 25 ms | 320: ~ 35 ms | | |
| Intel HD 620 | 15 - 25 ms | | 320: ~ 35 ms | | |
| Intel HD 630 | ~ 15 ms | 320: ~ 30 ms | | |
| Intel HD 630 | ~ 15 ms | | 320: ~ 30 ms | | |
| Intel UHD 730 | ~ 10 ms | 320: ~ 19 ms 640: ~ 54 ms | | |
| Intel UHD 730 | ~ 10 ms | t-320: 14ms s-320: 24ms t-640: 34ms s-640: 65ms | 320: ~ 19 ms 640: ~ 54 ms | | |
| Intel UHD 770 | ~ 15 ms | 320: ~ 20 ms 640: ~ 46 ms | | |
| Intel UHD 770 | ~ 15 ms | t-320: ~ 16 ms s-320: ~ 20 ms s-640: ~ 40 ms | 320: ~ 20 ms 640: ~ 46 ms | | |
| Intel N100 | ~ 15 ms | 320: ~ 25 ms | | Can only run one detector instance |
| Intel N100 | ~ 15 ms | s-320: 30 ms | 320: ~ 25 ms | | Can only run one detector instance |
| Intel Iris XE | ~ 10 ms | 320: ~ 18 ms 640: ~ 50 ms | | |
| Intel N150 | ~ 15 ms | t-320: 16 ms s-320: 24 ms | | | |
| Intel Arc A380 | ~ 6 ms | 320: ~ 10 ms 640: ~ 22 ms | 336: 20 ms 448: 27 ms | |
| Intel Iris XE | ~ 10 ms | t-320: 6 ms t-640: 14 ms s-320: 8 ms s-640: 16 ms | 320: ~ 10 ms 640: ~ 20 ms | 320-n: 33 ms | |
| Intel Arc A750 | ~ 4 ms | 320: ~ 8 ms | | |
| Intel NPU | ~ 6 ms | s-320: 11 ms | 320: ~ 14 ms 640: ~ 34 ms | 320-n: 40 ms | |
| Intel Arc A310 | ~ 5 ms | t-320: 7 ms t-640: 11 ms s-320: 8 ms s-640: 15 ms | 320: ~ 8 ms 640: ~ 14 ms | | |
| Intel Arc A380 | ~ 6 ms | | 320: ~ 10 ms 640: ~ 22 ms | 336: 20 ms 448: 27 ms | |
| Intel Arc A750 | ~ 4 ms | | 320: ~ 8 ms | | |
### TensorRT - Nvidia GPU
### TensorRT - Nvidia GPU
@ -149,7 +175,7 @@ Frigate is able to utilize an Nvidia GPU which supports the 12.x series of CUDA
#### Minimum Hardware Support
#### Minimum Hardware Support
12.x series of CUDA libraries are used which have minor version compatibility. The minimum driver version on the host system must be `>=545`. Also the GPU must support a Compute Capability of `5.0` or greater. This generally correlates to a Maxwell-era GPU or newer, check the NVIDIA GPU Compute Capability table linked below.
12.x series of CUDA libraries are used which have minor version compatibility. The minimum driver version on the host system must be `>=545`. Also the GPU must support a Compute Capability of `5.0` or greater. This generally correlates to a Maxwell-era GPU or newer, check the NVIDIA GPU Compute Capability table linked below.
Make sure your host system has the [nvidia-container-runtime](https://docs.docker.com/config/containers/resource_constraints/#access-an-nvidia-gpu) installed to pass through the GPU to the container and the host system has a compatible driver installed for your GPU.
Make sure your host system has the [nvidia-container-runtime](https://docs.docker.com/config/containers/resource_constraints/#access-an-nvidia-gpu) installed to pass through the GPU to the container and the host system has a compatible driver installed for your GPU.
@ -164,29 +190,74 @@ There are improved capabilities in newer GPU architectures that TensorRT can ben
| RTX 3050 | t-320: 8 ms s-320: 10 ms s-640: 28 ms | Nano-320: ~ 12 ms | 320: ~ 10 ms 640: ~ 16 ms |
| RTX 3070 | t-320: 6 ms s-320: 8 ms s-640: 25 ms | Nano-320: ~ 9 ms | 320: ~ 8 ms 640: ~ 14 ms |
| RTX A4000 | | | 320: ~ 15 ms |
| Tesla P40 | | | 320: ~ 105 ms |
### Apple Silicon
With the [Apple Silicon](../configuration/object_detectors.md#apple-silicon-detector) detector Frigate can take advantage of the NPU in M1 and newer Apple Silicon.
:::warning
Apple Silicon can not run within a container, so a ZMQ proxy is utilized to communicate with [the Apple Silicon Frigate detector](https://github.com/frigate-nvr/apple-silicon-detector) which runs on the host. This should add minimal latency when run on the same device.
:::
| Name | YOLOv9 Inference Time |
| ------ | ------------------------------------ |
| M4 | s-320: 10 ms |
| M3 Pro | t-320: 6 ms s-320: 8 ms s-640: 20 ms |
| M1 | s-320: 9ms |
### ROCm - AMD GPU
### ROCm - AMD GPU
With the [rocm](../configuration/object_detectors.md#amdrocm-gpu-detector) detector Frigate can take advantage of many discrete AMD GPUs.
With the [ROCm](../configuration/object_detectors.md#amdrocm-gpu-detector) detector Frigate can take advantage of many discrete AMD GPUs.
| Name | YOLOv9 Inference Time | YOLO-NAS Inference Time |
| Name | YOLOv9 Inference Time | YOLO-NAS Inference Time |
| AMD 780M | ~ 14 ms | 320: ~ 25 ms 640: ~ 50 ms |
| AMD 780M | t-320: ~ 14 ms s-320: 20 ms | 320: ~ 25 ms 640: ~ 50 ms |
| AMD 8700G | | 320: ~ 20 ms 640: ~ 40 ms |
| AMD 8700G | | 320: ~ 20 ms 640: ~ 40 ms |
## Community Supported Detectors
## Community Supported Detectors
### MemryX MX3
Frigate supports the MemryX MX3 M.2 AI Acceleration Module on compatible hardware platforms, including both x86 (Intel/AMD) and ARM-based SBCs such as Raspberry Pi 5.
A single MemryX MX3 module is capable of handling multiple camera streams using the default models, making it sufficient for most users. For larger deployments with more cameras or bigger models, multiple MX3 modules can be used. Frigate supports multi-detector configurations, allowing you to connect multiple MX3 modules to scale inference capacity.
Detailed information is available [in the detector docs](/configuration/object_detectors#memryx-mx3).
**Default Model Configuration:**
- Default model is **YOLO-NAS-Small**.
The MX3 is a pipelined architecture, where the maximum frames per second supported (and thus supported number of cameras) cannot be calculated as `1/latency` (1/"Inference Time") and is measured separately. When estimating how many camera streams you may support with your configuration, use the **MX3 Total FPS** column to approximate of the detector's limit, not the Inference Time.
| Model | Input Size | MX3 Inference Time | MX3 Total FPS |
Inference speeds may vary depending on the host platform. The above data was measured on an **Intel 13700 CPU**. Platforms like Raspberry Pi, Orange Pi, and other ARM-based SBCs have different levels of processing capability, which may limit total FPS.
### Nvidia Jetson
### Nvidia Jetson
Frigate supports all Jetson boards, from the inexpensive Jetson Nano to the powerful Jetson Orin AGX. It will [make use of the Jetson's hardware media engine](/configuration/hardware_acceleration_video#nvidia-jetson-orin-agx-orin-nx-orin-nano-xavier-agx-xavier-nx-tx2-tx1-nano) when configured with the [appropriate presets](/configuration/ffmpeg_presets#hwaccel-presets), and will make use of the Jetson's GPU and DLA for object detection when configured with the [TensorRT detector](/configuration/object_detectors#nvidia-tensorrt-detector).
Jetson devices are supported via the TensorRT or ONNX detectors when running Jetpack 6. It will [make use of the Jetson's hardware media engine](/configuration/hardware_acceleration_video#nvidia-jetson-orin-agx-orin-nx-orin-nano-xavier-agx-xavier-nx-tx2-tx1-nano) when configured with the [appropriate presets](/configuration/ffmpeg_presets#hwaccel-presets), and will make use of the Jetson's GPU and DLA for object detection when configured with the [TensorRT detector](/configuration/object_detectors#nvidia-tensorrt-detector).
Inference speed will vary depending on the YOLO model, jetson platform and jetson nvpmodel (GPU/DLA/EMC clock speed). It is typically 20-40 ms for most models. The DLA is more efficient than the GPU, but not faster, so using the DLA will reduce power consumption but will slightly increase inference time.
Inference speed will vary depending on the YOLO model, jetson platform and jetson nvpmodel (GPU/DLA/EMC clock speed). It is typically 20-40 ms for most models. The DLA is more efficient than the GPU, but not faster, so using the DLA will reduce power consumption but will slightly increase inference time.
@ -207,6 +278,15 @@ Frigate supports hardware video processing on all Rockchip boards. However, hard
The inference time of a rk3588 with all 3 cores enabled is typically 25-30 ms for yolo-nas s.
The inference time of a rk3588 with all 3 cores enabled is typically 25-30 ms for yolo-nas s.
## What does Frigate use the CPU for and what does it use a detector for? (ELI5 Version)
## What does Frigate use the CPU for and what does it use a detector for? (ELI5 Version)
This is taken from a [user question on reddit](https://www.reddit.com/r/homeassistant/comments/q8mgau/comment/hgqbxh5/?utm_source=share&utm_medium=web2x&context=3). Modified slightly for clarity.
This is taken from a [user question on reddit](https://www.reddit.com/r/homeassistant/comments/q8mgau/comment/hgqbxh5/?utm_source=share&utm_medium=web2x&context=3). Modified slightly for clarity.
@ -43,7 +43,7 @@ The following ports are used by Frigate and can be mapped via docker as required
| `8971` | Authenticated UI and API access without TLS. Reverse proxies should use this port. |
| `8971` | Authenticated UI and API access without TLS. Reverse proxies should use this port. |
| `5000` | Internal unauthenticated UI and API access. Access to this port should be limited. Intended to be used within the docker network for services that integrate with Frigate. |
| `5000` | Internal unauthenticated UI and API access. Access to this port should be limited. Intended to be used within the docker network for services that integrate with Frigate. |
| `8554` | RTSP restreaming. By default, these streams are unauthenticated. Authentication can be configured in go2rtc section of config. |
| `8554` | RTSP restreaming. By default, these streams are unauthenticated. Authentication can be configured in go2rtc section of config. |
| `8555` | WebRTC connections for low latency live views. |
| `8555` | WebRTC connections for cameras with two-way talk support. |
@ -132,6 +132,77 @@ If you are using `docker run`, add this option to your command `--device /dev/ha
Finally, configure [hardware object detection](/configuration/object_detectors#hailo-8l) to complete the setup.
Finally, configure [hardware object detection](/configuration/object_detectors#hailo-8l) to complete the setup.
### MemryX MX3
The MemryX MX3 Accelerator is available in the M.2 2280 form factor (like an NVMe SSD), and supports a variety of configurations:
- x86 (Intel/AMD) PCs
- Raspberry Pi 5
- Orange Pi 5 Plus/Max
- Multi-M.2 PCIe carrier cards
#### Configuration
#### Installation
To get started with MX3 hardware setup for your system, refer to the [Hardware Setup Guide](https://developer.memryx.com/get_started/hardware_setup.html).
Then follow these steps for installing the correct driver/runtime configuration:
1. Copy or download [this script](https://github.com/blakeblackshear/frigate/blob/dev/docker/memryx/user_installation.sh).
2. Ensure it has execution permissions with `sudo chmod +x user_installation.sh`
3. Run the script with `./user_installation.sh`
4. **Restart your computer** to complete driver installation.
#### Setup
To set up Frigate, follow the default installation instructions, for example: `ghcr.io/blakeblackshear/frigate:stable`
Next, grant Docker permissions to access your hardware by adding the following lines to your `docker-compose.yml` file:
```yaml
devices:
- /dev/memx0
```
During configuration, you must run Docker in privileged mode and ensure the container can access the max-manager.
In your `docker-compose.yml`, also add:
```yaml
privileged: true
volumes:
/run/mxa_manager:/run/mxa_manager
```
If you can't use Docker Compose, you can run the container with something similar to this:
Finally, configure [hardware object detection](/configuration/object_detectors#memryx-mx3) to complete the setup.
### Rockchip platform
### Rockchip platform
Make sure that you use a linux distribution that comes with the rockchip BSP kernel 5.10 or 6.1 and necessary drivers (especially rkvdec2 and rknpu). To check, enter the following commands:
Make sure that you use a linux distribution that comes with the rockchip BSP kernel 5.10 or 6.1 and necessary drivers (especially rkvdec2 and rknpu). To check, enter the following commands:
@ -185,6 +256,37 @@ or add these options to your `docker run` command:
Next, you should configure [hardware object detection](/configuration/object_detectors#rockchip-platform) and [hardware video processing](/configuration/hardware_acceleration_video#rockchip-platform).
Next, you should configure [hardware object detection](/configuration/object_detectors#rockchip-platform) and [hardware video processing](/configuration/hardware_acceleration_video#rockchip-platform).
### Synaptics
- SL1680
#### Setup
Follow Frigate's default installation instructions, but use a docker image with `-synaptics` suffix for example `ghcr.io/blakeblackshear/frigate:stable-synaptics`.
Next, you need to grant docker permissions to access your hardware:
- During the configuration process, you should run docker in privileged mode to avoid any errors due to insufficient permissions. To do so, add `privileged: true` to your `docker-compose.yml` file or the `--privileged` flag to your docker run command.
```yaml
devices:
- /dev/synap
- /dev/video0
- /dev/video1
```
or add these options to your `docker run` command:
```
--device /dev/synap \
--device /dev/video0 \
--device /dev/video1
```
#### Configuration
Next, you should configure [hardware object detection](/configuration/object_detectors#synaptics) and [hardware video processing](/configuration/hardware_acceleration_video#synaptics).
## Docker
## Docker
Running through Docker with Docker Compose is the recommended install method.
Running through Docker with Docker Compose is the recommended install method.
@ -202,12 +304,13 @@ services:
- /dev/bus/usb:/dev/bus/usb # Passes the USB Coral, needs to be modified for other versions
- /dev/bus/usb:/dev/bus/usb # Passes the USB Coral, needs to be modified for other versions
- /dev/apex_0:/dev/apex_0 # Passes a PCIe Coral, follow driver instructions here https://coral.ai/docs/m2/get-started/#2a-on-linux
- /dev/apex_0:/dev/apex_0 # Passes a PCIe Coral, follow driver instructions here https://coral.ai/docs/m2/get-started/#2a-on-linux
- /dev/video11:/dev/video11 # For Raspberry Pi 4B
- /dev/video11:/dev/video11 # For Raspberry Pi 4B
- /dev/dri/renderD128:/dev/dri/renderD128 # For intel hwaccel, needs to be updated for your hardware
- /dev/dri/renderD128:/dev/dri/renderD128 # AMD / Intel GPU, needs to be updated for your hardware
Choosing the right hardware for your Frigate NVR setup is important for optimal performance and a smooth experience. This guide will walk you through the key considerations, focusing on the number of cameras and the hardware required for efficient object detection.
## Key Considerations
### Number of Cameras and Simultaneous Activity
The most fundamental factor in your hardware decision is the number of cameras you plan to use. However, it's not just about the raw count; it's also about how many of those cameras are likely to see activity and require object detection simultaneously.
When motion is detected in a camera's feed, regions of that frame are sent to your chosen [object detection hardware](/configuration/object_detectors).
- **Low Simultaneous Activity (1-6 cameras with occasional motion)**: If you have a few cameras in areas with infrequent activity (e.g., a seldom-used backyard, a quiet interior), the demand on your object detection hardware will be lower. A single, entry-level AI accelerator will suffice.
- **Moderate Simultaneous Activity (6-12 cameras with some overlapping motion)**: For setups with more cameras, especially in areas like a busy street or a property with multiple access points, it's more likely that several cameras will capture activity at the same time. This increases the load on your object detection hardware, requiring more processing power.
- **High Simultaneous Activity (12+ cameras or highly active zones)**: Large installations or scenarios where many cameras frequently capture activity (e.g., busy street with overview, identification, dedicated LPR cameras, etc.) will necessitate robust object detection capabilities. You'll likely need multiple entry-level AI accelerators or a more powerful single unit such as a discrete GPU.
- **Commercial Installations (40+ cameras)**: Commercial installations or scenarios where a substantial number of cameras capture activity (e.g., a commercial property, an active public space) will necessitate robust object detection capabilities. You'll likely need a modern discrete GPU.
### Video Decoding
Modern CPUs with integrated GPUs (Intel Quick Sync, AMD VCN) or dedicated GPUs can significantly offload video decoding from the main CPU, freeing up resources. This is highly recommended, especially for multiple cameras.
:::tip
For commercial installations it is important to verify the number of supported concurrent streams on your GPU, many consumer GPUs max out at ~20 concurrent camera streams.
:::
## Hardware Considerations
### Object Detection
There are many different hardware options for object detection depending on priorities and available hardware. See [the recommended hardware page](./hardware.md#detectors) for more specifics on what hardware is recommended for object detection.
### Storage
Storage is an important consideration when planning a new installation. To get a more precise estimate of your storage requirements, you can use an IP camera storage calculator. Websites like [IPConfigure Storage Calculator](https://calculator.ipconfigure.com/) can help you determine the necessary disk space based on your camera settings.
#### SSDs (Solid State Drives)
SSDs are an excellent choice for Frigate, offering high speed and responsiveness. The older concern that SSDs would quickly "wear out" from constant video recording is largely no longer valid for modern consumer and enterprise-grade SSDs.
- Longevity: Modern SSDs are designed with advanced wear-leveling algorithms and significantly higher "Terabytes Written" (TBW) ratings than earlier models. For typical home NVR use, a good quality SSD will likely outlast the useful life of your NVR hardware itself.
- Performance: SSDs excel at handling the numerous small write operations that occur during continuous video recording and can significantly improve the responsiveness of the Frigate UI and clip retrieval.
- Silence and Efficiency: SSDs produce no noise and consume less power than traditional HDDs.
#### HDDs (Hard Disk Drives)
Traditional Hard Disk Drives (HDDs) remain a great and often more cost-effective option for long-term video storage, especially for larger setups where raw capacity is prioritized.
- Cost-Effectiveness: HDDs offer the best cost per gigabyte, making them ideal for storing many days, weeks, or months of continuous footage.
- Capacity: HDDs are available in much larger capacities than most consumer SSDs, which is beneficial for extensive video archives.
- NVR-Rated Drives: If choosing an HDD, consider drives specifically designed for surveillance (NVR) use, such as Western Digital Purple or Seagate SkyHawk. These drives are engineered for 24/7 operation and continuous write workloads, offering improved reliability compared to standard desktop drives.
Determining Your Storage Needs
The amount of storage you need will depend on several factors:
- Number of Cameras: More cameras naturally require more space.
- Resolution and Framerate: Higher resolution (e.g., 4K) and higher framerate (e.g., 30fps) streams consume significantly more storage.
- Recording Method: Continuous recording uses the most space. motion-only recording or object-triggered recording can save space, but may miss some footage.
- Retention Period: How many days, weeks, or months of footage do you want to keep?
#### Network Storage (NFS/SMB)
While supported, using network-attached storage (NAS) for recordings can introduce latency and network dependency considerations. For optimal performance and reliability, it is generally recommended to have local storage for your Frigate recordings. If using a NAS, ensure your network connection to it is robust and fast (Gigabit Ethernet at minimum) and that the NAS itself can handle the continuous write load.
### RAM (Memory)
- **Basic Minimum: 4GB RAM**: This is generally sufficient for a very basic Frigate setup with a few cameras and a dedicated object detection accelerator, without running any enrichments. Performance might be tight, especially with higher resolution streams or numerous detections.
- **Minimum for Enrichments: 8GB RAM**: If you plan to utilize Frigate's enrichment features (e.g., facial recognition, license plate recognition, or other AI models that run alongside standard object detection), 8GB of RAM should be considered the minimum. Enrichments require additional memory to load and process their respective models and data.
- **Recommended: 16GB RAM**: For most users, especially those with many cameras (8+) or who plan to heavily leverage enrichments, 16GB of RAM is highly recommended. This provides ample headroom for smooth operation, reduces the likelihood of swapping to disk (which can impact performance), and allows for future expansion.
The current stable version of Frigate is **0.15.0**. The release notes and any breaking changes for this version can be found on the [Frigate GitHub releases page](https://github.com/blakeblackshear/frigate/releases/tag/v0.15.0).
The current stable version of Frigate is **0.16.2**. The release notes and any breaking changes for this version can be found on the [Frigate GitHub releases page](https://github.com/blakeblackshear/frigate/releases/tag/v0.16.2).
Keeping Frigate up to date ensures you benefit from the latest features, performance improvements, and bug fixes. The update process varies slightly depending on your installation method (Docker, Home Assistant Addon, etc.). Below are instructions for the most common setups.
Keeping Frigate up to date ensures you benefit from the latest features, performance improvements, and bug fixes. The update process varies slightly depending on your installation method (Docker, Home Assistant Addon, etc.). Below are instructions for the most common setups.
@ -33,21 +33,21 @@ If you’re running Frigate via Docker (recommended method), follow these steps:
2. **Update and Pull the Latest Image**:
2. **Update and Pull the Latest Image**:
- If using Docker Compose:
- If using Docker Compose:
- Edit your `docker-compose.yml` file to specify the desired version tag (e.g., `0.15.0` instead of `0.14.1`). For example:
- Edit your `docker-compose.yml` file to specify the desired version tag (e.g., `0.16.2` instead of `0.15.2`). For example:
- **Note for `stable` Tag Users**: If your `docker-compose.yml` uses the `stable` tag (e.g., `ghcr.io/blakeblackshear/frigate:stable`), you don’t need to update the tag manually. The `stable` tag always points to the latest stable release after pulling.
- **Note for `stable` Tag Users**: If your `docker-compose.yml` uses the `stable` tag (e.g., `ghcr.io/blakeblackshear/frigate:stable`), you don’t need to update the tag manually. The `stable` tag always points to the latest stable release after pulling.
- If using `docker run`:
- If using `docker run`:
- Pull the image with the appropriate tag (e.g., `0.15.0`, `0.15.0-tensorrt`, or `stable`):
- Pull the image with the appropriate tag (e.g., `0.16.2`, `0.16.2-tensorrt`, or `stable`):
2. Restore your backed-up config file and database.
2. Restore your backed-up config file and database.
3. Revert to the previous image version:
3. Revert to the previous image version:
- For Docker: Specify an older tag (e.g., `ghcr.io/blakeblackshear/frigate:0.14.1`) in your `docker run` command.
- For Docker: Specify an older tag (e.g., `ghcr.io/blakeblackshear/frigate:0.15.2`) in your `docker run` command.
- For Docker Compose: Edit your `docker-compose.yml`, specify the older version tag (e.g., `ghcr.io/blakeblackshear/frigate:0.14.1`), and re-run `docker compose up -d`.
- For Docker Compose: Edit your `docker-compose.yml`, specify the older version tag (e.g., `ghcr.io/blakeblackshear/frigate:0.15.2`), and re-run `docker compose up -d`.
- For Home Assistant: Reinstall the previous addon version manually via the repository if needed and restart the addon.
- For Home Assistant: Reinstall the previous addon version manually via the repository if needed and restart the addon.
Use of the bundled go2rtc is optional. You can still configure FFmpeg to connect directly to your cameras. However, adding go2rtc to your configuration is required for the following features:
Use of the bundled go2rtc is optional. You can still configure FFmpeg to connect directly to your cameras. However, adding go2rtc to your configuration is required for the following features:
- WebRTC or MSE for live viewing with audio, higher resolutions and frame rates than the jsmpeg stream which is limited to the detect stream and does not support audio
- WebRTC or MSE for live viewing with audio, higher resolutions and frame rates than the jsmpeg stream which is limited to the detect stream and does not support audio
- Live stream support for cameras in Home Assistant Integration
- Live stream support for cameras in Home Assistant Integration
- RTSP relay for use with other consumers to reduce the number of connections to your camera streams
- RTSP relay for use with other consumers to reduce the number of connections to your camera streams
# Setup a go2rtc stream
## Setup a go2rtc stream
First, you will want to configure go2rtc to connect to your camera stream by adding the stream you want to use for live view in your Frigate config file. Avoid changing any other parts of your config at this step. Note that go2rtc supports [many different stream types](https://github.com/AlexxIT/go2rtc/tree/v1.9.9#module-streams), not just rtsp.
First, you will want to configure go2rtc to connect to your camera stream by adding the stream you want to use for live view in your Frigate config file. Avoid changing any other parts of your config at this step. Note that go2rtc supports [many different stream types](https://github.com/AlexxIT/go2rtc/tree/v1.9.10#module-streams), not just rtsp.
:::tip
:::tip
@ -49,8 +47,8 @@ After adding this to the config, restart Frigate and try to watch the live strea
- Check Video Codec:
- Check Video Codec:
- If the camera stream works in go2rtc but not in your browser, the video codec might be unsupported.
- If the camera stream works in go2rtc but not in your browser, the video codec might be unsupported.
- If using H265, switch to H264. Refer to [videocodeccompatibility](https://github.com/AlexxIT/go2rtc/tree/v1.9.9#codecs-madness) in go2rtc documentation.
- If using H265, switch to H264. Refer to [videocodeccompatibility](https://github.com/AlexxIT/go2rtc/tree/v1.9.10#codecs-madness) in go2rtc documentation.
- If unable to switch from H265 to H264, or if the stream format is different (e.g., MJPEG), re-encode the video using [FFmpegparameters](https://github.com/AlexxIT/go2rtc/tree/v1.9.9#source-ffmpeg). It supports rotating and resizing video feeds and hardware acceleration. Keep in mind that transcoding video from one format to another is a resource intensive task and you may be better off using the built-in jsmpeg view.
- If unable to switch from H265 to H264, or if the stream format is different (e.g., MJPEG), re-encode the video using [FFmpegparameters](https://github.com/AlexxIT/go2rtc/tree/v1.9.10#source-ffmpeg). It supports rotating and resizing video feeds and hardware acceleration. Keep in mind that transcoding video from one format to another is a resource intensive task and you may be better off using the built-in jsmpeg view.
```yaml
```yaml
go2rtc:
go2rtc:
streams:
streams:
@ -111,11 +109,11 @@ section.
:::
:::
## Next steps
### Next steps
1. If the stream you added to go2rtc is also used by Frigate for the `record` or `detect` role, you can migrate your config to pull from the RTSP restream to reduce the number of connections to your camera as shown [here](/configuration/restream#reduce-connections-to-camera).
1. If the stream you added to go2rtc is also used by Frigate for the `record` or `detect` role, you can migrate your config to pull from the RTSP restream to reduce the number of connections to your camera as shown [here](/configuration/restream#reduce-connections-to-camera).
2. You may also prefer to [setup WebRTC](/configuration/live#webrtc-extra-configuration) for slightly lower latency than MSE. Note that WebRTC only supports h264 and specific audio formats and may require opening ports on your router.
2. You can [set up WebRTC](/configuration/live#webrtc-extra-configuration) if your camera supports two-way talk. Note that WebRTC only supports specific audio formats and may require opening ports on your router.
## Important considerations
## Homekit Configuration
If you are configuring go2rtc to publish HomeKit camera streams, on pairing the configuration is written to the `/dev/shm/go2rtc.yaml` file inside the container. These changes must be manually copied across to the `go2rtc` section of your Frigate configuration in order to persist through restarts.
To add camera streams to Homekit Frigate must be configured in docker to use `host` networking mode. Once that is done, you can use the go2rtc WebUI (accessed via port 1984, which is disabled by default) to share export a camera to Homekit. Any changes made will automatically be saved to `/config/go2rtc_homekit.yml`.
Frigate cameras can be integrated with Apple HomeKit through go2rtc. This allows you to view your camera streams directly in the Apple Home app on your iOS, iPadOS, macOS, and tvOS devices.
## Overview
HomeKit integration is handled entirely through go2rtc, which is embedded in Frigate. go2rtc provides the necessary HomeKit Accessory Protocol (HAP) server to expose your cameras to HomeKit.
## Setup
All HomeKit configuration and pairing should be done through the **go2rtc WebUI**.
### Accessing the go2rtc WebUI
The go2rtc WebUI is available at:
```
http://<frigate_host>:1984
```
Replace `<frigate_host>` with the IP address or hostname of your Frigate server.
### Pairing Cameras
1. Navigate to the go2rtc WebUI at `http://<frigate_host>:1984`
2. Use the `add` section to add a new camera to HomeKit
3. Follow the on-screen instructions to generate pairing codes for your cameras
## Requirements
- Frigate must be accessible on your local network using host network_mode
- Your iOS device must be on the same network as Frigate
- Port 1984 must be accessible for the go2rtc WebUI
- For detailed go2rtc configuration options, refer to the [go2rtc documentation](https://github.com/AlexxIT/go2rtc)
@ -29,12 +29,12 @@ Message published for each changed tracked object. The first message is publishe
"camera": "front_door",
"camera": "front_door",
"frame_time": 1607123961.837752,
"frame_time": 1607123961.837752,
"snapshot": {
"snapshot": {
"frame_time": 1607123965.975463,
"frame_time": 1607123965.975463,
"box": [415, 489, 528, 700],
"box": [415, 489, 528, 700],
"area": 12728,
"area": 12728,
"region": [260, 446, 660, 846],
"region": [260, 446, 660, 846],
"score": 0.77546,
"score": 0.77546,
"attributes": [],
"attributes": []
},
},
"label": "person",
"label": "person",
"sub_label": null,
"sub_label": null,
@ -61,6 +61,7 @@ Message published for each changed tracked object. The first message is publishe
}, // attributes with top score that have been identified on the object at any point
}, // attributes with top score that have been identified on the object at any point
"current_attributes": [], // detailed data about the current attributes in this frame
"current_attributes": [], // detailed data about the current attributes in this frame
"current_estimated_speed": 0.71, // current estimated speed (mph or kph) for objects moving through zones with speed estimation enabled
"current_estimated_speed": 0.71, // current estimated speed (mph or kph) for objects moving through zones with speed estimation enabled
"average_estimated_speed": 14.3, // average estimated speed (mph or kph) for objects moving through zones with speed estimation enabled
"velocity_angle": 180, // direction of travel relative to the frame for objects moving through zones with speed estimation enabled
"velocity_angle": 180, // direction of travel relative to the frame for objects moving through zones with speed estimation enabled
"recognized_license_plate": "ABC12345", // a recognized license plate for car objects
"recognized_license_plate": "ABC12345", // a recognized license plate for car objects
"recognized_license_plate_score": 0.933451
"recognized_license_plate_score": 0.933451
@ -70,12 +71,12 @@ Message published for each changed tracked object. The first message is publishe
"camera": "front_door",
"camera": "front_door",
"frame_time": 1607123962.082975,
"frame_time": 1607123962.082975,
"snapshot": {
"snapshot": {
"frame_time": 1607123965.975463,
"frame_time": 1607123965.975463,
"box": [415, 489, 528, 700],
"box": [415, 489, 528, 700],
"area": 12728,
"area": 12728,
"region": [260, 446, 660, 846],
"region": [260, 446, 660, 846],
"score": 0.77546,
"score": 0.77546,
"attributes": [],
"attributes": []
},
},
"label": "person",
"label": "person",
"sub_label": ["John Smith", 0.79],
"sub_label": ["John Smith", 0.79],
@ -109,6 +110,7 @@ Message published for each changed tracked object. The first message is publishe
}
}
],
],
"current_estimated_speed": 0.77, // current estimated speed (mph or kph) for objects moving through zones with speed estimation enabled
"current_estimated_speed": 0.77, // current estimated speed (mph or kph) for objects moving through zones with speed estimation enabled
"average_estimated_speed": 14.31, // average estimated speed (mph or kph) for objects moving through zones with speed estimation enabled
"velocity_angle": 180, // direction of travel relative to the frame for objects moving through zones with speed estimation enabled
"velocity_angle": 180, // direction of travel relative to the frame for objects moving through zones with speed estimation enabled
"recognized_license_plate": "ABC12345", // a recognized license plate for car objects
"recognized_license_plate": "ABC12345", // a recognized license plate for car objects
"recognized_license_plate_score": 0.933451
"recognized_license_plate_score": 0.933451
@ -139,7 +141,7 @@ Message published for updates to tracked object metadata, for example:
"name": "John",
"name": "John",
"score": 0.95,
"score": 0.95,
"camera": "front_door_cam",
"camera": "front_door_cam",
"timestamp": 1607123958.748393,
"timestamp": 1607123958.748393
}
}
```
```
@ -153,13 +155,53 @@ Message published for updates to tracked object metadata, for example:
"plate": "123ABC",
"plate": "123ABC",
"score": 0.95,
"score": 0.95,
"camera": "driveway_cam",
"camera": "driveway_cam",
"timestamp": 1607123958.748393
}
```
#### Object Classification Update
Message published when [object classification](/configuration/custom_classification/object_classification) reaches consensus on a classification result.
**Sub label type:**
```json
{
"type": "classification",
"id": "1607123955.475377-mxklsc",
"camera": "front_door_cam",
"timestamp": 1607123958.748393,
"timestamp": 1607123958.748393,
"model": "person_classifier",
"sub_label": "delivery_person",
"score": 0.87
}
```
**Attribute type:**
```json
{
"type": "classification",
"id": "1607123955.475377-mxklsc",
"camera": "front_door_cam",
"timestamp": 1607123958.748393,
"model": "helmet_detector",
"attribute": "yes",
"score": 0.92
}
}
```
```
### `frigate/reviews`
### `frigate/reviews`
Message published for each changed review item. The first message is published when the `detection` or `alert` is initiated. When additional objects are detected or when a zone change occurs, it will publish a, `update` message with the same id. When the review activity has ended a final `end` message is published.
Message published for each changed review item. The first message is published when the `detection` or `alert` is initiated.
An `update` with the same ID will be published when:
- The severity changes from `detection` to `alert`
- Additional objects are detected
- An object is recognized via face, lpr, etc.
When the review activity has ended a final `end` message is published.
```json
```json
{
{
@ -206,6 +248,20 @@ Message published for each changed review item. The first message is published w
}
}
```
```
### `frigate/triggers`
Message published when a trigger defined in a camera's `semantic_search` configuration fires.
```json
{
"name": "car_trigger",
"camera": "driveway",
"event_id": "1751565549.853251-b69j73",
"type": "thumbnail",
"score": 0.85
}
```
### `frigate/stats`
### `frigate/stats`
Same data available at `/api/stats` published at a configurable interval.
Same data available at `/api/stats` published at a configurable interval.
@ -224,6 +280,14 @@ Topic with current state of notifications. Published values are `ON` and `OFF`.
## Frigate Camera Topics
## Frigate Camera Topics
### `frigate/<camera_name>/<role>/status`
Publishes the current health status of each role that is enabled (`audio`, `detect`, `record`). Possible values are:
- `online`: Stream is running and being processed
- `offline`: Stream is offline and is being restarted
- `disabled`: Camera is currently disabled
### `frigate/<camera_name>/<object_name>`
### `frigate/<camera_name>/<object_name>`
Publishes the count of objects for the camera for use as a sensor in Home Assistant.
Publishes the count of objects for the camera for use as a sensor in Home Assistant.
@ -257,6 +321,8 @@ The height and crop of snapshots can be configured in the config.
Publishes "ON" when a type of audio is detected and "OFF" when it is not for the camera for use as a sensor in Home Assistant.
Publishes "ON" when a type of audio is detected and "OFF" when it is not for the camera for use as a sensor in Home Assistant.
`all` can be used as the audio_type for the status of all audio types.
### `frigate/<camera_name>/audio/dBFS`
### `frigate/<camera_name>/audio/dBFS`
Publishes the dBFS value for audio detected on this camera.
Publishes the dBFS value for audio detected on this camera.
@ -269,6 +335,17 @@ Publishes the rms value for audio detected on this camera.
**NOTE:** Requires audio detection to be enabled
**NOTE:** Requires audio detection to be enabled
### `frigate/<camera_name>/audio/transcription`
Publishes transcribed text for audio detected on this camera.
**NOTE:** Requires audio detection and transcription to be enabled
Publishes the current state detected by a state classification model for the camera. The topic name includes the model name as configured in your classification settings.
The published value is the detected state class name (e.g., `open`, `closed`, `on`, `off`). The state is only published when it changes, helping to reduce unnecessary MQTT traffic.
### `frigate/<camera_name>/enabled/set`
### `frigate/<camera_name>/enabled/set`
Topic to turn Frigate's processing of a camera on and off. Expected values are `ON` and `OFF`.
Topic to turn Frigate's processing of a camera on and off. Expected values are `ON` and `OFF`.
@ -391,6 +468,22 @@ Topic to turn review detections for a camera on or off. Expected values are `ON`
Topic with current state of review detections for a camera. Published values are `ON` and `OFF`.
Topic with current state of review detections for a camera. Published values are `ON` and `OFF`.
@ -34,6 +34,12 @@ Model IDs are not secret values and can be shared freely. Access to your model i
:::
:::
:::tip
When setting the plus model id, all other fields should be removed as these are configured automatically with the Frigate+ model config
:::
## Step 4: Adjust your object filters for higher scores
## Step 4: Adjust your object filters for higher scores
Frigate+ models generally have much higher scores than the default model provided in Frigate. You will likely need to increase your `threshold` and `min_score` values. Here is an example of how these values can be refined, but you should expect these to evolve as your model improves. For more information about how `threshold` and `min_score` are related, see the docs on [object filters](../configuration/object_filters.md#object-scores).
Frigate+ models generally have much higher scores than the default model provided in Frigate. You will likely need to increase your `threshold` and `min_score` values. Here is an example of how these values can be refined, but you should expect these to evolve as your model improves. For more information about how `threshold` and `min_score` are related, see the docs on [object filters](../configuration/object_filters.md#object-scores).
@ -11,34 +11,51 @@ Information on how to integrate Frigate+ with Frigate can be found in the [integ
## Available model types
## Available model types
There are two model types offered in Frigate+, `mobiledet` and `yolonas`. Both of these models are object detection models and are trained to detect the same set of labels [listed below](#available-label-types).
There are three model types offered in Frigate+, `mobiledet`, `yolonas`, and `yolov9`. All of these models are object detection models and are trained to detect the same set of labels [listed below](#available-label-types).
Not all model types are supported by all detectors, so it's important to choose a model type to match your detector as shown in the table under [supported detector types](#supported-detector-types). You can test model types for compatibility and speed on your hardware by using the base models.
Not all model types are supported by all detectors, so it's important to choose a model type to match your detector as shown in the table under [supported detector types](#supported-detector-types). You can test model types for compatibility and speed on your hardware by using the base models.
| `mobiledet` | Based on the same architecture as the default model included with Frigate. Runs on Google Coral devices and CPUs. |
| `mobiledet` | Based on the same architecture as the default model included with Frigate. Runs on Google Coral devices and CPUs. |
| `yolonas` | A newer architecture that offers slightly higher accuracy and improved detection of small objects. Runs on Intel, NVidia GPUs, and AMD GPUs. |
| `yolonas` | A newer architecture that offers slightly higher accuracy and improved detection of small objects. Runs on Intel, NVidia GPUs, and AMD GPUs. |
| `yolov9` | A leading SOTA (state of the art) object detection model with similar performance to yolonas, but on a wider range of hardware options. Runs on Intel, NVidia GPUs, AMD GPUs, Hailo, MemryX\*, Apple Silicon\*, and Rockchip NPUs. |
_\* Support coming in 0.17_
### YOLOv9 Details
YOLOv9 models are available in `s` and `t` sizes. When requesting a `yolov9` model, you will be prompted to choose a size. If you are unsure what size to choose, you should perform some tests with the base models to find the performance level that suits you. The `s` size is most similar to the current `yolonas` models in terms of inference times and accuracy, and a good place to start is the `320x320` resolution model for `yolov9s`.
:::info
When switching to YOLOv9, you may need to adjust your thresholds for some objects.
:::
#### Hailo Support
If you have a Hailo device, you will need to specify the hardware you have when submitting a model request because they are not cross compatible. Please test using the available base models before submitting your model request.
#### Rockchip (RKNN) Support
For 0.16, YOLOv9 onnx models will need to be manually converted. First, you will need to configure Frigate to use the model id for your YOLOv9 onnx model so it downloads the model to your `model_cache` directory. From there, you can follow the [documentation](/configuration/object_detectors.md#converting-your-own-onnx-model-to-rknn-format) to convert it. Automatic conversion is coming in 0.17.
## Supported detector types
## Supported detector types
Currently, Frigate+ models support CPU (`cpu`), Google Coral (`edgetpu`), OpenVino (`openvino`), and ONNX (`onnx`) detectors.
Currently, Frigate+ models support CPU (`cpu`), Google Coral (`edgetpu`), OpenVino (`openvino`), ONNX (`onnx`), Hailo (`hailo8l`), and Rockchip\* (`rknn`) detectors.
:::warning
Using Frigate+ models with `onnx` is only available with Frigate 0.15 and later.
:::
| Hardware | Recommended Detector Type | Recommended Model Type |
| Hardware | Recommended Detector Type | Recommended Model Type |
Frigate includes built-in memory profiling using [memray](https://bloomberg.github.io/memray/) to help diagnose memory issues. This feature allows you to profile specific Frigate modules to identify memory leaks, excessive allocations, or other memory-related problems.
## Enabling Memory Profiling
Memory profiling is controlled via the `FRIGATE_MEMRAY_MODULES` environment variable. Set it to a comma-separated list of module names you want to profile:
When you specify a module name (e.g., `frigate.capture`), all processes with that module prefix will be profiled. For example, `frigate.capture` will profile all camera capture processes.
## How It Works
1. **Binary File Creation**: When profiling is enabled, memray creates a binary file (`.bin`) in `/config/memray_reports/` that is updated continuously in real-time as the process runs.
2. **Automatic HTML Generation**: On normal process exit, Frigate automatically:
- Stops memray tracking
- Generates an HTML flamegraph report
- Saves it to `/config/memray_reports/<module_name>.html`
3. **Crash Recovery**: If a process crashes (SIGKILL, segfault, etc.), the binary file is preserved with all data up to the crash point. You can manually generate the HTML report from the binary file.
## Viewing Reports
### Automatic Reports
After a process exits normally, you'll find HTML reports in `/config/memray_reports/`. Open these files in a web browser to view interactive flamegraphs showing memory usage patterns.
### Manual Report Generation
If a process crashes or you want to generate a report from an existing binary file, you can manually create the HTML report:
This will generate an HTML file that you can open in your browser.
## Understanding the Reports
Memray flamegraphs show:
- **Memory allocations over time**: See where memory is being allocated in your code
- **Call stacks**: Understand the full call chain leading to allocations
- **Memory hotspots**: Identify functions or code paths that allocate the most memory
- **Memory leaks**: Spot patterns where memory is allocated but not freed
The interactive HTML reports allow you to:
- Zoom into specific time ranges
- Filter by function names
- View detailed allocation information
- Export data for further analysis
## Best Practices
1. **Profile During Issues**: Enable profiling when you're experiencing memory issues, not all the time, as it adds some overhead.
2. **Profile Specific Modules**: Instead of profiling everything, focus on the modules you suspect are causing issues.
3. **Let Processes Run**: Allow processes to run for a meaningful duration to capture representative memory usage patterns.
4. **Check Binary Files**: If HTML reports aren't generated automatically (e.g., after a crash), check for `.bin` files in `/config/memray_reports/` and generate reports manually.
5. **Compare Reports**: Generate reports at different times to compare memory usage patterns and identify trends.
## Troubleshooting
### No Reports Generated
- Check that the environment variable is set correctly
- Verify the module name matches exactly (case-sensitive)
- Check logs for memray-related errors
- Ensure `/config/memray_reports/` directory exists and is writable
### Process Crashed Before Report Generation
- Look for `.bin` files in `/config/memray_reports/`
- Manually generate HTML reports using: `memray flamegraph <file>.bin`
- The binary file contains all data up to the crash point
### Reports Show No Data
- Ensure the process ran long enough to generate meaningful data
- Check that memray is properly installed (included by default in Frigate)
- Verify the process actually started and ran (check process logs)
title="This detector is maintained by community members who provide code, maintenance, and support. See the contributing boards documentation for more information."
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.