Compare commits

...

402 Commits

Author SHA1 Message Date
Hosted Weblate
f141b585bc Translated using Weblate (Cantonese (Traditional Han script))
Currently translated at 100.0% (352 of 352 strings)

Translated using Weblate (Cantonese (Traditional Han script))

Currently translated at 100.0% (114 of 114 strings)

Translated using Weblate (Cantonese (Traditional Han script))

Currently translated at 100.0% (352 of 352 strings)

Translated using Weblate (Cantonese (Traditional Han script))

Currently translated at 100.0% (66 of 66 strings)

Translated using Weblate (Cantonese (Traditional Han script))

Currently translated at 100.0% (62 of 62 strings)

Translated using Weblate (Cantonese (Traditional Han script))

Currently translated at 100.0% (46 of 46 strings)

Translated using Weblate (Cantonese (Traditional Han script))

Currently translated at 100.0% (8 of 8 strings)

Translated using Weblate (Cantonese (Traditional Han script))

Currently translated at 100.0% (115 of 115 strings)

Translated using Weblate (Cantonese (Traditional Han script))

Currently translated at 100.0% (182 of 182 strings)

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: beginner2047 <leoywng44@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/yue_Hant/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-camera/yue_Hant/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-filter/yue_Hant/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-configeditor/yue_Hant/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-explore/yue_Hant/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-facelibrary/yue_Hant/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/yue_Hant/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-system/yue_Hant/
Translation: Frigate NVR/common
Translation: Frigate NVR/components-camera
Translation: Frigate NVR/components-filter
Translation: Frigate NVR/views-configeditor
Translation: Frigate NVR/views-explore
Translation: Frigate NVR/views-facelibrary
Translation: Frigate NVR/views-settings
Translation: Frigate NVR/views-system
2025-05-30 21:34:51 -06:00
Hosted Weblate
9de7f80727 Translated using Weblate (Norwegian Bokmål)
Currently translated at 100.0% (80 of 80 strings)

Translated using Weblate (Norwegian Bokmål)

Currently translated at 100.0% (62 of 62 strings)

Translated using Weblate (Norwegian Bokmål)

Currently translated at 100.0% (115 of 115 strings)

Translated using Weblate (Norwegian Bokmål)

Currently translated at 100.0% (50 of 50 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% (352 of 352 strings)

Translated using Weblate (Norwegian Bokmål)

Currently translated at 100.0% (352 of 352 strings)

Translated using Weblate (Norwegian Bokmål)

Currently translated at 100.0% (352 of 352 strings)

Translated using Weblate (Norwegian Bokmål)

Currently translated at 100.0% (182 of 182 strings)

Translated using Weblate (Norwegian Bokmål)

Currently translated at 100.0% (114 of 114 strings)

Translated using Weblate (Norwegian Bokmål)

Currently translated at 100.0% (115 of 115 strings)

Translated using Weblate (Norwegian Bokmål)

Currently translated at 100.0% (8 of 8 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% (352 of 352 strings)

Translated using Weblate (Norwegian Bokmål)

Currently translated at 100.0% (181 of 181 strings)

Translated using Weblate (Norwegian Bokmål)

Currently translated at 100.0% (62 of 62 strings)

Translated using Weblate (Norwegian Bokmål)

Currently translated at 100.0% (342 of 342 strings)

Translated using Weblate (Norwegian Bokmål)

Currently translated at 100.0% (113 of 113 strings)

Translated using Weblate (Norwegian Bokmål)

Currently translated at 100.0% (7 of 7 strings)

Translated using Weblate (Norwegian Bokmål)

Currently translated at 100.0% (340 of 340 strings)

Translated using Weblate (Norwegian Bokmål)

Currently translated at 100.0% (61 of 61 strings)

Translated using Weblate (Norwegian Bokmål)

Currently translated at 100.0% (113 of 113 strings)

Translated using Weblate (Norwegian Bokmål)

Currently translated at 100.0% (66 of 66 strings)

Translated using Weblate (Norwegian Bokmål)

Currently translated at 100.0% (50 of 50 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-camera/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-configeditor/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-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-camera
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
2025-05-30 21:34:51 -06:00
Hosted Weblate
2101b1f91d Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (352 of 352 strings)

Translated using Weblate (Chinese (Simplified Han script))

Currently translated at 100.0% (48 of 48 strings)

Translated using Weblate (Chinese (Simplified Han script))

Currently translated at 100.0% (115 of 115 strings)

Translated using Weblate (Chinese (Simplified Han script))

Currently translated at 100.0% (50 of 50 strings)

Translated using Weblate (Chinese (Simplified Han script))

Currently translated at 100.0% (46 of 46 strings)

Translated using Weblate (Chinese (Simplified Han script))

Currently translated at 100.0% (114 of 114 strings)

Translated using Weblate (Chinese (Simplified Han script))

Currently translated at 100.0% (352 of 352 strings)

Translated using Weblate (Chinese (Simplified Han script))

Currently translated at 100.0% (62 of 62 strings)

Translated using Weblate (Chinese (Simplified Han script))

Currently translated at 100.0% (115 of 115 strings)

Translated using Weblate (Chinese (Simplified Han script))

Currently translated at 100.0% (24 of 24 strings)

Translated using Weblate (Chinese (Simplified Han script))

Currently translated at 100.0% (8 of 8 strings)

Translated using Weblate (Chinese (Simplified Han script))

Currently translated at 100.0% (66 of 66 strings)

Translated using Weblate (Chinese (Simplified Han script))

Currently translated at 100.0% (50 of 50 strings)

Translated using Weblate (Chinese (Simplified Han script))

Currently translated at 100.0% (46 of 46 strings)

Translated using Weblate (Chinese (Simplified Han script))

Currently translated at 100.0% (182 of 182 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/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-configeditor/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-search/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/components-camera
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-search
Translation: Frigate NVR/views-settings
Translation: Frigate NVR/views-system
2025-05-30 21:34:51 -06:00
Hosted Weblate
2b5a30e23b Translated using Weblate (Urdu)
Currently translated at 6.1% (7 of 114 strings)

Translated using Weblate (Urdu)

Currently translated at 1.9% (7 of 352 strings)

Translated using Weblate (Urdu)

Currently translated at 14.5% (7 of 48 strings)

Translated using Weblate (Urdu)

Currently translated at 100.0% (6 of 6 strings)

Translated using Weblate (Urdu)

Currently translated at 8.7% (7 of 80 strings)

Translated using Weblate (Urdu)

Currently translated at 11.2% (7 of 62 strings)

Translated using Weblate (Urdu)

Currently translated at 6.0% (7 of 115 strings)

Translated using Weblate (Urdu)

Currently translated at 28.0% (7 of 25 strings)

Translated using Weblate (Urdu)

Currently translated at 15.2% (7 of 46 strings)

Translated using Weblate (Urdu)

Currently translated at 5.9% (7 of 118 strings)

Translated using Weblate (Urdu)

Currently translated at 77.7% (7 of 9 strings)

Translated using Weblate (Urdu)

Currently translated at 100.0% (2 of 2 strings)

Translated using Weblate (Urdu)

Currently translated at 100.0% (2 of 2 strings)

Translated using Weblate (Urdu)

Currently translated at 33.3% (8 of 24 strings)

Translated using Weblate (Urdu)

Currently translated at 77.7% (7 of 9 strings)

Translated using Weblate (Urdu)

Currently translated at 100.0% (8 of 8 strings)

Translated using Weblate (Urdu)

Currently translated at 12.1% (8 of 66 strings)

Translated using Weblate (Urdu)

Currently translated at 16.0% (8 of 50 strings)

Translated using Weblate (Urdu)

Currently translated at 16.4% (30 of 182 strings)

Translated using Weblate (Urdu)

Currently translated at 16.4% (30 of 182 strings)

Translated using Weblate (Urdu)

Currently translated at 8.4% (36 of 427 strings)

Translated using Weblate (Urdu)

Currently translated at 8.4% (36 of 427 strings)

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Ryan Alvi <ryanalvi2010@gmail.com>
Co-authored-by: Uzair Ali <uzairali001@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/audio/ur/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/ur/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-auth/ur/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-camera/ur/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-dialog/ur/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-filter/ur/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-icons/ur/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-input/ur/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-player/ur/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/objects/ur/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-configeditor/ur/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-events/ur/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-explore/ur/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-exports/ur/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-facelibrary/ur/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-live/ur/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-recording/ur/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-search/ur/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/ur/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-system/ur/
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-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
2025-05-30 21:34:51 -06:00
Hosted Weblate
dd6114586c Translated using Weblate (Slovenian)
Currently translated at 2.5% (9 of 352 strings)

Translated using Weblate (Slovenian)

Currently translated at 100.0% (48 of 48 strings)

Translated using Weblate (Slovenian)

Currently translated at 16.1% (10 of 62 strings)

Translated using Weblate (Slovenian)

Currently translated at 18.0% (9 of 50 strings)

Translated using Weblate (Slovenian)

Currently translated at 8.2% (15 of 182 strings)

Translated using Weblate (Slovenian)

Currently translated at 5.2% (6 of 114 strings)

Translated using Weblate (Slovenian)

Currently translated at 1.7% (6 of 352 strings)

Translated using Weblate (Slovenian)

Currently translated at 14.5% (7 of 48 strings)

Translated using Weblate (Slovenian)

Currently translated at 100.0% (6 of 6 strings)

Translated using Weblate (Slovenian)

Currently translated at 8.7% (7 of 80 strings)

Translated using Weblate (Slovenian)

Currently translated at 9.6% (6 of 62 strings)

Translated using Weblate (Slovenian)

Currently translated at 100.0% (9 of 9 strings)

Translated using Weblate (Slovenian)

Currently translated at 6.9% (8 of 115 strings)

Translated using Weblate (Slovenian)

Currently translated at 100.0% (8 of 8 strings)

Translated using Weblate (Slovenian)

Currently translated at 100.0% (25 of 25 strings)

Translated using Weblate (Slovenian)

Currently translated at 13.6% (9 of 66 strings)

Translated using Weblate (Slovenian)

Currently translated at 16.0% (8 of 50 strings)

Translated using Weblate (Slovenian)

Currently translated at 100.0% (46 of 46 strings)

Translated using Weblate (Slovenian)

Currently translated at 100.0% (9 of 9 strings)

Translated using Weblate (Slovenian)

Currently translated at 100.0% (118 of 118 strings)

Translated using Weblate (Slovenian)

Currently translated at 4.3% (8 of 182 strings)

Translated using Weblate (Slovenian)

Currently translated at 2.6% (3 of 114 strings)

Translated using Weblate (Slovenian)

Currently translated at 0.8% (3 of 352 strings)

Translated using Weblate (Slovenian)

Currently translated at 8.3% (4 of 48 strings)

Translated using Weblate (Slovenian)

Currently translated at 66.6% (4 of 6 strings)

Translated using Weblate (Slovenian)

Currently translated at 5.0% (4 of 80 strings)

Translated using Weblate (Slovenian)

Currently translated at 6.4% (4 of 62 strings)

Translated using Weblate (Slovenian)

Currently translated at 44.4% (4 of 9 strings)

Translated using Weblate (Slovenian)

Currently translated at 3.4% (4 of 115 strings)

Translated using Weblate (Slovenian)

Currently translated at 20.0% (5 of 25 strings)

Translated using Weblate (Slovenian)

Currently translated at 100.0% (2 of 2 strings)

Translated using Weblate (Slovenian)

Currently translated at 100.0% (2 of 2 strings)

Translated using Weblate (Slovenian)

Currently translated at 7.5% (5 of 66 strings)

Translated using Weblate (Slovenian)

Currently translated at 10.0% (5 of 50 strings)

Translated using Weblate (Slovenian)

Currently translated at 10.8% (5 of 46 strings)

Translated using Weblate (Slovenian)

Currently translated at 55.5% (5 of 9 strings)

Translated using Weblate (Slovenian)

Currently translated at 2.7% (5 of 182 strings)

Translated using Weblate (Slovenian)

Currently translated at 12.8% (55 of 427 strings)

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Nik Grebovšek <nikigre@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-auth/sl/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-camera/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/components-icons/sl/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-input/sl/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-player/sl/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/objects/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-exports/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-recording/sl/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-search/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-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-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
2025-05-30 21:34:51 -06:00
Hosted Weblate
d508a8b5fe Translated using Weblate (Finnish)
Currently translated at 3.5% (4 of 114 strings)

Translated using Weblate (Finnish)

Currently translated at 2.0% (1 of 48 strings)

Translated using Weblate (Finnish)

Currently translated at 1.6% (1 of 62 strings)

Translated using Weblate (Finnish)

Currently translated at 22.2% (2 of 9 strings)

Translated using Weblate (Finnish)

Currently translated at 0.8% (1 of 115 strings)

Translated using Weblate (Finnish)

Currently translated at 4.1% (1 of 24 strings)

Translated using Weblate (Finnish)

Currently translated at 12.5% (1 of 8 strings)

Translated using Weblate (Finnish)

Currently translated at 12.0% (3 of 25 strings)

Translated using Weblate (Finnish)

Currently translated at 50.0% (1 of 2 strings)

Translated using Weblate (Finnish)

Currently translated at 50.0% (1 of 2 strings)

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Sampo Koskenohi <sampo.koskenohi@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-icons/fi/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-input/fi/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-player/fi/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-configeditor/fi/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-events/fi/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-explore/fi/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-exports/fi/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-facelibrary/fi/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-search/fi/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-system/fi/
Translation: Frigate NVR/components-icons
Translation: Frigate NVR/components-input
Translation: Frigate NVR/components-player
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-search
Translation: Frigate NVR/views-system
2025-05-30 21:34:51 -06:00
Hosted Weblate
feb40e9d05 Translated using Weblate (Persian)
Currently translated at 3.5% (15 of 427 strings)

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: kayvan Azarbarzin <kayvan.azarbarzin@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/audio/fa/
Translation: Frigate NVR/audio
2025-05-30 21:34:51 -06:00
Hosted Weblate
2548af13b9 Translated using Weblate (Swedish)
Currently translated at 12.7% (45 of 352 strings)

Translated using Weblate (Swedish)

Currently translated at 37.4% (160 of 427 strings)

Translated using Weblate (Swedish)

Currently translated at 29.0% (18 of 62 strings)

Translated using Weblate (Swedish)

Currently translated at 6.9% (8 of 115 strings)

Translated using Weblate (Swedish)

Currently translated at 100.0% (24 of 24 strings)

Translated using Weblate (Swedish)

Currently translated at 100.0% (8 of 8 strings)

Translated using Weblate (Swedish)

Currently translated at 100.0% (48 of 48 strings)

Translated using Weblate (Swedish)

Currently translated at 100.0% (80 of 80 strings)

Translated using Weblate (Swedish)

Currently translated at 27.4% (17 of 62 strings)

Translated using Weblate (Swedish)

Currently translated at 100.0% (25 of 25 strings)

Translated using Weblate (Swedish)

Currently translated at 100.0% (46 of 46 strings)

Translated using Weblate (Swedish)

Currently translated at 100.0% (118 of 118 strings)

Translated using Weblate (Swedish)

Currently translated at 100.0% (182 of 182 strings)

Translated using Weblate (Swedish)

Currently translated at 37.4% (160 of 427 strings)

Translated using Weblate (Swedish)

Currently translated at 37.4% (160 of 427 strings)

Translated using Weblate (Swedish)

Currently translated at 4.4% (5 of 113 strings)

Translated using Weblate (Swedish)

Currently translated at 1.7% (6 of 340 strings)

Translated using Weblate (Swedish)

Currently translated at 28.7% (23 of 80 strings)

Translated using Weblate (Swedish)

Currently translated at 43.9% (29 of 66 strings)

Translated using Weblate (Swedish)

Currently translated at 13.9% (6 of 43 strings)

Translated using Weblate (Swedish)

Currently translated at 34.1% (146 of 427 strings)

Co-authored-by: Fredrik B <fredrik@brannvall.nu>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Tobias Hasson <tobbe@hansson.me>
Co-authored-by: TubalQ <TubalQayinn@protonmail.com>
Co-authored-by: jsm198 <jsm.persson@gmail.com>
Co-authored-by: pierrebengtsson <pierre.bengtsson@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/components-player/sv/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/objects/sv/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-configeditor/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-facelibrary/sv/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-live/sv/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-search/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/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-facelibrary
Translation: Frigate NVR/views-live
Translation: Frigate NVR/views-search
Translation: Frigate NVR/views-settings
Translation: Frigate NVR/views-system
2025-05-30 21:34:51 -06:00
Hosted Weblate
547c61f54c Translated using Weblate (French)
Currently translated at 100.0% (114 of 114 strings)

Translated using Weblate (French)

Currently translated at 100.0% (352 of 352 strings)

Translated using Weblate (French)

Currently translated at 100.0% (48 of 48 strings)

Translated using Weblate (French)

Currently translated at 100.0% (62 of 62 strings)

Translated using Weblate (French)

Currently translated at 100.0% (115 of 115 strings)

Translated using Weblate (French)

Currently translated at 100.0% (66 of 66 strings)

Translated using Weblate (French)

Currently translated at 100.0% (50 of 50 strings)

Translated using Weblate (French)

Currently translated at 100.0% (352 of 352 strings)

Translated using Weblate (French)

Currently translated at 100.0% (62 of 62 strings)

Translated using Weblate (French)

Currently translated at 100.0% (182 of 182 strings)

Translated using Weblate (French)

Currently translated at 100.0% (352 of 352 strings)

Translated using Weblate (French)

Currently translated at 100.0% (114 of 114 strings)

Translated using Weblate (French)

Currently translated at 98.8% (348 of 352 strings)

Translated using Weblate (French)

Currently translated at 100.0% (115 of 115 strings)

Translated using Weblate (French)

Currently translated at 100.0% (8 of 8 strings)

Translated using Weblate (French)

Currently translated at 100.0% (46 of 46 strings)

Translated using Weblate (French)

Currently translated at 100.0% (181 of 181 strings)

Translated using Weblate (French)

Currently translated at 100.0% (342 of 342 strings)

Translated using Weblate (French)

Currently translated at 100.0% (62 of 62 strings)

Translated using Weblate (French)

Currently translated at 100.0% (113 of 113 strings)

Translated using Weblate (French)

Currently translated at 100.0% (340 of 340 strings)

Translated using Weblate (French)

Currently translated at 100.0% (113 of 113 strings)

Translated using Weblate (French)

Currently translated at 100.0% (24 of 24 strings)

Translated using Weblate (French)

Currently translated at 100.0% (66 of 66 strings)

Translated using Weblate (French)

Currently translated at 100.0% (50 of 50 strings)

Translated using Weblate (French)

Currently translated at 100.0% (179 of 179 strings)

Translated using Weblate (French)

Currently translated at 100.0% (61 of 61 strings)

Translated using Weblate (French)

Currently translated at 100.0% (113 of 113 strings)

Translated using Weblate (French)

Currently translated at 100.0% (66 of 66 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/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/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-facelibrary/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/common
Translation: Frigate NVR/components-camera
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-search
Translation: Frigate NVR/views-settings
Translation: Frigate NVR/views-system
2025-05-30 21:34:51 -06:00
Hosted Weblate
34e92ef4ae Translated using Weblate (Spanish)
Currently translated at 100.0% (352 of 352 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (182 of 182 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (50 of 50 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (114 of 114 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (115 of 115 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (8 of 8 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (46 of 46 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (352 of 352 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (181 of 181 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (62 of 62 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (342 of 342 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (61 of 61 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (113 of 113 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (66 of 66 strings)

Co-authored-by: Eduard Frigola <eduardfrigola@yahoo.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Santiago Burgues <santibur06@gmail.com>
Co-authored-by: jjavin <javiernovoa@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/es/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-camera/es/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-dialog/es/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-filter/es/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-configeditor/es/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-explore/es/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-facelibrary/es/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/es/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-system/es/
Translation: Frigate NVR/common
Translation: Frigate NVR/components-camera
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-settings
Translation: Frigate NVR/views-system
2025-05-30 21:34:51 -06:00
Hosted Weblate
dbf440b0c7 Translated using Weblate (Dutch)
Currently translated at 100.0% (352 of 352 strings)

Translated using Weblate (Dutch)

Currently translated at 100.0% (182 of 182 strings)

Translated using Weblate (Dutch)

Currently translated at 100.0% (114 of 114 strings)

Translated using Weblate (Dutch)

Currently translated at 100.0% (352 of 352 strings)

Translated using Weblate (Dutch)

Currently translated at 100.0% (115 of 115 strings)

Translated using Weblate (Dutch)

Currently translated at 100.0% (8 of 8 strings)

Translated using Weblate (Dutch)

Currently translated at 100.0% (46 of 46 strings)

Translated using Weblate (Dutch)

Currently translated at 100.0% (181 of 181 strings)

Translated using Weblate (Dutch)

Currently translated at 100.0% (114 of 114 strings)

Translated using Weblate (Dutch)

Currently translated at 100.0% (113 of 113 strings)

Translated using Weblate (Dutch)

Currently translated at 100.0% (342 of 342 strings)

Translated using Weblate (Dutch)

Currently translated at 100.0% (62 of 62 strings)

Translated using Weblate (Dutch)

Currently translated at 100.0% (113 of 113 strings)

Translated using Weblate (Dutch)

Currently translated at 100.0% (179 of 179 strings)

Translated using Weblate (Dutch)

Currently translated at 100.0% (61 of 61 strings)

Translated using Weblate (Dutch)

Currently translated at 100.0% (61 of 61 strings)

Translated using Weblate (Dutch)

Currently translated at 100.0% (113 of 113 strings)

Translated using Weblate (Dutch)

Currently translated at 100.0% (66 of 66 strings)

Translated using Weblate (Dutch)

Currently translated at 100.0% (340 of 340 strings)

Translated using Weblate (Dutch)

Currently translated at 100.0% (60 of 60 strings)

Translated using Weblate (Dutch)

Currently translated at 100.0% (50 of 50 strings)

Translated using Weblate (Dutch)

Currently translated at 100.0% (179 of 179 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/components-camera/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-explore/nl/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-facelibrary/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-camera
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-settings
Translation: Frigate NVR/views-system
2025-05-30 21:34:51 -06:00
Hosted Weblate
321fd136c0 Translated using Weblate (Arabic)
Currently translated at 13.5% (58 of 427 strings)

Co-authored-by: Hex <130850854+Hexer-7@users.noreply.github.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/audio/ar/
Translation: Frigate NVR/audio
2025-05-30 21:34:51 -06:00
Hosted Weblate
c9708102a9 Translated using Weblate (Italian)
Currently translated at 100.0% (114 of 114 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (352 of 352 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (182 of 182 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (114 of 114 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (352 of 352 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (8 of 8 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (115 of 115 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (46 of 46 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (181 of 181 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (342 of 342 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (62 of 62 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (66 of 66 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (61 of 61 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (113 of 113 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (340 of 340 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (60 of 60 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (50 of 50 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (179 of 179 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-camera/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-configeditor/it/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-explore/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/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-system/it/
Translation: Frigate NVR/common
Translation: Frigate NVR/components-camera
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-settings
Translation: Frigate NVR/views-system
2025-05-30 21:34:51 -06:00
Hosted Weblate
85d8d7b136 Translated using Weblate (Polish)
Currently translated at 100.0% (114 of 114 strings)

Translated using Weblate (Polish)

Currently translated at 100.0% (352 of 352 strings)

Translated using Weblate (Polish)

Currently translated at 100.0% (114 of 114 strings)

Translated using Weblate (Polish)

Currently translated at 100.0% (352 of 352 strings)

Translated using Weblate (Polish)

Currently translated at 100.0% (62 of 62 strings)

Translated using Weblate (Polish)

Currently translated at 100.0% (46 of 46 strings)

Translated using Weblate (Polish)

Currently translated at 100.0% (66 of 66 strings)

Translated using Weblate (Polish)

Currently translated at 100.0% (115 of 115 strings)

Translated using Weblate (Polish)

Currently translated at 100.0% (8 of 8 strings)

Translated using Weblate (Polish)

Currently translated at 100.0% (182 of 182 strings)

Translated using Weblate (Polish)

Currently translated at 100.0% (340 of 340 strings)

Translated using Weblate (Polish)

Currently translated at 100.0% (60 of 60 strings)

Translated using Weblate (Polish)

Currently translated at 100.0% (60 of 60 strings)

Translated using Weblate (Polish)

Currently translated at 100.0% (50 of 50 strings)

Translated using Weblate (Polish)

Currently translated at 100.0% (111 of 111 strings)

Translated using Weblate (Polish)

Currently translated at 100.0% (179 of 179 strings)

Co-authored-by: Damian Radecki <damianradecki97@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Mateusz Kulis <kulis.matis@gmail.com>
Co-authored-by: Mateusz Paś <piciuok@gmail.com>
Co-authored-by: Patryk Smoliński <smolinski.patryk@mensa.org.pl>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/pl/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-camera/pl/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-dialog/pl/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-filter/pl/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-configeditor/pl/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-explore/pl/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-facelibrary/pl/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/pl/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-system/pl/
Translation: Frigate NVR/common
Translation: Frigate NVR/components-camera
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-settings
Translation: Frigate NVR/views-system
2025-05-30 21:34:51 -06:00
Hosted Weblate
b0e6a64bd0 Translated using Weblate (Hebrew)
Currently translated at 11.1% (1 of 9 strings)

Translated using Weblate (Hebrew)

Currently translated at 16.6% (1 of 6 strings)

Translated using Weblate (Hebrew)

Currently translated at 2.0% (1 of 50 strings)

Translated using Weblate (Hebrew)

Currently translated at 1.6% (1 of 62 strings)

Translated using Weblate (Hebrew)

Currently translated at 2.1% (1 of 46 strings)

Translated using Weblate (Hebrew)

Currently translated at 2.0% (1 of 48 strings)

Translated using Weblate (Hebrew)

Currently translated at 11.1% (1 of 9 strings)

Translated using Weblate (Hebrew)

Currently translated at 50.0% (1 of 2 strings)

Translated using Weblate (Hebrew)

Currently translated at 4.0% (1 of 25 strings)

Translated using Weblate (Hebrew)

Currently translated at 12.5% (1 of 8 strings)

Translated using Weblate (Hebrew)

Currently translated at 1.5% (1 of 66 strings)

Translated using Weblate (Hebrew)

Currently translated at 0.8% (1 of 115 strings)

Translated using Weblate (Hebrew)

Currently translated at 0.8% (1 of 118 strings)

Translated using Weblate (Hebrew)

Currently translated at 50.0% (1 of 2 strings)

Translated using Weblate (Hebrew)

Currently translated at 4.1% (1 of 24 strings)

Translated using Weblate (Hebrew)

Currently translated at 7.7% (33 of 427 strings)

Added translation using Weblate (Hebrew)

Added translation using Weblate (Hebrew)

Added translation using Weblate (Hebrew)

Added translation using Weblate (Hebrew)

Added translation using Weblate (Hebrew)

Added translation using Weblate (Hebrew)

Added translation using Weblate (Hebrew)

Added translation using Weblate (Hebrew)

Added translation using Weblate (Hebrew)

Added translation using Weblate (Hebrew)

Added translation using Weblate (Hebrew)

Added translation using Weblate (Hebrew)

Added translation using Weblate (Hebrew)

Added translation using Weblate (Hebrew)

Added translation using Weblate (Hebrew)

Added translation using Weblate (Hebrew)

Added translation using Weblate (Hebrew)

Added translation using Weblate (Hebrew)

Added translation using Weblate (Hebrew)

Added translation using Weblate (Hebrew)

Co-authored-by: Dennis Zheleznyak <Dennis.zheleznyak@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Languages add-on <noreply-addon-languages@weblate.org>
Co-authored-by: Yechiel Ben David <yy.bendavid@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/audio/he/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-auth/he/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-camera/he/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-dialog/he/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-filter/he/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-icons/he/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-input/he/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-player/he/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/objects/he/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-configeditor/he/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-events/he/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-explore/he/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-exports/he/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-facelibrary/he/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-recording/he/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-search/he/
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-recording
Translation: Frigate NVR/views-search
2025-05-30 21:34:51 -06:00
Hosted Weblate
2af1d22643 Translated using Weblate (Portuguese)
Currently translated at 100.0% (352 of 352 strings)

Translated using Weblate (Portuguese)

Currently translated at 100.0% (62 of 62 strings)

Translated using Weblate (Portuguese)

Currently translated at 100.0% (118 of 118 strings)

Translated using Weblate (Portuguese)

Currently translated at 100.0% (427 of 427 strings)

Translated using Weblate (Portuguese)

Currently translated at 100.0% (427 of 427 strings)

Translated using Weblate (Portuguese)

Currently translated at 100.0% (352 of 352 strings)

Translated using Weblate (Portuguese)

Currently translated at 100.0% (427 of 427 strings)

Translated using Weblate (Portuguese)

Currently translated at 100.0% (427 of 427 strings)

Translated using Weblate (Portuguese)

Currently translated at 55.6% (196 of 352 strings)

Translated using Weblate (Portuguese)

Currently translated at 69.0% (295 of 427 strings)

Translated using Weblate (Portuguese)

Currently translated at 65.6% (231 of 352 strings)

Translated using Weblate (Portuguese)

Currently translated at 100.0% (182 of 182 strings)

Translated using Weblate (Portuguese)

Currently translated at 67.6% (289 of 427 strings)

Translated using Weblate (Portuguese)

Currently translated at 100.0% (114 of 114 strings)

Translated using Weblate (Portuguese)

Currently translated at 60.5% (213 of 352 strings)

Translated using Weblate (Portuguese)

Currently translated at 100.0% (62 of 62 strings)

Translated using Weblate (Portuguese)

Currently translated at 100.0% (115 of 115 strings)

Translated using Weblate (Portuguese)

Currently translated at 99.4% (181 of 182 strings)

Translated using Weblate (Portuguese)

Currently translated at 53.1% (227 of 427 strings)

Translated using Weblate (Portuguese)

Currently translated at 91.9% (57 of 62 strings)

Translated using Weblate (Portuguese)

Currently translated at 97.3% (112 of 115 strings)

Translated using Weblate (Portuguese)

Currently translated at 100.0% (8 of 8 strings)

Translated using Weblate (Portuguese)

Currently translated at 100.0% (66 of 66 strings)

Translated using Weblate (Portuguese)

Currently translated at 100.0% (50 of 50 strings)

Translated using Weblate (Portuguese)

Currently translated at 100.0% (46 of 46 strings)

Translated using Weblate (Portuguese)

Currently translated at 46.6% (199 of 427 strings)

Translated using Weblate (Portuguese)

Currently translated at 100.0% (118 of 118 strings)

Translated using Weblate (Portuguese)

Currently translated at 46.3% (198 of 427 strings)

Co-authored-by: Daniel Barradas <daniel.barradas@gmail.com>
Co-authored-by: Filipe Ferreira <filipeferreira1705@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: P1LH4 <joao.calby@gmail.com>
Co-authored-by: danielsaul@msn.com <danielsaul@msn.com>
Co-authored-by: lbiscuola <lbiscuola@gmail.com>
Co-authored-by: piscinas <nuno.piscinas@me.com>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/audio/pt/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/pt/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-camera/pt/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-dialog/pt/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-filter/pt/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/objects/pt/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-configeditor/pt/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-explore/pt/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-facelibrary/pt/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/pt/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-system/pt/
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-facelibrary
Translation: Frigate NVR/views-settings
Translation: Frigate NVR/views-system
2025-05-30 21:34:51 -06:00
Hosted Weblate
c026060ff3 Translated using Weblate (Czech)
Currently translated at 100.0% (340 of 340 strings)

Translated using Weblate (Czech)

Currently translated at 74.7% (254 of 340 strings)

Translated using Weblate (Czech)

Currently translated at 58.8% (200 of 340 strings)

Translated using Weblate (Czech)

Currently translated at 49.4% (168 of 340 strings)

Translated using Weblate (Czech)

Currently translated at 100.0% (62 of 62 strings)

Translated using Weblate (Czech)

Currently translated at 100.0% (24 of 24 strings)

Translated using Weblate (Czech)

Currently translated at 100.0% (427 of 427 strings)

Translated using Weblate (Czech)

Currently translated at 100.0% (113 of 113 strings)

Translated using Weblate (Czech)

Currently translated at 32.3% (110 of 340 strings)

Translated using Weblate (Czech)

Currently translated at 100.0% (48 of 48 strings)

Translated using Weblate (Czech)

Currently translated at 100.0% (80 of 80 strings)

Translated using Weblate (Czech)

Currently translated at 100.0% (113 of 113 strings)

Translated using Weblate (Czech)

Currently translated at 100.0% (66 of 66 strings)

Translated using Weblate (Czech)

Currently translated at 100.0% (50 of 50 strings)

Translated using Weblate (Czech)

Currently translated at 100.0% (43 of 43 strings)

Translated using Weblate (Czech)

Currently translated at 100.0% (179 of 179 strings)

Translated using Weblate (Czech)

Currently translated at 100.0% (179 of 179 strings)

Translated using Weblate (Czech)

Currently translated at 34.5% (39 of 113 strings)

Translated using Weblate (Czech)

Currently translated at 1.1% (4 of 340 strings)

Translated using Weblate (Czech)

Currently translated at 5.0% (4 of 80 strings)

Translated using Weblate (Czech)

Currently translated at 100.0% (61 of 61 strings)

Translated using Weblate (Czech)

Currently translated at 4.4% (5 of 113 strings)

Translated using Weblate (Czech)

Currently translated at 6.0% (4 of 66 strings)

Translated using Weblate (Czech)

Currently translated at 8.0% (4 of 50 strings)

Translated using Weblate (Czech)

Currently translated at 100.0% (179 of 179 strings)

Translated using Weblate (Czech)

Currently translated at 100.0% (427 of 427 strings)

Translated using Weblate (Czech)

Currently translated at 100.0% (427 of 427 strings)

Translated using Weblate (Czech)

Currently translated at 96.0% (410 of 427 strings)

Translated using Weblate (Czech)

Currently translated at 100.0% (118 of 118 strings)

Translated using Weblate (Czech)

Currently translated at 95.7% (409 of 427 strings)

Translated using Weblate (Czech)

Currently translated at 31.8% (36 of 113 strings)

Translated using Weblate (Czech)

Currently translated at 0.2% (1 of 340 strings)

Translated using Weblate (Czech)

Currently translated at 29.1% (14 of 48 strings)

Translated using Weblate (Czech)

Currently translated at 1.2% (1 of 80 strings)

Translated using Weblate (Czech)

Currently translated at 59.0% (36 of 61 strings)

Translated using Weblate (Czech)

Currently translated at 1.7% (2 of 113 strings)

Translated using Weblate (Czech)

Currently translated at 100.0% (24 of 24 strings)

Translated using Weblate (Czech)

Currently translated at 3.0% (2 of 66 strings)

Translated using Weblate (Czech)

Currently translated at 4.0% (2 of 50 strings)

Translated using Weblate (Czech)

Currently translated at 58.1% (25 of 43 strings)

Translated using Weblate (Czech)

Currently translated at 35.1% (63 of 179 strings)

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Jakub <kincl.kuba@seznam.cz>
Co-authored-by: Martin Brož <code@martin-broz.cz>
Co-authored-by: Michal Basler <minecz.michal.basler@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/audio/cs/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/cs/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-camera/cs/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-dialog/cs/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-filter/cs/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/objects/cs/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-events/cs/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-explore/cs/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-facelibrary/cs/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-live/cs/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-search/cs/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/cs/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-system/cs/
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-events
Translation: Frigate NVR/views-explore
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
2025-05-30 21:34:51 -06:00
Hosted Weblate
8a117de87e Translated using Weblate (Catalan)
Currently translated at 78.2% (334 of 427 strings)

Translated using Weblate (Catalan)

Currently translated at 22.8% (26 of 114 strings)

Translated using Weblate (Catalan)

Currently translated at 7.1% (25 of 352 strings)

Translated using Weblate (Catalan)

Currently translated at 56.2% (27 of 48 strings)

Translated using Weblate (Catalan)

Currently translated at 100.0% (6 of 6 strings)

Translated using Weblate (Catalan)

Currently translated at 33.7% (27 of 80 strings)

Translated using Weblate (Catalan)

Currently translated at 43.5% (27 of 62 strings)

Translated using Weblate (Catalan)

Currently translated at 100.0% (9 of 9 strings)

Translated using Weblate (Catalan)

Currently translated at 24.3% (28 of 115 strings)

Translated using Weblate (Catalan)

Currently translated at 100.0% (24 of 24 strings)

Translated using Weblate (Catalan)

Currently translated at 100.0% (8 of 8 strings)

Translated using Weblate (Catalan)

Currently translated at 100.0% (25 of 25 strings)

Translated using Weblate (Catalan)

Currently translated at 100.0% (2 of 2 strings)

Translated using Weblate (Catalan)

Currently translated at 100.0% (2 of 2 strings)

Translated using Weblate (Catalan)

Currently translated at 97.8% (45 of 46 strings)

Translated using Weblate (Catalan)

Currently translated at 18.5% (79 of 427 strings)

Translated using Weblate (Catalan)

Currently translated at 100.0% (66 of 66 strings)

Translated using Weblate (Catalan)

Currently translated at 16.6% (1 of 6 strings)

Translated using Weblate (Catalan)

Currently translated at 40.9% (27 of 66 strings)

Translated using Weblate (Catalan)

Currently translated at 100.0% (50 of 50 strings)

Translated using Weblate (Catalan)

Currently translated at 78.0% (39 of 50 strings)

Translated using Weblate (Catalan)

Currently translated at 100.0% (118 of 118 strings)

Translated using Weblate (Catalan)

Currently translated at 1.6% (1 of 62 strings)

Translated using Weblate (Catalan)

Currently translated at 100.0% (43 of 43 strings)

Translated using Weblate (Catalan)

Currently translated at 100.0% (9 of 9 strings)

Translated using Weblate (Catalan)

Currently translated at 84.7% (100 of 118 strings)

Translated using Weblate (Catalan)

Currently translated at 100.0% (179 of 179 strings)

Translated using Weblate (Catalan)

Currently translated at 11.7% (50 of 427 strings)

Co-authored-by: Eduard Frigola <eduardfrigola@yahoo.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/audio/ca/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/ca/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-auth/ca/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-camera/ca/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-dialog/ca/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-filter/ca/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-icons/ca/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-input/ca/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-player/ca/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/objects/ca/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-configeditor/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-facelibrary/ca/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-live/ca/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-recording/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/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-system/ca/
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-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
2025-05-30 21:34:51 -06:00
Hosted Weblate
a43f87c477 Translated using Weblate (Ukrainian)
Currently translated at 100.0% (182 of 182 strings)

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (114 of 114 strings)

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (352 of 352 strings)

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (48 of 48 strings)

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (80 of 80 strings)

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (62 of 62 strings)

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (9 of 9 strings)

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (115 of 115 strings)

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (24 of 24 strings)

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (8 of 8 strings)

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (118 of 118 strings)

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (182 of 182 strings)

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (352 of 352 strings)

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (182 of 182 strings)

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (114 of 114 strings)

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (352 of 352 strings)

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (427 of 427 strings)

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (114 of 114 strings)

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (352 of 352 strings)

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (115 of 115 strings)

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (8 of 8 strings)

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (46 of 46 strings)

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (181 of 181 strings)

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (342 of 342 strings)

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (62 of 62 strings)

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (61 of 61 strings)

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (113 of 113 strings)

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (66 of 66 strings)

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Максим Горпиніч <maksimgorpinic4@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-camera/uk/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-filter/uk/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/objects/uk/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-configeditor/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-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-camera
Translation: Frigate NVR/components-filter
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-search
Translation: Frigate NVR/views-settings
Translation: Frigate NVR/views-system
2025-05-30 21:34:51 -06:00
Hosted Weblate
15c7a4074b Translated using Weblate (Romanian)
Currently translated at 26.5% (30 of 113 strings)

Translated using Weblate (Romanian)

Currently translated at 1.4% (5 of 340 strings)

Translated using Weblate (Romanian)

Currently translated at 10.4% (5 of 48 strings)

Translated using Weblate (Romanian)

Currently translated at 6.2% (5 of 80 strings)

Translated using Weblate (Romanian)

Currently translated at 87.5% (21 of 24 strings)

Translated using Weblate (Romanian)

Currently translated at 100.0% (118 of 118 strings)

Translated using Weblate (Romanian)

Currently translated at 2.7% (5 of 179 strings)

Translated using Weblate (Romanian)

Currently translated at 69.3% (296 of 427 strings)

Co-authored-by: Bogdan Turlea <bogdan.a.turlea@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
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/objects/ro/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-events/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/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-system/ro/
Translation: Frigate NVR/audio
Translation: Frigate NVR/common
Translation: Frigate NVR/objects
Translation: Frigate NVR/views-events
Translation: Frigate NVR/views-live
Translation: Frigate NVR/views-search
Translation: Frigate NVR/views-settings
Translation: Frigate NVR/views-system
2025-05-30 21:34:51 -06:00
Hosted Weblate
ca650a29a1 Translated using Weblate (Russian)
Currently translated at 100.0% (352 of 352 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (114 of 114 strings)

Translated using Weblate (Russian)

Currently translated at 90.0% (317 of 352 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (182 of 182 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (114 of 114 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (352 of 352 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (115 of 115 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (46 of 46 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (181 of 181 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (8 of 8 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (342 of 342 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (62 of 62 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (113 of 113 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (66 of 66 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (61 of 61 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (113 of 113 strings)

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Артём Владимиров <artyomka71@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/ru/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-camera/ru/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-filter/ru/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-configeditor/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-settings/ru/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-system/ru/
Translation: Frigate NVR/common
Translation: Frigate NVR/components-camera
Translation: Frigate NVR/components-filter
Translation: Frigate NVR/views-configeditor
Translation: Frigate NVR/views-explore
Translation: Frigate NVR/views-facelibrary
Translation: Frigate NVR/views-settings
Translation: Frigate NVR/views-system
2025-05-30 21:34:51 -06:00
Hosted Weblate
0896df6500 Translated using Weblate (German)
Currently translated at 100.0% (352 of 352 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% (427 of 427 strings)

Translated using Weblate (German)

Currently translated at 100.0% (352 of 352 strings)

Translated using Weblate (German)

Currently translated at 100.0% (62 of 62 strings)

Translated using Weblate (German)

Currently translated at 100.0% (114 of 114 strings)

Translated using Weblate (German)

Currently translated at 100.0% (352 of 352 strings)

Translated using Weblate (German)

Currently translated at 100.0% (115 of 115 strings)

Translated using Weblate (German)

Currently translated at 100.0% (8 of 8 strings)

Translated using Weblate (German)

Currently translated at 100.0% (46 of 46 strings)

Translated using Weblate (German)

Currently translated at 100.0% (182 of 182 strings)

Translated using Weblate (German)

Currently translated at 100.0% (342 of 342 strings)

Translated using Weblate (German)

Currently translated at 100.0% (62 of 62 strings)

Translated using Weblate (German)

Currently translated at 100.0% (61 of 61 strings)

Translated using Weblate (German)

Currently translated at 100.0% (113 of 113 strings)

Translated using Weblate (German)

Currently translated at 100.0% (66 of 66 strings)

Translated using Weblate (German)

Currently translated at 100.0% (179 of 179 strings)

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Thiemo <Firewolf.3.7.1987@gmail.com>
Co-authored-by: Viktor Stier <viktor-stier@gmx.de>
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-camera/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-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/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-system/de/
Translation: Frigate NVR/audio
Translation: Frigate NVR/common
Translation: Frigate NVR/components-camera
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
2025-05-30 21:34:51 -06:00
Hosted Weblate
01998dfb70 Translated using Weblate (Thai)
Currently translated at 28.6% (101 of 352 strings)

Translated using Weblate (Thai)

Currently translated at 79.1% (38 of 48 strings)

Translated using Weblate (Thai)

Currently translated at 6.9% (8 of 115 strings)

Translated using Weblate (Thai)

Currently translated at 66.6% (44 of 66 strings)

Translated using Weblate (Thai)

Currently translated at 100.0% (46 of 46 strings)

Translated using Weblate (Thai)

Currently translated at 98.3% (116 of 118 strings)

Translated using Weblate (Thai)

Currently translated at 9.6% (11 of 114 strings)

Translated using Weblate (Thai)

Currently translated at 25.8% (91 of 352 strings)

Translated using Weblate (Thai)

Currently translated at 6.2% (3 of 48 strings)

Translated using Weblate (Thai)

Currently translated at 100.0% (6 of 6 strings)

Translated using Weblate (Thai)

Currently translated at 15.0% (12 of 80 strings)

Translated using Weblate (Thai)

Currently translated at 32.2% (20 of 62 strings)

Translated using Weblate (Thai)

Currently translated at 100.0% (9 of 9 strings)

Translated using Weblate (Thai)

Currently translated at 100.0% (24 of 24 strings)

Translated using Weblate (Thai)

Currently translated at 100.0% (8 of 8 strings)

Translated using Weblate (Thai)

Currently translated at 100.0% (25 of 25 strings)

Translated using Weblate (Thai)

Currently translated at 100.0% (2 of 2 strings)

Translated using Weblate (Thai)

Currently translated at 100.0% (2 of 2 strings)

Translated using Weblate (Thai)

Currently translated at 1.5% (1 of 66 strings)

Translated using Weblate (Thai)

Currently translated at 10.0% (5 of 50 strings)

Translated using Weblate (Thai)

Currently translated at 100.0% (9 of 9 strings)

Translated using Weblate (Thai)

Currently translated at 89.8% (106 of 118 strings)

Translated using Weblate (Thai)

Currently translated at 100.0% (182 of 182 strings)

Translated using Weblate (Thai)

Currently translated at 100.0% (427 of 427 strings)

Translated using Weblate (Thai)

Currently translated at 100.0% (181 of 181 strings)

Translated using Weblate (Thai)

Currently translated at 100.0% (427 of 427 strings)

Translated using Weblate (Thai)

Currently translated at 68.5% (124 of 181 strings)

Translated using Weblate (Thai)

Currently translated at 0.7% (3 of 427 strings)

Added translation using Weblate (Thai)

Translated using Weblate (Thai)

Currently translated at 15.4% (28 of 181 strings)

Added translation using Weblate (Thai)

Translated using Weblate (Thai)

Currently translated at 14.3% (26 of 181 strings)

Added translation using Weblate (Thai)

Translated using Weblate (Thai)

Currently translated at 13.8% (25 of 181 strings)

Added translation using Weblate (Thai)

Added translation using Weblate (Thai)

Added translation using Weblate (Thai)

Added translation using Weblate (Thai)

Translated using Weblate (Thai)

Currently translated at 13.2% (24 of 181 strings)

Added translation using Weblate (Thai)

Added translation using Weblate (Thai)

Added translation using Weblate (Thai)

Added translation using Weblate (Thai)

Translated using Weblate (Thai)

Currently translated at 12.7% (23 of 181 strings)

Added translation using Weblate (Thai)

Translated using Weblate (Thai)

Currently translated at 12.1% (22 of 181 strings)

Added translation using Weblate (Thai)

Added translation using Weblate (Thai)

Translated using Weblate (Thai)

Currently translated at 11.6% (21 of 181 strings)

Added translation using Weblate (Thai)

Update translation files

Updated by "Squash Git commits" add-on in Weblate.

Translated using Weblate (Thai)

Currently translated at 11.0% (20 of 181 strings)

Added translation using Weblate (Thai)

Translated using Weblate (Thai)

Currently translated at 8.2% (15 of 181 strings)

Added translation using Weblate (Thai)

Translated using Weblate (Thai)

Currently translated at 7.7% (14 of 181 strings)

Added translation using Weblate (Thai)

Translated using Weblate (Thai)

Currently translated at 6.6% (12 of 181 strings)

Added translation using Weblate (Thai)

Added translation using Weblate (Thai)

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Languages add-on <noreply-addon-languages@weblate.org>
Co-authored-by: Phongsakorn Wisetthon <boy1556@hotmail.com>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/audio/th/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/th/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-auth/th/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-camera/th/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-dialog/th/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-filter/th/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-icons/th/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-input/th/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-player/th/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/objects/th/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-configeditor/th/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-events/th/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-explore/th/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-exports/th/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-facelibrary/th/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-live/th/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-recording/th/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-search/th/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/th/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-system/th/
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-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
2025-05-30 21:34:51 -06:00
Hosted Weblate
cb1cdcc814 Translated using Weblate (Turkish)
Currently translated at 100.0% (114 of 114 strings)

Translated using Weblate (Turkish)

Currently translated at 100.0% (352 of 352 strings)

Translated using Weblate (Turkish)

Currently translated at 100.0% (62 of 62 strings)

Translated using Weblate (Turkish)

Currently translated at 100.0% (115 of 115 strings)

Translated using Weblate (Turkish)

Currently translated at 100.0% (8 of 8 strings)

Translated using Weblate (Turkish)

Currently translated at 100.0% (50 of 50 strings)

Translated using Weblate (Turkish)

Currently translated at 100.0% (46 of 46 strings)

Translated using Weblate (Turkish)

Currently translated at 100.0% (182 of 182 strings)

Translated using Weblate (Turkish)

Currently translated at 91.8% (56 of 61 strings)

Translated using Weblate (Turkish)

Currently translated at 100.0% (66 of 66 strings)

Translated using Weblate (Turkish)

Currently translated at 100.0% (427 of 427 strings)

Translated using Weblate (Turkish)

Currently translated at 100.0% (179 of 179 strings)

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Kadir ALTIN <kadir.altin@outlook.com.tr>
Co-authored-by: pcislocked <git@pcislocked.net>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/audio/tr/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/tr/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-camera/tr/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-dialog/tr/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-filter/tr/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-configeditor/tr/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-explore/tr/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-facelibrary/tr/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/tr/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-system/tr/
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-configeditor
Translation: Frigate NVR/views-explore
Translation: Frigate NVR/views-facelibrary
Translation: Frigate NVR/views-settings
Translation: Frigate NVR/views-system
2025-05-30 21:34:51 -06:00
Josh Hawkins
63473b0b82 Fixes (#18485) 2025-05-30 21:32:22 -06:00
maksz42
2ada0d22cb Add Periscope to third party extensions (#18480) 2025-05-30 05:32:38 -06:00
Felipe Santos
81f5f362a9 Fix healthcheck on stopping (#18476) 2025-05-29 20:58:31 -06:00
Nicolas Mowen
27914fc3b8 Don't run bird classification if model is not downloaded yet (#18474) 2025-05-29 16:15:25 -05:00
Josh Hawkins
c11ca42fb5 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
2025-05-29 09:02:17 -06:00
GuoQing Liu
9b7d4d0a8f feat: document locale url (#18409)
* feat: document locale url

* fix: remove debug code

* fix readme_cn line

* feat: add menu document locale url
2025-05-28 06:10:45 -06:00
Nicolas Mowen
cbdac9ece5 Fixes (#18379)
* Don't return weighted name if it has the same number of results

* Remove link to incorrect format yolov9 models

* Fix command list from appearing when other inputs are focused

the description box in the tracked object details pane was causing the command input list to show when focused.

* clarify face docs

* Add note about python yolov9 export

* Check if hailort thread is still alive when timeout error is run into

* Reduce inference timeout

---------

Co-authored-by: Josh Hawkins <32435876+hawkeye217@users.noreply.github.com>
2025-05-27 10:25:34 -05:00
Thomas A.
63f9689b0e Improve documentation for YOLO-NAS notebook (#18381)
* Add readme file for notebooks
It took me quite some time to find out this workbook opens in Google Colab, so i though it may help someone else to have this visible in the folder aswell.

* Add explicit link to Google Colab for YOLO-NAS
2025-05-24 09:42:32 -06:00
Nicolas Mowen
6969a7fd47 Cleanup builds (#18372)
* Cleanup builds

* Uninstall onnxurntime not openvino
2025-05-23 21:02:24 -05:00
Nicolas Mowen
8274b733da Fix Jetson ONNXRuntime (#18370)
* Correctly save jetson wheel

* Temp docker build
2025-05-23 15:27:37 -05:00
Josh Hawkins
858c1241db Fixes (#18354)
* Rename classification to enrichments

* Clean up config updating checks

* Add Portugese

---------

Co-authored-by: Nicolas Mowen <nickmowen213@gmail.com>
2025-05-22 18:16:35 -06:00
Josh Hawkins
c16e536b46 Fixes (#18338)
* improve spacing of face selection in mobile drawer

* fix spacing

* sort face names alphabetically

* Improve face selection dialog

* Use a state to track when face image loads

The naturalWidth and naturalHeight will always be 0 until the image loads. So we use onLoad and a state to track loading and then calculate the area after it has loaded

* Verify that a camera only tracks objects that are possible to track

* Fix test

* genai docs tweak

* Disable openvino model cache

* Clenaup

* Sanitize floats for estimated speed and angle

Users can configure speed zones in such a way that velocity estimates from Norfair cause a value of inf to be stored as an estimated speed. FastAPI doesn't serialize inf as a float, so trying to return this value would result in an API error. Sanitizing the value before storing should correct this.

---------

Co-authored-by: Nicolas Mowen <nickmowen213@gmail.com>
2025-05-22 09:38:14 -06:00
Josh Hawkins
49c6073de6 Add ability to specify separator used in proxy headers (#18336) 2025-05-21 06:02:13 -06:00
Luca Paolini
2a8b62acb1 Disable autoCorrect, autoCapitalize and spellCheck on username input. (#18333) 2025-05-21 06:10:13 -05:00
Josh Hawkins
37d40558b7 Fixes (#18319)
* Add Thai (still need to merge weblate)

* Apply attribute logic to all label types

* Fix area check

---------

Co-authored-by: Nicolas Mowen <nickmowen213@gmail.com>
2025-05-20 16:47:05 -06:00
Josh Hawkins
afe513336c fix missing i18n keys (#18309) 2025-05-19 16:45:02 -05:00
Josh Hawkins
8a143b4284 Fixes (#18304)
* fix recordings check

* Only calculate inpoint offset for beginning of hour segment

* Cleanup

* Fix seeking

* add Czech

* explore i18n fix

---------

Co-authored-by: Nicolas Mowen <nickmowen213@gmail.com>
2025-05-19 14:43:22 -06:00
Nicolas Mowen
717517aeb5 Misc fixes (#18289)
* Fix key not moved

* Account for HLS start offset when seeking and calculating update time
2025-05-18 18:23:01 -05:00
Felipe Santos
f4d5ebf4db Update s6-overlay from 3.1.5.0 to 3.2.1.0 (#18276) 2025-05-18 07:21:26 -05:00
Nicolas Mowen
b18572a3b6 Min face configuration option (#18284)
* Add option to specify minimum face attempts for an object

* Set upper bound
2025-05-18 07:20:59 -05:00
Sean Kelly
b10615aef1 Fix dead link (#18279) 2025-05-17 18:16:24 -06:00
Josh Hawkins
5d13925d2b Fixes (#18275) 2025-05-17 16:11:19 -06:00
Josh Hawkins
ebae6cb1ed Fixes (#18262)
* Don't use timezone in export dialog timestamps

Revert an unnecessary change made in https://github.com/blakeblackshear/frigate/pull/18257

* Ensure notifications register button is only disabled when both all cameras and every individual camera is disabled

* Send test notification if any cameras are enabled

* clarify docs about disabling cameras

* fix crash in autotracking zoom

* clean up

* masks and zones i18n fixes

* Check if camera is enabled in config

---------

Co-authored-by: Nicolas Mowen <nickmowen213@gmail.com>
2025-05-16 16:37:25 -06:00
Josh Hawkins
2f9b373c1a Improve timezone handling (#18257)
* Ensure review activity calendar uses correct timezone

react-day-picker 9.x adds a timeZone prop and a TZDate() handler to show the calendar based on a timezone and better handle dates passed to it in timezones

* Ensure calendar range uses correct timezone

* clean up

* ensure range is timezone aware

* ensure export dates are timezone aware
2025-05-15 17:13:32 -05:00
Nicolas Mowen
f48356cbee Fixes (#18245)
* Only check if an object is stationary to avoid mqtt snapshot

* docs heading tweak

* Add more API descriptions

* Add missing lib for new rocm onnxruntime whl

* Update inference times to reflect better rocm performance

* Cleanup resetting tracked object activity

* remove print

---------

Co-authored-by: Josh Hawkins <32435876+hawkeye217@users.noreply.github.com>
2025-05-15 17:13:18 -05:00
Josh Hawkins
3538a1df3d Update react-day-picker to 9.x (#18247)
* update react-day-picker to 9.x

* fix shadcn calendar component

* update review activity custom component for rdp

* fix colors
2025-05-15 10:10:14 -06:00
Josh Hawkins
c15fbee537 Fixes (#18235)
* fix face library i18n

* Docs updates
2025-05-14 20:54:15 -06:00
jrhelbert
7612c3ece0 Remove hardcoded usage of /dev/dri/card0 in call to intel_gpu_top (#18236)
Not everyone is using /dev/dri/card0. I recommend switching to these more generic parameters for intel_gpu_top_command (line 307 in the 0.16.0-beta2 version of services.py):
intel_gpu_top_command += ["-d", "sriov"]
2025-05-14 20:54:06 -06:00
Nicolas Mowen
d3d05fa397 Fixes (#18220)
* Add option to not trim clip

* Improve API

* Update snapshot for new best objects

* Fix missing strings

* Convert to separate key

* Always include bounding box on snapshots

* improve autotracking relative zooming time calculation

* update proxy docs to note the need for comma separated header roles

* Add count translation

* tracked object lifecycle i18n fix

* update speed estimation docs

* clarity

* Re-initialize onvif information when toggling camera on live view

* Move time ago to card info and add face area

* Clarify face recognition docs

* Increase minimum face recognition area

* use clipFrom to in vod module endpoint to start at the correct time

* Cleanup media api

* Don't change duration

* Use search detail dialog for face library

* Move to segment based

* Cleanup

* Add back duration modification

* clean up docs

---------

Co-authored-by: Josh Hawkins <32435876+hawkeye217@users.noreply.github.com>
2025-05-14 16:44:06 -06:00
Hosted Weblate
1fa7ce5486 Translated using Weblate (Cantonese (Traditional Han script))
Currently translated at 100.0% (340 of 340 strings)

Translated using Weblate (Cantonese (Traditional Han script))

Currently translated at 100.0% (60 of 60 strings)

Translated using Weblate (Cantonese (Traditional Han script))

Currently translated at 100.0% (50 of 50 strings)

Translated using Weblate (Cantonese (Traditional Han script))

Currently translated at 100.0% (179 of 179 strings)

Translated using Weblate (Cantonese (Traditional Han script))

Currently translated at 100.0% (111 of 111 strings)

Translated using Weblate (Cantonese (Traditional Han script))

Currently translated at 100.0% (24 of 24 strings)

Translated using Weblate (Cantonese (Traditional Han script))

Currently translated at 100.0% (53 of 53 strings)

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: beginner2047 <leoywng44@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/yue_Hant/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-dialog/yue_Hant/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-events/yue_Hant/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-explore/yue_Hant/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-facelibrary/yue_Hant/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/yue_Hant/
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-settings
2025-05-13 08:30:20 -06:00
Hosted Weblate
bc74ba5b35 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% (50 of 50 strings)

Translated using Weblate (Norwegian Bokmål)

Currently translated at 100.0% (340 of 340 strings)

Translated using Weblate (Norwegian Bokmål)

Currently translated at 100.0% (179 of 179 strings)

Translated using Weblate (Norwegian Bokmål)

Currently translated at 100.0% (59 of 59 strings)

Translated using Weblate (Norwegian Bokmål)

Currently translated at 100.0% (339 of 339 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% (118 of 118 strings)

Translated using Weblate (Norwegian Bokmål)

Currently translated at 100.0% (111 of 111 strings)

Translated using Weblate (Norwegian Bokmål)

Currently translated at 100.0% (24 of 24 strings)

Translated using Weblate (Norwegian Bokmål)

Currently translated at 100.0% (53 of 53 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/objects/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-facelibrary/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/objects
Translation: Frigate NVR/views-events
Translation: Frigate NVR/views-explore
Translation: Frigate NVR/views-facelibrary
Translation: Frigate NVR/views-settings
2025-05-13 08:30:20 -06:00
Hosted Weblate
caebc583da Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 90.0% (54 of 60 strings)

Translated using Weblate (Chinese (Simplified Han script))

Currently translated at 100.0% (111 of 111 strings)

Translated using Weblate (Chinese (Simplified Han script))

Currently translated at 95.8% (23 of 24 strings)

Translated using Weblate (Chinese (Simplified Han script))

Currently translated at 100.0% (113 of 113 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 98.1% (52 of 53 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/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-system/zh_Hans/
Translation: Frigate NVR/views-events
Translation: Frigate NVR/views-explore
Translation: Frigate NVR/views-facelibrary
Translation: Frigate NVR/views-system
2025-05-13 08:30:20 -06:00
Hosted Weblate
57e933e68a Added translation using Weblate (Urdu)
Added translation using Weblate (Urdu)

Added translation using Weblate (Urdu)

Added translation using Weblate (Urdu)

Added translation using Weblate (Urdu)

Added translation using Weblate (Urdu)

Update translation files

Updated by "Squash Git commits" add-on in Weblate.

Added translation using Weblate (Urdu)

Added translation using Weblate (Urdu)

Added translation using Weblate (Urdu)

Added translation using Weblate (Urdu)

Added translation using Weblate (Urdu)

Added translation using Weblate (Urdu)

Added translation using Weblate (Urdu)

Update translation files

Updated by "Squash Git commits" add-on in Weblate.

Translated using Weblate (Urdu)

Currently translated at 4.9% (21 of 427 strings)

Translated using Weblate (Urdu)

Currently translated at 4.6% (20 of 427 strings)

Update translation files

Updated by "Squash Git commits" add-on in Weblate.

Translated using Weblate (Urdu)

Currently translated at 4.2% (18 of 427 strings)

Translated using Weblate (Urdu)

Currently translated at 2.5% (11 of 427 strings)

Added translation using Weblate (Urdu)

Translated using Weblate (Urdu)

Currently translated at 2.1% (9 of 427 strings)

Added translation using Weblate (Urdu)

Added translation using Weblate (Urdu)

Translated using Weblate (Urdu)

Currently translated at 1.8% (8 of 427 strings)

Added translation using Weblate (Urdu)

Translated using Weblate (Urdu)

Currently translated at 1.1% (5 of 427 strings)

Added translation using Weblate (Urdu)

Translated using Weblate (Urdu)

Currently translated at 0.9% (4 of 427 strings)

Added translation using Weblate (Urdu)

Added translation using Weblate (Urdu)

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Languages add-on <noreply-addon-languages@weblate.org>
Co-authored-by: yousaf465 <yousaf465@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/audio/ur/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/
Translation: Frigate NVR/audio
Translation: Frigate NVR/common
2025-05-13 08:30:20 -06:00
Hosted Weblate
c104913f81 Translated using Weblate (Slovenian)
Currently translated at 100.0% (24 of 24 strings)

Translated using Weblate (Slovenian)

Currently translated at 100.0% (7 of 7 strings)

Translated using Weblate (Slovenian)

Currently translated at 100.0% (118 of 118 strings)

Translated using Weblate (Slovenian)

Currently translated at 12.4% (53 of 427 strings)

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Mitja Ahlin <mitja@ahlin.si>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/audio/sl/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/objects/sl/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-configeditor/sl/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-events/sl/
Translation: Frigate NVR/audio
Translation: Frigate NVR/objects
Translation: Frigate NVR/views-configeditor
Translation: Frigate NVR/views-events
2025-05-13 08:30:20 -06:00
Hosted Weblate
d38a5659a9 Added translation using Weblate (Persian)
Added translation using Weblate (Persian)

Added translation using Weblate (Persian)

Added translation using Weblate (Persian)

Added translation using Weblate (Persian)

Added translation using Weblate (Persian)

Added translation using Weblate (Persian)

Added translation using Weblate (Persian)

Added translation using Weblate (Persian)

Added translation using Weblate (Persian)

Added translation using Weblate (Persian)

Added translation using Weblate (Persian)

Added translation using Weblate (Persian)

Added translation using Weblate (Persian)

Added translation using Weblate (Persian)

Added translation using Weblate (Persian)

Added translation using Weblate (Persian)

Added translation using Weblate (Persian)

Added translation using Weblate (Persian)

Added translation using Weblate (Persian)

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Languages add-on <noreply-addon-languages@weblate.org>
Co-authored-by: Omid Nateghi <MasterDeveloper313@gmail.com>
2025-05-13 08:30:20 -06:00
Hosted Weblate
0c54d2c47c Translated using Weblate (French)
Currently translated at 100.0% (340 of 340 strings)

Translated using Weblate (French)

Currently translated at 100.0% (60 of 60 strings)

Translated using Weblate (French)

Currently translated at 100.0% (50 of 50 strings)

Translated using Weblate (French)

Currently translated at 100.0% (179 of 179 strings)

Translated using Weblate (French)

Currently translated at 100.0% (339 of 339 strings)

Translated using Weblate (French)

Currently translated at 100.0% (59 of 59 strings)

Translated using Weblate (French)

Currently translated at 100.0% (333 of 333 strings)

Translated using Weblate (French)

Currently translated at 100.0% (54 of 54 strings)

Translated using Weblate (French)

Currently translated at 100.0% (113 of 113 strings)

Translated using Weblate (French)

Currently translated at 100.0% (333 of 333 strings)

Translated using Weblate (French)

Currently translated at 100.0% (48 of 48 strings)

Translated using Weblate (French)

Currently translated at 100.0% (177 of 177 strings)

Translated using Weblate (French)

Currently translated at 100.0% (177 of 177 strings)

Translated using Weblate (French)

Currently translated at 100.0% (111 of 111 strings)

Translated using Weblate (French)

Currently translated at 100.0% (24 of 24 strings)

Translated using Weblate (French)

Currently translated at 100.0% (53 of 53 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/components-dialog/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-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/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-search
Translation: Frigate NVR/views-settings
Translation: Frigate NVR/views-system
2025-05-13 08:30:20 -06:00
Hosted Weblate
4bb52f0357 Translated using Weblate (Spanish)
Currently translated at 100.0% (60 of 60 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (50 of 50 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (340 of 340 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (179 of 179 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (59 of 59 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (339 of 339 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (54 of 54 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (111 of 111 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (24 of 24 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (53 of 53 strings)

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: jjavin <javiernovoa@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/es/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-dialog/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-facelibrary/es/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/es/
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-settings
2025-05-13 08:30:20 -06:00
Hosted Weblate
c1594b2482 Translated using Weblate (Dutch)
Currently translated at 100.0% (339 of 339 strings)

Translated using Weblate (Dutch)

Currently translated at 100.0% (59 of 59 strings)

Translated using Weblate (Dutch)

Currently translated at 100.0% (111 of 111 strings)

Translated using Weblate (Dutch)

Currently translated at 100.0% (54 of 54 strings)

Translated using Weblate (Dutch)

Currently translated at 100.0% (111 of 111 strings)

Translated using Weblate (Dutch)

Currently translated at 100.0% (24 of 24 strings)

Translated using Weblate (Dutch)

Currently translated at 100.0% (48 of 48 strings)

Translated using Weblate (Dutch)

Currently translated at 100.0% (118 of 118 strings)

Translated using Weblate (Dutch)

Currently translated at 100.0% (427 of 427 strings)

Translated using Weblate (Dutch)

Currently translated at 100.0% (53 of 53 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/objects/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-search/nl/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/nl/
Translation: Frigate NVR/audio
Translation: Frigate NVR/objects
Translation: Frigate NVR/views-events
Translation: Frigate NVR/views-explore
Translation: Frigate NVR/views-facelibrary
Translation: Frigate NVR/views-search
Translation: Frigate NVR/views-settings
2025-05-13 08:30:20 -06:00
Hosted Weblate
41919f9648 Translated using Weblate (Indonesian)
Currently translated at 5.3% (6 of 113 strings)

Translated using Weblate (Indonesian)

Currently translated at 1.8% (6 of 333 strings)

Translated using Weblate (Indonesian)

Currently translated at 12.5% (6 of 48 strings)

Translated using Weblate (Indonesian)

Currently translated at 100.0% (6 of 6 strings)

Translated using Weblate (Indonesian)

Currently translated at 7.5% (6 of 80 strings)

Translated using Weblate (Indonesian)

Currently translated at 11.3% (6 of 53 strings)

Translated using Weblate (Indonesian)

Currently translated at 66.6% (6 of 9 strings)

Translated using Weblate (Indonesian)

Currently translated at 5.4% (6 of 110 strings)

Translated using Weblate (Indonesian)

Currently translated at 30.4% (7 of 23 strings)

Translated using Weblate (Indonesian)

Currently translated at 100.0% (7 of 7 strings)

Translated using Weblate (Indonesian)

Currently translated at 28.0% (7 of 25 strings)

Translated using Weblate (Indonesian)

Currently translated at 100.0% (2 of 2 strings)

Translated using Weblate (Indonesian)

Currently translated at 10.7% (7 of 65 strings)

Translated using Weblate (Indonesian)

Currently translated at 14.5% (7 of 48 strings)

Translated using Weblate (Indonesian)

Currently translated at 16.2% (7 of 43 strings)

Translated using Weblate (Indonesian)

Currently translated at 77.7% (7 of 9 strings)

Translated using Weblate (Indonesian)

Currently translated at 5.9% (7 of 118 strings)

Translated using Weblate (Indonesian)

Currently translated at 3.3% (6 of 177 strings)

Translated using Weblate (Indonesian)

Currently translated at 6.5% (28 of 427 strings)

Translated using Weblate (Indonesian)

Currently translated at 3.5% (4 of 113 strings)

Translated using Weblate (Indonesian)

Currently translated at 1.2% (4 of 333 strings)

Translated using Weblate (Indonesian)

Currently translated at 8.3% (4 of 48 strings)

Translated using Weblate (Indonesian)

Currently translated at 66.6% (4 of 6 strings)

Translated using Weblate (Indonesian)

Currently translated at 5.0% (4 of 80 strings)

Translated using Weblate (Indonesian)

Currently translated at 7.5% (4 of 53 strings)

Translated using Weblate (Indonesian)

Currently translated at 55.5% (5 of 9 strings)

Translated using Weblate (Indonesian)

Currently translated at 4.5% (5 of 110 strings)

Translated using Weblate (Indonesian)

Currently translated at 21.7% (5 of 23 strings)

Translated using Weblate (Indonesian)

Currently translated at 71.4% (5 of 7 strings)

Translated using Weblate (Indonesian)

Currently translated at 20.0% (5 of 25 strings)

Translated using Weblate (Indonesian)

Currently translated at 100.0% (2 of 2 strings)

Translated using Weblate (Indonesian)

Currently translated at 100.0% (2 of 2 strings)

Translated using Weblate (Indonesian)

Currently translated at 7.6% (5 of 65 strings)

Translated using Weblate (Indonesian)

Currently translated at 10.4% (5 of 48 strings)

Translated using Weblate (Indonesian)

Currently translated at 11.6% (5 of 43 strings)

Translated using Weblate (Indonesian)

Currently translated at 55.5% (5 of 9 strings)

Translated using Weblate (Indonesian)

Currently translated at 4.2% (5 of 118 strings)

Translated using Weblate (Indonesian)

Currently translated at 2.2% (4 of 177 strings)

Translated using Weblate (Indonesian)

Currently translated at 6.0% (26 of 427 strings)

Co-authored-by: Catto <sisharyadi@gmail.com>
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/audio/id/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/id/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-auth/id/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-camera/id/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-dialog/id/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-filter/id/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-icons/id/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-input/id/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-player/id/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/objects/id/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-configeditor/id/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-events/id/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-explore/id/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-exports/id/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-facelibrary/id/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-live/id/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-recording/id/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-search/id/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/id/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-system/id/
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-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
2025-05-13 08:30:20 -06:00
Hosted Weblate
79e0fd1343 Translated using Weblate (Italian)
Currently translated at 100.0% (339 of 339 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (59 of 59 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (54 of 54 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (24 of 24 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (111 of 111 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (177 of 177 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (53 of 53 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/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-facelibrary/it/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/it/
Translation: Frigate NVR/common
Translation: Frigate NVR/views-events
Translation: Frigate NVR/views-explore
Translation: Frigate NVR/views-facelibrary
Translation: Frigate NVR/views-settings
2025-05-13 08:30:20 -06:00
Hosted Weblate
b1b78feec2 Translated using Weblate (Polish)
Currently translated at 100.0% (9 of 9 strings)

Translated using Weblate (Polish)

Currently translated at 100.0% (24 of 24 strings)

Translated using Weblate (Polish)

Currently translated at 100.0% (111 of 111 strings)

Translated using Weblate (Polish)

Currently translated at 100.0% (113 of 113 strings)

Translated using Weblate (Polish)

Currently translated at 100.0% (333 of 333 strings)

Translated using Weblate (Polish)

Currently translated at 100.0% (53 of 53 strings)

Translated using Weblate (Polish)

Currently translated at 100.0% (65 of 65 strings)

Translated using Weblate (Polish)

Currently translated at 100.0% (177 of 177 strings)

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Mateusz Paś <piciuok@gmail.com>
Co-authored-by: Patryk Smoliński <smolinski.patryk@mensa.org.pl>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/pl/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-filter/pl/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-events/pl/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-explore/pl/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-exports/pl/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-facelibrary/pl/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/pl/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-system/pl/
Translation: Frigate NVR/common
Translation: Frigate NVR/components-filter
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
Translation: Frigate NVR/views-system
2025-05-13 08:30:20 -06:00
Hosted Weblate
f27538607e Translated using Weblate (Hungarian)
Currently translated at 7.5% (25 of 333 strings)

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Pintér István <thestevepappa@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/hu/
Translation: Frigate NVR/views-settings
2025-05-13 08:30:20 -06:00
Hosted Weblate
2fc70c62a5 Translated using Weblate (Portuguese)
Currently translated at 100.0% (113 of 113 strings)

Translated using Weblate (Portuguese)

Currently translated at 62.7% (209 of 333 strings)

Translated using Weblate (Portuguese)

Currently translated at 100.0% (48 of 48 strings)

Translated using Weblate (Portuguese)

Currently translated at 100.0% (54 of 54 strings)

Translated using Weblate (Portuguese)

Currently translated at 100.0% (111 of 111 strings)

Translated using Weblate (Portuguese)

Currently translated at 100.0% (65 of 65 strings)

Translated using Weblate (Portuguese)

Currently translated at 100.0% (48 of 48 strings)

Translated using Weblate (Portuguese)

Currently translated at 100.0% (177 of 177 strings)

Translated using Weblate (Portuguese)

Currently translated at 81.4% (92 of 113 strings)

Translated using Weblate (Portuguese)

Currently translated at 57.0% (190 of 333 strings)

Translated using Weblate (Portuguese)

Currently translated at 85.4% (41 of 48 strings)

Translated using Weblate (Portuguese)

Currently translated at 86.7% (46 of 53 strings)

Translated using Weblate (Portuguese)

Currently translated at 88.2% (98 of 111 strings)

Translated using Weblate (Portuguese)

Currently translated at 100.0% (24 of 24 strings)

Translated using Weblate (Portuguese)

Currently translated at 95.8% (46 of 48 strings)

Translated using Weblate (Portuguese)

Currently translated at 76.2% (135 of 177 strings)

Translated using Weblate (Portuguese)

Currently translated at 100.0% (118 of 118 strings)

Translated using Weblate (Portuguese)

Currently translated at 44.4% (190 of 427 strings)

Translated using Weblate (Portuguese)

Currently translated at 67.7% (120 of 177 strings)

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Interlig <haylanzinho@gmail.com>
Co-authored-by: Ivan Martins Pereira <vodikus@users.noreply.hosted.weblate.org>
Co-authored-by: Peter Williams BA Hons MBCS <hello@p-williams.com>
Co-authored-by: Артём Владимиров <artyomka71@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/audio/pt/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/pt/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-dialog/pt/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-filter/pt/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/objects/pt/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-events/pt/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-explore/pt/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-facelibrary/pt/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-search/pt/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/pt/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-system/pt/
Translation: Frigate NVR/audio
Translation: Frigate NVR/common
Translation: Frigate NVR/components-dialog
Translation: Frigate NVR/components-filter
Translation: Frigate NVR/objects
Translation: Frigate NVR/views-events
Translation: Frigate NVR/views-explore
Translation: Frigate NVR/views-facelibrary
Translation: Frigate NVR/views-search
Translation: Frigate NVR/views-settings
Translation: Frigate NVR/views-system
2025-05-13 08:30:20 -06:00
Hosted Weblate
a3890c0304 Added translation using Weblate (Japanese)
Added translation using Weblate (Japanese)

Added translation using Weblate (Japanese)

Added translation using Weblate (Japanese)

Added translation using Weblate (Japanese)

Added translation using Weblate (Japanese)

Added translation using Weblate (Japanese)

Added translation using Weblate (Japanese)

Added translation using Weblate (Japanese)

Added translation using Weblate (Japanese)

Added translation using Weblate (Japanese)

Added translation using Weblate (Japanese)

Added translation using Weblate (Japanese)

Added translation using Weblate (Japanese)

Added translation using Weblate (Japanese)

Added translation using Weblate (Japanese)

Update translation files

Updated by "Squash Git commits" add-on in Weblate.

Added translation using Weblate (Japanese)

Added translation using Weblate (Japanese)

Added translation using Weblate (Japanese)

Added translation using Weblate (Japanese)

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Languages add-on <noreply-addon-languages@weblate.org>
Co-authored-by: Tomoya Hashimoto <tomoya.hashimoto@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/
Translation: Frigate NVR/common
2025-05-13 08:30:20 -06:00
Hosted Weblate
953d7d0428 Translated using Weblate (Ukrainian)
Currently translated at 100.0% (340 of 340 strings)

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (60 of 60 strings)

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (50 of 50 strings)

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (179 of 179 strings)

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (339 of 339 strings)

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (59 of 59 strings)

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (113 of 113 strings)

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (333 of 333 strings)

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (54 of 54 strings)

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (113 of 113 strings)

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (333 of 333 strings)

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (53 of 53 strings)

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (111 of 111 strings)

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (80 of 80 strings)

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (24 of 24 strings)

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (2 of 2 strings)

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (48 of 48 strings)

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (43 of 43 strings)

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (177 of 177 strings)

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Sotski Eugene <jekakmail@gmail.com>
Co-authored-by: Максим Горпиніч <maksimgorpinic4@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/uk/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-camera/uk/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-dialog/uk/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-icons/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/components-camera
Translation: Frigate NVR/components-dialog
Translation: Frigate NVR/components-icons
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
2025-05-13 08:30:20 -06:00
Hosted Weblate
1a0e2abb78 Translated using Weblate (Bulgarian)
Currently translated at 1.1% (2 of 177 strings)

Added translation using Weblate (Bulgarian)

Added translation using Weblate (Bulgarian)

Added translation using Weblate (Bulgarian)

Added translation using Weblate (Bulgarian)

Added translation using Weblate (Bulgarian)

Added translation using Weblate (Bulgarian)

Added translation using Weblate (Bulgarian)

Added translation using Weblate (Bulgarian)

Added translation using Weblate (Bulgarian)

Added translation using Weblate (Bulgarian)

Added translation using Weblate (Bulgarian)

Added translation using Weblate (Bulgarian)

Added translation using Weblate (Bulgarian)

Added translation using Weblate (Bulgarian)

Added translation using Weblate (Bulgarian)

Added translation using Weblate (Bulgarian)

Added translation using Weblate (Bulgarian)

Added translation using Weblate (Bulgarian)

Added translation using Weblate (Bulgarian)

Added translation using Weblate (Bulgarian)

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Languages add-on <noreply-addon-languages@weblate.org>
Co-authored-by: elgratea <weblate@fastmail.com>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/bg/
Translation: Frigate NVR/common
2025-05-13 08:30:20 -06:00
Hosted Weblate
5b0c7694d3 Translated using Weblate (Russian)
Currently translated at 100.0% (340 of 340 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (60 of 60 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (50 of 50 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (179 of 179 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (339 of 339 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (59 of 59 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (333 of 333 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (111 of 111 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (54 of 54 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (111 of 111 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (24 of 24 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (48 of 48 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (53 of 53 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (110 of 110 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (65 of 65 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (177 of 177 strings)

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Артём Владимиров <artyomka71@gmail.com>
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/components-filter/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-search/ru/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/ru/
Translation: Frigate NVR/common
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-search
Translation: Frigate NVR/views-settings
2025-05-13 08:30:20 -06:00
Hosted Weblate
9e0b0778f8 Translated using Weblate (German)
Currently translated at 100.0% (340 of 340 strings)

Translated using Weblate (German)

Currently translated at 100.0% (60 of 60 strings)

Translated using Weblate (German)

Currently translated at 100.0% (50 of 50 strings)

Translated using Weblate (German)

Currently translated at 100.0% (339 of 339 strings)

Translated using Weblate (German)

Currently translated at 100.0% (59 of 59 strings)

Translated using Weblate (German)

Currently translated at 100.0% (113 of 113 strings)

Translated using Weblate (German)

Currently translated at 100.0% (333 of 333 strings)

Translated using Weblate (German)

Currently translated at 100.0% (54 of 54 strings)

Translated using Weblate (German)

Currently translated at 100.0% (111 of 111 strings)

Translated using Weblate (German)

Currently translated at 86.7% (289 of 333 strings)

Translated using Weblate (German)

Currently translated at 86.7% (289 of 333 strings)

Translated using Weblate (German)

Currently translated at 100.0% (48 of 48 strings)

Translated using Weblate (German)

Currently translated at 100.0% (54 of 54 strings)

Translated using Weblate (German)

Currently translated at 100.0% (111 of 111 strings)

Translated using Weblate (German)

Currently translated at 100.0% (24 of 24 strings)

Translated using Weblate (German)

Currently translated at 100.0% (177 of 177 strings)

Translated using Weblate (German)

Currently translated at 71.7% (239 of 333 strings)

Translated using Weblate (German)

Currently translated at 66.9% (223 of 333 strings)

Translated using Weblate (German)

Currently translated at 100.0% (7 of 7 strings)

Translated using Weblate (German)

Currently translated at 100.0% (177 of 177 strings)

Translated using Weblate (German)

Currently translated at 43.8% (146 of 333 strings)

Translated using Weblate (German)

Currently translated at 97.3% (110 of 113 strings)

Translated using Weblate (German)

Currently translated at 43.5% (145 of 333 strings)

Translated using Weblate (German)

Currently translated at 100.0% (110 of 110 strings)

Translated using Weblate (German)

Currently translated at 39.6% (132 of 333 strings)

Translated using Weblate (German)

Currently translated at 39.6% (132 of 333 strings)

Translated using Weblate (German)

Currently translated at 97.9% (47 of 48 strings)

Translated using Weblate (German)

Currently translated at 100.0% (53 of 53 strings)

Co-authored-by: BOFH90 <michael@becker-lan.de>
Co-authored-by: Darkyputz <darkwing@gmx.li>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: J <zippelman@web.de>
Co-authored-by: Mehmet Uyanik <met456@gmail.com>
Co-authored-by: Phil Jope <phil@jope.cloud>
Co-authored-by: Viktor Stier <viktor-stier@gmx.de>
Co-authored-by: engels0n <christian.engelbarts@outlook.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-configeditor/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/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-search/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-dialog
Translation: Frigate NVR/views-configeditor
Translation: Frigate NVR/views-events
Translation: Frigate NVR/views-explore
Translation: Frigate NVR/views-facelibrary
Translation: Frigate NVR/views-search
Translation: Frigate NVR/views-settings
Translation: Frigate NVR/views-system
2025-05-13 08:30:20 -06:00
Hosted Weblate
120fff31a7 Translated using Weblate (Turkish)
Currently translated at 100.0% (54 of 54 strings)

Translated using Weblate (Turkish)

Currently translated at 100.0% (24 of 24 strings)

Translated using Weblate (Turkish)

Currently translated at 100.0% (113 of 113 strings)

Translated using Weblate (Turkish)

Currently translated at 100.0% (333 of 333 strings)

Translated using Weblate (Turkish)

Currently translated at 100.0% (53 of 53 strings)

Translated using Weblate (Turkish)

Currently translated at 100.0% (177 of 177 strings)

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Kemal <kemal@korkmazlar.nl>
Co-authored-by: pcislocked <git@pcislocked.net>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/tr/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-events/tr/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-facelibrary/tr/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/tr/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-system/tr/
Translation: Frigate NVR/common
Translation: Frigate NVR/views-events
Translation: Frigate NVR/views-facelibrary
Translation: Frigate NVR/views-settings
Translation: Frigate NVR/views-system
2025-05-13 08:30:20 -06:00
Martin Weinelt
4d4d54d030 Fix various typing issues (#18187)
* Fix the `Any` typing hint treewide

There has been confusion between the Any type[1] and the any function[2]
in typing hints.

[1] https://docs.python.org/3/library/typing.html#typing.Any
[2] https://docs.python.org/3/library/functions.html#any

* Fix typing for various frame_shape members

Frame shapes are most likely defined by height and width, so a single int
cannot express that.

* Wrap gpu stats functions in Optional[]

These can return `None`, so they need to be `Type | None`, which is what
`Optional` expresses very nicely.

* Fix return type in get_latest_segment_datetime

Returns a datetime object, not an integer.

* Make the return type of FrameManager.write optional

This is necessary since the SharedMemoryFrameManager.write function can
return None.

* Fix total_seconds() return type in get_tz_modifiers

The function returns a float, not an int.

https://docs.python.org/3/library/datetime.html#datetime.timedelta.total_seconds

* Account for floating point results in to_relative_box

Because the function uses division the return types may either be int or
float.

* Resolve ruff deprecation warning

The config has been split into formatter and linter, and the global
options are deprecated.
2025-05-13 08:27:20 -06:00
Josh Hawkins
2c9bfaa49c Fixes (#18176)
* Add camera name tooltip to previews in recording view

* Apply face area check to cv2 face detection

* Delete review thumbnails

* Don't import hailo until it is used

* Add comment

* Clean up camera name

* Filter out empty keys when updating yaml config

HA ingress seems to randomly add an equal sign to the PUT urls for updating the config from the UI. This fix prevents empty keys from being processed, but still allows empty values.

---------

Co-authored-by: Nicolas Mowen <nickmowen213@gmail.com>
2025-05-13 08:27:07 -06:00
Josh Hawkins
f39ddbc00d Fixes (#18139)
* Catch error and show toast when failing to delete review items

* i18n keys

* add link to speed estimation docs in zone edit pane

* Implement reset of tracked object update for each camera

* Cleanup

* register mqtt callbacks for toggling alerts and detections

* clarify snapshots docs

* clarify semantic search reindexing

* add ukrainian

* adjust date granularity for last recording time

The api endpoint only returns granularity down to the day

* Add amd hardware

* fix crash in face library on initial start after enabling

* Fix recordings view for mobile landscape

The events view incorrectly was displaying two columns on landscape view and it only took up 20% of the screen width. Additionally, in landscape view the timeline was too wide (especially on iPads of various screen sizes) and would overlap the main video

* face rec overfitting instructions

* Clarify

* face docs

* clarify

* clarify

---------

Co-authored-by: Nicolas Mowen <nickmowen213@gmail.com>
2025-05-11 12:03:53 -06:00
Josh Hawkins
8094dd4075 Fixes (#18117)
* face library i18n fixes

* face library i18n fixes

* add ability to use ctrl/cmd S to save in the config editor

* Use datetime as ID

* Update metrics inference speed to start with 0 ms

* fix android formatted thumbnail

* ensure role is comma separated and stripped correctly

* improve face library deletion

- add a confirmation dialog
- add ability to select all / delete faces in collections

* Implement lazy loading for video previews

* Force GPU for large embedding model

* GPU is required

* settings i18n fixes

* Don't delete train tab

* webpush debugging logs

* Fix incorrectly copying zones

* copy path data

* Ensure that cache dir exists for Frigate+

* face docs update

* Add description to upload image step to clarify the image

* Clean up

---------

Co-authored-by: Nicolas Mowen <nickmowen213@gmail.com>
2025-05-09 07:36:44 -06:00
Felipe Santos
52d94231c7 Avoid unhealthy container when Frigate is stopping (#18021) 2025-05-07 19:43:51 -05:00
Josh Hawkins
ac8e647b92 Fixes (#18077)
* fix onvif reinitialization

* api docs: clarify usage of clip.mp4 endpoint

* Always show train tab

* Add description to API

* catch lpr model inference exceptions

* always apply motion mask when using yolov9 plate detection

* lpr faq

* fix incorrect focus when reopening search detail dialog on video tab

* only use keyboard listener in face library when train tab is active

---------

Co-authored-by: Nicolas Mowen <nickmowen213@gmail.com>
2025-05-07 16:31:24 -06:00
Josh Hawkins
da1fb935b4 Refactor async ONVIF (#18093)
* use async/await instead of asyncio.run()

* fix autotracking

* create cameras in same event loop that will use them

* more debug

* try using existing event loop instead of creating a new one

* merge dev

* fixes

* run get_camera_info onvifcontroller calls in dedicated loop

* move coroutine call with loop to api

* use asyncio for autotracking move queues

* clean up

* fix calibration

* improve exception logging
2025-05-07 07:53:29 -06:00
GuoQing Liu
83188e7ea4 Add chinese docs (#17954)
* add docs chinese i18n

* fix some broken links

* update some i18n

* update chinese docs

* add chinese community docs

* Change docs i18n chinese label
2025-05-06 08:49:49 -06:00
Nicolas Mowen
3a69273f0c revert onnx runtime update (#18074)
* revert onnx runtime update

* Fix docs
2025-05-06 09:02:34 -05:00
Josh Hawkins
511542eaf8 Fixes (#18055)
* frigate+ pane i18n fix

* catch more exceptions

* explore search result tooltip i18n fix

* i18n fix

* remove comments about deprecated strftime_fmt

* Catch producers exists but is None

* Formatting

* fix live camera view i18n

* Add default role config for proxy users

This allows users to specify a default role for users when using a proxy for auth. This can be useful for users who can't/don't want to define a header mapping for the remote-role header.

* update reference config and auth docs

* clarify face rec camera level config

* clarify auth docs

* Fix onnx not working with openvino

* Update openvino to fix failed npu plugin check

---------

Co-authored-by: Nicolas Mowen <nickmowen213@gmail.com>
2025-05-05 20:42:24 -06:00
idxlics
976863518b Use HF_ENDPOINT env instead of hardcoding https://huggingface.co (#18036)
* Update jina_v1_embedding.py

* Update jina_v2_embedding.py
2025-05-04 19:38:17 -05:00
Nicolas Mowen
895afcdb0e Various Fixes (#18035)
* Support multi and single core rknn npus

* Update docs config to be more clear
2025-05-04 09:33:27 -06:00
Josh Hawkins
da2636d6f7 Docs tweaks (#18025)
* face recognition usage instructions

* clarify lpr docs for motorcycles

* person must be detected before face

* add note about coral

* add note about local

* update reference config for face model size

* clarify reference config for face
2025-05-03 20:13:22 -06:00
Felipe Santos
27d3be0356 Fix go2rtc homeassistant config dir (#18017) 2025-05-03 10:24:16 -06:00
Nicolas Mowen
fa196f85a7 Opt out of OpenVINO telemetry (#18015) 2025-05-03 08:55:22 -05:00
Blake Blackshear
9a3a64a9bd cleanup variants (#18010) 2025-05-03 06:24:30 -06:00
Josh Hawkins
5c3ac75c31 Listen on timeline ref instead of window (#18006) 2025-05-02 17:35:55 -06:00
Sotski Eugene
1a383c47b5 Fix camera label translation from 'cameraCapture' to 'cameraDetect' (#18005) 2025-05-02 16:42:57 -06:00
Hosted Weblate
00261cb90c Translated using Weblate (Cantonese (Traditional Han script))
Currently translated at 100.0% (113 of 113 strings)

Translated using Weblate (Cantonese (Traditional Han script))

Currently translated at 100.0% (333 of 333 strings)

Translated using Weblate (Cantonese (Traditional Han script))

Currently translated at 92.0% (104 of 113 strings)

Translated using Weblate (Cantonese (Traditional Han script))

Currently translated at 99.6% (332 of 333 strings)

Translated using Weblate (Cantonese (Traditional Han script))

Currently translated at 99.0% (330 of 333 strings)

Translated using Weblate (Cantonese (Traditional Han script))

Currently translated at 99.0% (330 of 333 strings)

Translated using Weblate (Cantonese (Traditional Han script))

Currently translated at 100.0% (65 of 65 strings)

Translated using Weblate (Cantonese (Traditional Han script))

Currently translated at 100.0% (177 of 177 strings)

Translated using Weblate (Cantonese (Traditional Han script))

Currently translated at 100.0% (177 of 177 strings)

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: LEO NG <leoywng44@gmail.com>
Co-authored-by: Sotski Eugene <jekakmail@gmail.com>
Co-authored-by: kei81131 <kei81131@yahoo.com.hk>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/yue_Hant/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-filter/yue_Hant/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/yue_Hant/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-system/yue_Hant/
Translation: Frigate NVR/common
Translation: Frigate NVR/components-filter
Translation: Frigate NVR/views-settings
Translation: Frigate NVR/views-system
2025-05-02 16:03:54 -06:00
Hosted Weblate
b10c2d56a1 Translated using Weblate (Norwegian Bokmål)
Currently translated at 100.0% (113 of 113 strings)

Translated using Weblate (Norwegian Bokmål)

Currently translated at 100.0% (110 of 110 strings)

Translated using Weblate (Norwegian Bokmål)

Currently translated at 100.0% (65 of 65 strings)

Translated using Weblate (Norwegian Bokmål)

Currently translated at 100.0% (333 of 333 strings)

Translated using Weblate (Norwegian Bokmål)

Currently translated at 100.0% (177 of 177 strings)

Translated using Weblate (Norwegian Bokmål)

Currently translated at 100.0% (113 of 113 strings)

Translated using Weblate (Norwegian Bokmål)

Currently translated at 100.0% (333 of 333 strings)

Translated using Weblate (Norwegian Bokmål)

Currently translated at 99.3% (331 of 333 strings)

Translated using Weblate (Norwegian Bokmål)

Currently translated at 100.0% (65 of 65 strings)

Translated using Weblate (Norwegian Bokmål)

Currently translated at 99.3% (331 of 333 strings)

Translated using Weblate (Norwegian Bokmål)

Currently translated at 100.0% (177 of 177 strings)

Translated using Weblate (Norwegian Bokmål)

Currently translated at 100.0% (104 of 104 strings)

Translated using Weblate (Norwegian Bokmål)

Currently translated at 100.0% (332 of 332 strings)

Translated using Weblate (Norwegian Bokmål)

Currently translated at 100.0% (177 of 177 strings)

Translated using Weblate (Norwegian Bokmål)

Currently translated at 100.0% (331 of 331 strings)

Translated using Weblate (Norwegian Bokmål)

Currently translated at 100.0% (177 of 177 strings)

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: OverTheHillsAndFarAway <prosjektx@users.noreply.hosted.weblate.org>
Co-authored-by: Sotski Eugene <jekakmail@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/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/common
Translation: Frigate NVR/components-filter
Translation: Frigate NVR/views-explore
Translation: Frigate NVR/views-settings
Translation: Frigate NVR/views-system
2025-05-02 16:03:54 -06:00
Hosted Weblate
2c1b3aa3d3 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 91.1% (103 of 113 strings)

Translated using Weblate (Chinese (Simplified Han script))

Currently translated at 99.6% (332 of 333 strings)

Translated using Weblate (Chinese (Simplified Han script))

Currently translated at 100.0% (65 of 65 strings)

Translated using Weblate (Chinese (Simplified Han script))

Currently translated at 100.0% (104 of 104 strings)

Translated using Weblate (Chinese (Simplified Han script))

Currently translated at 100.0% (333 of 333 strings)

Translated using Weblate (Chinese (Simplified Han script))

Currently translated at 100.0% (177 of 177 strings)

Co-authored-by: GuoQing Liu <842607283@qq.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Sotski Eugene <jekakmail@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/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-settings/zh_Hans/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-system/zh_Hans/
Translation: Frigate NVR/common
Translation: Frigate NVR/components-filter
Translation: Frigate NVR/views-settings
Translation: Frigate NVR/views-system
2025-05-02 16:03:54 -06:00
Hosted Weblate
fa937612c5 Translated using Weblate (Slovenian)
Currently translated at 5.9% (7 of 118 strings)

Translated using Weblate (Slovenian)

Currently translated at 7.9% (34 of 427 strings)

Added translation using Weblate (Slovenian)

Translated using Weblate (Slovenian)

Currently translated at 2.3% (10 of 427 strings)

Added translation using Weblate (Slovenian)

Added translation using Weblate (Slovenian)

Added translation using Weblate (Slovenian)

Translated using Weblate (Slovenian)

Currently translated at 2.1% (9 of 427 strings)

Added translation using Weblate (Slovenian)

Translated using Weblate (Slovenian)

Currently translated at 1.8% (8 of 427 strings)

Added translation using Weblate (Slovenian)

Translated using Weblate (Slovenian)

Currently translated at 1.6% (7 of 427 strings)

Added translation using Weblate (Slovenian)

Translated using Weblate (Slovenian)

Currently translated at 1.4% (6 of 427 strings)

Added translation using Weblate (Slovenian)

Translated using Weblate (Slovenian)

Currently translated at 1.1% (5 of 427 strings)

Added translation using Weblate (Slovenian)

Translated using Weblate (Slovenian)

Currently translated at 0.9% (4 of 427 strings)

Added translation using Weblate (Slovenian)

Added translation using Weblate (Slovenian)

Translated using Weblate (Slovenian)

Currently translated at 0.7% (3 of 427 strings)

Added translation using Weblate (Slovenian)

Added translation using Weblate (Slovenian)

Added translation using Weblate (Slovenian)

Added translation using Weblate (Slovenian)

Translated using Weblate (Slovenian)

Currently translated at 0.4% (2 of 427 strings)

Added translation using Weblate (Slovenian)

Added translation using Weblate (Slovenian)

Translated using Weblate (Slovenian)

Currently translated at 0.2% (1 of 427 strings)

Added translation using Weblate (Slovenian)

Added translation using Weblate (Slovenian)

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: Tomaž Žagar <mrtomyminecrafter@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/audio/sl/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/objects/sl/
Translation: Frigate NVR/audio
Translation: Frigate NVR/objects
2025-05-02 16:03:54 -06:00
Hosted Weblate
fcd97f5ce0 Translated using Weblate (Finnish)
Currently translated at 66.9% (223 of 333 strings)

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Sotski Eugene <jekakmail@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/fi/
Translation: Frigate NVR/views-settings
2025-05-02 16:03:54 -06:00
Hosted Weblate
818c33cc37 Translated using Weblate (French)
Currently translated at 100.0% (113 of 113 strings)

Translated using Weblate (French)

Currently translated at 100.0% (333 of 333 strings)

Translated using Weblate (French)

Currently translated at 100.0% (333 of 333 strings)

Translated using Weblate (French)

Currently translated at 100.0% (65 of 65 strings)

Translated using Weblate (French)

Currently translated at 100.0% (333 of 333 strings)

Translated using Weblate (French)

Currently translated at 100.0% (427 of 427 strings)

Translated using Weblate (French)

Currently translated at 100.0% (104 of 104 strings)

Translated using Weblate (French)

Currently translated at 100.0% (332 of 332 strings)

Translated using Weblate (French)

Currently translated at 100.0% (177 of 177 strings)

Translated using Weblate (French)

Currently translated at 100.0% (52 of 52 strings)

Translated using Weblate (French)

Currently translated at 100.0% (177 of 177 strings)

Co-authored-by: Apocoloquintose <bertrand.moreux@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Sotski Eugene <jekakmail@gmail.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-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/audio
Translation: Frigate NVR/common
Translation: Frigate NVR/components-filter
Translation: Frigate NVR/views-facelibrary
Translation: Frigate NVR/views-settings
Translation: Frigate NVR/views-system
2025-05-02 16:03:54 -06:00
Hosted Weblate
f7db472224 Translated using Weblate (Spanish)
Currently translated at 100.0% (113 of 113 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (333 of 333 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (113 of 113 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (65 of 65 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (333 of 333 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (333 of 333 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (104 of 104 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (332 of 332 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (177 of 177 strings)

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Sotski Eugene <jekakmail@gmail.com>
Co-authored-by: jjavin <javiernovoa@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/es/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-filter/es/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/es/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-system/es/
Translation: Frigate NVR/common
Translation: Frigate NVR/components-filter
Translation: Frigate NVR/views-settings
Translation: Frigate NVR/views-system
2025-05-02 16:03:54 -06:00
Hosted Weblate
261e7efdee Translated using Weblate (Dutch)
Currently translated at 100.0% (7 of 7 strings)

Translated using Weblate (Dutch)

Currently translated at 100.0% (333 of 333 strings)

Translated using Weblate (Dutch)

Currently translated at 100.0% (113 of 113 strings)

Translated using Weblate (Dutch)

Currently translated at 100.0% (333 of 333 strings)

Translated using Weblate (Dutch)

Currently translated at 100.0% (7 of 7 strings)

Translated using Weblate (Dutch)

Currently translated at 100.0% (177 of 177 strings)

Translated using Weblate (Dutch)

Currently translated at 99.6% (332 of 333 strings)

Translated using Weblate (Dutch)

Currently translated at 100.0% (333 of 333 strings)

Translated using Weblate (Dutch)

Currently translated at 100.0% (65 of 65 strings)

Translated using Weblate (Dutch)

Currently translated at 100.0% (333 of 333 strings)

Translated using Weblate (Dutch)

Currently translated at 100.0% (332 of 332 strings)

Translated using Weblate (Dutch)

Currently translated at 100.0% (104 of 104 strings)

Translated using Weblate (Dutch)

Currently translated at 100.0% (332 of 332 strings)

Translated using Weblate (Dutch)

Currently translated at 100.0% (177 of 177 strings)

Translated using Weblate (Dutch)

Currently translated at 100.0% (177 of 177 strings)

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: LEO NG <leoywng44@gmail.com>
Co-authored-by: Marijn <168113859+Marijn0@users.noreply.github.com>
Co-authored-by: Sotski Eugene <jekakmail@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/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-settings/nl/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-system/nl/
Translation: Frigate NVR/common
Translation: Frigate NVR/components-filter
Translation: Frigate NVR/views-configeditor
Translation: Frigate NVR/views-settings
Translation: Frigate NVR/views-system
2025-05-02 16:03:54 -06:00
Hosted Weblate
1ba783af68 Translated using Weblate (Indonesian)
Currently translated at 5.3% (23 of 427 strings)

Added translation using Weblate (Indonesian)

Added translation using Weblate (Indonesian)

Added translation using Weblate (Indonesian)

Added translation using Weblate (Indonesian)

Added translation using Weblate (Indonesian)

Added translation using Weblate (Indonesian)

Added translation using Weblate (Indonesian)

Added translation using Weblate (Indonesian)

Added translation using Weblate (Indonesian)

Added translation using Weblate (Indonesian)

Added translation using Weblate (Indonesian)

Added translation using Weblate (Indonesian)

Added translation using Weblate (Indonesian)

Added translation using Weblate (Indonesian)

Added translation using Weblate (Indonesian)

Translated using Weblate (Indonesian)

Currently translated at 0.9% (4 of 427 strings)

Added translation using Weblate (Indonesian)

Added translation using Weblate (Indonesian)

Added translation using Weblate (Indonesian)

Translated using Weblate (Indonesian)

Currently translated at 0.7% (3 of 427 strings)

Added translation using Weblate (Indonesian)

Added translation using Weblate (Indonesian)

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Languages add-on <noreply-addon-languages@weblate.org>
Co-authored-by: lutfijw <lutfi.jw@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/audio/id/
Translation: Frigate NVR/audio
2025-05-02 16:03:54 -06:00
Hosted Weblate
83ddb89ff7 Translated using Weblate (Italian)
Currently translated at 100.0% (113 of 113 strings)

Translated using Weblate (Italian)

Currently translated at 99.6% (332 of 333 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (333 of 333 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (65 of 65 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (333 of 333 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (104 of 104 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (332 of 332 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (177 of 177 strings)

Co-authored-by: Gringo <ita.translations@tiscali.it>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Sotski Eugene <jekakmail@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/it/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-filter/it/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/it/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-system/it/
Translation: Frigate NVR/common
Translation: Frigate NVR/components-filter
Translation: Frigate NVR/views-settings
Translation: Frigate NVR/views-system
2025-05-02 16:03:54 -06:00
Hosted Weblate
b82e4860cd Translated using Weblate (Polish)
Currently translated at 99.0% (330 of 333 strings)

Translated using Weblate (Polish)

Currently translated at 99.0% (330 of 333 strings)

Translated using Weblate (Polish)

Currently translated at 100.0% (65 of 65 strings)

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Sotski Eugene <jekakmail@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-filter/pl/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/pl/
Translation: Frigate NVR/components-filter
Translation: Frigate NVR/views-settings
2025-05-02 16:03:54 -06:00
Hosted Weblate
668af619fe Translated using Weblate (Portuguese)
Currently translated at 56.4% (188 of 333 strings)

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Sotski Eugene <jekakmail@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/pt/
Translation: Frigate NVR/views-settings
2025-05-02 16:03:54 -06:00
Hosted Weblate
4f0802b2b2 Translated using Weblate (Ukrainian)
Currently translated at 12.3% (14 of 113 strings)

Translated using Weblate (Ukrainian)

Currently translated at 1.8% (2 of 110 strings)

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (23 of 23 strings)

Translated using Weblate (Ukrainian)

Currently translated at 5.1% (17 of 333 strings)

Translated using Weblate (Ukrainian)

Currently translated at 12.3% (14 of 113 strings)

Translated using Weblate (Ukrainian)

Currently translated at 4.2% (14 of 333 strings)

Translated using Weblate (Ukrainian)

Currently translated at 5.7% (3 of 52 strings)

Translated using Weblate (Ukrainian)

Currently translated at 0.9% (1 of 110 strings)

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (65 of 65 strings)

Translated using Weblate (Ukrainian)

Currently translated at 97.5% (78 of 80 strings)

Translated using Weblate (Ukrainian)

Currently translated at 97.9% (47 of 48 strings)

Translated using Weblate (Ukrainian)

Currently translated at 99.4% (176 of 177 strings)

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Sotski Eugene <jekakmail@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/components-filter/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/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
2025-05-02 16:03:54 -06:00
Hosted Weblate
69c83ab391 Translated using Weblate (Russian)
Currently translated at 100.0% (113 of 113 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (333 of 333 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (113 of 113 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (333 of 333 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (65 of 65 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (333 of 333 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (80 of 80 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (52 of 52 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (110 of 110 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (23 of 23 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (48 of 48 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (43 of 43 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (333 of 333 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (104 of 104 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (332 of 332 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (177 of 177 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (177 of 177 strings)

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Sotski Eugene <jekakmail@gmail.com>
Co-authored-by: Артём Владимиров <artyomka71@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/ru/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-camera/ru/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-dialog/ru/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-filter/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/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-system/ru/
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
2025-05-02 16:03:54 -06:00
Hosted Weblate
2ec7ca143f Translated using Weblate (English)
Currently translated at 100.0% (113 of 113 strings)

Translated using Weblate (English)

Currently translated at 100.0% (333 of 333 strings)

Translated using Weblate (English)

Currently translated at 100.0% (333 of 333 strings)

Translated using Weblate (English)

Currently translated at 100.0% (65 of 65 strings)

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Sotski Eugene <jekakmail@gmail.com>
Co-authored-by: Артём Владимиров <artyomka71@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-filter/en/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/en/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-system/en/
Translation: Frigate NVR/components-filter
Translation: Frigate NVR/views-settings
Translation: Frigate NVR/views-system
2025-05-02 16:03:54 -06:00
Hosted Weblate
f451686f1d Translated using Weblate (German)
Currently translated at 32.4% (108 of 333 strings)

Translated using Weblate (German)

Currently translated at 100.0% (65 of 65 strings)

Translated using Weblate (German)

Currently translated at 97.1% (101 of 104 strings)

Translated using Weblate (German)

Currently translated at 97.7% (173 of 177 strings)

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Matze K <matzekais@gmail.com>
Co-authored-by: Sotski Eugene <jekakmail@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/de/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-filter/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-filter
Translation: Frigate NVR/views-settings
Translation: Frigate NVR/views-system
2025-05-02 16:03:54 -06:00
Hosted Weblate
030bb019b0 Translated using Weblate (Turkish)
Currently translated at 99.0% (330 of 333 strings)

Translated using Weblate (Turkish)

Currently translated at 99.0% (330 of 333 strings)

Translated using Weblate (Turkish)

Currently translated at 100.0% (65 of 65 strings)

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Sotski Eugene <jekakmail@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-filter/tr/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/tr/
Translation: Frigate NVR/components-filter
Translation: Frigate NVR/views-settings
2025-05-02 16:03:54 -06:00
Josh Hawkins
9fa2b002ba Attributes for object masks (#18003)
* Add ability to select attributes for object masks

This feature already works correctly on the backend. This just adds the ability to select attributes through the UI.

* Add clarity to LPR docs about timestamps

* fix sub label score and add info popover
2025-05-02 13:46:30 -05:00
Josh Hawkins
f98795abfd Face UI fixes (#18000)
* ensure portrait cams are contained in dialog

* always show rename and delete buttons on mobile and tablet

without a group-hover state, a double-tap was required to select a face from the dropdown
2025-05-02 06:44:45 -06:00
Nicolas Mowen
92f7b54371 Update docusaurus (#17990) 2025-05-01 10:25:16 -05:00
Josh Hawkins
4d6a139bf8 UI fixes (#17989)
* use correct time in custom export time picker

* fix inline icons
2025-05-01 09:06:29 -06:00
Josh Hawkins
08c087f221 Docs updates (#17986)
* docs updates

* revamp hwaccel

* remove

* clarify

* fix

* more clarity

* clean up
2025-05-01 08:17:35 -05:00
Nicolas Mowen
2c9cd760a9 Clarify loitering behavior (#17984) 2025-05-01 06:21:39 -05:00
Nicolas Mowen
45e91b3664 Various tweaks (#17978)
* Fix NPU stats

* Add global camera specific h265 note

* Update record docs for apple compatibility

* remove

* Remove non-in progress requirement
2025-04-30 19:11:45 -05:00
Sotski Eugene
d0de6f8326 Add i18n support to LogInfoDialog labels (#17979)
Integrated translations using `react-i18next` for LogInfoDialog component labels, ensuring proper localization. Updated static text labels (Type, Timestamp, Tag, Message) to dynamically rendered translation keys.
2025-04-30 18:55:42 -05:00
Josh Hawkins
377b78af11 Change default zmq timeout (#17971)
* update default zmq timeout

* use lower default timeout

* keep longer timeout for event maintainer

* remove default

* remove
2025-04-30 08:29:16 -06:00
Josh Hawkins
96d89eb50c Lower timeout in object processing (#17970)
On startup, the object processing pipeline would be delayed for 10ms every iteration through the loop while the end event subscriber blocked. For users with large numbers of cameras and a fair amount of detected objects, this would cause the detected objects queue length to rise and frames to be eventually dropped, leading to processing delays, incorrect frame times applied to thumbnail_data, and other seemingly unexplainable things.
2025-04-30 07:42:53 -06:00
Sotski Eugene
2d99bba427 Extend i18n (#17969)
* Add i18n support for camera metrics labels

* Fix missing dependency in useMemo hooks
2025-04-30 06:11:45 -06:00
Josh Hawkins
a9f139e062 Fixes (#17961)
* Fix i18n page titles

* fix frontend crash in npu stats

* return empty object for gpu_usages if null

* fix gpu info i18n keys
2025-04-29 17:03:44 -05:00
Josh Hawkins
c91c6970de Autotracking improvements (#17955)
* add zoom time to movement predictions

* config migrator

* add space to face rename regex

* more debug

* only calculate zoom time of relative move

* fix test

* make migrated movement weight a zero

* check for str and bool for movestatus support
2025-04-29 10:17:56 -06:00
Nicolas Mowen
e57dde7bb0 Support automatic language selection based on system language (#17953)
* Support automatic language selection

* Handle non-matching keys

* Cleanup

* Handle region specific language codes from browser

* Fix passing in requestor
2025-04-29 10:02:50 -05:00
Josh Hawkins
9291543705 Fix missing i18n keys (#17952)
* Fix missing i18n keys

* gpu info dialog fixes
2025-04-29 06:47:19 -06:00
Josh Hawkins
1e079027ec Assign requestor correctly (#17944) 2025-04-28 21:52:37 -05:00
Josh Hawkins
d6afd5c198 Add Italian, Cantonese, and German to languages menu (#17942) 2025-04-28 17:54:31 -06:00
Nicolas Mowen
4b4053d174 Add face and lpr to tracked object update topic (#17940)
* Send tracked object updates for face and license_plate objects

* Update docs

* Add to type enum

* Add camera to object description update

* Formatting

* Consolidate yue-Hant

* Add missing
2025-04-28 16:43:03 -06:00
Hosted Weblate
77ac3b6da0 Translated using Weblate (Cantonese (Traditional Han script))
Currently translated at 100.0% (48 of 48 strings)

Translated using Weblate (Cantonese (Traditional Han script))

Currently translated at 100.0% (65 of 65 strings)

Translated using Weblate (Cantonese (Traditional Han script))

Currently translated at 100.0% (52 of 52 strings)

Translated using Weblate (Cantonese (Traditional Han script))

Currently translated at 100.0% (110 of 110 strings)

Translated using Weblate (Cantonese (Traditional Han script))

Currently translated at 100.0% (103 of 103 strings)

Translated using Weblate (Cantonese (Traditional Han script))

Currently translated at 100.0% (331 of 331 strings)

Translated using Weblate (Cantonese (Traditional Han script))

Currently translated at 100.0% (48 of 48 strings)

Translated using Weblate (Cantonese (Traditional Han script))

Currently translated at 62.8% (208 of 331 strings)

Translated using Weblate (Cantonese (Traditional Han script))

Currently translated at 100.0% (48 of 48 strings)

Translated using Weblate (Cantonese (Traditional Han script))

Currently translated at 100.0% (6 of 6 strings)

Translated using Weblate (Cantonese (Traditional Han script))

Currently translated at 100.0% (80 of 80 strings)

Translated using Weblate (Cantonese (Traditional Han script))

Currently translated at 97.9% (47 of 48 strings)

Translated using Weblate (Cantonese (Traditional Han script))

Currently translated at 52.5% (42 of 80 strings)

Translated using Weblate (Cantonese (Traditional Han script))

Currently translated at 100.0% (48 of 48 strings)

Translated using Weblate (Cantonese (Traditional Han script))

Currently translated at 2.0% (1 of 48 strings)

Translated using Weblate (Cantonese (Traditional Han script))

Currently translated at 16.6% (1 of 6 strings)

Translated using Weblate (Cantonese (Traditional Han script))

Currently translated at 10.0% (8 of 80 strings)

Translated using Weblate (Cantonese (Traditional Han script))

Currently translated at 100.0% (65 of 65 strings)

Translated using Weblate (Cantonese (Traditional Han script))

Currently translated at 100.0% (52 of 52 strings)

Translated using Weblate (Cantonese (Traditional Han script))

Currently translated at 100.0% (118 of 118 strings)

Translated using Weblate (Cantonese (Traditional Han script))

Currently translated at 100.0% (25 of 25 strings)

Translated using Weblate (Cantonese (Traditional Han script))

Currently translated at 100.0% (43 of 43 strings)

Translated using Weblate (Cantonese (Traditional Han script))

Currently translated at 100.0% (2 of 2 strings)

Translated using Weblate (Cantonese (Traditional Han script))

Currently translated at 100.0% (7 of 7 strings)

Translated using Weblate (Cantonese (Traditional Han script))

Currently translated at 100.0% (110 of 110 strings)

Translated using Weblate (Cantonese (Traditional Han script))

Currently translated at 100.0% (2 of 2 strings)

Translated using Weblate (Cantonese (Traditional Han script))

Currently translated at 100.0% (23 of 23 strings)

Translated using Weblate (Cantonese (Traditional Han script))

Currently translated at 100.0% (9 of 9 strings)

Translated using Weblate (Cantonese (Traditional Han script))

Currently translated at 100.0% (48 of 48 strings)

Translated using Weblate (Cantonese (Traditional Han script))

Currently translated at 100.0% (176 of 176 strings)

Translated using Weblate (Cantonese (Traditional Han script))

Currently translated at 100.0% (427 of 427 strings)

Translated using Weblate (Cantonese (Traditional Han script))

Currently translated at 100.0% (43 of 43 strings)

Translated using Weblate (Cantonese (Traditional Han script))

Currently translated at 100.0% (9 of 9 strings)

Translated using Weblate (Cantonese (Traditional Han script))

Currently translated at 1.9% (1 of 52 strings)

Translated using Weblate (Cantonese (Traditional Han script))

Currently translated at 12.7% (15 of 118 strings)

Translated using Weblate (Cantonese (Traditional Han script))

Currently translated at 4.3% (1 of 23 strings)

Translated using Weblate (Cantonese (Traditional Han script))

Currently translated at 100.0% (176 of 176 strings)

Translated using Weblate (Cantonese (Traditional Han script))

Currently translated at 100.0% (427 of 427 strings)

Added translation using Weblate (Cantonese (Traditional Han script))

Added translation using Weblate (Cantonese (Traditional Han script))

Added translation using Weblate (Cantonese (Traditional Han script))

Translated using Weblate (Cantonese (Traditional Han script))

Currently translated at 45.4% (194 of 427 strings)

Added translation using Weblate (Cantonese (Traditional Han script))

Translated using Weblate (Cantonese (Traditional Han script))

Currently translated at 43.0% (184 of 427 strings)

Added translation using Weblate (Cantonese (Traditional Han script))

Translated using Weblate (Cantonese (Traditional Han script))

Currently translated at 41.4% (177 of 427 strings)

Update translation files

Updated by "Squash Git commits" add-on in Weblate.

Translated using Weblate (Cantonese (Traditional Han script))

Currently translated at 39.3% (168 of 427 strings)

Added translation using Weblate (Cantonese (Traditional Han script))

Translated using Weblate (Cantonese (Traditional Han script))

Currently translated at 32.3% (138 of 427 strings)

Added translation using Weblate (Cantonese (Traditional Han script))

Translated using Weblate (Cantonese (Traditional Han script))

Currently translated at 29.5% (126 of 427 strings)

Added translation using Weblate (Cantonese (Traditional Han script))

Translated using Weblate (Cantonese (Traditional Han script))

Currently translated at 27.1% (116 of 427 strings)

Added translation using Weblate (Cantonese (Traditional Han script))

Translated using Weblate (Cantonese (Traditional Han script))

Currently translated at 24.5% (105 of 427 strings)

Added translation using Weblate (Cantonese (Traditional Han script))

Translated using Weblate (Cantonese (Traditional Han script))

Currently translated at 22.9% (98 of 427 strings)

Added translation using Weblate (Cantonese (Traditional Han script))

Translated using Weblate (Cantonese (Traditional Han script))

Currently translated at 20.8% (89 of 427 strings)

Added translation using Weblate (Cantonese (Traditional Han script))

Translated using Weblate (Cantonese (Traditional Han script))

Currently translated at 19.9% (85 of 427 strings)

Added translation using Weblate (Cantonese (Traditional Han script))

Translated using Weblate (Cantonese (Traditional Han script))

Currently translated at 16.6% (71 of 427 strings)

Update translation files

Updated by "Squash Git commits" add-on in Weblate.

Translated using Weblate (Cantonese (Traditional Han script))

Currently translated at 14.7% (63 of 427 strings)

Added translation using Weblate (Cantonese (Traditional Han script))

Translated using Weblate (Cantonese (Traditional Han script))

Currently translated at 7.0% (30 of 427 strings)

Added translation using Weblate (Cantonese (Traditional Han script))

Translated using Weblate (Cantonese (Traditional Han script))

Currently translated at 5.3% (23 of 427 strings)

Added translation using Weblate (Cantonese (Traditional Han script))

Translated using Weblate (Cantonese (Traditional Han script))

Currently translated at 3.5% (15 of 427 strings)

Added translation using Weblate (Cantonese (Traditional Han script))

Translated using Weblate (Cantonese (Traditional Han script))

Currently translated at 1.6% (7 of 427 strings)

Added translation using Weblate (Cantonese (Traditional Han script))

Added translation using Weblate (Cantonese (Traditional Han script))

Added translation using Weblate (Cantonese (Traditional Han script))

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: LEO NG <leoywng44@gmail.com>
Co-authored-by: Languages add-on <noreply-addon-languages@weblate.org>
Co-authored-by: Sotski Eugene <jekakmail@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/audio/yue_Hant/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/yue_Hant/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-auth/yue_Hant/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-camera/yue_Hant/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-dialog/yue_Hant/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-filter/yue_Hant/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-icons/yue_Hant/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-input/yue_Hant/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-player/yue_Hant/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/objects/yue_Hant/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-configeditor/yue_Hant/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-events/yue_Hant/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-explore/yue_Hant/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-exports/yue_Hant/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-facelibrary/yue_Hant/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-live/yue_Hant/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-recording/yue_Hant/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-search/yue_Hant/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/yue_Hant/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-system/yue_Hant/
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-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
2025-04-28 16:35:25 -06:00
Hosted Weblate
42e0c72dd9 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% (52 of 52 strings)

Translated using Weblate (Norwegian Bokmål)

Currently translated at 100.0% (65 of 65 strings)

Translated using Weblate (Norwegian Bokmål)

Currently translated at 100.0% (110 of 110 strings)

Translated using Weblate (Norwegian Bokmål)

Currently translated at 100.0% (331 of 331 strings)

Translated using Weblate (Norwegian Bokmål)

Currently translated at 100.0% (2 of 2 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% (43 of 43 strings)

Translated using Weblate (Norwegian Bokmål)

Currently translated at 100.0% (176 of 176 strings)

Translated using Weblate (Norwegian Bokmål)

Currently translated at 100.0% (52 of 52 strings)

Translated using Weblate (Norwegian Bokmål)

Currently translated at 100.0% (103 of 103 strings)

Translated using Weblate (Norwegian Bokmål)

Currently translated at 100.0% (23 of 23 strings)

Translated using Weblate (Norwegian Bokmål)

Currently translated at 100.0% (331 of 331 strings)

Translated using Weblate (Norwegian Bokmål)

Currently translated at 100.0% (176 of 176 strings)

Translated using Weblate (Norwegian Bokmål)

Currently translated at 100.0% (170 of 170 strings)

Translated using Weblate (Norwegian Bokmål)

Currently translated at 100.0% (328 of 328 strings)

Translated using Weblate (Norwegian Bokmål)

Currently translated at 100.0% (97 of 97 strings)

Translated using Weblate (Norwegian Bokmål)

Currently translated at 100.0% (110 of 110 strings)

Translated using Weblate (Norwegian Bokmål)

Currently translated at 96.8% (92 of 95 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% (48 of 48 strings)

Translated using Weblate (Norwegian Bokmål)

Currently translated at 100.0% (328 of 328 strings)

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: OverTheHillsAndFarAway <prosjektx@users.noreply.hosted.weblate.org>
Co-authored-by: Sotski Eugene <jekakmail@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/nb_NO/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-camera/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/components-icons/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-facelibrary/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/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-system/nb_NO/
Translation: Frigate NVR/common
Translation: Frigate NVR/components-camera
Translation: Frigate NVR/components-dialog
Translation: Frigate NVR/components-filter
Translation: Frigate NVR/components-icons
Translation: Frigate NVR/views-events
Translation: Frigate NVR/views-explore
Translation: Frigate NVR/views-facelibrary
Translation: Frigate NVR/views-search
Translation: Frigate NVR/views-settings
Translation: Frigate NVR/views-system
2025-04-28 16:35:25 -06:00
Hosted Weblate
190c7a6559 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (48 of 48 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% (65 of 65 strings)

Translated using Weblate (Chinese (Simplified Han script))

Currently translated at 100.0% (110 of 110 strings)

Translated using Weblate (Chinese (Simplified Han script))

Currently translated at 100.0% (2 of 2 strings)

Translated using Weblate (Chinese (Simplified Han script))

Currently translated at 100.0% (48 of 48 strings)

Translated using Weblate (Chinese (Simplified Han script))

Currently translated at 100.0% (176 of 176 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% (23 of 23 strings)

Translated using Weblate (Chinese (Simplified Han script))

Currently translated at 100.0% (103 of 103 strings)

Translated using Weblate (Chinese (Simplified Han script))

Currently translated at 100.0% (331 of 331 strings)

Translated using Weblate (Chinese (Simplified Han script))

Currently translated at 100.0% (22 of 22 strings)

Translated using Weblate (Chinese (Simplified Han script))

Currently translated at 100.0% (176 of 176 strings)

Translated using Weblate (Chinese (Simplified Han script))

Currently translated at 100.0% (328 of 328 strings)

Translated using Weblate (Chinese (Simplified Han script))

Currently translated at 100.0% (48 of 48 strings)

Translated using Weblate (Chinese (Simplified Han script))

Currently translated at 100.0% (80 of 80 strings)

Translated using Weblate (Chinese (Simplified Han script))

Currently translated at 100.0% (97 of 97 strings)

Translated using Weblate (Chinese (Simplified Han script))

Currently translated at 99.3% (326 of 328 strings)

Translated using Weblate (Chinese (Simplified Han script))

Currently translated at 100.0% (110 of 110 strings)

Translated using Weblate (Chinese (Simplified Han script))

Currently translated at 100.0% (21 of 21 strings)

Translated using Weblate (Chinese (Simplified Han script))

Currently translated at 100.0% (2 of 2 strings)

Translated using Weblate (Chinese (Simplified Han script))

Currently translated at 100.0% (65 of 65 strings)

Translated using Weblate (Chinese (Simplified Han script))

Currently translated at 100.0% (48 of 48 strings)

Translated using Weblate (Chinese (Simplified Han script))

Currently translated at 100.0% (170 of 170 strings)

Translated using Weblate (Chinese (Simplified Han script))

Currently translated at 98.4% (323 of 328 strings)

Translated using Weblate (Chinese (Simplified Han script))

Currently translated at 100.0% (48 of 48 strings)

Translated using Weblate (Chinese (Simplified Han script))

Currently translated at 100.0% (46 of 46 strings)

Translated using Weblate (Chinese (Simplified Han script))

Currently translated at 100.0% (107 of 107 strings)

Translated using Weblate (Chinese (Simplified Han script))

Currently translated at 100.0% (48 of 48 strings)

Translated using Weblate (Chinese (Simplified Han script))

Currently translated at 100.0% (170 of 170 strings)

Co-authored-by: GuoQing Liu <842607283@qq.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Sotski Eugene <jekakmail@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/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/components-icons/zh_Hans/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-input/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-search/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/components-dialog
Translation: Frigate NVR/components-filter
Translation: Frigate NVR/components-icons
Translation: Frigate NVR/components-input
Translation: Frigate NVR/views-events
Translation: Frigate NVR/views-explore
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
2025-04-28 16:35:25 -06:00
Hosted Weblate
af7af0aa85 Translated using Weblate (Finnish)
Currently translated at 67.6% (224 of 331 strings)

Translated using Weblate (Finnish)

Currently translated at 100.0% (80 of 80 strings)

Translated using Weblate (Finnish)

Currently translated at 100.0% (43 of 43 strings)

Translated using Weblate (Finnish)

Currently translated at 60.7% (201 of 331 strings)

Translated using Weblate (Finnish)

Currently translated at 73.7% (59 of 80 strings)

Translated using Weblate (Finnish)

Currently translated at 14.5% (7 of 48 strings)

Translated using Weblate (Finnish)

Currently translated at 54.9% (182 of 331 strings)

Translated using Weblate (Finnish)

Currently translated at 50.4% (167 of 331 strings)

Translated using Weblate (Finnish)

Currently translated at 100.0% (43 of 43 strings)

Translated using Weblate (Finnish)

Currently translated at 100.0% (9 of 9 strings)

Translated using Weblate (Finnish)

Currently translated at 2.9% (3 of 103 strings)

Translated using Weblate (Finnish)

Currently translated at 2.5% (2 of 80 strings)

Translated using Weblate (Finnish)

Currently translated at 8.0% (2 of 25 strings)

Translated using Weblate (Finnish)

Currently translated at 44.9% (53 of 118 strings)

Translated using Weblate (Finnish)

Currently translated at 19.3% (34 of 176 strings)

Translated using Weblate (Finnish)

Currently translated at 100.0% (6 of 6 strings)

Translated using Weblate (Finnish)

Currently translated at 1.5% (1 of 65 strings)

Translated using Weblate (Finnish)

Currently translated at 44.0% (52 of 118 strings)

Translated using Weblate (Finnish)

Currently translated at 13.6% (24 of 176 strings)

Translated using Weblate (Finnish)

Currently translated at 3.5% (15 of 427 strings)

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Markku Tervo <markku-weblate@tervo.net>
Co-authored-by: Sotski Eugene <jekakmail@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/audio/fi/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/fi/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-auth/fi/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-camera/fi/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-dialog/fi/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-filter/fi/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-player/fi/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/objects/fi/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-live/fi/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-recording/fi/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/fi/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-system/fi/
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-live
Translation: Frigate NVR/views-recording
Translation: Frigate NVR/views-settings
Translation: Frigate NVR/views-system
2025-04-28 16:35:25 -06:00
Hosted Weblate
f734777cfe Translated using Weblate (Swedish)
Currently translated at 6.3% (7 of 110 strings)

Translated using Weblate (Swedish)

Currently translated at 34.6% (18 of 52 strings)

Translated using Weblate (Swedish)

Currently translated at 100.0% (2 of 2 strings)

Translated using Weblate (Swedish)

Currently translated at 39.1% (18 of 46 strings)

Translated using Weblate (Swedish)

Currently translated at 27.5% (22 of 80 strings)

Translated using Weblate (Swedish)

Currently translated at 43.0% (28 of 65 strings)

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Patrik <putteg@gmail.com>
Co-authored-by: Sotski Eugene <jekakmail@gmail.com>
Co-authored-by: Tobias Hasson <tobbe@hansson.me>
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/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/
Translation: Frigate NVR/components-filter
Translation: Frigate NVR/components-icons
Translation: Frigate NVR/views-explore
Translation: Frigate NVR/views-facelibrary
Translation: Frigate NVR/views-live
2025-04-28 16:35:25 -06:00
Hosted Weblate
93721b7f10 Translated using Weblate (French)
Currently translated at 100.0% (48 of 48 strings)

Translated using Weblate (French)

Currently translated at 88.4% (46 of 52 strings)

Translated using Weblate (French)

Currently translated at 100.0% (110 of 110 strings)

Translated using Weblate (French)

Currently translated at 100.0% (65 of 65 strings)

Translated using Weblate (French)

Currently translated at 100.0% (2 of 2 strings)

Translated using Weblate (French)

Currently translated at 100.0% (48 of 48 strings)

Translated using Weblate (French)

Currently translated at 100.0% (43 of 43 strings)

Translated using Weblate (French)

Currently translated at 91.4% (161 of 176 strings)

Translated using Weblate (French)

Currently translated at 100.0% (23 of 23 strings)

Translated using Weblate (French)

Currently translated at 98.0% (101 of 103 strings)

Translated using Weblate (French)

Currently translated at 100.0% (331 of 331 strings)

Translated using Weblate (French)

Currently translated at 100.0% (22 of 22 strings)

Translated using Weblate (French)

Currently translated at 91.4% (161 of 176 strings)

Translated using Weblate (French)

Currently translated at 100.0% (328 of 328 strings)

Translated using Weblate (French)

Currently translated at 100.0% (97 of 97 strings)

Translated using Weblate (French)

Currently translated at 96.8% (92 of 95 strings)

Translated using Weblate (French)

Currently translated at 100.0% (110 of 110 strings)

Translated using Weblate (French)

Currently translated at 100.0% (328 of 328 strings)

Translated using Weblate (French)

Currently translated at 100.0% (48 of 48 strings)

Translated using Weblate (French)

Currently translated at 100.0% (48 of 48 strings)

Translated using Weblate (French)

Currently translated at 91.6% (44 of 48 strings)

Translated using Weblate (French)

Currently translated at 89.5% (43 of 48 strings)

Translated using Weblate (French)

Currently translated at 100.0% (48 of 48 strings)

Co-authored-by: Apocoloquintose <bertrand.moreux@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Sotski Eugene <jekakmail@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/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/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-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/common
Translation: Frigate NVR/components-camera
Translation: Frigate NVR/components-dialog
Translation: Frigate NVR/components-filter
Translation: Frigate NVR/components-icons
Translation: Frigate NVR/views-events
Translation: Frigate NVR/views-explore
Translation: Frigate NVR/views-facelibrary
Translation: Frigate NVR/views-search
Translation: Frigate NVR/views-settings
Translation: Frigate NVR/views-system
2025-04-28 16:35:25 -06:00
Hosted Weblate
236406e1ee Translated using Weblate (Spanish)
Currently translated at 100.0% (48 of 48 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (52 of 52 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (65 of 65 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (110 of 110 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (48 of 48 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (43 of 43 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (176 of 176 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (52 of 52 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (23 of 23 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (103 of 103 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (22 of 22 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (331 of 331 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (176 of 176 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (328 of 328 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (328 of 328 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (97 of 97 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (95 of 95 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (110 of 110 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (48 of 48 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (48 of 48 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (328 of 328 strings)

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Sotski Eugene <jekakmail@gmail.com>
Co-authored-by: jjavin <javiernovoa@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/es/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-camera/es/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-dialog/es/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-filter/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-facelibrary/es/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-search/es/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/es/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-system/es/
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-search
Translation: Frigate NVR/views-settings
Translation: Frigate NVR/views-system
2025-04-28 16:35:25 -06:00
Hosted Weblate
bd55823d10 Translated using Weblate (Dutch)
Currently translated at 100.0% (48 of 48 strings)

Translated using Weblate (Dutch)

Currently translated at 100.0% (52 of 52 strings)

Translated using Weblate (Dutch)

Currently translated at 100.0% (65 of 65 strings)

Translated using Weblate (Dutch)

Currently translated at 100.0% (110 of 110 strings)

Translated using Weblate (Dutch)

Currently translated at 100.0% (2 of 2 strings)

Translated using Weblate (Dutch)

Currently translated at 100.0% (48 of 48 strings)

Translated using Weblate (Dutch)

Currently translated at 100.0% (43 of 43 strings)

Translated using Weblate (Dutch)

Currently translated at 100.0% (176 of 176 strings)

Translated using Weblate (Dutch)

Currently translated at 100.0% (52 of 52 strings)

Translated using Weblate (Dutch)

Currently translated at 100.0% (103 of 103 strings)

Translated using Weblate (Dutch)

Currently translated at 100.0% (331 of 331 strings)

Translated using Weblate (Dutch)

Currently translated at 100.0% (23 of 23 strings)

Translated using Weblate (Dutch)

Currently translated at 100.0% (176 of 176 strings)

Translated using Weblate (Dutch)

Currently translated at 100.0% (328 of 328 strings)

Translated using Weblate (Dutch)

Currently translated at 100.0% (97 of 97 strings)

Translated using Weblate (Dutch)

Currently translated at 100.0% (110 of 110 strings)

Translated using Weblate (Dutch)

Currently translated at 100.0% (328 of 328 strings)

Translated using Weblate (Dutch)

Currently translated at 100.0% (107 of 107 strings)

Translated using Weblate (Dutch)

Currently translated at 100.0% (170 of 170 strings)

Translated using Weblate (Dutch)

Currently translated at 100.0% (328 of 328 strings)

Translated using Weblate (Dutch)

Currently translated at 100.0% (48 of 48 strings)

Translated using Weblate (Dutch)

Currently translated at 100.0% (46 of 46 strings)

Translated using Weblate (Dutch)

Currently translated at 100.0% (65 of 65 strings)

Translated using Weblate (Dutch)

Currently translated at 100.0% (48 of 48 strings)

Translated using Weblate (Dutch)

Currently translated at 100.0% (43 of 43 strings)

Translated using Weblate (Dutch)

Currently translated at 100.0% (170 of 170 strings)

Translated using Weblate (Dutch)

Currently translated at 100.0% (21 of 21 strings)

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Marijn <168113859+Marijn0@users.noreply.github.com>
Co-authored-by: Sotski Eugene <jekakmail@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/nl/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-camera/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/components-icons/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-search/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-camera
Translation: Frigate NVR/components-dialog
Translation: Frigate NVR/components-filter
Translation: Frigate NVR/components-icons
Translation: Frigate NVR/views-events
Translation: Frigate NVR/views-explore
Translation: Frigate NVR/views-facelibrary
Translation: Frigate NVR/views-search
Translation: Frigate NVR/views-settings
Translation: Frigate NVR/views-system
2025-04-28 16:35:25 -06:00
Hosted Weblate
1ed532589e Translated using Weblate (Italian)
Currently translated at 100.0% (65 of 65 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (52 of 52 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (48 of 48 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (110 of 110 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (2 of 2 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (48 of 48 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (52 of 52 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (43 of 43 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (176 of 176 strings)

Translated using Weblate (Italian)

Currently translated at 88.4% (46 of 52 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (23 of 23 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (103 of 103 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (331 of 331 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (22 of 22 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (176 of 176 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (97 of 97 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (328 of 328 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (110 of 110 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (91 of 91 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (328 of 328 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (170 of 170 strings)

Translated using Weblate (Italian)

Currently translated at 83.5% (274 of 328 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (91 of 91 strings)

Translated using Weblate (Italian)

Currently translated at 36.5% (120 of 328 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (80 of 80 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (21 of 21 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (43 of 43 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (48 of 48 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (48 of 48 strings)

Translated using Weblate (Italian)

Currently translated at 76.2% (61 of 80 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (25 of 25 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (118 of 118 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (48 of 48 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (170 of 170 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (427 of 427 strings)

Translated using Weblate (Italian)

Currently translated at 99.1% (117 of 118 strings)

Translated using Weblate (Italian)

Currently translated at 98.3% (420 of 427 strings)

Co-authored-by: Gringo <ita.translations@tiscali.it>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Sotski Eugene <jekakmail@gmail.com>
Co-authored-by: Woody W <woody4165@gmail.com>
Co-authored-by: me myself and I <giuliano.zaro@tiscali.it>
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-camera/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/components-icons/it/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-player/it/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/objects/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-facelibrary/it/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-live/it/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-search/it/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/it/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-system/it/
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/components-icons
Translation: Frigate NVR/components-player
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-search
Translation: Frigate NVR/views-settings
Translation: Frigate NVR/views-system
2025-04-28 16:35:25 -06:00
Hosted Weblate
cbd7a6b138 Translated using Weblate (Polish)
Currently translated at 100.0% (48 of 48 strings)

Translated using Weblate (Polish)

Currently translated at 100.0% (52 of 52 strings)

Translated using Weblate (Polish)

Currently translated at 100.0% (65 of 65 strings)

Translated using Weblate (Polish)

Currently translated at 100.0% (110 of 110 strings)

Translated using Weblate (Polish)

Currently translated at 100.0% (2 of 2 strings)

Translated using Weblate (Polish)

Currently translated at 100.0% (48 of 48 strings)

Translated using Weblate (Polish)

Currently translated at 100.0% (43 of 43 strings)

Translated using Weblate (Polish)

Currently translated at 100.0% (176 of 176 strings)

Translated using Weblate (Polish)

Currently translated at 100.0% (103 of 103 strings)

Translated using Weblate (Polish)

Currently translated at 100.0% (331 of 331 strings)

Translated using Weblate (Polish)

Currently translated at 100.0% (52 of 52 strings)

Translated using Weblate (Polish)

Currently translated at 100.0% (23 of 23 strings)

Translated using Weblate (Polish)

Currently translated at 100.0% (176 of 176 strings)

Translated using Weblate (Polish)

Currently translated at 100.0% (427 of 427 strings)

Translated using Weblate (Polish)

Currently translated at 100.0% (328 of 328 strings)

Translated using Weblate (Polish)

Currently translated at 100.0% (328 of 328 strings)

Translated using Weblate (Polish)

Currently translated at 100.0% (328 of 328 strings)

Translated using Weblate (Polish)

Currently translated at 100.0% (110 of 110 strings)

Translated using Weblate (Polish)

Currently translated at 100.0% (97 of 97 strings)

Translated using Weblate (Polish)

Currently translated at 99.6% (327 of 328 strings)

Translated using Weblate (Polish)

Currently translated at 100.0% (48 of 48 strings)

Translated using Weblate (Polish)

Currently translated at 100.0% (46 of 46 strings)

Translated using Weblate (Polish)

Currently translated at 100.0% (48 of 48 strings)

Translated using Weblate (Polish)

Currently translated at 99.0% (109 of 110 strings)

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: MooseXMTP <xmtp192@gmail.com>
Co-authored-by: Patryk Smoliński <smolinski.patryk@mensa.org.pl>
Co-authored-by: Sotski Eugene <jekakmail@gmail.com>
Co-authored-by: Tomasz Słuszniak <tomasz.sluszniak@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/audio/pl/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/pl/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-camera/pl/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-dialog/pl/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-filter/pl/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-icons/pl/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-events/pl/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-explore/pl/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-facelibrary/pl/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-search/pl/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/pl/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-system/pl/
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/components-icons
Translation: Frigate NVR/views-events
Translation: Frigate NVR/views-explore
Translation: Frigate NVR/views-facelibrary
Translation: Frigate NVR/views-search
Translation: Frigate NVR/views-settings
Translation: Frigate NVR/views-system
2025-04-28 16:35:25 -06:00
Hosted Weblate
befbe01963 Translated using Weblate (Hindi)
Currently translated at 2.0% (2 of 97 strings)

Translated using Weblate (Hindi)

Currently translated at 0.6% (2 of 328 strings)

Translated using Weblate (Hindi)

Currently translated at 4.1% (2 of 48 strings)

Translated using Weblate (Hindi)

Currently translated at 83.3% (5 of 6 strings)

Translated using Weblate (Hindi)

Currently translated at 2.5% (2 of 80 strings)

Translated using Weblate (Hindi)

Currently translated at 4.3% (2 of 46 strings)

Translated using Weblate (Hindi)

Currently translated at 22.2% (2 of 9 strings)

Translated using Weblate (Hindi)

Currently translated at 1.8% (2 of 110 strings)

Translated using Weblate (Hindi)

Currently translated at 9.5% (2 of 21 strings)

Translated using Weblate (Hindi)

Currently translated at 12.0% (3 of 25 strings)

Translated using Weblate (Hindi)

Currently translated at 4.6% (3 of 65 strings)

Translated using Weblate (Hindi)

Currently translated at 6.2% (3 of 48 strings)

Translated using Weblate (Hindi)

Currently translated at 12.7% (15 of 118 strings)

Translated using Weblate (Hindi)

Currently translated at 6.9% (3 of 43 strings)

Translated using Weblate (Hindi)

Currently translated at 1.7% (3 of 170 strings)

Translated using Weblate (Hindi)

Currently translated at 33.0% (141 of 427 strings)

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Pranav Prakash <pranav@pranavprakash.net>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/audio/hi/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/hi/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-camera/hi/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-dialog/hi/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-filter/hi/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-player/hi/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/objects/hi/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-events/hi/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-explore/hi/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-exports/hi/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-facelibrary/hi/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-live/hi/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-recording/hi/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-search/hi/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/hi/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-system/hi/
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/components-player
Translation: Frigate NVR/objects
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
2025-04-28 16:35:25 -06:00
Hosted Weblate
d891f9ea02 Added translation using Weblate (Hungarian)
Added translation using Weblate (Hungarian)

Added translation using Weblate (Hungarian)

Added translation using Weblate (Hungarian)

Added translation using Weblate (Hungarian)

Added translation using Weblate (Hungarian)

Added translation using Weblate (Hungarian)

Added translation using Weblate (Hungarian)

Added translation using Weblate (Hungarian)

Added translation using Weblate (Hungarian)

Added translation using Weblate (Hungarian)

Added translation using Weblate (Hungarian)

Added translation using Weblate (Hungarian)

Added translation using Weblate (Hungarian)

Added translation using Weblate (Hungarian)

Added translation using Weblate (Hungarian)

Added translation using Weblate (Hungarian)

Added translation using Weblate (Hungarian)

Added translation using Weblate (Hungarian)

Added translation using Weblate (Hungarian)

Co-authored-by: FCsab <farago.csaba20k@egressy.info>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Languages add-on <noreply-addon-languages@weblate.org>
2025-04-28 16:35:25 -06:00
Hosted Weblate
b8d114e229 Translated using Weblate (Vietnamese)
Currently translated at 100.0% (2 of 2 strings)

Translated using Weblate (Vietnamese)

Currently translated at 54.1% (26 of 48 strings)

Translated using Weblate (Vietnamese)

Currently translated at 91.4% (161 of 176 strings)

Translated using Weblate (Vietnamese)

Currently translated at 54.1% (26 of 48 strings)

Translated using Weblate (Vietnamese)

Currently translated at 27.0% (13 of 48 strings)

Translated using Weblate (Vietnamese)

Currently translated at 9.3% (4 of 43 strings)

Co-authored-by: Anno Nymous <halean111@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Sotski Eugene <jekakmail@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/vi/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-camera/vi/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-dialog/vi/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-icons/vi/
Translation: Frigate NVR/common
Translation: Frigate NVR/components-camera
Translation: Frigate NVR/components-dialog
Translation: Frigate NVR/components-icons
2025-04-28 16:35:25 -06:00
Hosted Weblate
27457efc30 Translated using Weblate (Portuguese)
Currently translated at 83.3% (40 of 48 strings)

Translated using Weblate (Portuguese)

Currently translated at 88.4% (46 of 52 strings)

Translated using Weblate (Portuguese)

Currently translated at 89.0% (98 of 110 strings)

Translated using Weblate (Portuguese)

Currently translated at 100.0% (2 of 2 strings)

Translated using Weblate (Portuguese)

Currently translated at 91.6% (44 of 48 strings)

Translated using Weblate (Portuguese)

Currently translated at 100.0% (43 of 43 strings)

Translated using Weblate (Portuguese)

Currently translated at 68.1% (120 of 176 strings)

Translated using Weblate (Portuguese)

Currently translated at 57.0% (189 of 331 strings)

Translated using Weblate (Portuguese)

Currently translated at 57.3% (188 of 328 strings)

Co-authored-by: Bruno Sousa <bruno.sousa@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Sotski Eugene <jekakmail@gmail.com>
Co-authored-by: cantarol CR <cr1996@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/pt/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-camera/pt/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-dialog/pt/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-icons/pt/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-explore/pt/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-facelibrary/pt/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-search/pt/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/pt/
Translation: Frigate NVR/common
Translation: Frigate NVR/components-camera
Translation: Frigate NVR/components-dialog
Translation: Frigate NVR/components-icons
Translation: Frigate NVR/views-explore
Translation: Frigate NVR/views-facelibrary
Translation: Frigate NVR/views-search
Translation: Frigate NVR/views-settings
2025-04-28 16:35:25 -06:00
Hosted Weblate
387093dceb Translated using Weblate (Czech)
Currently translated at 100.0% (25 of 25 strings)

Translated using Weblate (Czech)

Currently translated at 100.0% (2 of 2 strings)

Translated using Weblate (Czech)

Currently translated at 35.2% (62 of 176 strings)

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Sotski Eugene <jekakmail@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/cs/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-icons/cs/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-player/cs/
Translation: Frigate NVR/common
Translation: Frigate NVR/components-icons
Translation: Frigate NVR/components-player
2025-04-28 16:35:25 -06:00
Hosted Weblate
ee60b161fd Added translation using Weblate (Catalan)
Added translation using Weblate (Catalan)

Added translation using Weblate (Catalan)

Added translation using Weblate (Catalan)

Added translation using Weblate (Catalan)

Added translation using Weblate (Catalan)

Added translation using Weblate (Catalan)

Added translation using Weblate (Catalan)

Added translation using Weblate (Catalan)

Added translation using Weblate (Catalan)

Added translation using Weblate (Catalan)

Added translation using Weblate (Catalan)

Added translation using Weblate (Catalan)

Added translation using Weblate (Catalan)

Added translation using Weblate (Catalan)

Added translation using Weblate (Catalan)

Added translation using Weblate (Catalan)

Added translation using Weblate (Catalan)

Added translation using Weblate (Catalan)

Added translation using Weblate (Catalan)

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Joan Aymà <joanayma@gmail.com>
Co-authored-by: Languages add-on <noreply-addon-languages@weblate.org>
2025-04-28 16:35:25 -06:00
Hosted Weblate
03456f610c Translated using Weblate (Ukrainian)
Currently translated at 3.8% (2 of 52 strings)

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (65 of 65 strings)

Translated using Weblate (Ukrainian)

Currently translated at 14.5% (7 of 48 strings)

Translated using Weblate (Ukrainian)

Currently translated at 91.4% (161 of 176 strings)

Translated using Weblate (Ukrainian)

Currently translated at 91.4% (161 of 176 strings)

Translated using Weblate (Ukrainian)

Currently translated at 91.4% (161 of 176 strings)

Translated using Weblate (Ukrainian)

Currently translated at 12.5% (6 of 48 strings)

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (48 of 48 strings)

Translated using Weblate (Ukrainian)

Currently translated at 1.9% (1 of 52 strings)

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (23 of 23 strings)

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (65 of 65 strings)

Translated using Weblate (Ukrainian)

Currently translated at 10.4% (5 of 48 strings)

Translated using Weblate (Ukrainian)

Currently translated at 11.6% (5 of 43 strings)

Translated using Weblate (Ukrainian)

Currently translated at 90.9% (160 of 176 strings)

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (427 of 427 strings)

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (427 of 427 strings)

Translated using Weblate (Ukrainian)

Currently translated at 2.0% (1 of 48 strings)

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (6 of 6 strings)

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (9 of 9 strings)

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (7 of 7 strings)

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (25 of 25 strings)

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (2 of 2 strings)

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (2 of 2 strings)

Translated using Weblate (Ukrainian)

Currently translated at 1.5% (1 of 65 strings)

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (9 of 9 strings)

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (118 of 118 strings)

Translated using Weblate (Ukrainian)

Currently translated at 82.2% (351 of 427 strings)

Translated using Weblate (Ukrainian)

Currently translated at 82.2% (351 of 427 strings)

Translated using Weblate (Ukrainian)

Currently translated at 4.3% (1 of 23 strings)

Translated using Weblate (Ukrainian)

Currently translated at 21.1% (25 of 118 strings)

Translated using Weblate (Ukrainian)

Currently translated at 80.5% (344 of 427 strings)

Translated using Weblate (Ukrainian)

Currently translated at 80.5% (344 of 427 strings)

Translated using Weblate (Ukrainian)

Currently translated at 5.3% (23 of 427 strings)

Translated using Weblate (Ukrainian)

Currently translated at 61.1% (104 of 170 strings)

Translated using Weblate (Ukrainian)

Currently translated at 5.0% (6 of 118 strings)

Translated using Weblate (Ukrainian)

Currently translated at 5.1% (22 of 427 strings)

Translated using Weblate (Ukrainian)

Currently translated at 11.7% (20 of 170 strings)

Co-authored-by: A T <andrey.timchenko@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Sotski Eugene <jekakmail@gmail.com>
Co-authored-by: Третьяк Антон <tretich@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-auth/uk/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-camera/uk/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-dialog/uk/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-filter/uk/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-icons/uk/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-input/uk/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-player/uk/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/objects/uk/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-configeditor/uk/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-events/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-recording/uk/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-search/uk/
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-configeditor
Translation: Frigate NVR/views-events
Translation: Frigate NVR/views-exports
Translation: Frigate NVR/views-facelibrary
Translation: Frigate NVR/views-recording
Translation: Frigate NVR/views-search
2025-04-28 16:35:25 -06:00
Hosted Weblate
08b30a2bc4 Translated using Weblate (Romanian)
Currently translated at 7.2% (8 of 110 strings)

Translated using Weblate (Romanian)

Currently translated at 5.7% (3 of 52 strings)

Translated using Weblate (Romanian)

Currently translated at 100.0% (2 of 2 strings)

Translated using Weblate (Romanian)

Currently translated at 48.8% (21 of 43 strings)

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Sotski Eugene <jekakmail@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-camera/ro/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-icons/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/
Translation: Frigate NVR/components-camera
Translation: Frigate NVR/components-icons
Translation: Frigate NVR/views-explore
Translation: Frigate NVR/views-facelibrary
2025-04-28 16:35:25 -06:00
Hosted Weblate
1a14439186 Translated using Weblate (Russian)
Currently translated at 100.0% (103 of 103 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (48 of 48 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (52 of 52 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (65 of 65 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (110 of 110 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (2 of 2 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (48 of 48 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (43 of 43 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (176 of 176 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (6 of 6 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (427 of 427 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (103 of 103 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (331 of 331 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (80 of 80 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (7 of 7 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (65 of 65 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (48 of 48 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (43 of 43 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (118 of 118 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (176 of 176 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (427 of 427 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (52 of 52 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (23 of 23 strings)

Translated using Weblate (Russian)

Currently translated at 91.3% (21 of 23 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (48 of 48 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (103 of 103 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (331 of 331 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (22 of 22 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (97 of 97 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (176 of 176 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (97 of 97 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (46 of 46 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (170 of 170 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (328 of 328 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (46 of 46 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (328 of 328 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (170 of 170 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (328 of 328 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (328 of 328 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (328 of 328 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (97 of 97 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (97 of 97 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (110 of 110 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (328 of 328 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (48 of 48 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (107 of 107 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (48 of 48 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (170 of 170 strings)

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Oleg Chumakov <nomiels@gmail.com>
Co-authored-by: Sotski Eugene <jekakmail@gmail.com>
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-camera/ru/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-dialog/ru/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-filter/ru/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-icons/ru/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/objects/ru/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-configeditor/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-recording/ru/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-search/ru/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/ru/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-system/ru/
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/components-icons
Translation: Frigate NVR/objects
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-recording
Translation: Frigate NVR/views-search
Translation: Frigate NVR/views-settings
Translation: Frigate NVR/views-system
2025-04-28 16:35:25 -06:00
Hosted Weblate
b73e7de8e9 Translated using Weblate (English)
Currently translated at 100.0% (48 of 48 strings)

Translated using Weblate (English)

Currently translated at 100.0% (52 of 52 strings)

Translated using Weblate (English)

Currently translated at 100.0% (65 of 65 strings)

Translated using Weblate (English)

Currently translated at 100.0% (110 of 110 strings)

Translated using Weblate (English)

Currently translated at 100.0% (2 of 2 strings)

Translated using Weblate (English)

Currently translated at 100.0% (2 of 2 strings)

Translated using Weblate (English)

Currently translated at 100.0% (2 of 2 strings)

Translated using Weblate (English)

Currently translated at 100.0% (48 of 48 strings)

Translated using Weblate (English)

Currently translated at 100.0% (43 of 43 strings)

Translated using Weblate (English)

Currently translated at 100.0% (176 of 176 strings)

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Josh Hawkins <joshhawk2003@yahoo.com>
Co-authored-by: Sotski Eugene <jekakmail@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/en/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-camera/en/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-dialog/en/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-filter/en/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-icons/en/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-explore/en/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-facelibrary/en/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-search/en/
Translation: Frigate NVR/common
Translation: Frigate NVR/components-camera
Translation: Frigate NVR/components-dialog
Translation: Frigate NVR/components-filter
Translation: Frigate NVR/components-icons
Translation: Frigate NVR/views-explore
Translation: Frigate NVR/views-facelibrary
Translation: Frigate NVR/views-search
2025-04-28 16:35:25 -06:00
Hosted Weblate
2ffc114f50 Translated using Weblate (German)
Currently translated at 32.9% (109 of 331 strings)

Translated using Weblate (German)

Currently translated at 85.4% (41 of 48 strings)

Translated using Weblate (German)

Currently translated at 96.1% (50 of 52 strings)

Translated using Weblate (German)

Currently translated at 100.0% (65 of 65 strings)

Translated using Weblate (German)

Currently translated at 97.2% (107 of 110 strings)

Translated using Weblate (German)

Currently translated at 96.1% (50 of 52 strings)

Translated using Weblate (German)

Currently translated at 100.0% (23 of 23 strings)

Translated using Weblate (German)

Currently translated at 100.0% (2 of 2 strings)

Translated using Weblate (German)

Currently translated at 100.0% (48 of 48 strings)

Translated using Weblate (German)

Currently translated at 100.0% (43 of 43 strings)

Translated using Weblate (German)

Currently translated at 91.4% (161 of 176 strings)

Translated using Weblate (German)

Currently translated at 100.0% (48 of 48 strings)

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Julian <k-weblate@machalett.me>
Co-authored-by: Sotski Eugene <jekakmail@gmail.com>
Co-authored-by: engels0n <christian.engelbarts@outlook.de>
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-dialog/de/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-filter/de/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-icons/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/
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-camera
Translation: Frigate NVR/components-dialog
Translation: Frigate NVR/components-filter
Translation: Frigate NVR/components-icons
Translation: Frigate NVR/views-events
Translation: Frigate NVR/views-explore
Translation: Frigate NVR/views-facelibrary
Translation: Frigate NVR/views-search
Translation: Frigate NVR/views-settings
2025-04-28 16:35:25 -06:00
Hosted Weblate
37f174b43a Translated using Weblate (Turkish)
Currently translated at 100.0% (48 of 48 strings)

Translated using Weblate (Turkish)

Currently translated at 100.0% (52 of 52 strings)

Translated using Weblate (Turkish)

Currently translated at 100.0% (110 of 110 strings)

Translated using Weblate (Turkish)

Currently translated at 100.0% (65 of 65 strings)

Translated using Weblate (Turkish)

Currently translated at 100.0% (2 of 2 strings)

Translated using Weblate (Turkish)

Currently translated at 100.0% (48 of 48 strings)

Translated using Weblate (Turkish)

Currently translated at 100.0% (43 of 43 strings)

Translated using Weblate (Turkish)

Currently translated at 100.0% (176 of 176 strings)

Translated using Weblate (Turkish)

Currently translated at 100.0% (103 of 103 strings)

Translated using Weblate (Turkish)

Currently translated at 100.0% (331 of 331 strings)

Translated using Weblate (Turkish)

Currently translated at 100.0% (48 of 48 strings)

Translated using Weblate (Turkish)

Currently translated at 100.0% (52 of 52 strings)

Translated using Weblate (Turkish)

Currently translated at 100.0% (110 of 110 strings)

Translated using Weblate (Turkish)

Currently translated at 100.0% (23 of 23 strings)

Translated using Weblate (Turkish)

Currently translated at 100.0% (48 of 48 strings)

Translated using Weblate (Turkish)

Currently translated at 100.0% (48 of 48 strings)

Translated using Weblate (Turkish)

Currently translated at 100.0% (176 of 176 strings)

Translated using Weblate (Turkish)

Currently translated at 87.5% (42 of 48 strings)

Translated using Weblate (Turkish)

Currently translated at 95.6% (44 of 46 strings)

Translated using Weblate (Turkish)

Currently translated at 97.9% (47 of 48 strings)

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Kadir ALTIN <kadir.altin@outlook.com.tr>
Co-authored-by: Sotski Eugene <jekakmail@gmail.com>
Co-authored-by: pcislocked <git@pcislocked.net>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/tr/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-camera/tr/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-dialog/tr/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-filter/tr/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-icons/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-facelibrary/tr/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-search/tr/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/tr/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-system/tr/
Translation: Frigate NVR/common
Translation: Frigate NVR/components-camera
Translation: Frigate NVR/components-dialog
Translation: Frigate NVR/components-filter
Translation: Frigate NVR/components-icons
Translation: Frigate NVR/views-events
Translation: Frigate NVR/views-explore
Translation: Frigate NVR/views-facelibrary
Translation: Frigate NVR/views-search
Translation: Frigate NVR/views-settings
Translation: Frigate NVR/views-system
2025-04-28 16:35:25 -06:00
Josh Hawkins
d62790cd78 Add ability to use the browser back button to close sheets and dialogs (#17932) 2025-04-28 08:41:08 -06:00
Nicolas Mowen
aef715e8bb Simplify openvino hardware inference times (#17896) 2025-04-24 19:04:46 -05:00
Josh Hawkins
2610cfcfde Classification config changes (#17892)
* Only auto-populate some config fields down to the camera level

- Don't populate LPR and face global-only settings down to the camera level
- Ensure LPR mixin uses camera level min_area
- Explicitly forbid extra config values for LPR and face

* lpr docs tweak

* remove extra text already in i18n key

* consistency
2025-04-24 07:30:10 -06:00
Nicolas Mowen
eb4433162c Fix video MP typing (#17880)
* Fix video typing

* Fix typo
2025-04-23 17:59:02 -06:00
Josh Hawkins
d11f46bbce Add ability to rename faces in the Face Library (#17879)
* api endpoint

* embeddings rename function

* frontend and i18n keys

* lazy load train tab images

* only log exception to make codeql happy
2025-04-23 17:27:46 -06:00
Nicolas Mowen
aa7899e9dc Docs / typing updates (#17878)
* Mention support for multiple rknn detectors

* Improve typing

* Fix mypy change

* Fix typing
2025-04-23 17:06:06 -06:00
Marc Altmann
4c749e3004 update rknn toolkit version (#17877) 2025-04-23 14:30:44 -06:00
Nicolas Mowen
212784b68e implement RKNN downloads for yolov9 and yolox models (#17875)
* Add other rockchip download models

* Specify newer release version

* Specify newer release version

* Update docs for rknn downloads

* Update hardware docs
2025-04-23 12:22:23 -05:00
Josh Hawkins
b061d083ba Misc fixes (#17871)
* fix check for snapshot score

for manual events, snapScore is 0, so "0" gets displayed instead of a condition being evaluated.

* fix ongoing events from being returned for all review queries

The existing condition will include any record with a null end_time regardless of when it started, as long as the start_time is greater than the after param. With this fix, both the start time needs to be within the specified range, and for events that have already ended, their end time must be before the before param

* Base alert toggles on width not device class

---------

Co-authored-by: Nicolas Mowen <nickmowen213@gmail.com>
2025-04-23 07:06:31 -06:00
Josh Hawkins
44d44f87ac i18n tweaks (#17865)
* Add plural variant to i18n selected key

Weblate needs both keys to populate other languages

* move smart capitalization logic into language provider

* fix key
2025-04-23 06:19:20 -06:00
Josh Hawkins
cee5d6e5ee Fix i18n plural for selected review count (#17864)
* Fix i18n plural for selected review count

* use selected count in explore
2025-04-22 22:01:46 -05:00
Josh Hawkins
78c1694451 Add missing i18n keys (#17861) 2025-04-22 19:46:05 -06:00
Nicolas Mowen
f9b2db4405 Implement smart capitalization based on locale (#17860) 2025-04-22 16:21:09 -06:00
Josh Hawkins
b6e0e5698a Proper i18n date/time handling (#17858)
* install date-fns-tz

* add date locale hook

* refactor formatUnixTimestampToDateTime

Use date-fns style instead of using strftime. This requires changing the i18n keys to the way date-fns represents dates (eg: "MMM d, h:mm:ss aaa"  instead of "%b %-d, %H:%M"

* refactor calendar to use new hook

* fix useFormattedTimestamp to use new formatUnixTimestampToDateTime date_format

* change i18n keys to new format

* fix timeline

* fix review

* fix explore

* fix metrics

* fix notifications

* fix face library

* clean up
2025-04-22 15:50:21 -06:00
Josh Hawkins
645c84bc1a Dark mode theme tweaks (#17846)
Slightly adjust some default theme (dark mode only) colors to make them more readable.
2025-04-21 20:45:12 -06:00
Josh Hawkins
05f02fb956 Update live view docs (#17847)
Update docs with example on transcoding to AAC with go2rtc.
2025-04-21 20:44:49 -06:00
Nicolas Mowen
381225059e Add N100 to OpenVINO examples (#17845) 2025-04-21 18:03:59 -05:00
Josh Hawkins
6936d33172 Frame time fix (#17816)
* Don't update thumbnail/snapshot if frame is not in the frame cache

This follows up on changes originally made in https://github.com/blakeblackshear/frigate/pull/17671 - it is possible that is_better_thumbnail is true but the frame_time for the object is not the same as the current_frame_time. So rather than checking the frame cache, this change will only update the thumbnail_data when the two frame time values are the same.

* add camera name to debug log
2025-04-21 16:36:10 -06:00
Nicolas Mowen
d5f9153c94 Remove unused pattern (#17842) 2025-04-21 14:11:34 -06:00
Josh Hawkins
a91a2ce4ca Don't limit review summary query (#17835)
* Don't limit review summary query

The /review/summary endpoint was being restricted to the last 30 days, so unreviewed alerts and detections weren't showing in the calendar before that point. This change removes the WHERE clause so that the endpoint returns all results.

* fix

* remove unneeded test

we are now returning all results so we don't need to test for > month_ago

* fix
2025-04-21 11:09:01 -06:00
Josh Hawkins
592141daaa Increase ffmpeg timeout to 10 seconds (#17831)
FFmpeg adds an extra delay for the first start of the stream. For some cameras the stream start can be 1 second, for some cameras it can be more than 5 seconds. Frigate by default used a timeout of 5 seconds and drops the connection without waiting for a response from go2rtc. Originally suggested by @AlexxIT in https://github.com/AlexxIT/go2rtc/issues/1633
2025-04-21 07:38:51 -05:00
Josh Hawkins
6e79ec1624 Move another username to i18n key (#17820)
Same as https://github.com/blakeblackshear/frigate/pull/17818 - this time in the delete user dialog
2025-04-19 20:53:23 -05:00
Nicolas Mowen
43a9641ae8 Fix hailo detection (#17819) 2025-04-19 20:32:14 -05:00
Josh Hawkins
484ea10037 move username to i18n key (#17818)
Some languages structure phrases and sentences differently, so the username can't always be assumed to be the last item in the phrase. This change uses the Trans component to maintain the HTML formatting.
2025-04-19 19:05:49 -06:00
Nikola Kotur
9a786a50d6 Link fixed in restream docs (#17814) 2025-04-19 16:49:52 -05:00
Nicolas Mowen
38ffe21b69 Add support for rockchip GPU stats (#17812)
* Set rockchip GPU name

* Add support for calculating rockchip GPU load

* Format consistently

* Fix access error
2025-04-19 16:34:05 -05:00
Nicolas Mowen
80a13e43e9 Add support for NPU statistics in metrics page (#17806)
* Add npu usages as a statistic

* Support showing NPU stats in dashboard

* Add sys volume mount for npu usages

* Fix type

* Simplify check

* Cleanup

* Cleanup
2025-04-19 08:20:22 -06:00
GuoQing Liu
c8e22a3653 Fix some page i18n wrong (#17682)
* fix: some pages can't translation object label.

* revert: revert wrong label fix

* feat: add openai base_url setting

* fix: fix classification modelSize i18n error

* revert: revert openai base_url setting

* fix: fix enrichments pages i18n keys wrong

* fix: fix mobile bottom bar reindexing embeddings i18n wrong

* feat: add more system stats i18n keys

* fix: fix review filter objects i18n

* chore: remove frigate+ label i18n
2025-04-19 09:02:15 -05:00
Nicolas Mowen
89b54f19c8 Add YOLOv9 support to RKNN (#17791)
* Add yolov9

* Undo

* Update docs for rknn yolov9

* Update docs notes

* Add infernece times table
2025-04-18 16:51:04 -06:00
Nicolas Mowen
e8883a2a2e Fix yolox docs (#17789) 2025-04-18 16:15:55 -05:00
Nicolas Mowen
1cdc9b6097 Implement YOLOx for RKNN (#17788)
* Implement yolox rknn inference and post processing

* rework docs
2025-04-18 14:44:02 -06:00
Nicolas Mowen
68382d89b4 Cleanup detection (#17785)
* Fix yolov9 NMS

* Improve batched yolo NMS

* Consolidate grids and strides calculation

* Use existing variable

* Remove

* Ensure init is called
2025-04-18 10:26:34 -06:00
Josh Hawkins
14a32a6472 LPR tweaks (#17783)
* clarify docs

* improve debugging messages

* don't run any lpr postprocessing

* wording
2025-04-18 07:45:37 -06:00
Nicolas Mowen
19aaa64fe9 Add support for yolox models to onnx detector (#17773) 2025-04-18 06:40:06 -05:00
Nicolas Mowen
8270967cdc UI Fixes (#17762)
* Fix handling of non existing cameras in groups

* Update docs

* Improve typing
2025-04-17 13:48:09 -06:00
leccelecce
1abd3c68ec Plus Settings: add base model and name (#17738)
* Plus Settings: add base model and name

* I18n change user model to fine-tuned model

* Move fields in drop-down for mobile

* Missed commit

* remove unused i18n key

* Add base/FTM to model Type, reorder Model Information fields

* fix missing availableModels for now

* shorten Fine-Tuned Model to Fine-Tuned

* isBaseModel is already available in config, use that

* Change Base Model to Default

* minor tweaks

* Revert "Change Base Model to Default"

This reverts commit 0191aa34f6.
2025-04-17 08:48:56 -06:00
Josh Hawkins
84c1ad59a2 i18n fixes (#17725)
* fix key

* add french

* Fix random 0

* fix i18n in role change dialog

* fix delete user dialog

* fix filter tips steps

* remove classes from i18n files

* combine disjointed norweigan localized files

* change submit to plus to use a question with yes/no

---------

Co-authored-by: Nicolas Mowen <nickmowen213@gmail.com>
2025-04-17 07:34:24 -06:00
Hosted Weblate
1315a28252 Translated using Weblate (Norwegian Bokmål)
Currently translated at 100.0% (91 of 91 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% (107 of 107 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% (323 of 323 strings)

Translated using Weblate (Norwegian Bokmål)

Currently translated at 100.0% (170 of 170 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/objects/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-facelibrary/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/objects
Translation: Frigate NVR/views-explore
Translation: Frigate NVR/views-facelibrary
Translation: Frigate NVR/views-settings
Translation: Frigate NVR/views-system
2025-04-17 07:20:01 -05:00
Hosted Weblate
4d92531288 Translated using Weblate (Swedish)
Currently translated at 36.9% (17 of 46 strings)

Translated using Weblate (Swedish)

Currently translated at 6.5% (7 of 107 strings)

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Patrik <putteg@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-explore/sv/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-facelibrary/sv/
Translation: Frigate NVR/views-explore
Translation: Frigate NVR/views-facelibrary
2025-04-17 07:20:01 -05:00
Hosted Weblate
225ba90b80 Translated using Weblate (French)
Currently translated at 100.0% (323 of 323 strings)

Translated using Weblate (French)

Currently translated at 100.0% (323 of 323 strings)

Translated using Weblate (French)

Currently translated at 100.0% (43 of 43 strings)

Translated using Weblate (French)

Currently translated at 100.0% (6 of 6 strings)

Translated using Weblate (French)

Currently translated at 100.0% (80 of 80 strings)

Translated using Weblate (French)

Currently translated at 100.0% (80 of 80 strings)

Translated using Weblate (French)

Currently translated at 100.0% (46 of 46 strings)

Translated using Weblate (French)

Currently translated at 100.0% (9 of 9 strings)

Translated using Weblate (French)

Currently translated at 100.0% (107 of 107 strings)

Translated using Weblate (French)

Currently translated at 100.0% (107 of 107 strings)

Translated using Weblate (French)

Currently translated at 100.0% (21 of 21 strings)

Translated using Weblate (French)

Currently translated at 100.0% (65 of 65 strings)

Translated using Weblate (French)

Currently translated at 100.0% (7 of 7 strings)

Translated using Weblate (French)

Currently translated at 100.0% (25 of 25 strings)

Translated using Weblate (French)

Currently translated at 100.0% (48 of 48 strings)

Translated using Weblate (French)

Currently translated at 100.0% (43 of 43 strings)

Translated using Weblate (French)

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% (323 of 323 strings)

Translated using Weblate (French)

Currently translated at 100.0% (80 of 80 strings)

Translated using Weblate (French)

Currently translated at 100.0% (46 of 46 strings)

Translated using Weblate (French)

Currently translated at 100.0% (107 of 107 strings)

Translated using Weblate (French)

Currently translated at 100.0% (9 of 9 strings)

Translated using Weblate (French)

Currently translated at 100.0% (43 of 43 strings)

Translated using Weblate (French)

Currently translated at 100.0% (170 of 170 strings)

Translated using Weblate (French)

Currently translated at 100.0% (427 of 427 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: Arnaud Beaudat <arnaud@beaudat.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
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-player/fr/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/objects/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/
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
2025-04-17 07:20:01 -05:00
Hosted Weblate
0dc9339b1e Translated using Weblate (Spanish)
Currently translated at 100.0% (46 of 46 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (107 of 107 strings)

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: jjavin <javiernovoa@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-explore/es/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-facelibrary/es/
Translation: Frigate NVR/views-explore
Translation: Frigate NVR/views-facelibrary
2025-04-17 07:20:01 -05:00
Hosted Weblate
e2ab919ba2 Translated using Weblate (Dutch)
Currently translated at 100.0% (323 of 323 strings)

Translated using Weblate (Dutch)

Currently translated at 100.0% (46 of 46 strings)

Translated using Weblate (Dutch)

Currently translated at 100.0% (9 of 9 strings)

Translated using Weblate (Dutch)

Currently translated at 100.0% (9 of 9 strings)

Translated using Weblate (Dutch)

Currently translated at 100.0% (107 of 107 strings)

Translated using Weblate (Dutch)

Currently translated at 100.0% (65 of 65 strings)

Translated using Weblate (Dutch)

Currently translated at 100.0% (43 of 43 strings)

Translated using Weblate (Dutch)

Currently translated at 100.0% (170 of 170 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/components-camera/nl/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-filter/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-settings/nl/
Translation: Frigate NVR/common
Translation: Frigate NVR/components-camera
Translation: Frigate NVR/components-filter
Translation: Frigate NVR/views-explore
Translation: Frigate NVR/views-exports
Translation: Frigate NVR/views-facelibrary
Translation: Frigate NVR/views-settings
2025-04-17 07:20:01 -05:00
Hosted Weblate
68947d318e Translated using Weblate (Arabic)
Currently translated at 4.2% (5 of 118 strings)

Translated using Weblate (Arabic)

Currently translated at 13.5% (58 of 427 strings)

Co-authored-by: Eddy Daoud <daoudeddy@icloud.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/audio/ar/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/objects/ar/
Translation: Frigate NVR/audio
Translation: Frigate NVR/objects
2025-04-17 07:20:01 -05:00
Hosted Weblate
edcf5f8a03 Translated using Weblate (Italian)
Currently translated at 6.5% (6 of 91 strings)

Translated using Weblate (Italian)

Currently translated at 4.0% (13 of 323 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (65 of 65 strings)

Translated using Weblate (Italian)

Currently translated at 11.2% (9 of 80 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (21 of 21 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (46 of 46 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (107 of 107 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (43 of 43 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (48 of 48 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (170 of 170 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (107 of 107 strings)

Translated using Weblate (Italian)

Currently translated at 3.0% (10 of 323 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (9 of 9 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (65 of 65 strings)

Translated using Weblate (Italian)

Currently translated at 10.0% (8 of 80 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (46 of 46 strings)

Translated using Weblate (Italian)

Currently translated at 13.0% (14 of 107 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (118 of 118 strings)

Translated using Weblate (Italian)

Currently translated at 11.6% (5 of 43 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (170 of 170 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (427 of 427 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (21 of 21 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (7 of 7 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (2 of 2 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (9 of 9 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (25 of 25 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (43 of 43 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (48 of 48 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (170 of 170 strings)

Translated using Weblate (Italian)

Currently translated at 74.4% (32 of 43 strings)

Translated using Weblate (Italian)

Currently translated at 79.3% (339 of 427 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/audio/it/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/it/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-auth/it/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-camera/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/components-input/it/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-player/it/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/objects/it/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-configeditor/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-live/it/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-search/it/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/it/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-system/it/
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-search
Translation: Frigate NVR/views-settings
Translation: Frigate NVR/views-system
2025-04-17 07:20:01 -05:00
Hosted Weblate
513048603f Translated using Weblate (Vietnamese)
Currently translated at 2.1% (2 of 91 strings)

Translated using Weblate (Vietnamese)

Currently translated at 0.9% (3 of 323 strings)

Translated using Weblate (Vietnamese)

Currently translated at 13.9% (6 of 43 strings)

Translated using Weblate (Vietnamese)

Currently translated at 66.6% (4 of 6 strings)

Translated using Weblate (Vietnamese)

Currently translated at 5.0% (4 of 80 strings)

Translated using Weblate (Vietnamese)

Currently translated at 6.5% (3 of 46 strings)

Translated using Weblate (Vietnamese)

Currently translated at 11.1% (1 of 9 strings)

Translated using Weblate (Vietnamese)

Currently translated at 23.8% (5 of 21 strings)

Translated using Weblate (Vietnamese)

Currently translated at 42.8% (3 of 7 strings)

Translated using Weblate (Vietnamese)

Currently translated at 12.0% (3 of 25 strings)

Translated using Weblate (Vietnamese)

Currently translated at 6.1% (4 of 65 strings)

Translated using Weblate (Vietnamese)

Currently translated at 8.3% (4 of 48 strings)

Translated using Weblate (Vietnamese)

Currently translated at 4.6% (2 of 43 strings)

Translated using Weblate (Vietnamese)

Currently translated at 22.8% (27 of 118 strings)

Translated using Weblate (Vietnamese)

Currently translated at 16.6% (1 of 6 strings)

Translated using Weblate (Vietnamese)

Currently translated at 4.0% (1 of 25 strings)

Translated using Weblate (Vietnamese)

Currently translated at 50.0% (1 of 2 strings)

Translated using Weblate (Vietnamese)

Currently translated at 100.0% (2 of 2 strings)

Translated using Weblate (Vietnamese)

Currently translated at 1.5% (1 of 65 strings)

Translated using Weblate (Vietnamese)

Currently translated at 2.0% (1 of 48 strings)

Translated using Weblate (Vietnamese)

Currently translated at 100.0% (9 of 9 strings)

Translated using Weblate (Vietnamese)

Currently translated at 22.0% (26 of 118 strings)

Translated using Weblate (Vietnamese)

Currently translated at 100.0% (170 of 170 strings)

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Ryan Le <lkbaongoc@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/vi/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-auth/vi/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-camera/vi/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-dialog/vi/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-filter/vi/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-icons/vi/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-input/vi/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-player/vi/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/objects/vi/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-configeditor/vi/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-events/vi/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-exports/vi/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-facelibrary/vi/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-live/vi/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-recording/vi/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-search/vi/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/vi/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-system/vi/
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-configeditor
Translation: Frigate NVR/views-events
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
2025-04-17 07:20:01 -05:00
Hosted Weblate
5a5cab1b8d Translated using Weblate (Portuguese)
Currently translated at 52.0% (168 of 323 strings)

Translated using Weblate (Portuguese)

Currently translated at 97.6% (42 of 43 strings)

Translated using Weblate (Portuguese)

Currently translated at 100.0% (46 of 46 strings)

Translated using Weblate (Portuguese)

Currently translated at 76.6% (82 of 107 strings)

Translated using Weblate (Portuguese)

Currently translated at 71.1% (121 of 170 strings)

Translated using Weblate (Portuguese)

Currently translated at 36.2% (155 of 427 strings)

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Interlig <haylanzinho@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/audio/pt/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/pt/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-explore/pt/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-facelibrary/pt/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-search/pt/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/pt/
Translation: Frigate NVR/audio
Translation: Frigate NVR/common
Translation: Frigate NVR/views-explore
Translation: Frigate NVR/views-facelibrary
Translation: Frigate NVR/views-search
Translation: Frigate NVR/views-settings
2025-04-17 07:20:01 -05:00
Hosted Weblate
4d41685ae9 Translated using Weblate (Czech)
Currently translated at 36.4% (62 of 170 strings)

Translated using Weblate (Czech)

Currently translated at 73.0% (312 of 427 strings)

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Michal Basler <minecz.michal.basler@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/audio/cs/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/cs/
Translation: Frigate NVR/audio
Translation: Frigate NVR/common
2025-04-17 07:20:01 -05:00
Hosted Weblate
61fc15ee48 Translated using Weblate (Russian)
Currently translated at 100.0% (323 of 323 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (80 of 80 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (46 of 46 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (107 of 107 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (21 of 21 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-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/views-events
Translation: Frigate NVR/views-explore
Translation: Frigate NVR/views-facelibrary
Translation: Frigate NVR/views-live
Translation: Frigate NVR/views-settings
2025-04-17 07:20:01 -05:00
Hosted Weblate
46b63bb594 Translated using Weblate (German)
Currently translated at 100.0% (91 of 91 strings)

Translated using Weblate (German)

Currently translated at 33.1% (107 of 323 strings)

Translated using Weblate (German)

Currently translated at 100.0% (65 of 65 strings)

Translated using Weblate (German)

Currently translated at 100.0% (427 of 427 strings)

Translated using Weblate (German)

Currently translated at 85.7% (78 of 91 strings)

Translated using Weblate (German)

Currently translated at 27.8% (90 of 323 strings)

Translated using Weblate (German)

Currently translated at 95.6% (44 of 46 strings)

Translated using Weblate (German)

Currently translated at 100.0% (107 of 107 strings)

Translated using Weblate (German)

Currently translated at 87.6% (57 of 65 strings)

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Philipp Zimmermann <philipp.zimmermann.0205@gmail.com>
Co-authored-by: engels0n <christian.engelbarts@outlook.de>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/audio/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-facelibrary/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/audio
Translation: Frigate NVR/components-filter
Translation: Frigate NVR/views-explore
Translation: Frigate NVR/views-facelibrary
Translation: Frigate NVR/views-settings
Translation: Frigate NVR/views-system
2025-04-17 07:20:01 -05:00
Nicolas Mowen
8744da3bf8 Fix yolov9 export script (#17744)
* Fix yolov9 export script

* Fix typo

* Update object_detectors.md
2025-04-16 14:52:21 -06:00
Nicolas Mowen
6a487a5dc7 Update yolonas docs (#17736)
* Adjust pre_nms predictions to increase performance

* Update yolonas export and rocm inference times
2025-04-16 09:01:15 -06:00
Nicolas Mowen
28e2f57c76 Update hardware inference speeds (#17733) 2025-04-16 07:45:45 -05:00
Nicolas Mowen
9e666ddf40 Add steps for face step indicator (#17719) 2025-04-15 13:09:47 -05:00
Josh Hawkins
760ed25f0c LPR improvements (#17716)
* add support for multi-line plates

* config for model size

* default to small model

* add license plate as attribute to motorcycle

* use model size

* docs

* attribute map

* i18n key fix
2025-04-15 09:40:12 -06:00
Nicolas Mowen
8803fd7fff Add snapshot score to explore details (#17713)
* Add snapshot score to details

* Only show snapshot score if it has a snapshot
2025-04-15 08:46:33 -06:00
Nicolas Mowen
15fe79178b Improve async object detector support (#17712)
* Move object detection to folder

* Add input store type

* Add hwnc

* Add hwcn

* Fix test
2025-04-15 08:55:38 -05:00
Josh Hawkins
721f33c857 Add Polish and Russian (#17711) 2025-04-15 06:54:43 -06:00
Hosted Weblate
d10a35efea Translated using Weblate (Norwegian Bokmål)
Currently translated at 100.0% (106 of 106 strings)

Translated using Weblate (Norwegian Bokmål)

Currently translated at 100.0% (21 of 21 strings)

Translated using Weblate (Norwegian Bokmål)

Currently translated at 100.0% (2 of 2 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% (323 of 323 strings)

Translated using Weblate (Norwegian Bokmål)

Currently translated at 100.0% (170 of 170 strings)

Translated using Weblate (Norwegian Bokmål)

Currently translated at 100.0% (91 of 91 strings)

Translated using Weblate (Norwegian Bokmål)

Currently translated at 100.0% (80 of 80 strings)

Translated using Weblate (Norwegian Bokmål)

Currently translated at 100.0% (106 of 106 strings)

Translated using Weblate (Norwegian Bokmål)

Currently translated at 100.0% (21 of 21 strings)

Translated using Weblate (Norwegian Bokmål)

Currently translated at 100.0% (43 of 43 strings)

Translated using Weblate (Norwegian Bokmål)

Currently translated at 100.0% (323 of 323 strings)

Translated using Weblate (Norwegian Bokmål)

Currently translated at 100.0% (170 of 170 strings)

Translated using Weblate (Norwegian Bokmål)

Currently translated at 100.0% (91 of 91 strings)

Translated using Weblate (Norwegian Bokmål)

Currently translated at 100.0% (106 of 106 strings)

Translated using Weblate (Norwegian Bokmål)

Currently translated at 100.0% (65 of 65 strings)

Translated using Weblate (Norwegian Bokmål)

Currently translated at 100.0% (321 of 321 strings)

Translated using Weblate (Norwegian Bokmål)

Currently translated at 100.0% (80 of 80 strings)

Translated using Weblate (Norwegian Bokmål)

Currently translated at 100.0% (106 of 106 strings)

Translated using Weblate (Norwegian Bokmål)

Currently translated at 100.0% (21 of 21 strings)

Translated using Weblate (Norwegian Bokmål)

Currently translated at 100.0% (65 of 65 strings)

Translated using Weblate (Norwegian Bokmål)

Currently translated at 100.0% (170 of 170 strings)

Translated using Weblate (Norwegian Bokmål)

Currently translated at 99.0% (105 of 106 strings)

Translated using Weblate (Norwegian Bokmål)

Currently translated at 96.4% (164 of 170 strings)

Translated using Weblate (Norwegian Bokmål)

Currently translated at 100.0% (43 of 43 strings)

Translated using Weblate (Norwegian Bokmål)

Currently translated at 100.0% (80 of 80 strings)

Translated using Weblate (Norwegian Bokmål)

Currently translated at 100.0% (106 of 106 strings)

Translated using Weblate (Norwegian Bokmål)

Currently translated at 100.0% (21 of 21 strings)

Translated using Weblate (Norwegian Bokmål)

Currently translated at 100.0% (2 of 2 strings)

Translated using Weblate (Norwegian Bokmål)

Currently translated at 100.0% (64 of 64 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% (321 of 321 strings)

Translated using Weblate (Norwegian Bokmål)

Currently translated at 100.0% (170 of 170 strings)

Translated using Weblate (Norwegian Bokmål)

Currently translated at 100.0% (91 of 91 strings)

Translated using Weblate (Norwegian Bokmål)

Currently translated at 100.0% (43 of 43 strings)

Translated using Weblate (Norwegian Bokmål)

Currently translated at 100.0% (6 of 6 strings)

Translated using Weblate (Norwegian Bokmål)

Currently translated at 100.0% (80 of 80 strings)

Translated using Weblate (Norwegian Bokmål)

Currently translated at 100.0% (43 of 43 strings)

Translated using Weblate (Norwegian Bokmål)

Currently translated at 100.0% (9 of 9 strings)

Translated using Weblate (Norwegian Bokmål)

Currently translated at 100.0% (106 of 106 strings)

Translated using Weblate (Norwegian Bokmål)

Currently translated at 100.0% (21 of 21 strings)

Translated using Weblate (Norwegian Bokmål)

Currently translated at 100.0% (7 of 7 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% (170 of 170 strings)

Co-authored-by: Anonymous <noreply@weblate.org>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: OverTheHillsAndFarAway <prosjektx@users.noreply.hosted.weblate.org>
Co-authored-by: Thomas G <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-camera/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/components-input/nb_NO/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/objects/nb_NO/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-configeditor/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-recording/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/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-system/nb_NO/
Translation: Frigate NVR/common
Translation: Frigate NVR/components-camera
Translation: Frigate NVR/components-dialog
Translation: Frigate NVR/components-filter
Translation: Frigate NVR/components-input
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
2025-04-15 07:05:00 -05:00
Hosted Weblate
6162b7abca Added translation using Weblate (Abkhazian)
Added translation using Weblate (Abkhazian)

Added translation using Weblate (Abkhazian)

Added translation using Weblate (Abkhazian)

Added translation using Weblate (Abkhazian)

Added translation using Weblate (Abkhazian)

Added translation using Weblate (Abkhazian)

Added translation using Weblate (Abkhazian)

Update translation files

Updated by "Squash Git commits" add-on in Weblate.

Update translation files

Updated by "Squash Git commits" add-on in Weblate.

Added translation using Weblate (Abkhazian)

Added translation using Weblate (Abkhazian)

Added translation using Weblate (Abkhazian)

Added translation using Weblate (Abkhazian)

Added translation using Weblate (Abkhazian)

Added translation using Weblate (Abkhazian)

Added translation using Weblate (Abkhazian)

Added translation using Weblate (Abkhazian)

Added translation using Weblate (Abkhazian)

Added translation using Weblate (Abkhazian)

Added translation using Weblate (Abkhazian)

Added translation using Weblate (Abkhazian)

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Languages add-on <noreply-addon-languages@weblate.org>
Co-authored-by: v4l0n5n09eykimql0gas <v4l0n5n09eykimql0gas@kill-the-newsletter.com>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/
Translation: Frigate NVR/common
2025-04-15 07:05:00 -05:00
Hosted Weblate
4c608f132b Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (65 of 65 strings)

Translated using Weblate (Chinese (Simplified Han script))

Currently translated at 99.0% (105 of 106 strings)

Translated using Weblate (Chinese (Simplified Han script))

Currently translated at 96.4% (164 of 170 strings)

Translated using Weblate (Chinese (Simplified Han script))

Currently translated at 100.0% (106 of 106 strings)

Translated using Weblate (Chinese (Simplified Han script))

Currently translated at 100.0% (170 of 170 strings)

Co-authored-by: Anonymous <noreply@weblate.org>
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/components-filter/zh_Hans/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-explore/zh_Hans/
Translation: Frigate NVR/common
Translation: Frigate NVR/components-filter
Translation: Frigate NVR/views-explore
2025-04-15 07:05:00 -05:00
Hosted Weblate
5b67f8c932 Translated using Weblate (Finnish)
Currently translated at 37.1% (120 of 323 strings)

Translated using Weblate (Finnish)

Currently translated at 30.5% (98 of 321 strings)

Translated using Weblate (Finnish)

Currently translated at 23.6% (76 of 321 strings)

Translated using Weblate (Finnish)

Currently translated at 23.0% (74 of 321 strings)

Added translation using Weblate (Finnish)

Added translation using Weblate (Finnish)

Added translation using Weblate (Finnish)

Added translation using Weblate (Finnish)

Added translation using Weblate (Finnish)

Added translation using Weblate (Finnish)

Added translation using Weblate (Finnish)

Added translation using Weblate (Finnish)

Translated using Weblate (Finnish)

Currently translated at 0.7% (3 of 427 strings)

Added translation using Weblate (Finnish)

Added translation using Weblate (Finnish)

Added translation using Weblate (Finnish)

Added translation using Weblate (Finnish)

Added translation using Weblate (Finnish)

Added translation using Weblate (Finnish)

Added translation using Weblate (Finnish)

Translated using Weblate (Finnish)

Currently translated at 0.2% (1 of 427 strings)

Added translation using Weblate (Finnish)

Added translation using Weblate (Finnish)

Added translation using Weblate (Finnish)

Added translation using Weblate (Finnish)

Added translation using Weblate (Finnish)

Co-authored-by: Doc Weird <docweird@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Languages add-on <noreply-addon-languages@weblate.org>
Co-authored-by: Pasi Hakkarainen <pasi.hakkarainen@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/audio/fi/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/fi/
Translation: Frigate NVR/audio
Translation: Frigate NVR/views-settings
2025-04-15 07:05:00 -05:00
Hosted Weblate
afd64625fb Translated using Weblate (Swedish)
Currently translated at 52.0% (13 of 25 strings)

Translated using Weblate (Swedish)

Currently translated at 100.0% (9 of 9 strings)

Translated using Weblate (Swedish)

Currently translated at 38.1% (45 of 118 strings)

Translated using Weblate (Swedish)

Currently translated at 16.4% (28 of 170 strings)

Translated using Weblate (Swedish)

Currently translated at 33.7% (144 of 427 strings)

Translated using Weblate (Swedish)

Currently translated at 26.2% (31 of 118 strings)

Translated using Weblate (Swedish)

Currently translated at 33.4% (143 of 427 strings)

Translated using Weblate (Swedish)

Currently translated at 32.7% (140 of 427 strings)

Translated using Weblate (Swedish)

Currently translated at 16.4% (28 of 170 strings)

Translated using Weblate (Swedish)

Currently translated at 30.2% (129 of 427 strings)

Translated using Weblate (Swedish)

Currently translated at 12.7% (15 of 118 strings)

Translated using Weblate (Swedish)

Currently translated at 15.8% (27 of 170 strings)

Translated using Weblate (Swedish)

Currently translated at 25.7% (110 of 427 strings)

Co-authored-by: Coffe <effocs@gmail.com>
Co-authored-by: Daniel Nylander <daniel@danielnylander.se>
Co-authored-by: Fredrik B <fredrik@brannvall.nu>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: hassos246 <fluffsy@gmail.com>
Co-authored-by: tubalainen <tubstr76@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-auth/sv/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-player/sv/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/objects/sv/
Translation: Frigate NVR/audio
Translation: Frigate NVR/common
Translation: Frigate NVR/components-auth
Translation: Frigate NVR/components-player
Translation: Frigate NVR/objects
2025-04-15 07:05:00 -05:00
Hosted Weblate
cfe8c5bc32 Translated using Weblate (French)
Currently translated at 26.2% (112 of 427 strings)

Translated using Weblate (French)

Currently translated at 100.0% (321 of 321 strings)

Translated using Weblate (French)

Currently translated at 100.0% (43 of 43 strings)

Translated using Weblate (French)

Currently translated at 100.0% (6 of 6 strings)

Translated using Weblate (French)

Currently translated at 100.0% (80 of 80 strings)

Translated using Weblate (French)

Currently translated at 100.0% (43 of 43 strings)

Translated using Weblate (French)

Currently translated at 100.0% (106 of 106 strings)

Translated using Weblate (French)

Currently translated at 100.0% (21 of 21 strings)

Translated using Weblate (French)

Currently translated at 100.0% (65 of 65 strings)

Translated using Weblate (French)

Currently translated at 100.0% (25 of 25 strings)

Translated using Weblate (French)

Currently translated at 100.0% (48 of 48 strings)

Translated using Weblate (French)

Currently translated at 100.0% (118 of 118 strings)

Translated using Weblate (French)

Currently translated at 100.0% (170 of 170 strings)

Translated using Weblate (French)

Currently translated at 23.6% (101 of 427 strings)

Translated using Weblate (French)

Currently translated at 97.8% (89 of 91 strings)

Translated using Weblate (French)

Currently translated at 97.8% (89 of 91 strings)

Translated using Weblate (French)

Currently translated at 18.0% (58 of 321 strings)

Translated using Weblate (French)

Currently translated at 100.0% (43 of 43 strings)

Translated using Weblate (French)

Currently translated at 100.0% (43 of 43 strings)

Translated using Weblate (French)

Currently translated at 95.0% (76 of 80 strings)

Translated using Weblate (French)

Currently translated at 95.0% (76 of 80 strings)

Translated using Weblate (French)

Currently translated at 74.4% (32 of 43 strings)

Translated using Weblate (French)

Currently translated at 34.9% (37 of 106 strings)

Translated using Weblate (French)

Currently translated at 100.0% (21 of 21 strings)

Translated using Weblate (French)

Currently translated at 52.3% (34 of 65 strings)

Translated using Weblate (French)

Currently translated at 96.0% (24 of 25 strings)

Translated using Weblate (French)

Currently translated at 33.0% (39 of 118 strings)

Translated using Weblate (French)

Currently translated at 92.9% (158 of 170 strings)

Translated using Weblate (French)

Currently translated at 92.9% (158 of 170 strings)

Translated using Weblate (French)

Currently translated at 15.4% (66 of 427 strings)

Translated using Weblate (French)

Currently translated at 53.4% (23 of 43 strings)

Translated using Weblate (French)

Currently translated at 35.0% (28 of 80 strings)

Translated using Weblate (French)

Currently translated at 60.4% (26 of 43 strings)

Translated using Weblate (French)

Currently translated at 25.4% (27 of 106 strings)

Translated using Weblate (French)

Currently translated at 35.3% (23 of 65 strings)

Translated using Weblate (French)

Currently translated at 7.7% (33 of 427 strings)

Translated using Weblate (French)

Currently translated at 29.6% (27 of 91 strings)

Translated using Weblate (French)

Currently translated at 7.7% (25 of 321 strings)

Translated using Weblate (French)

Currently translated at 51.1% (22 of 43 strings)

Translated using Weblate (French)

Currently translated at 33.7% (27 of 80 strings)

Translated using Weblate (French)

Currently translated at 58.1% (25 of 43 strings)

Translated using Weblate (French)

Currently translated at 24.5% (26 of 106 strings)

Translated using Weblate (French)

Currently translated at 95.2% (20 of 21 strings)

Translated using Weblate (French)

Currently translated at 33.8% (22 of 65 strings)

Translated using Weblate (French)

Currently translated at 84.0% (21 of 25 strings)

Translated using Weblate (French)

Currently translated at 74.1% (126 of 170 strings)

Translated using Weblate (French)

Currently translated at 7.4% (32 of 427 strings)

Translated using Weblate (French)

Currently translated at 72.3% (123 of 170 strings)

Translated using Weblate (French)

Currently translated at 32.2% (38 of 118 strings)

Translated using Weblate (French)

Currently translated at 5.8% (25 of 427 strings)

Translated using Weblate (French)

Currently translated at 100.0% (48 of 48 strings)

Translated using Weblate (French)

Currently translated at 100.0% (43 of 43 strings)

Translated using Weblate (French)

Currently translated at 48.8% (21 of 43 strings)

Co-authored-by: Anonymous <noreply@weblate.org>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Julien Clair <mr.julien.clair@gmail.com>
Co-authored-by: Peter Rhodes <peter1rhodes@gmail.com>
Co-authored-by: Thomas <arpelboxes@yahoo.fr>
Co-authored-by: Xavier Vanderstukken <xavan83@gmail.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-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-player/fr/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/objects/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-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-camera
Translation: Frigate NVR/components-dialog
Translation: Frigate NVR/components-filter
Translation: Frigate NVR/components-player
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-recording
Translation: Frigate NVR/views-search
Translation: Frigate NVR/views-settings
Translation: Frigate NVR/views-system
2025-04-15 07:05:00 -05:00
Hosted Weblate
9bcdb4f0be Translated using Weblate (Spanish)
Currently translated at 100.0% (323 of 323 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (106 of 106 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (170 of 170 strings)

Translated using Weblate (Spanish)

Currently translated at 99.0% (105 of 106 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (65 of 65 strings)

Translated using Weblate (Spanish)

Currently translated at 96.4% (164 of 170 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (106 of 106 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (170 of 170 strings)

Co-authored-by: Anonymous <noreply@weblate.org>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: jjavin <javiernovoa@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/es/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-filter/es/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-explore/es/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/es/
Translation: Frigate NVR/common
Translation: Frigate NVR/components-filter
Translation: Frigate NVR/views-explore
Translation: Frigate NVR/views-settings
2025-04-15 07:05:00 -05:00
Hosted Weblate
14ae91c047 Translated using Weblate (Dutch)
Currently translated at 100.0% (9 of 9 strings)

Translated using Weblate (Dutch)

Currently translated at 100.0% (7 of 7 strings)

Translated using Weblate (Dutch)

Currently translated at 100.0% (170 of 170 strings)

Translated using Weblate (Dutch)

Currently translated at 100.0% (91 of 91 strings)

Translated using Weblate (Dutch)

Currently translated at 100.0% (106 of 106 strings)

Translated using Weblate (Dutch)

Currently translated at 100.0% (21 of 21 strings)

Translated using Weblate (Dutch)

Currently translated at 100.0% (170 of 170 strings)

Translated using Weblate (Dutch)

Currently translated at 100.0% (323 of 323 strings)

Translated using Weblate (Dutch)

Currently translated at 100.0% (43 of 43 strings)

Translated using Weblate (Dutch)

Currently translated at 100.0% (106 of 106 strings)

Translated using Weblate (Dutch)

Currently translated at 100.0% (65 of 65 strings)

Translated using Weblate (Dutch)

Currently translated at 100.0% (170 of 170 strings)

Translated using Weblate (Dutch)

Currently translated at 99.0% (105 of 106 strings)

Translated using Weblate (Dutch)

Currently translated at 96.4% (164 of 170 strings)

Translated using Weblate (Dutch)

Currently translated at 100.0% (48 of 48 strings)

Translated using Weblate (Dutch)

Currently translated at 100.0% (170 of 170 strings)

Translated using Weblate (Dutch)

Currently translated at 100.0% (321 of 321 strings)

Translated using Weblate (Dutch)

Currently translated at 100.0% (427 of 427 strings)

Translated using Weblate (Dutch)

Currently translated at 100.0% (170 of 170 strings)

Translated using Weblate (Dutch)

Currently translated at 20.2% (65 of 321 strings)

Translated using Weblate (Dutch)

Currently translated at 8.7% (28 of 321 strings)

Translated using Weblate (Dutch)

Currently translated at 7.4% (24 of 321 strings)

Translated using Weblate (Dutch)

Currently translated at 98.1% (104 of 106 strings)

Translated using Weblate (Dutch)

Currently translated at 100.0% (170 of 170 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>
Co-authored-by: haico van roeden <haico@vanroeden.info>
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/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-exports/nl/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-search/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/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-exports
Translation: Frigate NVR/views-search
Translation: Frigate NVR/views-settings
Translation: Frigate NVR/views-system
2025-04-15 07:05:00 -05:00
Hosted Weblate
8b68940953 Translated using Weblate (Italian)
Currently translated at 37.2% (16 of 43 strings)

Translated using Weblate (Italian)

Currently translated at 24.5% (29 of 118 strings)

Translated using Weblate (Italian)

Currently translated at 79.3% (339 of 427 strings)

Translated using Weblate (Italian)

Currently translated at 67.2% (287 of 427 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (21 of 21 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (43 of 43 strings)

Translated using Weblate (Italian)

Currently translated at 4.7% (5 of 106 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (25 of 25 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (170 of 170 strings)

Translated using Weblate (Italian)

Currently translated at 59.4% (254 of 427 strings)

Translated using Weblate (Italian)

Currently translated at 23.7% (28 of 118 strings)

Translated using Weblate (Italian)

Currently translated at 52.2% (223 of 427 strings)

Translated using Weblate (Italian)

Currently translated at 13.5% (16 of 118 strings)

Translated using Weblate (Italian)

Currently translated at 38.8% (166 of 427 strings)

Translated using Weblate (Italian)

Currently translated at 11.8% (14 of 118 strings)

Translated using Weblate (Italian)

Currently translated at 24.8% (106 of 427 strings)

Translated using Weblate (Italian)

Currently translated at 15.9% (68 of 427 strings)

Translated using Weblate (Italian)

Currently translated at 15.6% (67 of 427 strings)

Translated using Weblate (Italian)

Currently translated at 96.4% (164 of 170 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (170 of 170 strings)

Co-authored-by: Anonymous <noreply@weblate.org>
Co-authored-by: Gringo <ita.translations@tiscali.it>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: RAZ0RBECK <razorbeck@protonmail.com>
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-camera/it/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-player/it/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/objects/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-facelibrary/it/
Translation: Frigate NVR/audio
Translation: Frigate NVR/common
Translation: Frigate NVR/components-camera
Translation: Frigate NVR/components-player
Translation: Frigate NVR/objects
Translation: Frigate NVR/views-events
Translation: Frigate NVR/views-explore
Translation: Frigate NVR/views-facelibrary
2025-04-15 07:05:00 -05:00
Hosted Weblate
3791c9594d Translated using Weblate (Polish)
Currently translated at 100.0% (91 of 91 strings)

Translated using Weblate (Polish)

Currently translated at 100.0% (323 of 323 strings)

Translated using Weblate (Polish)

Currently translated at 100.0% (2 of 2 strings)

Translated using Weblate (Polish)

Currently translated at 100.0% (106 of 106 strings)

Translated using Weblate (Polish)

Currently translated at 73.0% (236 of 323 strings)

Translated using Weblate (Polish)

Currently translated at 100.0% (43 of 43 strings)

Translated using Weblate (Polish)

Currently translated at 100.0% (80 of 80 strings)

Translated using Weblate (Polish)

Currently translated at 100.0% (43 of 43 strings)

Translated using Weblate (Polish)

Currently translated at 100.0% (2 of 2 strings)

Translated using Weblate (Polish)

Currently translated at 100.0% (9 of 9 strings)

Translated using Weblate (Polish)

Currently translated at 100.0% (21 of 21 strings)

Translated using Weblate (Polish)

Currently translated at 2.8% (3 of 106 strings)

Translated using Weblate (Polish)

Currently translated at 100.0% (25 of 25 strings)

Translated using Weblate (Polish)

Currently translated at 100.0% (118 of 118 strings)

Translated using Weblate (Polish)

Currently translated at 100.0% (2 of 2 strings)

Translated using Weblate (Polish)

Currently translated at 100.0% (48 of 48 strings)

Translated using Weblate (Polish)

Currently translated at 100.0% (43 of 43 strings)

Translated using Weblate (Polish)

Currently translated at 100.0% (65 of 65 strings)

Translated using Weblate (Polish)

Currently translated at 100.0% (9 of 9 strings)

Translated using Weblate (Polish)

Currently translated at 100.0% (170 of 170 strings)

Translated using Weblate (Polish)

Currently translated at 90.5% (154 of 170 strings)

Translated using Weblate (Polish)

Currently translated at 82.9% (141 of 170 strings)

Translated using Weblate (Polish)

Currently translated at 1.0% (1 of 91 strings)

Translated using Weblate (Polish)

Currently translated at 4.6% (2 of 43 strings)

Translated using Weblate (Polish)

Currently translated at 2.5% (2 of 80 strings)

Translated using Weblate (Polish)

Currently translated at 6.9% (3 of 43 strings)

Translated using Weblate (Polish)

Currently translated at 3.1% (2 of 64 strings)

Translated using Weblate (Polish)

Currently translated at 11.1% (1 of 9 strings)

Translated using Weblate (Polish)

Currently translated at 14.2% (3 of 21 strings)

Translated using Weblate (Polish)

Currently translated at 1.8% (2 of 106 strings)

Translated using Weblate (Polish)

Currently translated at 32.0% (8 of 25 strings)

Translated using Weblate (Polish)

Currently translated at 21.4% (69 of 321 strings)

Translated using Weblate (Polish)

Currently translated at 100.0% (6 of 6 strings)

Translated using Weblate (Polish)

Currently translated at 100.0% (2 of 2 strings)

Translated using Weblate (Polish)

Currently translated at 18.7% (9 of 48 strings)

Translated using Weblate (Polish)

Currently translated at 60.4% (26 of 43 strings)

Translated using Weblate (Polish)

Currently translated at 100.0% (7 of 7 strings)

Translated using Weblate (Polish)

Currently translated at 28.0% (7 of 25 strings)

Translated using Weblate (Polish)

Currently translated at 79.6% (94 of 118 strings)

Translated using Weblate (Polish)

Currently translated at 88.8% (8 of 9 strings)

Translated using Weblate (Polish)

Currently translated at 3.7% (12 of 321 strings)

Translated using Weblate (Polish)

Currently translated at 16.6% (1 of 6 strings)

Translated using Weblate (Polish)

Currently translated at 50.0% (1 of 2 strings)

Translated using Weblate (Polish)

Currently translated at 50.0% (1 of 2 strings)

Translated using Weblate (Polish)

Currently translated at 2.0% (1 of 48 strings)

Translated using Weblate (Polish)

Currently translated at 2.3% (1 of 43 strings)

Translated using Weblate (Polish)

Currently translated at 1.5% (1 of 64 strings)

Translated using Weblate (Polish)

Currently translated at 9.5% (2 of 21 strings)

Translated using Weblate (Polish)

Currently translated at 0.9% (1 of 106 strings)

Translated using Weblate (Polish)

Currently translated at 14.2% (1 of 7 strings)

Translated using Weblate (Polish)

Currently translated at 4.0% (1 of 25 strings)

Translated using Weblate (Polish)

Currently translated at 22.8% (27 of 118 strings)

Translated using Weblate (Polish)

Currently translated at 22.8% (27 of 118 strings)

Translated using Weblate (Polish)

Currently translated at 11.1% (1 of 9 strings)

Translated using Weblate (Polish)

Currently translated at 86.4% (147 of 170 strings)

Co-authored-by: Anonymous <noreply@weblate.org>
Co-authored-by: Eryk Michalak <gnu.ewm@protonmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Patryk Smoliński <smolinski.patryk@mensa.org.pl>
Co-authored-by: Tomasz Sołtysik <tomasz@soltysik.net.pl>
Co-authored-by: Wiktor <wk212154@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/pl/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-auth/pl/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-camera/pl/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-dialog/pl/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-filter/pl/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-icons/pl/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-input/pl/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-player/pl/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/objects/pl/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-configeditor/pl/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-events/pl/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-explore/pl/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-exports/pl/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-facelibrary/pl/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-live/pl/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-recording/pl/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-search/pl/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/pl/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-system/pl/
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-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
2025-04-15 07:05:00 -05:00
Hosted Weblate
c38ffe9baf Translated using Weblate (Hindi)
Currently translated at 66.6% (4 of 6 strings)

Translated using Weblate (Hindi)

Currently translated at 100.0% (7 of 7 strings)

Translated using Weblate (Hindi)

Currently translated at 100.0% (2 of 2 strings)

Translated using Weblate (Hindi)

Currently translated at 100.0% (2 of 2 strings)

Translated using Weblate (Hindi)

Currently translated at 100.0% (9 of 9 strings)

Translated using Weblate (Hindi)

Currently translated at 32.7% (140 of 427 strings)

Translated using Weblate (Hindi)

Currently translated at 11.0% (13 of 118 strings)

Translated using Weblate (Hindi)

Currently translated at 32.5% (139 of 427 strings)

Translated using Weblate (Hindi)

Currently translated at 5.9% (7 of 118 strings)

Translated using Weblate (Hindi)

Currently translated at 12.6% (54 of 427 strings)

Added translation using Weblate (Hindi)

Added translation using Weblate (Hindi)

Added translation using Weblate (Hindi)

Added translation using Weblate (Hindi)

Added translation using Weblate (Hindi)

Added translation using Weblate (Hindi)

Added translation using Weblate (Hindi)

Added translation using Weblate (Hindi)

Translated using Weblate (Hindi)

Currently translated at 2.8% (12 of 427 strings)

Added translation using Weblate (Hindi)

Added translation using Weblate (Hindi)

Added translation using Weblate (Hindi)

Added translation using Weblate (Hindi)

Added translation using Weblate (Hindi)

Added translation using Weblate (Hindi)

Update translation files

Updated by "Squash Git commits" add-on in Weblate.

Added translation using Weblate (Hindi)

Translated using Weblate (Hindi)

Currently translated at 2.5% (11 of 427 strings)

Translated using Weblate (Hindi)

Currently translated at 1.8% (8 of 427 strings)

Translated using Weblate (Hindi)

Currently translated at 1.6% (7 of 427 strings)

Translated using Weblate (Hindi)

Currently translated at 1.4% (6 of 427 strings)

Update translation files

Updated by "Squash Git commits" add-on in Weblate.

Translated using Weblate (Hindi)

Currently translated at 1.4% (6 of 427 strings)

Added translation using Weblate (Hindi)

Translated using Weblate (Hindi)

Currently translated at 0.7% (3 of 427 strings)

Added translation using Weblate (Hindi)

Translated using Weblate (Hindi)

Currently translated at 0.4% (2 of 427 strings)

Added translation using Weblate (Hindi)

Translated using Weblate (Hindi)

Currently translated at 0.2% (1 of 427 strings)

Added translation using Weblate (Hindi)

Added translation using Weblate (Hindi)

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Languages add-on <noreply-addon-languages@weblate.org>
Co-authored-by: Srijan Bhatia <weblate@srijanbhatia.dev>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/audio/hi/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-auth/hi/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-icons/hi/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-input/hi/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/objects/hi/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-configeditor/hi/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-recording/hi/
Translation: Frigate NVR/audio
Translation: Frigate NVR/common
Translation: Frigate NVR/components-auth
Translation: Frigate NVR/components-icons
Translation: Frigate NVR/components-input
Translation: Frigate NVR/objects
Translation: Frigate NVR/views-configeditor
Translation: Frigate NVR/views-recording
2025-04-15 07:05:00 -05:00
Hosted Weblate
a1d517d6c0 Translated using Weblate (Vietnamese)
Currently translated at 2.3% (1 of 43 strings)

Translated using Weblate (Vietnamese)

Currently translated at 4.7% (1 of 21 strings)

Translated using Weblate (Vietnamese)

Currently translated at 21.1% (25 of 118 strings)

Translated using Weblate (Vietnamese)

Currently translated at 100.0% (170 of 170 strings)

Translated using Weblate (Vietnamese)

Currently translated at 100.0% (427 of 427 strings)

Translated using Weblate (Vietnamese)

Currently translated at 7.4% (32 of 427 strings)

Added translation using Weblate (Vietnamese)

Added translation using Weblate (Vietnamese)

Added translation using Weblate (Vietnamese)

Added translation using Weblate (Vietnamese)

Added translation using Weblate (Vietnamese)

Added translation using Weblate (Vietnamese)

Added translation using Weblate (Vietnamese)

Added translation using Weblate (Vietnamese)

Added translation using Weblate (Vietnamese)

Added translation using Weblate (Vietnamese)

Added translation using Weblate (Vietnamese)

Added translation using Weblate (Vietnamese)

Added translation using Weblate (Vietnamese)

Added translation using Weblate (Vietnamese)

Added translation using Weblate (Vietnamese)

Added translation using Weblate (Vietnamese)

Added translation using Weblate (Vietnamese)

Added translation using Weblate (Vietnamese)

Added translation using Weblate (Vietnamese)

Added translation using Weblate (Vietnamese)

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Languages add-on <noreply-addon-languages@weblate.org>
Co-authored-by: Tuan Nguyen <natuan0@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/audio/vi/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/vi/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/objects/vi/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-events/vi/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-facelibrary/vi/
Translation: Frigate NVR/audio
Translation: Frigate NVR/common
Translation: Frigate NVR/objects
Translation: Frigate NVR/views-events
Translation: Frigate NVR/views-facelibrary
2025-04-15 07:05:00 -05:00
Hosted Weblate
3d9159a4cb Translated using Weblate (Portuguese)
Currently translated at 35.1% (150 of 427 strings)

Translated using Weblate (Portuguese)

Currently translated at 78.4% (51 of 65 strings)

Translated using Weblate (Portuguese)

Currently translated at 52.0% (167 of 321 strings)

Translated using Weblate (Portuguese)

Currently translated at 88.3% (38 of 43 strings)

Translated using Weblate (Portuguese)

Currently translated at 100.0% (43 of 43 strings)

Translated using Weblate (Portuguese)

Currently translated at 100.0% (118 of 118 strings)

Translated using Weblate (Portuguese)

Currently translated at 35.1% (150 of 427 strings)

Translated using Weblate (Portuguese)

Currently translated at 71.1% (121 of 170 strings)

Translated using Weblate (Portuguese)

Currently translated at 100.0% (91 of 91 strings)

Translated using Weblate (Portuguese)

Currently translated at 48.2% (155 of 321 strings)

Translated using Weblate (Portuguese)

Currently translated at 94.5% (86 of 91 strings)

Translated using Weblate (Portuguese)

Currently translated at 78.0% (71 of 91 strings)

Translated using Weblate (Portuguese)

Currently translated at 15.5% (50 of 321 strings)

Translated using Weblate (Portuguese)

Currently translated at 72.0% (31 of 43 strings)

Translated using Weblate (Portuguese)

Currently translated at 81.3% (35 of 43 strings)

Translated using Weblate (Portuguese)

Currently translated at 40.5% (43 of 106 strings)

Translated using Weblate (Portuguese)

Currently translated at 100.0% (25 of 25 strings)

Co-authored-by: Anonymous <noreply@weblate.org>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Interlig <haylanzinho@gmail.com>
Co-authored-by: Lucas Antevere <lucasantevere@gmail.com>
Co-authored-by: P1LH4 <joao.calby@gmail.com>
Co-authored-by: Tiago Krüger <tiagokruger404@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/audio/pt/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/pt/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-filter/pt/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-player/pt/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/objects/pt/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-explore/pt/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-facelibrary/pt/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-search/pt/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/pt/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-system/pt/
Translation: Frigate NVR/audio
Translation: Frigate NVR/common
Translation: Frigate NVR/components-filter
Translation: Frigate NVR/components-player
Translation: Frigate NVR/objects
Translation: Frigate NVR/views-explore
Translation: Frigate NVR/views-facelibrary
Translation: Frigate NVR/views-search
Translation: Frigate NVR/views-settings
Translation: Frigate NVR/views-system
2025-04-15 07:05:00 -05:00
Hosted Weblate
0c66a98f3e Translated using Weblate (Czech)
Currently translated at 2.3% (1 of 43 strings)

Translated using Weblate (Czech)

Currently translated at 100.0% (6 of 6 strings)

Translated using Weblate (Czech)

Currently translated at 100.0% (9 of 9 strings)

Translated using Weblate (Czech)

Currently translated at 100.0% (21 of 21 strings)

Translated using Weblate (Czech)

Currently translated at 100.0% (7 of 7 strings)

Translated using Weblate (Czech)

Currently translated at 100.0% (25 of 25 strings)

Translated using Weblate (Czech)

Currently translated at 100.0% (2 of 2 strings)

Translated using Weblate (Czech)

Currently translated at 100.0% (2 of 2 strings)

Translated using Weblate (Czech)

Currently translated at 1.5% (1 of 65 strings)

Translated using Weblate (Czech)

Currently translated at 100.0% (9 of 9 strings)

Translated using Weblate (Czech)

Currently translated at 22.0% (26 of 118 strings)

Translated using Weblate (Czech)

Currently translated at 72.1% (308 of 427 strings)

Translated using Weblate (Czech)

Currently translated at 11.8% (14 of 118 strings)

Translated using Weblate (Czech)

Currently translated at 47.0% (201 of 427 strings)

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Mystically <github@mytrydas.com>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/audio/cs/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-auth/cs/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-filter/cs/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-icons/cs/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-input/cs/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-player/cs/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/objects/cs/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-configeditor/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-recording/cs/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-search/cs/
Translation: Frigate NVR/audio
Translation: Frigate NVR/components-auth
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-exports
Translation: Frigate NVR/views-recording
Translation: Frigate NVR/views-search
2025-04-15 07:05:00 -05:00
Hosted Weblate
3388d80024 Translated using Weblate (Ukrainian)
Currently translated at 1.4% (6 of 427 strings)

Added translation using Weblate (Ukrainian)

Added translation using Weblate (Ukrainian)

Added translation using Weblate (Ukrainian)

Added translation using Weblate (Ukrainian)

Added translation using Weblate (Ukrainian)

Added translation using Weblate (Ukrainian)

Added translation using Weblate (Ukrainian)

Added translation using Weblate (Ukrainian)

Added translation using Weblate (Ukrainian)

Added translation using Weblate (Ukrainian)

Added translation using Weblate (Ukrainian)

Added translation using Weblate (Ukrainian)

Added translation using Weblate (Ukrainian)

Added translation using Weblate (Ukrainian)

Added translation using Weblate (Ukrainian)

Added translation using Weblate (Ukrainian)

Added translation using Weblate (Ukrainian)

Added translation using Weblate (Ukrainian)

Added translation using Weblate (Ukrainian)

Added translation using Weblate (Ukrainian)

Co-authored-by: A T <andrey.timchenko@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/uk/
Translation: Frigate NVR/audio
2025-04-15 07:05:00 -05:00
Hosted Weblate
ce950a80b2 Translated using Weblate (Romanian)
Currently translated at 100.0% (118 of 118 strings)

Translated using Weblate (Romanian)

Currently translated at 7.4% (32 of 427 strings)

Translated using Weblate (Romanian)

Currently translated at 3.2% (3 of 91 strings)

Translated using Weblate (Romanian)

Currently translated at 0.9% (3 of 321 strings)

Translated using Weblate (Romanian)

Currently translated at 6.9% (3 of 43 strings)

Translated using Weblate (Romanian)

Currently translated at 100.0% (6 of 6 strings)

Translated using Weblate (Romanian)

Currently translated at 3.7% (3 of 80 strings)

Translated using Weblate (Romanian)

Currently translated at 6.9% (3 of 43 strings)

Translated using Weblate (Romanian)

Currently translated at 100.0% (9 of 9 strings)

Translated using Weblate (Romanian)

Currently translated at 7.5% (8 of 106 strings)

Translated using Weblate (Romanian)

Currently translated at 100.0% (21 of 21 strings)

Translated using Weblate (Romanian)

Currently translated at 100.0% (7 of 7 strings)

Translated using Weblate (Romanian)

Currently translated at 100.0% (25 of 25 strings)

Translated using Weblate (Romanian)

Currently translated at 100.0% (2 of 2 strings)

Translated using Weblate (Romanian)

Currently translated at 100.0% (2 of 2 strings)

Translated using Weblate (Romanian)

Currently translated at 6.1% (4 of 65 strings)

Translated using Weblate (Romanian)

Currently translated at 20.8% (10 of 48 strings)

Translated using Weblate (Romanian)

Currently translated at 48.8% (21 of 43 strings)

Translated using Weblate (Romanian)

Currently translated at 100.0% (9 of 9 strings)

Translated using Weblate (Romanian)

Currently translated at 44.0% (52 of 118 strings)

Translated using Weblate (Romanian)

Currently translated at 2.3% (4 of 170 strings)

Translated using Weblate (Romanian)

Currently translated at 4.4% (19 of 427 strings)

Translated using Weblate (Romanian)

Currently translated at 2.3% (1 of 43 strings)

Translated using Weblate (Romanian)

Currently translated at 33.3% (2 of 6 strings)

Translated using Weblate (Romanian)

Currently translated at 1.2% (1 of 80 strings)

Translated using Weblate (Romanian)

Currently translated at 2.3% (1 of 43 strings)

Translated using Weblate (Romanian)

Currently translated at 22.2% (2 of 9 strings)

Translated using Weblate (Romanian)

Currently translated at 0.9% (1 of 106 strings)

Translated using Weblate (Romanian)

Currently translated at 4.7% (1 of 21 strings)

Translated using Weblate (Romanian)

Currently translated at 14.2% (1 of 7 strings)

Translated using Weblate (Romanian)

Currently translated at 4.0% (1 of 25 strings)

Translated using Weblate (Romanian)

Currently translated at 50.0% (1 of 2 strings)

Translated using Weblate (Romanian)

Currently translated at 50.0% (1 of 2 strings)

Translated using Weblate (Romanian)

Currently translated at 1.5% (1 of 64 strings)

Translated using Weblate (Romanian)

Currently translated at 2.0% (1 of 48 strings)

Translated using Weblate (Romanian)

Currently translated at 2.3% (1 of 43 strings)

Translated using Weblate (Romanian)

Currently translated at 11.1% (1 of 9 strings)

Translated using Weblate (Romanian)

Currently translated at 0.8% (1 of 118 strings)

Translated using Weblate (Romanian)

Currently translated at 0.5% (1 of 170 strings)

Translated using Weblate (Romanian)

Currently translated at 0.7% (3 of 427 strings)

Translated using Weblate (Romanian)

Currently translated at 0.4% (2 of 427 strings)

Added translation using Weblate (Romanian)

Added translation using Weblate (Romanian)

Added translation using Weblate (Romanian)

Added translation using Weblate (Romanian)

Added translation using Weblate (Romanian)

Added translation using Weblate (Romanian)

Added translation using Weblate (Romanian)

Added translation using Weblate (Romanian)

Added translation using Weblate (Romanian)

Added translation using Weblate (Romanian)

Added translation using Weblate (Romanian)

Added translation using Weblate (Romanian)

Added translation using Weblate (Romanian)

Added translation using Weblate (Romanian)

Added translation using Weblate (Romanian)

Added translation using Weblate (Romanian)

Added translation using Weblate (Romanian)

Added translation using Weblate (Romanian)

Added translation using Weblate (Romanian)

Added translation using Weblate (Romanian)

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Languages add-on <noreply-addon-languages@weblate.org>
Co-authored-by: Razvan B <frig@razvan.ch>
Co-authored-by: cosmin0608 <ungureanu.cosmin93@gmail.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-auth/ro/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-camera/ro/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-dialog/ro/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-filter/ro/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-icons/ro/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-input/ro/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-player/ro/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/objects/ro/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-configeditor/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-recording/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/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-system/ro/
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-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
2025-04-15 07:05:00 -05:00
Hosted Weblate
4c7c8a6262 Translated using Weblate (Russian)
Currently translated at 100.0% (323 of 323 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (118 of 118 strings)

Translated using Weblate (Russian)

Currently translated at 47.3% (153 of 323 strings)

Translated using Weblate (Russian)

Currently translated at 45.5% (147 of 323 strings)

Translated using Weblate (Russian)

Currently translated at 45.5% (147 of 323 strings)

Translated using Weblate (Russian)

Currently translated at 96.6% (114 of 118 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (91 of 91 strings)

Translated using Weblate (Russian)

Currently translated at 43.3% (139 of 321 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (43 of 43 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (80 of 80 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (43 of 43 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (106 of 106 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (25 of 25 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (65 of 65 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (48 of 48 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (43 of 43 strings)

Translated using Weblate (Russian)

Currently translated at 94.9% (112 of 118 strings)

Translated using Weblate (Russian)

Currently translated at 94.9% (112 of 118 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (9 of 9 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (170 of 170 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (427 of 427 strings)

Translated using Weblate (Russian)

Currently translated at 34.0% (31 of 91 strings)

Translated using Weblate (Russian)

Currently translated at 72.0% (31 of 43 strings)

Translated using Weblate (Russian)

Currently translated at 40.0% (32 of 80 strings)

Translated using Weblate (Russian)

Currently translated at 79.0% (34 of 43 strings)

Translated using Weblate (Russian)

Currently translated at 31.1% (33 of 106 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (21 of 21 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (25 of 25 strings)

Translated using Weblate (Russian)

Currently translated at 49.2% (32 of 65 strings)

Translated using Weblate (Russian)

Currently translated at 66.6% (32 of 48 strings)

Translated using Weblate (Russian)

Currently translated at 74.4% (32 of 43 strings)

Translated using Weblate (Russian)

Currently translated at 38.9% (46 of 118 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (9 of 9 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (9 of 9 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (9 of 9 strings)

Translated using Weblate (Russian)

Currently translated at 13.1% (12 of 91 strings)

Translated using Weblate (Russian)

Currently translated at 33.6% (108 of 321 strings)

Translated using Weblate (Russian)

Currently translated at 13.9% (6 of 43 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (6 of 6 strings)

Translated using Weblate (Russian)

Currently translated at 6.2% (5 of 80 strings)

Translated using Weblate (Russian)

Currently translated at 51.1% (22 of 43 strings)

Translated using Weblate (Russian)

Currently translated at 28.5% (6 of 21 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (7 of 7 strings)

Translated using Weblate (Russian)

Currently translated at 7.6% (5 of 65 strings)

Translated using Weblate (Russian)

Currently translated at 22.8% (27 of 118 strings)

Translated using Weblate (Russian)

Currently translated at 88.8% (8 of 9 strings)

Translated using Weblate (Russian)

Currently translated at 50.5% (86 of 170 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (427 of 427 strings)

Translated using Weblate (Russian)

Currently translated at 31.4% (101 of 321 strings)

Translated using Weblate (Russian)

Currently translated at 12.7% (15 of 118 strings)

Translated using Weblate (Russian)

Currently translated at 40.2% (172 of 427 strings)

Translated using Weblate (Russian)

Currently translated at 26.4% (85 of 321 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (9 of 9 strings)

Translated using Weblate (Russian)

Currently translated at 34.7% (59 of 170 strings)

Translated using Weblate (Russian)

Currently translated at 21.8% (70 of 321 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (7 of 7 strings)

Translated using Weblate (Russian)

Currently translated at 37.6% (64 of 170 strings)

Translated using Weblate (Russian)

Currently translated at 4.3% (4 of 91 strings)

Translated using Weblate (Russian)

Currently translated at 15.5% (50 of 321 strings)

Translated using Weblate (Russian)

Currently translated at 9.3% (4 of 43 strings)

Translated using Weblate (Russian)

Currently translated at 66.6% (4 of 6 strings)

Translated using Weblate (Russian)

Currently translated at 5.0% (4 of 80 strings)

Translated using Weblate (Russian)

Currently translated at 41.8% (18 of 43 strings)

Translated using Weblate (Russian)

Currently translated at 55.5% (5 of 9 strings)

Translated using Weblate (Russian)

Currently translated at 5.6% (6 of 106 strings)

Translated using Weblate (Russian)

Currently translated at 23.8% (5 of 21 strings)

Translated using Weblate (Russian)

Currently translated at 71.4% (5 of 7 strings)

Translated using Weblate (Russian)

Currently translated at 20.0% (5 of 25 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (2 of 2 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (2 of 2 strings)

Translated using Weblate (Russian)

Currently translated at 7.8% (5 of 64 strings)

Translated using Weblate (Russian)

Currently translated at 10.4% (5 of 48 strings)

Translated using Weblate (Russian)

Currently translated at 11.6% (5 of 43 strings)

Translated using Weblate (Russian)

Currently translated at 11.8% (14 of 118 strings)

Translated using Weblate (Russian)

Currently translated at 55.5% (5 of 9 strings)

Translated using Weblate (Russian)

Currently translated at 19.4% (33 of 170 strings)

Translated using Weblate (Russian)

Currently translated at 29.9% (128 of 427 strings)

Translated using Weblate (Russian)

Currently translated at 29.9% (128 of 427 strings)

Translated using Weblate (Russian)

Currently translated at 9.3% (30 of 321 strings)

Translated using Weblate (Russian)

Currently translated at 3.3% (4 of 118 strings)

Translated using Weblate (Russian)

Currently translated at 15.6% (67 of 427 strings)

Translated using Weblate (Russian)

Currently translated at 15.6% (67 of 427 strings)

Translated using Weblate (Russian)

Currently translated at 10.3% (44 of 427 strings)

Translated using Weblate (Russian)

Currently translated at 9.8% (42 of 427 strings)

Translated using Weblate (Russian)

Currently translated at 9.6% (41 of 427 strings)

Translated using Weblate (Russian)

Currently translated at 9.3% (40 of 427 strings)

Translated using Weblate (Russian)

Currently translated at 9.3% (40 of 427 strings)

Co-authored-by: Anonymous <noreply@weblate.org>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Oleg Chumakov <nomiels@gmail.com>
Co-authored-by: wize1 <d@lipski.ru>
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-auth/ru/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-camera/ru/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-dialog/ru/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-filter/ru/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-icons/ru/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-input/ru/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-player/ru/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/objects/ru/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-configeditor/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/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-live/ru/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-recording/ru/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-search/ru/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/ru/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-system/ru/
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-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
2025-04-15 07:05:00 -05:00
Hosted Weblate
3973d812fd Translated using Weblate (German)
Currently translated at 58.2% (53 of 91 strings)

Translated using Weblate (German)

Currently translated at 16.0% (52 of 323 strings)

Translated using Weblate (German)

Currently translated at 97.6% (42 of 43 strings)

Translated using Weblate (German)

Currently translated at 95.3% (41 of 43 strings)

Translated using Weblate (German)

Currently translated at 100.0% (9 of 9 strings)

Translated using Weblate (German)

Currently translated at 100.0% (106 of 106 strings)

Translated using Weblate (German)

Currently translated at 80.0% (52 of 65 strings)

Translated using Weblate (German)

Currently translated at 100.0% (48 of 48 strings)

Translated using Weblate (German)

Currently translated at 100.0% (170 of 170 strings)

Translated using Weblate (German)

Currently translated at 100.0% (427 of 427 strings)

Translated using Weblate (German)

Currently translated at 12.3% (40 of 323 strings)

Translated using Weblate (German)

Currently translated at 88.3% (38 of 43 strings)

Translated using Weblate (German)

Currently translated at 45.2% (48 of 106 strings)

Translated using Weblate (German)

Currently translated at 61.5% (40 of 65 strings)

Translated using Weblate (German)

Currently translated at 83.3% (40 of 48 strings)

Translated using Weblate (German)

Currently translated at 47.2% (43 of 91 strings)

Translated using Weblate (German)

Currently translated at 47.2% (43 of 91 strings)

Translated using Weblate (German)

Currently translated at 10.8% (35 of 323 strings)

Translated using Weblate (German)

Currently translated at 76.7% (33 of 43 strings)

Translated using Weblate (German)

Currently translated at 55.3% (36 of 65 strings)

Translated using Weblate (German)

Currently translated at 41.7% (38 of 91 strings)

Translated using Weblate (German)

Currently translated at 41.7% (38 of 91 strings)

Translated using Weblate (German)

Currently translated at 9.9% (32 of 323 strings)

Translated using Weblate (German)

Currently translated at 69.7% (30 of 43 strings)

Translated using Weblate (German)

Currently translated at 44.3% (47 of 106 strings)

Translated using Weblate (German)

Currently translated at 50.7% (33 of 65 strings)

Translated using Weblate (German)

Currently translated at 79.1% (38 of 48 strings)

Translated using Weblate (German)

Currently translated at 36.2% (33 of 91 strings)

Translated using Weblate (German)

Currently translated at 36.2% (33 of 91 strings)

Translated using Weblate (German)

Currently translated at 8.6% (28 of 323 strings)

Translated using Weblate (German)

Currently translated at 60.4% (26 of 43 strings)

Translated using Weblate (German)

Currently translated at 43.3% (46 of 106 strings)

Translated using Weblate (German)

Currently translated at 44.6% (29 of 65 strings)

Translated using Weblate (German)

Currently translated at 77.0% (37 of 48 strings)

Translated using Weblate (German)

Currently translated at 100.0% (170 of 170 strings)

Translated using Weblate (German)

Currently translated at 100.0% (80 of 80 strings)

Translated using Weblate (German)

Currently translated at 95.8% (163 of 170 strings)

Translated using Weblate (German)

Currently translated at 100.0% (427 of 427 strings)

Translated using Weblate (German)

Currently translated at 81.1% (138 of 170 strings)

Translated using Weblate (German)

Currently translated at 30.7% (28 of 91 strings)

Translated using Weblate (German)

Currently translated at 3.7% (12 of 321 strings)

Translated using Weblate (German)

Currently translated at 12.5% (10 of 80 strings)

Translated using Weblate (German)

Currently translated at 14.0% (9 of 64 strings)

Translated using Weblate (German)

Currently translated at 72.9% (35 of 48 strings)

Translated using Weblate (German)

Currently translated at 72.9% (35 of 48 strings)

Translated using Weblate (German)

Currently translated at 2.8% (9 of 321 strings)

Co-authored-by: Anonymous <noreply@weblate.org>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: MarcelKie <marcel.kiem@googlemail.com>
Co-authored-by: Mehmet Uyanik <met456@gmail.com>
Co-authored-by: Patrick <patrick_bruell@web.de>
Co-authored-by: Patrick Polsterer <patrick.polsterer@gmail.com>
Co-authored-by: Phil Jope <phil@jope.cloud>
Co-authored-by: Walter <walter@budin.at>
Co-authored-by: ch1988 <Christian-lange@xlange.de>
Co-authored-by: engels0n <christian.engelbarts@outlook.de>
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/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-exports/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-search/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/audio
Translation: Frigate NVR/common
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
Translation: Frigate NVR/views-system
2025-04-15 07:05:00 -05:00
Hosted Weblate
480f2a5681 Translated using Weblate (Turkish)
Currently translated at 100.0% (65 of 65 strings)

Translated using Weblate (Turkish)

Currently translated at 100.0% (91 of 91 strings)

Translated using Weblate (Turkish)

Currently translated at 100.0% (323 of 323 strings)

Translated using Weblate (Turkish)

Currently translated at 100.0% (106 of 106 strings)

Translated using Weblate (Turkish)

Currently translated at 100.0% (65 of 65 strings)

Translated using Weblate (Turkish)

Currently translated at 100.0% (170 of 170 strings)

Translated using Weblate (Turkish)

Currently translated at 99.0% (105 of 106 strings)

Translated using Weblate (Turkish)

Currently translated at 96.4% (164 of 170 strings)

Translated using Weblate (Turkish)

Currently translated at 100.0% (106 of 106 strings)

Translated using Weblate (Turkish)

Currently translated at 100.0% (170 of 170 strings)

Co-authored-by: Anonymous <noreply@weblate.org>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: pcislocked <git@pcislocked.net>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/tr/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-filter/tr/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-explore/tr/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/tr/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-system/tr/
Translation: Frigate NVR/common
Translation: Frigate NVR/components-filter
Translation: Frigate NVR/views-explore
Translation: Frigate NVR/views-settings
Translation: Frigate NVR/views-system
2025-04-15 07:05:00 -05:00
Josh Hawkins
73a475d13a Quick UI fix (#17710)
* remove i18n key in wrong place

* remove russian until after translations are merged
2025-04-15 06:37:17 -05:00
Josh Hawkins
34e34b8b15 I18n fixes (#17699)
* fix norwegian

* fix face library keys

* add russian
2025-04-14 16:09:18 -06:00
Nicolas Mowen
bd0ee86db9 Refactor yolov9 detector to support v3, v4, v7 as well (#17697)
* Implement blobbed yolov7 post processing and consolidate yolo implementation

* Update documentation

* Add repo

* fix name
2025-04-14 16:05:41 -05:00
Josh Hawkins
4feba8bcf3 Add languages (#17662)
* Add Dutch to languages menu

* Add Norwegian to languages menu

* fix

* consolidate
2025-04-13 12:11:28 -06:00
Josh Hawkins
da62c41e87 Improve object tracking (#17671)
* Save initial frame of new objects to frame cache
Objects that move quickly through the frame and are only seen briefly may not have the update() method called to save thumbnail_data, and may not have the initial frame saved to the tracked object frame cache. This caused a "Frame missing from frame cache" message that was patched by #7313 but this sometimes caused the wrong frame to be chosen for the thumb/snapshot.

* Tracking tweaks
- When registering new objects, use the past detections from Norfair to populate self.positions and self.stationary_box_history. This prevents the first call of update_position() from triggering a +1 on the object's stationary count (because the iou would be 1.0).
- Add a specific tracker for dedicated LPR cam license_plate objects using a lower R value and higher distance threshold to account for fast moving plates.
- Add helpful debug messages and keep them disabled with `if False:`
2025-04-13 12:10:35 -06:00
Josh Hawkins
e09f0a6b11 UI tweaks (#17685)
* Fix i18n key

* ensure license_plate is added to filter list for dedicated lpr cameras

* add ability to use browser back button to close MobilePage

* add license_plate to review filter

* remove overlay state hook in review

* don't zoom text on iOS
2025-04-13 12:08:47 -06:00
Nicolas Mowen
ea98785097 UI improvements (#17684)
* Add sub label to explore chip

* Add bird classification to settings

* Remove score

* Cleanup
2025-04-13 13:06:59 -05:00
Josh Hawkins
4abf945b71 Add missing plural versions of some i18n keys (#17672) 2025-04-12 16:18:35 -06:00
Nicolas Mowen
622bda9f66 Include arch in name (#17667) 2025-04-12 07:50:17 -06:00
Jan Čermák
93712b37d3 Update Hailo library to v4.20.1 (#17094)
The upcoming HAOS 15.0 will use Hailo driver v4.20.1. The current dev
has the older patch release (v4.20.0) staged for future versions, but
since new Frigate build will be needed for future compatibility, it
makes sense to sync at the latest one.

Link: https://github.com/home-assistant/operating-system/pull/3922
2025-04-12 07:25:35 -06:00
Nicolas Mowen
e9787c5a88 Small Tweaks (#17652)
* Ensure that hailo uses correct labelmap

* Make whole button clickable

* Add weblate to readme

* Update docs for HEIC

* Fix explore chip icon logic

* Sort regardless of case

* Don't allow selection

* Fix image uploading
2025-04-11 08:21:01 -06:00
Josh Hawkins
664889d487 Small tweaks (#17651)
* clarify lpr

* add license plate icon and correctly format string
2025-04-11 06:48:16 -06:00
Josh Hawkins
03f4318e40 Add languages to Language menu (#17606)
* Add support for Spanish

* add polish

* add turkish

* fix

* dynamically import non English locales to keep bundle size low
2025-04-11 06:38:36 -06:00
Blake Blackshear
78c461750e convert to 2 spaces 2025-04-11 05:52:32 -05:00
Hosted Weblate
b1e82e6187 Translated using Weblate (Norwegian Bokmål)
Currently translated at 16.6% (1 of 6 strings)

Translated using Weblate (Norwegian Bokmål)

Currently translated at 100.0% (25 of 25 strings)

Translated using Weblate (Norwegian Bokmål)

Currently translated at 100.0% (2 of 2 strings)

Translated using Weblate (Norwegian Bokmål)

Currently translated at 100.0% (64 of 64 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% (43 of 43 strings)

Translated using Weblate (Norwegian Bokmål)

Currently translated at 100.0% (9 of 9 strings)

Translated using Weblate (Norwegian Bokmål)

Currently translated at 100.0% (2 of 2 strings)

Translated using Weblate (Norwegian Bokmål)

Currently translated at 4.7% (1 of 21 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 2.3% (1 of 43 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% (144 of 144 strings)

Translated using Weblate (Norwegian Bokmål)

Currently translated at 5.8% (25 of 427 strings)

Added translation using Weblate (Norwegian Bokmål)

Update translation files

Updated by "Squash Git commits" add-on in Weblate.

Added translation using Weblate (Norwegian Bokmål)

Added translation using Weblate (Norwegian Bokmål)

Added translation using Weblate (Norwegian Bokmål)

Added translation using Weblate (Norwegian Bokmål)

Added translation using Weblate (Norwegian Bokmål)

Added translation using Weblate (Norwegian Bokmål)

Added translation using Weblate (Norwegian Bokmål)

Added translation using Weblate (Norwegian Bokmål)

Added translation using Weblate (Norwegian Bokmål)

Added translation using Weblate (Norwegian Bokmål)

Added translation using Weblate (Norwegian Bokmål)

Added translation using Weblate (Norwegian Bokmål)

Added translation using Weblate (Norwegian Bokmål)

Added translation using Weblate (Norwegian Bokmål)

Added translation using Weblate (Norwegian Bokmål)

Added translation using Weblate (Norwegian Bokmål)

Added translation using Weblate (Norwegian Bokmål)

Update translation files

Updated by "Squash Git commits" add-on in Weblate.

Added translation using Weblate (Norwegian Bokmål)

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: Thomas Gunnarsrud <thomas.gunnarsrud@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/audio/nb_NO/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/
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-camera/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/components-icons/nb_NO/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-input/nb_NO/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-player/nb_NO/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/objects/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-facelibrary/nb_NO/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-recording/nb_NO/
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-events
Translation: Frigate NVR/views-facelibrary
Translation: Frigate NVR/views-recording
2025-04-11 05:44:32 -05:00
Hosted Weblate
dcbb3fee7c Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (100 of 100 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% (427 of 427 strings)

Translated using Weblate (Chinese (Simplified Han script))

Currently translated at 100.0% (321 of 321 strings)

Translated using Weblate (Chinese (Simplified Han script))

Currently translated at 100.0% (6 of 6 strings)

Translated using Weblate (Chinese (Simplified Han script))

Currently translated at 100.0% (80 of 80 strings)

Translated using Weblate (Chinese (Simplified Han script))

Currently translated at 100.0% (43 of 43 strings)

Translated using Weblate (Chinese (Simplified Han script))

Currently translated at 100.0% (100 of 100 strings)

Translated using Weblate (Chinese (Simplified Han script))

Currently translated at 100.0% (43 of 43 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% (427 of 427 strings)

Translated using Weblate (Chinese (Simplified Han script))

Currently translated at 100.0% (144 of 144 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/objects/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-recording/zh_Hans/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/zh_Hans/
Translation: Frigate NVR/audio
Translation: Frigate NVR/common
Translation: Frigate NVR/components-camera
Translation: Frigate NVR/objects
Translation: Frigate NVR/views-explore
Translation: Frigate NVR/views-facelibrary
Translation: Frigate NVR/views-live
Translation: Frigate NVR/views-recording
Translation: Frigate NVR/views-settings
2025-04-11 05:44:32 -05:00
Hosted Weblate
fbed1a20b0 Translated using Weblate (Swedish)
Currently translated at 100.0% (9 of 9 strings)

Translated using Weblate (Swedish)

Currently translated at 100.0% (21 of 21 strings)

Translated using Weblate (Swedish)

Currently translated at 88.8% (8 of 9 strings)

Translated using Weblate (Swedish)

Currently translated at 2.5% (11 of 427 strings)

Translated using Weblate (Swedish)

Currently translated at 100.0% (6 of 6 strings)

Translated using Weblate (Swedish)

Currently translated at 6.2% (5 of 80 strings)

Translated using Weblate (Swedish)

Currently translated at 11.6% (5 of 43 strings)

Translated using Weblate (Swedish)

Currently translated at 66.6% (6 of 9 strings)

Translated using Weblate (Swedish)

Currently translated at 6.0% (6 of 100 strings)

Translated using Weblate (Swedish)

Currently translated at 38.0% (8 of 21 strings)

Translated using Weblate (Swedish)

Currently translated at 100.0% (7 of 7 strings)

Translated using Weblate (Swedish)

Currently translated at 28.0% (7 of 25 strings)

Translated using Weblate (Swedish)

Currently translated at 10.9% (7 of 64 strings)

Translated using Weblate (Swedish)

Currently translated at 4.8% (7 of 144 strings)

Translated using Weblate (Swedish)

Currently translated at 2.3% (10 of 427 strings)

Translated using Weblate (Swedish)

Currently translated at 100.0% (2 of 2 strings)

Translated using Weblate (Swedish)

Currently translated at 2.1% (9 of 427 strings)

Translated using Weblate (Swedish)

Currently translated at 5.0% (5 of 100 strings)

Translated using Weblate (Swedish)

Currently translated at 1.2% (4 of 321 strings)

Translated using Weblate (Swedish)

Currently translated at 85.7% (6 of 7 strings)

Translated using Weblate (Swedish)

Currently translated at 33.3% (7 of 21 strings)

Translated using Weblate (Swedish)

Currently translated at 0.9% (3 of 321 strings)

Translated using Weblate (Swedish)

Currently translated at 9.3% (4 of 43 strings)

Translated using Weblate (Swedish)

Currently translated at 71.4% (5 of 7 strings)

Translated using Weblate (Swedish)

Currently translated at 4.3% (4 of 91 strings)

Translated using Weblate (Swedish)

Currently translated at 11.6% (5 of 43 strings)

Translated using Weblate (Swedish)

Currently translated at 83.3% (5 of 6 strings)

Translated using Weblate (Swedish)

Currently translated at 5.0% (4 of 80 strings)

Translated using Weblate (Swedish)

Currently translated at 55.5% (5 of 9 strings)

Translated using Weblate (Swedish)

Currently translated at 4.0% (4 of 100 strings)

Translated using Weblate (Swedish)

Currently translated at 28.5% (6 of 21 strings)

Translated using Weblate (Swedish)

Currently translated at 57.1% (4 of 7 strings)

Translated using Weblate (Swedish)

Currently translated at 24.0% (6 of 25 strings)

Translated using Weblate (Swedish)

Currently translated at 9.3% (6 of 64 strings)

Translated using Weblate (Swedish)

Currently translated at 12.5% (6 of 48 strings)

Translated using Weblate (Swedish)

Currently translated at 5.0% (6 of 118 strings)

Translated using Weblate (Swedish)

Currently translated at 4.1% (6 of 144 strings)

Translated using Weblate (Swedish)

Currently translated at 1.8% (8 of 427 strings)

Translated using Weblate (Swedish)

Currently translated at 3.0% (3 of 100 strings)

Translated using Weblate (Swedish)

Currently translated at 23.8% (5 of 21 strings)

Translated using Weblate (Swedish)

Currently translated at 42.8% (3 of 7 strings)

Translated using Weblate (Swedish)

Currently translated at 20.0% (5 of 25 strings)

Translated using Weblate (Swedish)

Currently translated at 7.8% (5 of 64 strings)

Translated using Weblate (Swedish)

Currently translated at 10.4% (5 of 48 strings)

Translated using Weblate (Swedish)

Currently translated at 11.6% (5 of 43 strings)

Translated using Weblate (Swedish)

Currently translated at 55.5% (5 of 9 strings)

Translated using Weblate (Swedish)

Currently translated at 9.3% (4 of 43 strings)

Translated using Weblate (Swedish)

Currently translated at 66.6% (4 of 6 strings)

Translated using Weblate (Swedish)

Currently translated at 3.7% (3 of 80 strings)

Translated using Weblate (Swedish)

Currently translated at 6.9% (3 of 43 strings)

Translated using Weblate (Swedish)

Currently translated at 4.2% (5 of 118 strings)

Translated using Weblate (Swedish)

Currently translated at 3.4% (5 of 144 strings)

Translated using Weblate (Swedish)

Currently translated at 44.4% (4 of 9 strings)

Translated using Weblate (Swedish)

Currently translated at 19.0% (4 of 21 strings)

Translated using Weblate (Swedish)

Currently translated at 28.5% (2 of 7 strings)

Translated using Weblate (Swedish)

Currently translated at 16.0% (4 of 25 strings)

Translated using Weblate (Swedish)

Currently translated at 6.2% (4 of 64 strings)

Translated using Weblate (Swedish)

Currently translated at 8.3% (4 of 48 strings)

Translated using Weblate (Swedish)

Currently translated at 9.3% (4 of 43 strings)

Translated using Weblate (Swedish)

Currently translated at 44.4% (4 of 9 strings)

Translated using Weblate (Swedish)

Currently translated at 3.3% (4 of 118 strings)

Translated using Weblate (Swedish)

Currently translated at 1.4% (6 of 427 strings)

Translated using Weblate (Swedish)

Currently translated at 2.7% (4 of 144 strings)

Translated using Weblate (Swedish)

Currently translated at 1.1% (5 of 427 strings)

Translated using Weblate (Swedish)

Currently translated at 3.2% (3 of 91 strings)

Translated using Weblate (Swedish)

Currently translated at 0.6% (2 of 321 strings)

Translated using Weblate (Swedish)

Currently translated at 6.9% (3 of 43 strings)

Translated using Weblate (Swedish)

Currently translated at 50.0% (3 of 6 strings)

Translated using Weblate (Swedish)

Currently translated at 2.5% (2 of 80 strings)

Translated using Weblate (Swedish)

Currently translated at 4.6% (2 of 43 strings)

Translated using Weblate (Swedish)

Currently translated at 33.3% (3 of 9 strings)

Translated using Weblate (Swedish)

Currently translated at 2.0% (2 of 100 strings)

Translated using Weblate (Swedish)

Currently translated at 14.2% (3 of 21 strings)

Translated using Weblate (Swedish)

Currently translated at 14.2% (1 of 7 strings)

Translated using Weblate (Swedish)

Currently translated at 12.0% (3 of 25 strings)

Translated using Weblate (Swedish)

Currently translated at 50.0% (1 of 2 strings)

Translated using Weblate (Swedish)

Currently translated at 100.0% (2 of 2 strings)

Translated using Weblate (Swedish)

Currently translated at 4.6% (3 of 64 strings)

Translated using Weblate (Swedish)

Currently translated at 6.2% (3 of 48 strings)

Translated using Weblate (Swedish)

Currently translated at 6.9% (3 of 43 strings)

Translated using Weblate (Swedish)

Currently translated at 33.3% (3 of 9 strings)

Translated using Weblate (Swedish)

Currently translated at 2.5% (3 of 118 strings)

Translated using Weblate (Swedish)

Currently translated at 2.0% (3 of 144 strings)

Translated using Weblate (Swedish)

Currently translated at 0.9% (4 of 427 strings)

Added translation using Weblate (Swedish)

Added translation using Weblate (Swedish)

Added translation using Weblate (Swedish)

Added translation using Weblate (Swedish)

Added translation using Weblate (Swedish)

Added translation using Weblate (Swedish)

Added translation using Weblate (Swedish)

Added translation using Weblate (Swedish)

Added translation using Weblate (Swedish)

Added translation using Weblate (Swedish)

Added translation using Weblate (Swedish)

Added translation using Weblate (Swedish)

Added translation using Weblate (Swedish)

Added translation using Weblate (Swedish)

Added translation using Weblate (Swedish)

Added translation using Weblate (Swedish)

Added translation using Weblate (Swedish)

Added translation using Weblate (Swedish)

Added translation using Weblate (Swedish)

Added translation using Weblate (Swedish)

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Languages add-on <noreply-addon-languages@weblate.org>
Co-authored-by: hassos246 <fluffsy@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-auth/sv/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-camera/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-input/sv/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-player/sv/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/objects/sv/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-configeditor/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-live/sv/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-recording/sv/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-search/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-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
2025-04-11 05:44:32 -05:00
Hosted Weblate
92ac06e55d Translated using Weblate (French)
Currently translated at 17.5% (16 of 91 strings)

Translated using Weblate (French)

Currently translated at 4.6% (15 of 321 strings)

Translated using Weblate (French)

Currently translated at 39.5% (17 of 43 strings)

Translated using Weblate (French)

Currently translated at 21.2% (17 of 80 strings)

Translated using Weblate (French)

Currently translated at 15.0% (15 of 100 strings)

Translated using Weblate (French)

Currently translated at 80.9% (17 of 21 strings)

Translated using Weblate (French)

Currently translated at 26.5% (17 of 64 strings)

Translated using Weblate (French)

Currently translated at 68.0% (17 of 25 strings)

Translated using Weblate (French)

Currently translated at 41.8% (18 of 43 strings)

Translated using Weblate (French)

Currently translated at 15.2% (18 of 118 strings)

Translated using Weblate (French)

Currently translated at 5.6% (24 of 427 strings)

Translated using Weblate (French)

Currently translated at 15.3% (14 of 91 strings)

Translated using Weblate (French)

Currently translated at 4.0% (13 of 321 strings)

Translated using Weblate (French)

Currently translated at 34.8% (15 of 43 strings)

Translated using Weblate (French)

Currently translated at 18.7% (15 of 80 strings)

Translated using Weblate (French)

Currently translated at 46.5% (20 of 43 strings)

Translated using Weblate (French)

Currently translated at 46.5% (20 of 43 strings)

Translated using Weblate (French)

Currently translated at 14.0% (14 of 100 strings)

Translated using Weblate (French)

Currently translated at 76.1% (16 of 21 strings)

Translated using Weblate (French)

Currently translated at 25.0% (16 of 64 strings)

Translated using Weblate (French)

Currently translated at 64.0% (16 of 25 strings)

Translated using Weblate (French)

Currently translated at 56.2% (27 of 48 strings)

Translated using Weblate (French)

Currently translated at 56.2% (27 of 48 strings)

Translated using Weblate (French)

Currently translated at 37.2% (16 of 43 strings)

Translated using Weblate (French)

Currently translated at 13.5% (16 of 118 strings)

Translated using Weblate (French)

Currently translated at 89.5% (129 of 144 strings)

Translated using Weblate (French)

Currently translated at 89.5% (129 of 144 strings)

Translated using Weblate (French)

Currently translated at 4.6% (20 of 427 strings)

Translated using Weblate (French)

Currently translated at 18.6% (8 of 43 strings)

Translated using Weblate (French)

Currently translated at 100.0% (9 of 9 strings)

Translated using Weblate (French)

Currently translated at 7.6% (7 of 91 strings)

Translated using Weblate (French)

Currently translated at 2.1% (7 of 321 strings)

Translated using Weblate (French)

Currently translated at 18.6% (8 of 43 strings)

Translated using Weblate (French)

Currently translated at 100.0% (6 of 6 strings)

Translated using Weblate (French)

Currently translated at 10.0% (8 of 80 strings)

Translated using Weblate (French)

Currently translated at 16.2% (7 of 43 strings)

Translated using Weblate (French)

Currently translated at 88.8% (8 of 9 strings)

Translated using Weblate (French)

Currently translated at 8.0% (8 of 100 strings)

Translated using Weblate (French)

Currently translated at 42.8% (9 of 21 strings)

Translated using Weblate (French)

Currently translated at 14.0% (9 of 64 strings)

Translated using Weblate (French)

Currently translated at 100.0% (7 of 7 strings)

Translated using Weblate (French)

Currently translated at 36.0% (9 of 25 strings)

Translated using Weblate (French)

Currently translated at 18.7% (9 of 48 strings)

Translated using Weblate (French)

Currently translated at 100.0% (9 of 9 strings)

Translated using Weblate (French)

Currently translated at 20.9% (9 of 43 strings)

Translated using Weblate (French)

Currently translated at 7.6% (9 of 118 strings)

Translated using Weblate (French)

Currently translated at 6.2% (9 of 144 strings)

Translated using Weblate (French)

Currently translated at 2.8% (12 of 427 strings)

Translated using Weblate (French)

Currently translated at 2.1% (2 of 91 strings)

Translated using Weblate (French)

Currently translated at 0.6% (2 of 321 strings)

Translated using Weblate (French)

Currently translated at 4.6% (2 of 43 strings)

Translated using Weblate (French)

Currently translated at 50.0% (3 of 6 strings)

Translated using Weblate (French)

Currently translated at 3.7% (3 of 80 strings)

Translated using Weblate (French)

Currently translated at 6.9% (3 of 43 strings)

Translated using Weblate (French)

Currently translated at 33.3% (3 of 9 strings)

Translated using Weblate (French)

Currently translated at 3.0% (3 of 100 strings)

Translated using Weblate (French)

Currently translated at 14.2% (3 of 21 strings)

Translated using Weblate (French)

Currently translated at 4.6% (3 of 64 strings)

Translated using Weblate (French)

Currently translated at 42.8% (3 of 7 strings)

Translated using Weblate (French)

Currently translated at 12.0% (3 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% (2 of 2 strings)

Translated using Weblate (French)

Currently translated at 6.2% (3 of 48 strings)

Translated using Weblate (French)

Currently translated at 33.3% (3 of 9 strings)

Translated using Weblate (French)

Currently translated at 6.9% (3 of 43 strings)

Translated using Weblate (French)

Currently translated at 2.5% (3 of 118 strings)

Translated using Weblate (French)

Currently translated at 2.0% (3 of 144 strings)

Translated using Weblate (French)

Currently translated at 0.9% (4 of 427 strings)

Added translation using Weblate (French)

Added translation using Weblate (French)

Added translation using Weblate (French)

Added translation using Weblate (French)

Added translation using Weblate (French)

Added translation using Weblate (French)

Added translation using Weblate (French)

Added translation using Weblate (French)

Added translation using Weblate (French)

Update translation files

Updated by "Squash Git commits" add-on in Weblate.

Added translation using Weblate (French)

Added translation using Weblate (French)

Added translation using Weblate (French)

Added translation using Weblate (French)

Added translation using Weblate (French)

Update translation files

Updated by "Squash Git commits" add-on in Weblate.

Added translation using Weblate (French)

Added translation using Weblate (French)

Added translation using Weblate (French)

Added translation using Weblate (French)

Update translation files

Updated by "Squash Git commits" add-on in Weblate.

Translated using Weblate (French)

Currently translated at 0.2% (1 of 427 strings)

Added translation using Weblate (French)

Added translation using Weblate (French)

Co-authored-by: Apocoloquintose <bertrand.moreux@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Languages add-on <noreply-addon-languages@weblate.org>
Co-authored-by: Thomas <arpelboxes@yahoo.fr>
Co-authored-by: Xavier Vanderstukken <xavan83@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/audio/fr/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/
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-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-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
2025-04-11 05:44:32 -05:00
Hosted Weblate
6d0efa638f Translated using Weblate (Spanish)
Currently translated at 100.0% (427 of 427 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (427 of 427 strings)

Translated using Weblate (Spanish)

Currently translated at 96.2% (411 of 427 strings)

Translated using Weblate (Spanish)

Currently translated at 95.7% (409 of 427 strings)

Translated using Weblate (Spanish)

Currently translated at 94.8% (405 of 427 strings)

Translated using Weblate (Spanish)

Currently translated at 93.2% (398 of 427 strings)

Translated using Weblate (Spanish)

Currently translated at 91.3% (390 of 427 strings)

Translated using Weblate (Spanish)

Currently translated at 18.0% (77 of 427 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (80 of 80 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (64 of 64 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (48 of 48 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (43 of 43 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (9 of 9 strings)

Translated using Weblate (Spanish)

Currently translated at 17.5% (75 of 427 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (321 of 321 strings)

Translated using Weblate (Spanish)

Currently translated at 89.0% (57 of 64 strings)

Translated using Weblate (Spanish)

Currently translated at 87.5% (56 of 64 strings)

Translated using Weblate (Spanish)

Currently translated at 85.9% (55 of 64 strings)

Translated using Weblate (Spanish)

Currently translated at 84.3% (54 of 64 strings)

Translated using Weblate (Spanish)

Currently translated at 82.8% (53 of 64 strings)

Translated using Weblate (Spanish)

Currently translated at 82.8% (53 of 64 strings)

Translated using Weblate (Spanish)

Currently translated at 70.3% (45 of 64 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (21 of 21 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (7 of 7 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (25 of 25 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (2 of 2 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (2 of 2 strings)

Translated using Weblate (Spanish)

Currently translated at 67.1% (43 of 64 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (118 of 118 strings)

Translated using Weblate (Spanish)

Currently translated at 6.0% (26 of 427 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (100 of 100 strings)

Translated using Weblate (Spanish)

Currently translated at 23.8% (5 of 21 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (80 of 80 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (43 of 43 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (9 of 9 strings)

Translated using Weblate (Spanish)

Currently translated at 12.0% (12 of 100 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (144 of 144 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (43 of 43 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (6 of 6 strings)

Translated using Weblate (Spanish)

Currently translated at 55.0% (44 of 80 strings)

Translated using Weblate (Spanish)

Currently translated at 1.5% (1 of 64 strings)

Translated using Weblate (Spanish)

Currently translated at 13.9% (6 of 43 strings)

Translated using Weblate (Spanish)

Currently translated at 6.9% (3 of 43 strings)

Translated using Weblate (Spanish)

Currently translated at 4.6% (2 of 43 strings)

Translated using Weblate (Spanish)

Currently translated at 11.1% (1 of 9 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (91 of 91 strings)

Translated using Weblate (Spanish)

Currently translated at 91.2% (83 of 91 strings)

Translated using Weblate (Spanish)

Currently translated at 81.3% (74 of 91 strings)

Translated using Weblate (Spanish)

Currently translated at 78.0% (71 of 91 strings)

Translated using Weblate (Spanish)

Currently translated at 74.7% (68 of 91 strings)

Translated using Weblate (Spanish)

Currently translated at 72.5% (66 of 91 strings)

Translated using Weblate (Spanish)

Currently translated at 68.1% (62 of 91 strings)

Translated using Weblate (Spanish)

Currently translated at 65.9% (60 of 91 strings)

Translated using Weblate (Spanish)

Currently translated at 64.8% (59 of 91 strings)

Translated using Weblate (Spanish)

Currently translated at 63.7% (58 of 91 strings)

Translated using Weblate (Spanish)

Currently translated at 48.3% (44 of 91 strings)

Translated using Weblate (Spanish)

Currently translated at 41.7% (38 of 91 strings)

Translated using Weblate (Spanish)

Currently translated at 36.2% (33 of 91 strings)

Translated using Weblate (Spanish)

Currently translated at 35.1% (32 of 91 strings)

Translated using Weblate (Spanish)

Currently translated at 25.2% (23 of 91 strings)

Translated using Weblate (Spanish)

Currently translated at 23.0% (21 of 91 strings)

Translated using Weblate (Spanish)

Currently translated at 21.9% (20 of 91 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (321 of 321 strings)

Translated using Weblate (Spanish)

Currently translated at 61.0% (196 of 321 strings)

Translated using Weblate (Spanish)

Currently translated at 42.0% (135 of 321 strings)

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: jjavin <javiernovoa@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/audio/es/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/es/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-auth/es/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-camera/es/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-dialog/es/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-filter/es/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-icons/es/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-input/es/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-player/es/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/objects/es/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-configeditor/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-exports/es/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-facelibrary/es/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-live/es/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-recording/es/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-search/es/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/es/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-system/es/
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-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
2025-04-11 05:44:32 -05:00
Hosted Weblate
d8bc10c583 Translated using Weblate (Dutch)
Currently translated at 100.0% (91 of 91 strings)

Translated using Weblate (Dutch)

Currently translated at 1.8% (6 of 321 strings)

Translated using Weblate (Dutch)

Currently translated at 100.0% (43 of 43 strings)

Translated using Weblate (Dutch)

Currently translated at 100.0% (6 of 6 strings)

Translated using Weblate (Dutch)

Currently translated at 100.0% (43 of 43 strings)

Translated using Weblate (Dutch)

Currently translated at 100.0% (9 of 9 strings)

Translated using Weblate (Dutch)

Currently translated at 100.0% (21 of 21 strings)

Translated using Weblate (Dutch)

Currently translated at 100.0% (7 of 7 strings)

Translated using Weblate (Dutch)

Currently translated at 100.0% (25 of 25 strings)

Translated using Weblate (Dutch)

Currently translated at 100.0% (2 of 2 strings)

Translated using Weblate (Dutch)

Currently translated at 100.0% (2 of 2 strings)

Translated using Weblate (Dutch)

Currently translated at 100.0% (64 of 64 strings)

Translated using Weblate (Dutch)

Currently translated at 100.0% (48 of 48 strings)

Translated using Weblate (Dutch)

Currently translated at 100.0% (118 of 118 strings)

Translated using Weblate (Dutch)

Currently translated at 100.0% (427 of 427 strings)

Translated using Weblate (Dutch)

Currently translated at 4.6% (2 of 43 strings)

Translated using Weblate (Dutch)

Currently translated at 6.9% (3 of 43 strings)

Translated using Weblate (Dutch)

Currently translated at 11.1% (1 of 9 strings)

Translated using Weblate (Dutch)

Currently translated at 4.7% (1 of 21 strings)

Translated using Weblate (Dutch)

Currently translated at 14.2% (1 of 7 strings)

Translated using Weblate (Dutch)

Currently translated at 50.8% (217 of 427 strings)

Translated using Weblate (Dutch)

Currently translated at 99.3% (143 of 144 strings)

Translated using Weblate (Dutch)

Currently translated at 50.5% (216 of 427 strings)

Translated using Weblate (Dutch)

Currently translated at 48.0% (205 of 427 strings)

Translated using Weblate (Dutch)

Currently translated at 8.4% (10 of 118 strings)

Translated using Weblate (Dutch)

Currently translated at 29.5% (126 of 427 strings)

Translated using Weblate (Dutch)

Currently translated at 4.6% (2 of 43 strings)

Translated using Weblate (Dutch)

Currently translated at 98.0% (98 of 100 strings)

Translated using Weblate (Dutch)

Currently translated at 100.0% (43 of 43 strings)

Translated using Weblate (Dutch)

Currently translated at 7.6% (9 of 118 strings)

Translated using Weblate (Dutch)

Currently translated at 29.0% (124 of 427 strings)

Translated using Weblate (Dutch)

Currently translated at 52.0% (52 of 100 strings)

Translated using Weblate (Dutch)

Currently translated at 51.0% (51 of 100 strings)

Translated using Weblate (Dutch)

Currently translated at 49.0% (49 of 100 strings)

Translated using Weblate (Dutch)

Currently translated at 100.0% (9 of 9 strings)

Translated using Weblate (Dutch)

Currently translated at 88.8% (8 of 9 strings)

Translated using Weblate (Dutch)

Currently translated at 100.0% (80 of 80 strings)

Translated using Weblate (Dutch)

Currently translated at 65.0% (52 of 80 strings)

Translated using Weblate (Dutch)

Currently translated at 98.6% (142 of 144 strings)

Translated using Weblate (Dutch)

Currently translated at 95.1% (137 of 144 strings)

Translated using Weblate (Dutch)

Currently translated at 94.4% (136 of 144 strings)

Translated using Weblate (Dutch)

Currently translated at 93.7% (135 of 144 strings)

Translated using Weblate (Dutch)

Currently translated at 2.3% (1 of 43 strings)

Translated using Weblate (Dutch)

Currently translated at 92.3% (133 of 144 strings)

Translated using Weblate (Dutch)

Currently translated at 71.5% (103 of 144 strings)

Translated using Weblate (Dutch)

Currently translated at 70.8% (102 of 144 strings)

Translated using Weblate (Dutch)

Currently translated at 70.8% (102 of 144 strings)

Translated using Weblate (Dutch)

Currently translated at 64.5% (93 of 144 strings)

Translated using Weblate (Dutch)

Currently translated at 55.5% (80 of 144 strings)

Translated using Weblate (Dutch)

Currently translated at 54.8% (79 of 144 strings)

Translated using Weblate (Dutch)

Currently translated at 54.1% (78 of 144 strings)

Translated using Weblate (Dutch)

Currently translated at 52.7% (76 of 144 strings)

Translated using Weblate (Dutch)

Currently translated at 50.6% (73 of 144 strings)

Translated using Weblate (Dutch)

Currently translated at 50.0% (72 of 144 strings)

Translated using Weblate (Dutch)

Currently translated at 47.9% (69 of 144 strings)

Translated using Weblate (Dutch)

Currently translated at 35.4% (51 of 144 strings)

Translated using Weblate (Dutch)

Currently translated at 34.7% (50 of 144 strings)

Translated using Weblate (Dutch)

Currently translated at 34.0% (49 of 144 strings)

Translated using Weblate (Dutch)

Currently translated at 24.3% (35 of 144 strings)

Translated using Weblate (Dutch)

Currently translated at 17.3% (25 of 144 strings)

Translated using Weblate (Dutch)

Currently translated at 16.6% (24 of 144 strings)

Translated using Weblate (Dutch)

Currently translated at 15.9% (23 of 144 strings)

Translated using Weblate (Dutch)

Currently translated at 15.9% (23 of 144 strings)

Translated using Weblate (Dutch)

Currently translated at 15.2% (22 of 144 strings)

Translated using Weblate (Dutch)

Currently translated at 2.0% (3 of 144 strings)

Added translation using Weblate (Dutch)

Added translation using Weblate (Dutch)

Added translation using Weblate (Dutch)

Added translation using Weblate (Dutch)

Added translation using Weblate (Dutch)

Added translation using Weblate (Dutch)

Added translation using Weblate (Dutch)

Added translation using Weblate (Dutch)

Added translation using Weblate (Dutch)

Added translation using Weblate (Dutch)

Added translation using Weblate (Dutch)

Added translation using Weblate (Dutch)

Added translation using Weblate (Dutch)

Added translation using Weblate (Dutch)

Added translation using Weblate (Dutch)

Added translation using Weblate (Dutch)

Added translation using Weblate (Dutch)

Added translation using Weblate (Dutch)

Added translation using Weblate (Dutch)

Added translation using Weblate (Dutch)

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: Marijn <marijn@users.noreply.hosted.weblate.org>
Co-authored-by: haico van roeden <haico@vanroeden.info>
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-camera/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/components-icons/nl/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-input/nl/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-player/nl/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/objects/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-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-recording/nl/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-search/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/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-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
2025-04-11 05:44:32 -05:00
Hosted Weblate
5569482830 Added translation using Weblate (Arabic)
Added translation using Weblate (Arabic)

Added translation using Weblate (Arabic)

Added translation using Weblate (Arabic)

Added translation using Weblate (Arabic)

Added translation using Weblate (Arabic)

Added translation using Weblate (Arabic)

Added translation using Weblate (Arabic)

Added translation using Weblate (Arabic)

Added translation using Weblate (Arabic)

Added translation using Weblate (Arabic)

Added translation using Weblate (Arabic)

Added translation using Weblate (Arabic)

Added translation using Weblate (Arabic)

Added translation using Weblate (Arabic)

Added translation using Weblate (Arabic)

Update translation files

Updated by "Squash Git commits" add-on in Weblate.

Added translation using Weblate (Arabic)

Added translation using Weblate (Arabic)

Added translation using Weblate (Arabic)

Added translation using Weblate (Arabic)

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Languages add-on <noreply-addon-languages@weblate.org>
Co-authored-by: M. Jamous <mamounjamous@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/
Translation: Frigate NVR/common
2025-04-11 05:44:32 -05:00
Hosted Weblate
ab97be2269 Translated using Weblate (Italian)
Currently translated at 100.0% (9 of 9 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (6 of 6 strings)

Translated using Weblate (Italian)

Currently translated at 52.3% (11 of 21 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (7 of 7 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (2 of 2 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (9 of 9 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (144 of 144 strings)

Translated using Weblate (Italian)

Currently translated at 13.3% (57 of 427 strings)

Translated using Weblate (Italian)

Currently translated at 4.3% (4 of 91 strings)

Translated using Weblate (Italian)

Currently translated at 1.2% (4 of 321 strings)

Translated using Weblate (Italian)

Currently translated at 44.4% (4 of 9 strings)

Translated using Weblate (Italian)

Currently translated at 6.2% (4 of 64 strings)

Translated using Weblate (Italian)

Currently translated at 66.6% (4 of 6 strings)

Translated using Weblate (Italian)

Currently translated at 5.0% (4 of 80 strings)

Translated using Weblate (Italian)

Currently translated at 19.0% (4 of 21 strings)

Translated using Weblate (Italian)

Currently translated at 57.1% (4 of 7 strings)

Translated using Weblate (Italian)

Currently translated at 44.4% (4 of 9 strings)

Translated using Weblate (Italian)

Currently translated at 11.6% (5 of 43 strings)

Translated using Weblate (Italian)

Currently translated at 4.0% (4 of 100 strings)

Translated using Weblate (Italian)

Currently translated at 16.0% (4 of 25 strings)

Translated using Weblate (Italian)

Currently translated at 9.3% (4 of 43 strings)

Translated using Weblate (Italian)

Currently translated at 9.3% (11 of 118 strings)

Translated using Weblate (Italian)

Currently translated at 9.3% (4 of 43 strings)

Translated using Weblate (Italian)

Currently translated at 8.3% (4 of 48 strings)

Translated using Weblate (Italian)

Currently translated at 13.3% (57 of 427 strings)

Translated using Weblate (Italian)

Currently translated at 1.0% (1 of 91 strings)

Translated using Weblate (Italian)

Currently translated at 0.6% (2 of 321 strings)

Translated using Weblate (Italian)

Currently translated at 22.2% (2 of 9 strings)

Translated using Weblate (Italian)

Currently translated at 3.1% (2 of 64 strings)

Translated using Weblate (Italian)

Currently translated at 50.0% (3 of 6 strings)

Translated using Weblate (Italian)

Currently translated at 2.5% (2 of 80 strings)

Translated using Weblate (Italian)

Currently translated at 9.5% (2 of 21 strings)

Translated using Weblate (Italian)

Currently translated at 28.5% (2 of 7 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (2 of 2 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (2 of 2 strings)

Translated using Weblate (Italian)

Currently translated at 22.2% (2 of 9 strings)

Translated using Weblate (Italian)

Currently translated at 6.9% (3 of 43 strings)

Translated using Weblate (Italian)

Currently translated at 2.0% (2 of 100 strings)

Translated using Weblate (Italian)

Currently translated at 8.0% (2 of 25 strings)

Translated using Weblate (Italian)

Currently translated at 4.6% (2 of 43 strings)

Translated using Weblate (Italian)

Currently translated at 7.6% (9 of 118 strings)

Translated using Weblate (Italian)

Currently translated at 4.6% (2 of 43 strings)

Translated using Weblate (Italian)

Currently translated at 4.1% (2 of 48 strings)

Translated using Weblate (Italian)

Currently translated at 93.7% (135 of 144 strings)

Translated using Weblate (Italian)

Currently translated at 12.1% (52 of 427 strings)

Translated using Weblate (Italian)

Currently translated at 53.4% (77 of 144 strings)

Translated using Weblate (Italian)

Currently translated at 5.9% (7 of 118 strings)

Translated using Weblate (Italian)

Currently translated at 43.7% (63 of 144 strings)

Translated using Weblate (Italian)

Currently translated at 11.7% (50 of 427 strings)

Added translation using Weblate (Italian)

Translated using Weblate (Italian)

Currently translated at 1.6% (7 of 427 strings)

Added translation using Weblate (Italian)

Translated using Weblate (Italian)

Currently translated at 1.4% (6 of 427 strings)

Added translation using Weblate (Italian)

Added translation using Weblate (Italian)

Added translation using Weblate (Italian)

Added translation using Weblate (Italian)

Added translation using Weblate (Italian)

Added translation using Weblate (Italian)

Added translation using Weblate (Italian)

Added translation using Weblate (Italian)

Added translation using Weblate (Italian)

Added translation using Weblate (Italian)

Added translation using Weblate (Italian)

Added translation using Weblate (Italian)

Added translation using Weblate (Italian)

Added translation using Weblate (Italian)

Added translation using Weblate (Italian)

Added translation using Weblate (Italian)

Added translation using Weblate (Italian)

Added translation using Weblate (Italian)

Co-authored-by: Gringo <ita.translations@tiscali.it>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Languages add-on <noreply-addon-languages@weblate.org>
Co-authored-by: leader86 <leader86@gmail.com>
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-auth/it/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-camera/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/components-icons/it/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-input/it/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-player/it/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/objects/it/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-configeditor/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-live/it/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-recording/it/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-search/it/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/it/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-system/it/
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-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
2025-04-11 05:44:32 -05:00
Hosted Weblate
847e34bfdb Translated using Weblate (Polish)
Currently translated at 2.3% (1 of 43 strings)

Translated using Weblate (Polish)

Currently translated at 4.7% (1 of 21 strings)

Translated using Weblate (Polish)

Currently translated at 21.1% (25 of 118 strings)

Translated using Weblate (Polish)

Currently translated at 100.0% (144 of 144 strings)

Translated using Weblate (Polish)

Currently translated at 100.0% (427 of 427 strings)

Translated using Weblate (Polish)

Currently translated at 16.1% (19 of 118 strings)

Translated using Weblate (Polish)

Currently translated at 88.2% (377 of 427 strings)

Translated using Weblate (Polish)

Currently translated at 9.0% (13 of 144 strings)

Added translation using Weblate (Polish)

Added translation using Weblate (Polish)

Added translation using Weblate (Polish)

Added translation using Weblate (Polish)

Added translation using Weblate (Polish)

Added translation using Weblate (Polish)

Update translation files

Updated by "Squash Git commits" add-on in Weblate.

Added translation using Weblate (Polish)

Added translation using Weblate (Polish)

Added translation using Weblate (Polish)

Added translation using Weblate (Polish)

Translated using Weblate (Polish)

Currently translated at 17.0% (73 of 427 strings)

Added translation using Weblate (Polish)

Translated using Weblate (Polish)

Currently translated at 15.2% (65 of 427 strings)

Added translation using Weblate (Polish)

Translated using Weblate (Polish)

Currently translated at 13.1% (56 of 427 strings)

Added translation using Weblate (Polish)

Translated using Weblate (Polish)

Currently translated at 9.6% (41 of 427 strings)

Added translation using Weblate (Polish)

Translated using Weblate (Polish)

Currently translated at 9.1% (39 of 427 strings)

Update translation files

Updated by "Squash Git commits" add-on in Weblate.

Translated using Weblate (Polish)

Currently translated at 7.2% (31 of 427 strings)

Added translation using Weblate (Polish)

Translated using Weblate (Polish)

Currently translated at 0.4% (2 of 427 strings)

Added translation using Weblate (Polish)

Added translation using Weblate (Polish)

Added translation using Weblate (Polish)

Update translation files

Updated by "Squash Git commits" add-on in Weblate.

Translated using Weblate (Polish)

Currently translated at 0.2% (1 of 427 strings)

Added translation using Weblate (Polish)

Added translation using Weblate (Polish)

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Languages add-on <noreply-addon-languages@weblate.org>
Co-authored-by: Patryk Smoliński <smolinski.patryk@mensa.org.pl>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/audio/pl/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/pl/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/objects/pl/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-events/pl/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-facelibrary/pl/
Translation: Frigate NVR/audio
Translation: Frigate NVR/common
Translation: Frigate NVR/objects
Translation: Frigate NVR/views-events
Translation: Frigate NVR/views-facelibrary
2025-04-11 05:44:32 -05:00
Hosted Weblate
139b641803 Translated using Weblate (Portuguese)
Currently translated at 69.4% (82 of 118 strings)

Translated using Weblate (Portuguese)

Currently translated at 34.6% (148 of 427 strings)

Translated using Weblate (Portuguese)

Currently translated at 76.9% (70 of 91 strings)

Translated using Weblate (Portuguese)

Currently translated at 15.2% (49 of 321 strings)

Translated using Weblate (Portuguese)

Currently translated at 67.4% (29 of 43 strings)

Translated using Weblate (Portuguese)

Currently translated at 100.0% (80 of 80 strings)

Translated using Weblate (Portuguese)

Currently translated at 76.7% (33 of 43 strings)

Translated using Weblate (Portuguese)

Currently translated at 40.0% (40 of 100 strings)

Translated using Weblate (Portuguese)

Currently translated at 100.0% (21 of 21 strings)

Translated using Weblate (Portuguese)

Currently translated at 88.0% (22 of 25 strings)

Translated using Weblate (Portuguese)

Currently translated at 100.0% (48 of 48 strings)

Translated using Weblate (Portuguese)

Currently translated at 100.0% (43 of 43 strings)

Translated using Weblate (Portuguese)

Currently translated at 65.2% (77 of 118 strings)

Translated using Weblate (Portuguese)

Currently translated at 88.1% (127 of 144 strings)

Translated using Weblate (Portuguese)

Currently translated at 34.1% (146 of 427 strings)

Translated using Weblate (Portuguese)

Currently translated at 45.0% (41 of 91 strings)

Translated using Weblate (Portuguese)

Currently translated at 43.9% (40 of 91 strings)

Translated using Weblate (Portuguese)

Currently translated at 42.8% (39 of 91 strings)

Translated using Weblate (Portuguese)

Currently translated at 4.0% (13 of 321 strings)

Translated using Weblate (Portuguese)

Currently translated at 30.2% (13 of 43 strings)

Translated using Weblate (Portuguese)

Currently translated at 100.0% (6 of 6 strings)

Translated using Weblate (Portuguese)

Currently translated at 16.2% (13 of 80 strings)

Translated using Weblate (Portuguese)

Currently translated at 30.2% (13 of 43 strings)

Translated using Weblate (Portuguese)

Currently translated at 100.0% (9 of 9 strings)

Translated using Weblate (Portuguese)

Currently translated at 13.0% (13 of 100 strings)

Translated using Weblate (Portuguese)

Currently translated at 61.9% (13 of 21 strings)

Translated using Weblate (Portuguese)

Currently translated at 100.0% (7 of 7 strings)

Translated using Weblate (Portuguese)

Currently translated at 48.0% (12 of 25 strings)

Translated using Weblate (Portuguese)

Currently translated at 78.1% (50 of 64 strings)

Translated using Weblate (Portuguese)

Currently translated at 91.6% (44 of 48 strings)

Translated using Weblate (Portuguese)

Currently translated at 97.6% (42 of 43 strings)

Translated using Weblate (Portuguese)

Currently translated at 100.0% (9 of 9 strings)

Translated using Weblate (Portuguese)

Currently translated at 86.1% (124 of 144 strings)

Translated using Weblate (Portuguese)

Currently translated at 12.4% (53 of 427 strings)

Translated using Weblate (Portuguese)

Currently translated at 100.0% (2 of 2 strings)

Translated using Weblate (Portuguese)

Currently translated at 100.0% (2 of 2 strings)

Translated using Weblate (Portuguese)

Currently translated at 6.2% (4 of 64 strings)

Translated using Weblate (Portuguese)

Currently translated at 8.3% (4 of 48 strings)

Translated using Weblate (Portuguese)

Currently translated at 11.6% (5 of 43 strings)

Translated using Weblate (Portuguese)

Currently translated at 58.4% (69 of 118 strings)

Translated using Weblate (Portuguese)

Currently translated at 55.5% (5 of 9 strings)

Translated using Weblate (Portuguese)

Currently translated at 83.3% (120 of 144 strings)

Translated using Weblate (Portuguese)

Currently translated at 6.3% (27 of 427 strings)

Translated using Weblate (Portuguese)

Currently translated at 6.3% (27 of 427 strings)

Added translation using Weblate (Portuguese)

Translated using Weblate (Portuguese)

Currently translated at 40.9% (59 of 144 strings)

Added translation using Weblate (Portuguese)

Added translation using Weblate (Portuguese)

Translated using Weblate (Portuguese)

Currently translated at 39.5% (57 of 144 strings)

Translated using Weblate (Portuguese)

Currently translated at 3.2% (14 of 427 strings)

Added translation using Weblate (Portuguese)

Translated using Weblate (Portuguese)

Currently translated at 2.5% (11 of 427 strings)

Added translation using Weblate (Portuguese)

Translated using Weblate (Portuguese)

Currently translated at 38.1% (55 of 144 strings)

Translated using Weblate (Portuguese)

Currently translated at 1.4% (6 of 427 strings)

Added translation using Weblate (Portuguese)

Translated using Weblate (Portuguese)

Currently translated at 34.7% (50 of 144 strings)

Added translation using Weblate (Portuguese)

Translated using Weblate (Portuguese)

Currently translated at 31.2% (45 of 144 strings)

Added translation using Weblate (Portuguese)

Translated using Weblate (Portuguese)

Currently translated at 29.8% (43 of 144 strings)

Added translation using Weblate (Portuguese)

Translated using Weblate (Portuguese)

Currently translated at 27.0% (39 of 144 strings)

Translated using Weblate (Portuguese)

Currently translated at 1.1% (5 of 427 strings)

Update translation files

Updated by "Squash Git commits" add-on in Weblate.

Translated using Weblate (Portuguese)

Currently translated at 25.0% (36 of 144 strings)

Translated using Weblate (Portuguese)

Currently translated at 0.4% (2 of 427 strings)

Update translation files

Updated by "Squash Git commits" add-on in Weblate.

Translated using Weblate (Portuguese)

Currently translated at 23.6% (34 of 144 strings)

Added translation using Weblate (Portuguese)

Translated using Weblate (Portuguese)

Currently translated at 16.6% (24 of 144 strings)

Added translation using Weblate (Portuguese)

Translated using Weblate (Portuguese)

Currently translated at 14.5% (21 of 144 strings)

Added translation using Weblate (Portuguese)

Added translation using Weblate (Portuguese)

Added translation using Weblate (Portuguese)

Added translation using Weblate (Portuguese)

Added translation using Weblate (Portuguese)

Added translation using Weblate (Portuguese)

Added translation using Weblate (Portuguese)

Added translation using Weblate (Portuguese)

Added translation using Weblate (Portuguese)

Co-authored-by: Alexandre Choske <alexandre.choski@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Languages add-on <noreply-addon-languages@weblate.org>
Co-authored-by: P1LH4 <joao.calby@gmail.com>
Co-authored-by: Renato Marson Pagan <remarson@hotmail.com>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/audio/pt/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/pt/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-auth/pt/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-camera/pt/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-dialog/pt/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-filter/pt/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-icons/pt/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-input/pt/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-player/pt/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/objects/pt/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-configeditor/pt/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-events/pt/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-explore/pt/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-exports/pt/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-facelibrary/pt/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-live/pt/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-recording/pt/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-search/pt/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/pt/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-system/pt/
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-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
2025-04-11 05:44:32 -05:00
Hosted Weblate
ac77486b07 Translated using Weblate (Czech)
Currently translated at 2.3% (1 of 43 strings)

Translated using Weblate (Czech)

Currently translated at 11.1% (1 of 9 strings)

Translated using Weblate (Czech)

Currently translated at 0.8% (1 of 118 strings)

Translated using Weblate (Czech)

Currently translated at 0.6% (1 of 144 strings)

Translated using Weblate (Czech)

Currently translated at 1.6% (7 of 427 strings)

Translated using Weblate (Czech)

Currently translated at 0.7% (3 of 427 strings)

Added translation using Weblate (Czech)

Added translation using Weblate (Czech)

Added translation using Weblate (Czech)

Added translation using Weblate (Czech)

Added translation using Weblate (Czech)

Added translation using Weblate (Czech)

Added translation using Weblate (Czech)

Added translation using Weblate (Czech)

Added translation using Weblate (Czech)

Added translation using Weblate (Czech)

Added translation using Weblate (Czech)

Added translation using Weblate (Czech)

Added translation using Weblate (Czech)

Added translation using Weblate (Czech)

Added translation using Weblate (Czech)

Added translation using Weblate (Czech)

Added translation using Weblate (Czech)

Added translation using Weblate (Czech)

Translated using Weblate (Czech)

Currently translated at 0.2% (1 of 427 strings)

Added translation using Weblate (Czech)

Added translation using Weblate (Czech)

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Jan Jaroš <honzaj@gmail.com>
Co-authored-by: Languages add-on <noreply-addon-languages@weblate.org>
Co-authored-by: panda101186 <sindel_sikovna.0x@icloud.com>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/audio/cs/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/cs/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-auth/cs/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-camera/cs/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/objects/cs/
Translation: Frigate NVR/audio
Translation: Frigate NVR/common
Translation: Frigate NVR/components-auth
Translation: Frigate NVR/components-camera
Translation: Frigate NVR/objects
2025-04-11 05:44:32 -05:00
Hosted Weblate
757fedfc44 Translated using Weblate (Russian)
Currently translated at 9.1% (39 of 427 strings)

Added translation using Weblate (Russian)

Added translation using Weblate (Russian)

Translated using Weblate (Russian)

Currently translated at 6.0% (26 of 427 strings)

Added translation using Weblate (Russian)

Added translation using Weblate (Russian)

Added translation using Weblate (Russian)

Added translation using Weblate (Russian)

Translated using Weblate (Russian)

Currently translated at 5.6% (24 of 427 strings)

Added translation using Weblate (Russian)

Added translation using Weblate (Russian)

Added translation using Weblate (Russian)

Added translation using Weblate (Russian)

Added translation using Weblate (Russian)

Added translation using Weblate (Russian)

Added translation using Weblate (Russian)

Translated using Weblate (Russian)

Currently translated at 5.6% (24 of 427 strings)

Added translation using Weblate (Russian)

Translated using Weblate (Russian)

Currently translated at 5.3% (23 of 427 strings)

Added translation using Weblate (Russian)

Translated using Weblate (Russian)

Currently translated at 5.1% (22 of 427 strings)

Update translation files

Updated by "Squash Git commits" add-on in Weblate.

Translated using Weblate (Russian)

Currently translated at 4.9% (21 of 427 strings)

Added translation using Weblate (Russian)

Added translation using Weblate (Russian)

Added translation using Weblate (Russian)

Update translation files

Updated by "Squash Git commits" add-on in Weblate.

Added translation using Weblate (Russian)

Added translation using Weblate (Russian)

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Languages add-on <noreply-addon-languages@weblate.org>
Co-authored-by: LordArrin <knyazphobos@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/audio/ru/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/
Translation: Frigate NVR/audio
Translation: Frigate NVR/common
2025-04-11 05:44:32 -05:00
Hosted Weblate
1717805dea Translated using Weblate (German)
Currently translated at 45.0% (45 of 100 strings)

Translated using Weblate (German)

Currently translated at 14.5% (7 of 48 strings)

Translated using Weblate (German)

Currently translated at 100.0% (427 of 427 strings)

Translated using Weblate (German)

Currently translated at 32.5% (14 of 43 strings)

Translated using Weblate (German)

Currently translated at 100.0% (144 of 144 strings)

Translated using Weblate (German)

Currently translated at 48.2% (206 of 427 strings)

Translated using Weblate (German)

Currently translated at 67.3% (97 of 144 strings)

Translated using Weblate (German)

Currently translated at 4.8% (7 of 144 strings)

Translated using Weblate (German)

Currently translated at 97.6% (42 of 43 strings)

Translated using Weblate (German)

Currently translated at 100.0% (6 of 6 strings)

Translated using Weblate (German)

Currently translated at 100.0% (118 of 118 strings)

Translated using Weblate (German)

Currently translated at 30.2% (13 of 43 strings)

Translated using Weblate (German)

Currently translated at 100.0% (9 of 9 strings)

Translated using Weblate (German)

Currently translated at 1.0% (1 of 100 strings)

Translated using Weblate (German)

Currently translated at 100.0% (21 of 21 strings)

Translated using Weblate (German)

Currently translated at 100.0% (7 of 7 strings)

Translated using Weblate (German)

Currently translated at 100.0% (25 of 25 strings)

Translated using Weblate (German)

Currently translated at 100.0% (2 of 2 strings)

Translated using Weblate (German)

Currently translated at 100.0% (2 of 2 strings)

Translated using Weblate (German)

Currently translated at 1.5% (1 of 64 strings)

Translated using Weblate (German)

Currently translated at 100.0% (9 of 9 strings)

Translated using Weblate (German)

Currently translated at 100.0% (43 of 43 strings)

Translated using Weblate (German)

Currently translated at 40.2% (172 of 427 strings)

Translated using Weblate (German)

Currently translated at 100.0% (118 of 118 strings)

Translated using Weblate (German)

Currently translated at 7.2% (31 of 427 strings)

Added translation using Weblate (German)

Added translation using Weblate (German)

Added translation using Weblate (German)

Added translation using Weblate (German)

Update translation files

Updated by "Squash Git commits" add-on in Weblate.

Added translation using Weblate (German)

Added translation using Weblate (German)

Added translation using Weblate (German)

Added translation using Weblate (German)

Added translation using Weblate (German)

Added translation using Weblate (German)

Update translation files

Updated by "Squash Git commits" add-on in Weblate.

Translated using Weblate (German)

Currently translated at 1.6% (7 of 427 strings)

Added translation using Weblate (German)

Added translation using Weblate (German)

Added translation using Weblate (German)

Added translation using Weblate (German)

Translated using Weblate (German)

Currently translated at 0.4% (2 of 427 strings)

Added translation using Weblate (German)

Added translation using Weblate (German)

Translated using Weblate (German)

Currently translated at 0.2% (1 of 427 strings)

Added translation using Weblate (German)

Added translation using Weblate (German)

Update translation files

Updated by "Squash Git commits" add-on in Weblate.

Added translation using Weblate (German)

Added translation using Weblate (German)

Co-authored-by: Darkyputz <darkwing@gmx.li>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Languages add-on <noreply-addon-languages@weblate.org>
Co-authored-by: MarcelKie <marcel.kiem@googlemail.com>
Co-authored-by: Mehmet Uyanik <met456@gmail.com>
Co-authored-by: banthungprong <github@banthungprong.info>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/audio/de/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/de/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-auth/de/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-camera/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/components-icons/de/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-input/de/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-player/de/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/objects/de/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-configeditor/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-recording/de/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-search/de/
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-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-recording
Translation: Frigate NVR/views-search
2025-04-11 05:19:04 -05:00
Hosted Weblate
b17a1ea07a Translated using Weblate (Turkish)
Currently translated at 100.0% (91 of 91 strings)

Translated using Weblate (Turkish)

Currently translated at 100.0% (321 of 321 strings)

Translated using Weblate (Turkish)

Currently translated at 100.0% (43 of 43 strings)

Translated using Weblate (Turkish)

Currently translated at 100.0% (80 of 80 strings)

Translated using Weblate (Turkish)

Currently translated at 100.0% (43 of 43 strings)

Translated using Weblate (Turkish)

Currently translated at 100.0% (100 of 100 strings)

Translated using Weblate (Turkish)

Currently translated at 100.0% (64 of 64 strings)

Translated using Weblate (Turkish)

Currently translated at 100.0% (43 of 43 strings)

Translated using Weblate (Turkish)

Currently translated at 100.0% (9 of 9 strings)

Translated using Weblate (Turkish)

Currently translated at 100.0% (144 of 144 strings)

Translated using Weblate (Turkish)

Currently translated at 22.1% (71 of 321 strings)

Translated using Weblate (Turkish)

Currently translated at 20.8% (67 of 321 strings)

Translated using Weblate (Turkish)

Currently translated at 20.5% (66 of 321 strings)

Translated using Weblate (Turkish)

Currently translated at 100.0% (43 of 43 strings)

Translated using Weblate (Turkish)

Currently translated at 2.0% (2 of 100 strings)

Translated using Weblate (Turkish)

Currently translated at 100.0% (144 of 144 strings)

Translated using Weblate (Turkish)

Currently translated at 20.2% (65 of 321 strings)

Translated using Weblate (Turkish)

Currently translated at 95.3% (41 of 43 strings)

Translated using Weblate (Turkish)

Currently translated at 2.0% (2 of 100 strings)

Translated using Weblate (Turkish)

Currently translated at 100.0% (118 of 118 strings)

Translated using Weblate (Turkish)

Currently translated at 100.0% (91 of 91 strings)

Translated using Weblate (Turkish)

Currently translated at 20.2% (65 of 321 strings)

Translated using Weblate (Turkish)

Currently translated at 100.0% (43 of 43 strings)

Translated using Weblate (Turkish)

Currently translated at 100.0% (6 of 6 strings)

Translated using Weblate (Turkish)

Currently translated at 100.0% (9 of 9 strings)

Translated using Weblate (Turkish)

Currently translated at 1.0% (1 of 100 strings)

Translated using Weblate (Turkish)

Currently translated at 100.0% (21 of 21 strings)

Translated using Weblate (Turkish)

Currently translated at 100.0% (2 of 2 strings)

Translated using Weblate (Turkish)

Currently translated at 100.0% (64 of 64 strings)

Translated using Weblate (Turkish)

Currently translated at 100.0% (48 of 48 strings)

Translated using Weblate (Turkish)

Currently translated at 1.5% (5 of 321 strings)

Translated using Weblate (Turkish)

Currently translated at 100.0% (144 of 144 strings)

Translated using Weblate (Turkish)

Currently translated at 100.0% (144 of 144 strings)

Translated using Weblate (Turkish)

Currently translated at 100.0% (144 of 144 strings)

Translated using Weblate (Turkish)

Currently translated at 97.8% (89 of 91 strings)

Translated using Weblate (Turkish)

Currently translated at 97.6% (42 of 43 strings)

Translated using Weblate (Turkish)

Currently translated at 11.1% (1 of 9 strings)

Translated using Weblate (Turkish)

Currently translated at 4.7% (1 of 21 strings)

Translated using Weblate (Turkish)

Currently translated at 100.0% (7 of 7 strings)

Translated using Weblate (Turkish)

Currently translated at 100.0% (118 of 118 strings)

Translated using Weblate (Turkish)

Currently translated at 100.0% (25 of 25 strings)

Translated using Weblate (Turkish)

Currently translated at 100.0% (64 of 64 strings)

Translated using Weblate (Turkish)

Currently translated at 100.0% (48 of 48 strings)

Translated using Weblate (Turkish)

Currently translated at 100.0% (43 of 43 strings)

Translated using Weblate (Turkish)

Currently translated at 100.0% (427 of 427 strings)

Translated using Weblate (Turkish)

Currently translated at 100.0% (144 of 144 strings)

Translated using Weblate (Turkish)

Currently translated at 100.0% (118 of 118 strings)

Translated using Weblate (Turkish)

Currently translated at 95.7% (113 of 118 strings)

Translated using Weblate (Turkish)

Currently translated at 100.0% (25 of 25 strings)

Translated using Weblate (Turkish)

Currently translated at 50.0% (1 of 2 strings)

Translated using Weblate (Turkish)

Currently translated at 16.6% (1 of 6 strings)

Translated using Weblate (Turkish)

Currently translated at 2.3% (1 of 43 strings)

Translated using Weblate (Turkish)

Currently translated at 21.1% (25 of 118 strings)

Translated using Weblate (Turkish)

Currently translated at 100.0% (2 of 2 strings)

Translated using Weblate (Turkish)

Currently translated at 39.0% (25 of 64 strings)

Translated using Weblate (Turkish)

Currently translated at 47.9% (23 of 48 strings)

Translated using Weblate (Turkish)

Currently translated at 58.1% (25 of 43 strings)

Translated using Weblate (Turkish)

Currently translated at 100.0% (9 of 9 strings)

Translated using Weblate (Turkish)

Currently translated at 7.7% (33 of 427 strings)

Translated using Weblate (Turkish)

Currently translated at 97.9% (141 of 144 strings)

Translated using Weblate (Turkish)

Currently translated at 3.3% (4 of 118 strings)

Translated using Weblate (Turkish)

Currently translated at 2.8% (12 of 427 strings)

Co-authored-by: Blake Blackshear <blake@frigate.video>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Mehmet Uyanik <met456@gmail.com>
Co-authored-by: pcislocked <git@pcislocked.net>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/audio/tr/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/tr/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-auth/tr/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-camera/tr/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-dialog/tr/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-filter/tr/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-icons/tr/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-input/tr/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-player/tr/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/objects/tr/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-configeditor/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-recording/tr/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-search/tr/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/tr/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-system/tr/
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-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
2025-04-11 05:19:04 -05:00
Nicolas Mowen
30ac868757 Quick fixes (#17639)
* Use mobile drawer for face selection

* Convert face selection to separate component

* Cleanup dialogs

* Add FAQ for record resolution

* Update image name

* Remove unused

* Cleanup
2025-04-10 16:33:51 -05:00
Josh Hawkins
64db518837 Edit license plate in Tracked Object Details (#17631)
* api endpoint

* frontend

* only allow admins to edit sub labels and plates
2025-04-10 08:27:01 -06:00
Josh Hawkins
d8cde59aaf More face fixes (#17630)
* update max upload to 20mb

* ensure cancel button doesn't submit form

* update nginx config
2025-04-10 07:17:13 -06:00
Josh Hawkins
049c5cfa9d Fix search sort when using score or estimated speed (#17629) 2025-04-10 07:07:50 -06:00
Nicolas Mowen
3d2bfa34c8 Face fixes (#17618)
* Correctly ensure updates are more periodic when lpr or face detection is needed

* Cleanup

* Update api schema

* Don't update for stationary objects

* Simplify check

* Remove
2025-04-09 20:56:11 -05:00
Nicolas Mowen
5d63c58f2c UI tweaks (#17615)
* Ensure that text field doesn't zoom on iOS

* Add keyboard shortcut support to generic video player
2025-04-09 09:46:27 -05:00
Josh Hawkins
cab701f054 Small tweaks and fixes (#17614)
* add ability to use * and ? in recognized plate input

* fix check for active polygon index

* fix broken link

* lpr docs tweaks
2025-04-09 07:26:06 -05:00
Nicolas Mowen
269cadff15 Show detail icon indicating if a car has a plate recognized that is not a known plate (#17601) 2025-04-08 10:08:01 -05:00
Josh Hawkins
f618f25d7e catch not implemented exception (#17594) 2025-04-07 20:41:53 -06:00
Josh Hawkins
921908fe33 LPR device selection (#17592)
* config changes

* use device

* docs

* docs

* reset state

* remove auto

* use device

* docs
2025-04-07 19:30:08 -06:00
Josh Hawkins
cb27bdb2f7 LPR fixes (#17588)
* docs

* docs

* docs

* docs

* fix box merging logic

* always run paddleocr models on cpu

* docs clarity

* fix docs

* docs
2025-04-07 15:25:46 -05:00
Josh Hawkins
f2840468b4 Fix websocket enabled state (#17585)
* use camera activity hook instead of websocket enabled state

* use original websocket but use ternary operator instead
2025-04-07 12:24:53 -05:00
GuoQing Liu
f978ef2cda Update README_CN (#17581)
* Update README_CN.md

* Update README_CN.md

* Update README_CN.md
2025-04-07 08:32:43 -06:00
Josh Hawkins
676180afca Update translation docs for weblate (#17579)
* Update translation docs for weblate

* link
2025-04-07 08:12:42 -05:00
Josh Hawkins
a29d4382e1 Catch crash when openai compatible endpoints don't return results correctly (#17572) 2025-04-07 06:59:39 -06:00
Weblate (bot)
7d7d99cb70 Translations update from Hosted Weblate (#17563)
* Added translation using Weblate (Spanish)

* Translated using Weblate (Spanish)

Currently translated at 100.0% (144 of 144 strings)

Translation: Frigate NVR/common
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/es/

* Added translation using Weblate (Spanish)

* Added translation using Weblate (Spanish)

* Added translation using Weblate (Spanish)

* Added translation using Weblate (Spanish)

* Added translation using Weblate (Spanish)

* Added translation using Weblate (Spanish)

* Added translation using Weblate (Spanish)

* Added translation using Weblate (Spanish)

* Added translation using Weblate (Spanish)

* Added translation using Weblate (Spanish)

* Added translation using Weblate (Spanish)

* Added translation using Weblate (Spanish)

* Added translation using Weblate (Spanish)

* Added translation using Weblate (Spanish)

* Added translation using Weblate (Spanish)

* Translated using Weblate (Spanish)

Currently translated at 4.6% (15 of 321 strings)

Translation: Frigate NVR/views-settings
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/es/

* Translated using Weblate (Spanish)

Currently translated at 14.3% (46 of 321 strings)

Translation: Frigate NVR/views-settings
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/es/

* Translated using Weblate (Spanish)

Currently translated at 14.9% (48 of 321 strings)

Translation: Frigate NVR/views-settings
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/es/

* Translated using Weblate (Spanish)

Currently translated at 15.2% (49 of 321 strings)

Translation: Frigate NVR/views-settings
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/es/

* Translated using Weblate (Spanish)

Currently translated at 15.2% (49 of 321 strings)

Translation: Frigate NVR/views-settings
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/es/

* Added translation using Weblate (Spanish)

* Added translation using Weblate (Spanish)

* Added translation using Weblate (Spanish)

* Added translation using Weblate (Spanish)

* Added translation using Weblate (Turkish)

* Added translation using Weblate (Turkish)

* Added translation using Weblate (Turkish)

* Added translation using Weblate (Turkish)

* Added translation using Weblate (Turkish)

* Added translation using Weblate (Turkish)

* Added translation using Weblate (Turkish)

* Added translation using Weblate (Turkish)

* Added translation using Weblate (Turkish)

* Added translation using Weblate (Turkish)

* Added translation using Weblate (Turkish)

* Added translation using Weblate (Turkish)

* Added translation using Weblate (Turkish)

* Added translation using Weblate (Turkish)

* Added translation using Weblate (Turkish)

* Added translation using Weblate (Turkish)

* Added translation using Weblate (Turkish)

* Added translation using Weblate (Turkish)

* Added translation using Weblate (Turkish)

* Translated using Weblate (Turkish)

Currently translated at 12.5% (18 of 144 strings)

Translation: Frigate NVR/common
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/tr/

* Translated using Weblate (Turkish)

Currently translated at 13.1% (19 of 144 strings)

Translation: Frigate NVR/common
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/tr/

* Added translation using Weblate (Turkish)

---------

Co-authored-by: jjavin <javiernovoa@gmail.com>
Co-authored-by: Languages add-on <noreply-addon-languages@weblate.org>
Co-authored-by: pcislocked <git@pcislocked.net>
2025-04-06 20:13:37 -06:00
Blake Blackshear
ceab90233c mention weblate in readme (#17560) 2025-04-06 09:47:15 -06:00
Josh Hawkins
348e728220 LPR improvements (#17549)
* auto select LPR model backend for inference

* docs update
2025-04-05 11:03:17 -05:00
Nicolas Mowen
7bfcf2040d Clean up enabled config updates (#17547)
* Immediately end review item for disabled cameras

* Clean up checks

* Remove duplicate enabled checkers

* Cleanup
2025-04-05 08:47:58 -05:00
GuoQing Liu
e60df795ad Update chinese i18n (#17542) 2025-04-05 05:16:05 -05:00
rossfoss
1ef79ce5f1 Trim group name before length validation (#17539) 2025-04-04 19:39:31 -05:00
Josh Hawkins
7917ec611a LPR tweaks (#17536)
* Merge nearby horizontal boxes

* only publish to recognized plate field if object already has a sub label

* don't overwrite sub labels in any situation

* always publish sub label if it's a known plate
2025-04-04 12:42:49 -05:00
Nicolas Mowen
e94b24ec39 Face fixes (#17530)
* Catch - in name

* Add note about docs
2025-04-04 07:03:08 -06:00
Josh Hawkins
19fc63e3af Face Library UI tweaks (#17525)
* install react-dropzone

* use react-dropzone with preview when uploading new face

* spacing consistency

* text tweaks
2025-04-03 11:34:19 -06:00
Josh Hawkins
b8b58e980b Use dropdown for collection selection in Face Library (#17521)
* Use dropdown for name selection in face library

* change verbiage
2025-04-03 08:17:29 -06:00
Josh Hawkins
6475e042b5 Catch birdseye websocket error (#17502) 2025-04-02 07:38:48 -06:00
Josh Hawkins
f0b15e1f04 Provide default value for dashboard audio support (#17495)
* Provide default value for audio support to fix crash

* optional
2025-04-02 06:43:28 -06:00
Nicolas Mowen
907283b9a4 Only handle click on card when selection mode is ongoing (#17493) 2025-04-01 17:23:12 -05:00
Nicolas Mowen
a6c8bcd878 Docs update (#17491)
* Update installation image docs

* Update properties
2025-04-01 08:13:14 -06:00
Josh Hawkins
b83e214df5 Docs updates (#17478)
* face rec, lpr, and plus docs updates

* clarify plus
2025-04-01 07:59:04 -05:00
Nicolas Mowen
207d1d2806 Face UI cleanup (#17472)
* Add note

* Sort by event id

* Fix reprocess causing shift

* Move event group to separate comp

* Handle selecting events

* implement event selection

* Implement selected handler

* handle right click

* Toggle ctrl + a

* Stop propogation

* Fix
2025-03-31 16:49:56 -05:00
Nicolas Mowen
1dd5007fa8 Update nvidia inference time docs (#17469) 2025-03-31 13:47:33 -05:00
Nicolas Mowen
7f3f62e46d Clean up and clarify face docs (#17454) 2025-03-30 09:33:52 -05:00
Josh Hawkins
2920127ada Dedicated LPR improvements (#17453)
* remove license plate from attributes for dedicated lpr cameras

* ensure we always have a color

* use frigate+ models with dedicated lpr cameras

* docs

* docs clarity

* docs enrichments

* use license_plate as object type
2025-03-30 07:43:24 -06:00
Josh Hawkins
2c1ded37a1 Ensure we use the stream name from local storage on mobile (#17452) 2025-03-30 06:17:25 -06:00
GuoQing Liu
17912b4695 update chinese i18n (#17450) 2025-03-30 05:55:26 -05:00
Josh Hawkins
bda7fcc784 use ceil instead of round for recording snapshot (#17444) 2025-03-29 06:19:12 -06:00
Josh Hawkins
37c3ac5413 Misc fixes (#17443)
* ensure semantic search is enabled before updating embeddings stats

* add camera and label to snapshot download filename
2025-03-29 05:58:50 -06:00
Nicolas Mowen
4aa493b96c Catch case where frame time is between end and rounded start (#17438) 2025-03-28 21:37:11 -05:00
Nicolas Mowen
c1b06d63b6 Fix embedding eps (#17437)
* Fix embedding eps

* Fix thumbnail cleanup
2025-03-28 18:35:50 -06:00
Nicolas Mowen
9e8b85a957 Implement enchrichments events per second graph (#17436)
* Cleanup existing naming

* Add face recognitions per second

* Add lpr fps

* Add all eps

* Clean up line graph

* Translations

* Change wording

* Fix incorrect access

* Don't require plates

* Add comment

* Fix
2025-03-28 18:13:35 -05:00
Nicolas Mowen
b14abffea3 Refactor face library page (#17424)
* Section faces by event id

* Make score keeping more robust

* layout improvements

* Cleanup dialog

* Fix clicking behavior

* Add view in explore option

* math.round

* Don't require events

* Cleanup

* Remove selection

* Don't require

* Change dialog size with snapshot

* Use filename as key

* fix key

* Rework layout for mobile

* Handle mobile landscape

* Fix train issue

* Match logic

* Move deletion logic

* Fix reprocessing

* Support creating a new face

* Translations

* Do sorting in frontend

* Adjust unknown

* Cleanup

* Set max limit to faces to recognize

* Fix sorting

* Fix
2025-03-28 13:52:12 -05:00
Josh Hawkins
37e0b9b904 LPR tweaks (#17428)
* fix snapshot when using dedicated lpr

* enhancement and debugging config

* docs
2025-03-28 06:29:11 -06:00
Nicolas Mowen
3f1b4438e4 Ensure landmark detector has a defualt value (#17420) 2025-03-27 13:41:22 -06:00
leccelecce
e1a4053426 Upgrade bundled nginx to 1.27.4 (#17419) 2025-03-27 12:48:43 -06:00
Josh Hawkins
23c3323871 Dynamic embeddings reindexing (#17418)
* reindex with api endpoint and zmq

* threading

* frontend

* require admin role
2025-03-27 11:29:34 -06:00
leccelecce
67dd50a7f7 Devcontainer: update Mosquitto from 1.6 to 2.0 (#17415) 2025-03-27 10:33:49 -06:00
aptalca
ccf20f456a update YOLO_NAS notebook (#17414)
Google Colab updated to python 3.11
super-gradients v3.7.1 is not compatible with py3.11 and install fails
super-gradients committed a fix to master branch but did not cut a relase since (acquired by Nvidia in the meantime)
This commit installs super-gradients from master branch
2025-03-27 10:33:03 -06:00
Nicolas Mowen
8978d1ff74 Tweak face recognition docs (#17413) 2025-03-27 10:50:41 -05:00
Josh Hawkins
6ec7d96ec9 remove LPR denoising (#17412) 2025-03-27 08:49:10 -06:00
Nicolas Mowen
a35146ab61 Various fixes (#17411)
* Remove initial requirement for history

* Clenaup conf

* Handle symlinks
2025-03-27 08:28:09 -06:00
Josh Hawkins
1233bc3a42 Miscellaneous fixes (#17406)
* add config validator for face and lpr

* more lpr docs tweaks

* fix object lifecycle point clicking for aspect ratios less than 16/9

* fix semantic search indexing i18n keys

* remove ability to set system language

* clarify debug output
2025-03-27 05:49:14 -06:00
Nicolas Mowen
36446ceded Implement facenet tflite for small face recognition model (#17402) 2025-03-27 06:31:29 -05:00
leccelecce
0947bffeef nginx: don't gzip png, gif, jpeg or jpg (#17400) 2025-03-26 19:48:28 -05:00
Nicolas Mowen
ff34739f40 Face recognition bug fixes (#17401)
* Simplify normalization

* Fix confidence check
2025-03-26 19:43:10 -05:00
leccelecce
a37f804469 i18n Settings fixes (#17398) 2025-03-26 17:51:54 -06:00
leccelecce
53c8aa25cb Fix missing restart notification in Classification settings (#17397)
* Use different message key to fix missing restart message

* Move addMessage to finally block
2025-03-26 15:44:15 -06:00
Nicolas Mowen
e3f34d6f11 Bird classification docs (#17369)
* Add bird classification to sidebar

* Add docs for bird classification

* Update bird_classification.md

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

* Add model info

---------

Co-authored-by: Josh Hawkins <32435876+hawkeye217@users.noreply.github.com>
2025-03-26 14:42:30 -05:00
Nicolas Mowen
e6936c177b Face model loading improvements (#17390)
* Don't assume landmark file is downloaded

* Rewrite build model task to be asynchronous so it doesn't block the pipeline

* Handle case where face recognition does not respond

* Cleanup

* Make daemon thread
2025-03-26 10:00:23 -06:00
Nicolas Mowen
e3d4b84803 Face recognition improvements (#17387)
* Increase frequency of updates when internal face detection is used

* Adjust number of required faces based on detection type

* Adjust min_score config to unknown_score

* Only for person

* Improve typing

* Update face rec docs

* Cleanup ui colors

* Cleanup
2025-03-26 07:23:01 -06:00
Nicolas Mowen
395fc33ccc Include all .so and .so.12 (#17388) 2025-03-26 08:14:36 -05:00
Josh Hawkins
4edf0d8cd3 LPR bugfix (#17384)
* ensure image is numpy array

* clean up debugging

* clean up postprocessor

* process raw input as img
2025-03-26 07:41:00 -05:00
leccelecce
4ccf61a6d7 Fix wrong value displayed in facerec settings (#17383) 2025-03-26 07:16:12 -05:00
Josh Hawkins
b30de96525 Reduce expansion of license_plate box for frigate+ models (#17373) 2025-03-26 05:25:39 -06:00
Logan Garrett
6f707e8722 Add explanation of group_add for igpu (#17375)
Add explanation of group_add for igpu
2025-03-26 05:24:30 -06:00
GuoQing Liu
bfee030d7b add model chinese i18n keys (#17379) 2025-03-26 05:57:56 -05:00
Nicolas Mowen
b18d1fb970 Refactor face recognition (#17368)
* Refactor face recognition to allow for running lbph or embedding

* Cleanup

* Use weighted average for faces

* Set correct url

* Cleanup

* Update docs

* Update docs

* Use scipy trimmed mean

* Normalize

* Handle color and gray landmark detection

* Upgrade to new arcface model

* Implement sigmoid function

* Rename

* Rename to arcface

* Fix

* Add face recognition model size to ui config

* Update toast
2025-03-25 19:59:03 -05:00
Josh Hawkins
2c3ea5b74e Make all object path points clickable (#17367) 2025-03-25 14:08:40 -06:00
Josh Hawkins
e80caabee6 Live and go2rtc docs updates (#17363) 2025-03-25 10:46:24 -06:00
Josh Hawkins
9080305070 Increase the initial stall timeout of the MSE player (#17359) 2025-03-25 08:16:56 -05:00
leccelecce
983dd87ffb Revert go2rtc call checks for enabled camera state (#17355)
* Revert "Fix camera enabled check (#17331)"

This reverts commit 1e45f63a7c.

* Revert "Fix webUI generating HTTP500s when camera disabled (#17305)"

This reverts commit 644faaf65b.
2025-03-25 05:48:06 -06:00
Nicolas Mowen
7e8b3c389d Update face_recognition.md (#17349) 2025-03-24 18:31:32 -05:00
leccelecce
6ded9a1bc6 Update contributing.md (#17343) 2025-03-24 12:50:57 -06:00
leccelecce
5c20cf4563 Don't require /dev/bus/usb to be present (#17341) 2025-03-24 11:56:27 -06:00
Nicolas Mowen
eabc316c7b Various fixes (#17342)
* Remove imutils

* Ensure that state is maintained when setting search params

* Change script for version of setuptools

* Fix

* Fix
2025-03-24 12:25:36 -05:00
leccelecce
05d39f79b0 Add ability to update Frigate+ model to latest from UI (#17324)
* Add ability to update Frigate+ model to latest

* UI tweaks

* further UI tweaks

* UI tweaks: add width and height, fix select

* Add placeholder while API call in progress

* Fix Frigate+ enabled check

* Fix config change lost when reloading page

* Add persistent message requiring restart

* Drop down supported detectors and dimensions

* Add width and height to display

* Update FrigatePlusSettingsView.tsx

* Temp fix for Codespaces not loading

* Add i18n, format

* remove unneeded brackets

* missing colon

* Revert "Temp fix for Codespaces not loading"

This reverts commit 75b19674ce.
2025-03-24 09:19:58 -06:00
Nicolas Mowen
c239721021 Ensure thumb camera directory exists before saving (#17339) 2025-03-24 09:39:51 -05:00
Nicolas Mowen
a8fa77c6b9 Classification fixes (#17337)
* Cleanup classification settings behavior

* Cleanup response

* restore
2025-03-24 09:12:42 -05:00
Felipe Santos
f8b0329b37 Move database and config from homeassistant /config to addon /config (#16337)
* Move database and config from homeassistant /config to addon /config

* Re-implement config migration for the add-on

* Align some terms

* Improve function name

* Use local variables

* Add model.path migration

* Fix homeassistant config path

* Ensure migration scripts run before go2rtc and frigate

* Migrate all files I know

* Add ffmpeg.path migration

* Update docker/main/rootfs/etc/s6-overlay/s6-rc.d/prepare/run

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

* Improve some variable names and organization

* Update docs to reflect addon config dir

* Update live.md with /addon_configs

* Move addon config section to configuration doc

* Align several terminologies and improve text

* Fix webrtc example config title

* Capitalize Add-on in more places

* Improve specific add-on config dir docs

* Align bash and python scripts to prefer config.yml over config.yaml

* Support config.json in migration shell scripts

* Change docs to reflect config.yml is preferred over config.yaml

* If previous config was yaml, migrate to yaml

* Fix typo in edgetpu.md

* Fix formatting of Python files

* Remove HailoRT Beta add-on variant from docs

* Add migration for labelmap and certs

* Fix variable name

* Fix new_config_file var unset

* Fix addon config directories table

* Improve db migration to avoid migrating files like .db.bak

* Fix echo location

---------

Co-authored-by: Josh Hawkins <32435876+hawkeye217@users.noreply.github.com>
2025-03-24 09:05:59 -05:00
leccelecce
1e45f63a7c Fix camera enabled check (#17331)
* Fix camera enabled check

* Add fix to LiveCameraView
2025-03-24 06:38:53 -06:00
Josh Hawkins
1f98162377 Fixes (#17334)
* more docs updates

* debug view note

* hide notifications submenu if camera is disabled

* fix value replacement from incorrect i18n changes
2025-03-24 06:34:18 -06:00
Josh Hawkins
678ae87c62 Dedicated LPR fixes (#17325)
* docs fps recommendation

* add detection_threshold to example

* send uncoverted yuv frame

* copy and convert

* ensure thumbnail is encoded as webp

* keep as jpeg
2025-03-23 17:15:15 -05:00
Josh Hawkins
e129fa6819 Fix missing key in example config (#17322) 2025-03-23 15:16:29 -06:00
Nicolas Mowen
18af06237c Support RF-DETR models with OpenVINO (#17321)
* Add support for openvino to run rf-detr models

* Add more inference time examples

* organize

* Add example to docs

* Add support for yolo generic
2025-03-23 14:02:16 -06:00
Josh Hawkins
fa4643fddf LPR improvements (#17289)
* config options

* processing in maintainer

* detect and process dedicated lpr plates

* create camera type, add manual event and save snapshot

* use const

* ensure lpr events are always detections, typing fixes

* docs

* docs tweaks

* add preprocessing and penalization for low confidence chars
2025-03-23 13:30:48 -06:00
Josh Hawkins
b7fcd41737 UI tweaks (#17319) 2025-03-23 12:51:06 -06:00
leccelecce
e36fe79782 Update webmanifest to use /BASE_PATH/ (#17310) 2025-03-23 05:34:33 -06:00
leccelecce
644faaf65b Fix webUI generating HTTP500s when camera disabled (#17305)
* Check camera enabled state before querying go2rtc

* lint

* Add change to CameraStreamingDialog
2025-03-22 14:13:41 -05:00
Nicolas Mowen
17e14cefd9 Various fixes & tweaks (#17308)
* Catch case where returned face box is invalid

* Update detector docs

* Add note for customizing rfdetr resolution
2025-03-22 13:58:27 -05:00
Josh Hawkins
d32949017b Bugfixes and docs tweaks (#17307)
* ensure config file is updated with booleans instead of strings

* catch onvif error

* ensure object type is available as a ptz tracker

* update live view docs
2025-03-22 06:38:33 -06:00
Nicolas Mowen
48e4c44b32 Add support for RF-DETR models (#17298)
* Add support for rf-detr models

* Add docs for rf-detr model

* Cleanup
2025-03-21 19:55:46 -05:00
Nicolas Mowen
4e83237d47 Sub label snapshot (#17296)
* Publish sub label for logos

* Cleanup check
2025-03-21 17:37:09 -05:00
Nicolas Mowen
08cf0def6e Face tweaks (#17290)
* Ensure doesn't fail due to missing dir

* Remove redundant settings from tabs

* Adjust selection method for mobile

* Fix button descendent error

* Ensure train is option on mobile

* Cleanup face images

* Cleanup
2025-03-21 12:47:32 -05:00
Nicolas Mowen
060659044e Quick fixes (#17278)
* Fix check

* Fix default loading state
2025-03-20 15:09:57 -05:00
Nicolas Mowen
e396043f79 Don't log go2rtc failure when camera is disabled (#17277) 2025-03-20 13:38:18 -05:00
Nicolas Mowen
0308a88111 Add MQTT topic to expose current camera review status (#17276)
* Add MQTT topic to expose current camera review status

* Formatting
2025-03-20 10:51:08 -06:00
Josh Hawkins
be56305b4e Small tweaks (#17275)
* Fix missing i18n key and make small UI tweak for disabled cameras

* simplify colors
2025-03-20 10:37:40 -06:00
Nicolas Mowen
d4d5c4aac8 Disabled cameras fixing (#17273)
* Fix case where objects are returned as null

* Fix enabled status not being persisted

* Use config as source of truth when refreshed

* Ensure camera always have config object updated

* Cleanup typing
2025-03-20 11:20:44 -05:00
Nicolas Mowen
d84fd324b2 Actually set the configured face and lpr settings (#17272) 2025-03-20 07:48:50 -06:00
leccelecce
6cb385f6a7 Plus settings - fix model ID overlap (#17265) 2025-03-20 04:46:34 -05:00
Nicolas Mowen
e7c6b2d571 Fix per camera config (#17263)
* Fix per camera config

* fix
2025-03-19 21:52:55 -05:00
leccelecce
1787f6130d Add model ID to Frigate+ settings page (#17261) 2025-03-19 20:56:38 -05:00
Nicolas Mowen
a7704a369d Update reviews state when sub label is set (#17262) 2025-03-19 20:55:57 -05:00
leccelecce
ca5c714037 UI: use correct icon/i18n for Face Library on mobile (#17260) 2025-03-19 15:09:35 -06:00
Nicolas Mowen
f4284023fd Remove leadingn / (#17258) 2025-03-19 14:19:17 -06:00
Josh Hawkins
512a1dfad6 Fix english rendering if timeago seconds (#17256) 2025-03-19 11:22:02 -05:00
Nicolas Mowen
ce43b7b3d9 Add per-camera face and lpr configs (#17235)
* Add per-camera face and lpr configs

* Formatting

* Cleanup
2025-03-19 09:02:40 -06:00
Nicolas Mowen
e33fa96599 Face recognize api (#17233)
* Add api to run face recognition on image

* Rework save attempts option

* Cleanup mobile object pane buttons

* Adjust api signature

* Remove param

* Cleanup
2025-03-19 09:02:25 -06:00
Josh Hawkins
7f966df5a4 Nginx fix: make locales public (#17248)
* make locales public

* remove cache
2025-03-19 06:50:36 -06:00
leccelecce
dda7be99eb Face rec: only consider webp files in /faces and handle_request (#17244)
* Face rec: only consider webp files

* Allow png/jpg/jpeg as well as webp
2025-03-19 06:44:07 -06:00
leccelecce
ac9e24e2ed Face Library: show name on details (#17245) 2025-03-19 06:23:44 -06:00
Jason Hunter
e340c9aaba Add openvino support for the DFINE model (#17238)
* add openvino support for the dfine model

* update docs to show DFINE support for openvino

* remove warning about OpenVINO for DFINE
2025-03-19 07:23:24 -05:00
GuoQing Liu
125c266585 chore: use better translation (zh-CN) (#17239) 2025-03-19 05:56:48 -05:00
Nicolas Mowen
5514fc11b9 Face tweaks (#17225)
* Always use white text

* Add right click as well

* Add face details dialog

* Clenaup
2025-03-18 09:32:15 -05:00
Josh Hawkins
9f7ba51f39 Proxy i18n locales dir for ingress (#17223) 2025-03-18 08:08:44 -06:00
GuoQing Liu
dcaaae9a4c add chinese frigatePlus settings i18n keys (#17218) 2025-03-18 05:53:22 -05:00
Logan Garrett
cf16eda76e Fix key error when model path key doesn't exist. (#17217)
* fixed metrics race condition

* ruff formatting

* adjust for default path config

* ruff

* check for model too
2025-03-17 22:01:40 -05:00
Nicolas Mowen
bf22d89f67 Improve Face Library Management (#17213)
* Set maximum number of face images to be kept

* Fix vertical camera scaling

* adjust wording

* Add attributes to search data

* Add button to train face from event

* Handle event id saving in API
2025-03-17 16:57:46 -05:00
Nicolas Mowen
ff8e145b90 Face setup wizard (#17203)
* Fix login page

* Increase face image size and add time ago

* Add component for indicating steps in a wizard

* Split out form inputs from dialog

* Add wizard for adding new face to library

* Simplify dialog

* Translations

* Fix scaling bug

* Fix key missing

* Improve multi select

* Adjust wording and spacing

* Add tip for face training

* Fix padding

* Remove text for buttons on mobile
2025-03-17 13:50:13 -06:00
Josh Hawkins
fad62b996a Add Frigate+ pane to Settings UI (#17208)
* add plus data to config api response

* add fields to frontend type

* add frigate+ page in settings

* add docs

* fix label in explore detail dialog
2025-03-17 13:44:57 -05:00
bartbutenaers
61aef0bff0 Base path via environment variable (#17030)
* Base path via environment variable

* Feedback refactored

* Update docker/main/rootfs/usr/local/nginx/conf/nginx.conf

Co-authored-by: Blake Blackshear <blake.blackshear@gmail.com>

* Update docker/main/rootfs/usr/local/nginx/templates/base_path.gotmpl

Co-authored-by: Blake Blackshear <blake.blackshear@gmail.com>

* Revert api regex change

* Lint fix

* Fix https to http

* Base path documentation

* Base path contains leading slash

* Frigate specific environment variable

* Typo in comment

Co-authored-by: Blake Blackshear <blake.blackshear@gmail.com>

* Typo in comment

Co-authored-by: Blake Blackshear <blake.blackshear@gmail.com>

---------

Co-authored-by: Blake Blackshear <blake.blackshear@gmail.com>
2025-03-17 10:29:38 -05:00
Nicolas Mowen
95e141ed15 Improve face detection (#17202) 2025-03-17 08:05:53 -06:00
GuoQing Liu
8f4e86e476 chinese i18n fix (#17190)
* fix: fix dialog some key capitalization

* chore: remove audio duplicate key. (i18next can't use it! maybe need change key name? )

* feat: add chinese missing keys.
fix: fix some keys error

* feat: add chinese readme file

* feat: add system feature pages embeddings i18n keys

* fix: fix audio file keys wrong
2025-03-17 09:01:07 -05:00
Josh Hawkins
03da70cb81 Refactor and clean up i18n (#17198)
* clean up i18n

* fix key

* fix key
2025-03-17 06:26:01 -06:00
Logan Garrett
6e3ae0afc2 Fix Prometheus Metrics race condition (#17187)
* fixed metrics race condition

* ruff formatting
2025-03-16 17:48:25 -06:00
Josh Hawkins
c724892158 i18n fixes (#17184)
* update PR template

* fix hook

* fix input

* fix hook

* add all audio detector keys

* add frigate+ keys

* fix spelling, formatting, and spacing

* fix labels

* capitalization

* fix timestamp

* fix menu

* fix plus text

* fix download label

* docs

* fix docs build

* fix docs formatting
2025-03-16 11:13:34 -06:00
GuoQing Liu
d34533981f feat: add i18n (translation/localization) (#16877)
* Translation module init

* Add more i18n keys

* fix: fix string wrong

* refactor: use namespace translation file

* chore: add more translation key

* fix: fix some page name error

* refactor: change Trans tag for t function

* chore: fix some key not work

* chore: fix SearchFilterDialog i18n key error

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

* chore: fix en i18n file filter missing some keys

* chore: add some i18n keys

* chore: add more i18n keys again

* feat: add search page i18n

* feat: add explore model i18n keys

* Update web/src/components/menu/GeneralSettings.tsx

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

* Update web/src/components/menu/GeneralSettings.tsx

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

* Update web/src/components/menu/GeneralSettings.tsx

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

* feat: add more live i18n keys

* feat: add more search setting i18n keys

* fix: remove some comment

* fix: fix some setting page url error

* Update web/src/views/settings/SearchSettingsView.tsx

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

* fix: add system missing keys

* fix: update password update i18n keys

* chore: remove outdate translation.json file

* fix: fix exploreSettings error

* chore: add object setting i18n keys

* Update web/src/views/recording/RecordingView.tsx

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

* Update web/public/locales/en/components/filter.json

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

* Update web/src/components/overlay/ExportDialog.tsx

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

* feat: add more i18n keys

* fix: fix motionDetectionTuner html node

* feat: add more page i18n keys

* fix: cameraStream i18n keys error

* feat: add Player i18n keys

* feat: add more toast i18n keys

* feat: change explore setting name

* feat: add more document title i18n keys

* feat: add more search i18n keys

* fix: fix accessDenied i18n keys error

* chore: add objectType i18n

* chore: add  inputWithTags i18n

* chore: add SearchFilterDialog i18n

* Update web/src/views/settings/ObjectSettingsView.tsx

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

* Update web/src/views/settings/ObjectSettingsView.tsx

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

* Update web/src/views/settings/ObjectSettingsView.tsx

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

* Update web/src/views/settings/ObjectSettingsView.tsx

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

* Update web/src/views/settings/ObjectSettingsView.tsx

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

* chore: add some missing i18n keys

* chore: remove most import { t } from "i18next";

---------

Co-authored-by: Josh Hawkins <32435876+hawkeye217@users.noreply.github.com>
2025-03-16 10:36:20 -05:00
Nicolas Mowen
db541abed4 Fix model errors (#17171) 2025-03-16 06:01:15 -05:00
Josh Hawkins
d87268acfe Small tweaks (#17168)
* Clean up repeated code in auth

* Ensure review status is migrated for anonymous users
2025-03-15 07:11:45 -06:00
Nicolas Mowen
19342c8768 Fix face library menu item (#17155) 2025-03-14 14:39:48 -05:00
Josh Hawkins
5d524e8060 clarity for sub labels and recognized_license_plate (#17154) 2025-03-14 11:54:00 -05:00
Nicolas Mowen
a995872d1c Add face recognition and license plate recognition to settings UI (#17152)
* Refactor explore settings to classification settings

* Cleanup

* Add face config section

* Add license plate recognition to settings

* Update face recognition docs

* Fix variable usage

* Fix typo

* Update docs/docs/configuration/face_recognition.md

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

* Improve spacing and add face library to mobile

* Clarify docs

---------

Co-authored-by: Josh Hawkins <32435876+hawkeye217@users.noreply.github.com>
2025-03-14 11:23:37 -05:00
Josh Hawkins
d2368f5cbb Use a recent time window for areas for autotracking zooming (#17150) 2025-03-14 09:09:16 -06:00
Nicolas Mowen
2313b8ea05 Fix bug where safari and firefox cache image for too long (#17148) 2025-03-14 08:48:16 -05:00
Josh Hawkins
fe078666c6 Ensure time range filter retains selected values (#17147) 2025-03-14 07:27:48 -06:00
Nicolas Mowen
fbd22c8124 Cleanup bird classification (#17146)
* Cleanup bird classification

* Cleanup
2025-03-14 07:21:50 -06:00
Nicolas Mowen
759d963a04 Cleanup typing (#17145) 2025-03-14 08:10:47 -05:00
Josh Hawkins
8a17e2bfbf implement onvif retry mechanism (#17144) 2025-03-14 07:25:48 -05:00
Josh Hawkins
bf311e6467 Simplify auth check (#17138)
* simplify get_current_user

* add sanity check
2025-03-13 16:01:15 -05:00
Josh Hawkins
4f6d70ded0 Review items per user (#17137)
* model

* migration

* api changes

* delete in cleanup

* fix tests
2025-03-13 14:20:09 -06:00
Nicolas Mowen
8d05e7c5b9 Make detection threhsold configurable (#17136) 2025-03-13 12:22:14 -05:00
Josh Hawkins
c93b82d6e1 Ensure restart dialog isn't shown if config isn't saved successfully first (#17132) 2025-03-13 08:57:12 -06:00
Nicolas Mowen
b8f2d8fb0c Fix rtsp config access (#17129) 2025-03-12 21:23:06 -05:00
Josh Hawkins
124cc4c9cc Rename identifier field (#17128)
* backend rename

* frontend

* docs

* fix api path
2025-03-12 17:45:16 -06:00
Nicolas Mowen
b7333557a1 Enable audio by default (#17125)
* Remove mp4 query, allowing go2rtc to send any audio

* Add audio transcoding by default
2025-03-12 16:54:28 -05:00
Josh Hawkins
6360802612 Use identifier field for unknown license plates (#17123)
* backend

* backend fixes

* api for search queries

* frontend

* docs

* add filterable scroll list to more filters pane for identifiers

* always publish identifier
2025-03-12 14:38:28 -06:00
Nicolas Mowen
9e70bddc9d Update go2rtc version (#17119) 2025-03-12 13:54:20 -05:00
Nicolas Mowen
f305ff3a5a Update hardware recommendation (#17111)
* Update hardware recommendation

* re-organize information

* Broaden introduction

* Update index.md

* Update hardware.md

* Update hardware.md

* Update hardware.md

* Update index.md

* Update index.md

* Update hardware.md
2025-03-12 08:58:07 -05:00
Josh Hawkins
4806d30406 Bugfixes (#17112)
* ensure disabled and offline messages don't overlay each other

* clean up enabled logic

* fix on demand recording button

* clean up
2025-03-12 06:09:09 -06:00
Nicolas Mowen
b3d5cd9e4b Refactor manual event api to use ZMQ (#17105)
* Don't wait for topic

* Refactor object processing and camera state

* Move manual event handling to camera state / tracked object

* Cleanup

* Refactor audio to use internal zmq

* Cleanup

* Clenaup

* Cleanup

* Quick label fix

* Fix tests

* Cleanup
2025-03-11 22:31:05 -05:00
991 changed files with 70419 additions and 10781 deletions

View File

@@ -108,8 +108,8 @@ imagestream
imdecode
imencode
imread
imutils
imwrite
inpoint
interp
iostat
iotop
@@ -265,6 +265,7 @@ tensorrt
tflite
thresholded
timelapse
titlecase
tmpfs
tobytes
toggleable

View File

@@ -73,7 +73,7 @@ body:
attributes:
label: Operating system
options:
- HassOS
- Home Assistant OS
- Debian
- Other Linux
- Proxmox
@@ -87,7 +87,7 @@ body:
attributes:
label: Install method
options:
- HassOS Addon
- Home Assistant Add-on
- Docker Compose
- Docker CLI
- Proxmox via Docker

View File

@@ -59,7 +59,7 @@ body:
attributes:
label: Operating system
options:
- HassOS
- Home Assistant OS
- Debian
- Other Linux
- Proxmox
@@ -73,7 +73,7 @@ body:
attributes:
label: Install method
options:
- HassOS Addon
- Home Assistant Add-on
- Docker Compose
- Docker CLI
- Proxmox via Docker

View File

@@ -53,7 +53,7 @@ body:
attributes:
label: Install method
options:
- HassOS Addon
- Home Assistant Add-on
- Docker Compose
- Docker CLI
- Proxmox via Docker

View File

@@ -73,7 +73,7 @@ body:
attributes:
label: Install method
options:
- HassOS Addon
- Home Assistant Add-on
- Docker Compose
- Docker CLI
- Proxmox via Docker

View File

@@ -69,7 +69,7 @@ body:
attributes:
label: Install method
options:
- HassOS Addon
- Home Assistant Add-on
- Docker Compose
- Docker CLI
- Proxmox via Docker

View File

@@ -97,7 +97,7 @@ body:
attributes:
label: Operating system
options:
- HassOS
- Home Assistant OS
- Debian
- Other Linux
- Proxmox
@@ -111,7 +111,7 @@ body:
attributes:
label: Install method
options:
- HassOS Addon
- Home Assistant Add-on
- Docker Compose
- Docker CLI
validations:

View File

@@ -2,12 +2,12 @@
<!--
Thank you!
If you're introducing a new feature or significantly refactoring existing functionality,
we encourage you to start a discussion first. This helps ensure your idea aligns with
If you're introducing a new feature or significantly refactoring existing functionality,
we encourage you to start a discussion first. This helps ensure your idea aligns with
Frigate's development goals.
Describe what this pull request does and how it will benefit users of Frigate.
Please describe in detail any considerations, breaking changes, etc. that are
Please describe in detail any considerations, breaking changes, etc. that are
made in this pull request.
-->
@@ -24,7 +24,7 @@
## Additional information
- This PR fixes or closes issue: fixes #
- This PR is related to issue:
- This PR is related to issue:
## Checklist
@@ -35,4 +35,5 @@
- [ ] The code change is tested and works locally.
- [ ] Local tests pass. **Your PR cannot be merged unless tests pass**
- [ ] There is no commented out code in this PR.
- [ ] UI changes including text have used i18n keys and have been added to the `en` locale.
- [ ] The code has been formatted using Ruff (`ruff format frigate`)

View File

@@ -39,14 +39,14 @@ jobs:
STABLE_TAG=${BASE}:stable
PULL_TAG=${BASE}:${BUILD_TAG}
docker run --rm -v $HOME/.docker/config.json:/config.json quay.io/skopeo/stable:latest copy --authfile /config.json --multi-arch all docker://${PULL_TAG} docker://${VERSION_TAG}
for variant in standard-arm64 tensorrt tensorrt-jp5 tensorrt-jp6 rk h8l rocm; do
for variant in standard-arm64 tensorrt tensorrt-jp6 rk rocm; do
docker run --rm -v $HOME/.docker/config.json:/config.json quay.io/skopeo/stable:latest copy --authfile /config.json --multi-arch all docker://${PULL_TAG}-${variant} docker://${VERSION_TAG}-${variant}
done
# stable tag
if [[ "${BUILD_TYPE}" == "stable" ]]; then
docker run --rm -v $HOME/.docker/config.json:/config.json quay.io/skopeo/stable:latest copy --authfile /config.json --multi-arch all docker://${PULL_TAG} docker://${STABLE_TAG}
for variant in standard-arm64 tensorrt tensorrt-jp5 tensorrt-jp6 rk h8l rocm; do
for variant in standard-arm64 tensorrt tensorrt-jp6 rk rocm; do
docker run --rm -v $HOME/.docker/config.json:/config.json quay.io/skopeo/stable:latest copy --authfile /config.json --multi-arch all docker://${PULL_TAG}-${variant} docker://${STABLE_TAG}-${variant}
done
fi

View File

@@ -4,9 +4,15 @@
# Frigate - NVR With Realtime Object Detection for IP Cameras
<a href="https://hosted.weblate.org/engage/frigate-nvr/">
<img src="https://hosted.weblate.org/widget/frigate-nvr/language-badge.svg" alt="Translation status" />
</a>
\[English\] | [简体中文](https://github.com/blakeblackshear/frigate/blob/dev/README_CN.md)
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 [Google Coral Accelerator](https://coral.ai/products/) is optional, but highly recommended. The Coral will outperform even the best CPUs and can process 100+ FPS with very little overhead.
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.
- 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
@@ -30,21 +36,33 @@ If you would like to make a donation to support development, please use [Github
## Screenshots
### Live dashboard
<div>
<img width="800" alt="Live dashboard" src="https://github.com/blakeblackshear/frigate/assets/569905/5e713cb9-9db5-41dc-947a-6937c3bc376e">
</div>
### Streamlined review workflow
<div>
<img width="800" alt="Streamlined review workflow" src="https://github.com/blakeblackshear/frigate/assets/569905/6fed96e8-3b18-40e5-9ddc-31e6f3c9f2ff">
</div>
### Multi-camera scrubbing
<div>
<img width="800" alt="Multi-camera scrubbing" src="https://github.com/blakeblackshear/frigate/assets/569905/d6788a15-0eeb-4427-a8d4-80b93cae3d74">
</div>
### Built-in mask and zone editor
<div>
<img width="800" alt="Multi-camera scrubbing" src="https://github.com/blakeblackshear/frigate/assets/569905/d7885fc3-bfe6-452f-b7d0-d957cb3e31f5">
</div>
## Translations
We use [Weblate](https://hosted.weblate.org/projects/frigate-nvr/) to support language translations. Contributions are always welcome.
<a href="https://hosted.weblate.org/engage/frigate-nvr/">
<img src="https://hosted.weblate.org/widget/frigate-nvr/multi-auto.svg" alt="Translation status" />
</a>

65
README_CN.md Normal file
View File

@@ -0,0 +1,65 @@
<p align="center">
<img align="center" alt="logo" src="docs/static/img/frigate.png">
</p>
# Frigate - 一个具有实时目标检测的本地NVR
[English](https://github.com/blakeblackshear/frigate) | \[简体中文\]
<a href="https://hosted.weblate.org/engage/frigate-nvr/-/zh_Hans/">
<img src="https://hosted.weblate.org/widget/frigate-nvr/-/zh_Hans/svg-badge.svg" alt="翻译状态" />
</a>
一个完整的本地网络视频录像机NVR专为[Home Assistant](https://www.home-assistant.io)设计具备AI物体检测功能。使用OpenCV和TensorFlow在本地为IP摄像头执行实时物体检测。
强烈推荐使用GPU或者AI加速器例如[Google Coral加速器](https://coral.ai/products/) 或者 [Hailo](https://hailo.ai/)。它们的性能甚至超过目前的顶级CPU并且可以以极低的耗电实现更优的性能。
- 通过[自定义组件](https://github.com/blakeblackshear/frigate-hass-integration)与Home Assistant紧密集成
- 设计上通过仅在必要时和必要地点寻找物体,最大限度地减少资源使用并最大化性能
- 大量利用多进程处理,强调实时性而非处理每一帧
- 使用非常低开销的运动检测来确定运行物体检测的位置
- 使用TensorFlow进行物体检测运行在单独的进程中以达到最大FPS
- 通过MQTT进行通信便于集成到其他系统中
- 根据检测到的物体设置保留时间进行视频录制
- 24/7全天候录制
- 通过RTSP重新流传输以减少摄像头的连接数
- 支持WebRTC和MSE实现低延迟的实时观看
## 社区中文翻译文档
你可以在这里查看文档 https://docs.frigate-cn.video
## 赞助
如果您想通过捐赠支持开发,请使用 [Github Sponsors](https://github.com/sponsors/blakeblackshear)。
## 截图
### 实时监控面板
<div>
<img width="800" alt="实时监控面板" src="https://github.com/blakeblackshear/frigate/assets/569905/5e713cb9-9db5-41dc-947a-6937c3bc376e">
</div>
### 简单的审查工作流程
<div>
<img width="800" alt="简单的审查工作流程" src="https://github.com/blakeblackshear/frigate/assets/569905/6fed96e8-3b18-40e5-9ddc-31e6f3c9f2ff">
</div>
### 多摄像头可按时间轴查看
<div>
<img width="800" alt="多摄像头可按时间轴查看" src="https://github.com/blakeblackshear/frigate/assets/569905/d6788a15-0eeb-4427-a8d4-80b93cae3d74">
</div>
### 内置遮罩和区域编辑器
<div>
<img width="800" alt="内置遮罩和区域编辑器" src="https://github.com/blakeblackshear/frigate/assets/569905/d7885fc3-bfe6-452f-b7d0-d957cb3e31f5">
</div>
## 翻译
我们使用 [Weblate](https://hosted.weblate.org/projects/frigate-nvr/) 平台提供翻译支持,欢迎参与进来一起完善。
## 非官方中文讨论社区
欢迎加入中文讨论QQ群1043861059
Bilibilihttps://space.bilibili.com/3546894915602564

View File

@@ -6,7 +6,7 @@ import numpy as np
import frigate.util as util
from frigate.config import DetectorTypeEnum
from frigate.object_detection import (
from frigate.object_detection.base import (
ObjectDetectProcess,
RemoteObjectDetector,
load_labels,

View File

@@ -1,8 +1,8 @@
version: "3"
services:
devcontainer:
container_name: frigate-devcontainer
# add groups from host for render, plugdev, video
# Check host system's actual render/video/plugdev group IDs with 'getent group render', 'getent group video', and 'getent group plugdev'
# Must add these exact IDs in container's group_add section or OpenVINO GPU acceleration will fail
group_add:
- "109" # render
- "110" # render
@@ -24,8 +24,8 @@ services:
# capabilities: [gpu]
environment:
YOLO_MODELS: ""
devices:
- /dev/bus/usb:/dev/bus/usb
# devices:
# - /dev/bus/usb:/dev/bus/usb # Uncomment for Google Coral USB
# - /dev/dri:/dev/dri # for intel hwaccel, needs to be updated for your hardware
volumes:
- .:/workspace/frigate:cached
@@ -33,9 +33,10 @@ services:
- /etc/localtime:/etc/localtime:ro
- ./config:/config
- ./debug:/media/frigate
- /dev/bus/usb:/dev/bus/usb
# - /dev/bus/usb:/dev/bus/usb # Uncomment for Google Coral USB
mqtt:
container_name: mqtt
image: eclipse-mosquitto:1.6
image: eclipse-mosquitto:2.0
command: mosquitto -c /mosquitto-no-auth.conf # enable no-auth mode
ports:
- "1883:1883"
- "1883:1883"

View File

@@ -4,7 +4,7 @@
sudo apt-get update
sudo apt-get install -y build-essential cmake git wget
hailo_version="4.20.0"
hailo_version="4.20.1"
arch=$(uname -m)
if [[ $arch == "x86_64" ]]; then

View File

@@ -55,7 +55,7 @@ RUN --mount=type=tmpfs,target=/tmp --mount=type=tmpfs,target=/var/cache/apt \
FROM scratch AS go2rtc
ARG TARGETARCH
WORKDIR /rootfs/usr/local/go2rtc/bin
ADD --link --chmod=755 "https://github.com/AlexxIT/go2rtc/releases/download/v1.9.2/go2rtc_linux_${TARGETARCH}" go2rtc
ADD --link --chmod=755 "https://github.com/AlexxIT/go2rtc/releases/download/v1.9.9/go2rtc_linux_${TARGETARCH}" go2rtc
FROM wget AS tempio
ARG TARGETARCH
@@ -78,8 +78,9 @@ COPY docker/main/requirements-ov.txt /requirements-ov.txt
RUN apt-get -qq update \
&& apt-get -qq install -y wget python3 python3-dev python3-distutils gcc pkg-config libhdf5-dev \
&& wget -q https://bootstrap.pypa.io/get-pip.py -O get-pip.py \
&& sed -i 's/args.append("setuptools")/args.append("setuptools==77.0.3")/' get-pip.py \
&& python3 get-pip.py "pip" \
&& pip install -r /requirements-ov.txt
&& pip3 install -r /requirements-ov.txt
# Get OpenVino Model
RUN --mount=type=bind,source=docker/main/build_ov_model.py,target=/build_ov_model.py \
@@ -172,6 +173,7 @@ RUN apt-get -qq update \
RUN update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.11 1
RUN wget -q https://bootstrap.pypa.io/get-pip.py -O get-pip.py \
&& sed -i 's/args.append("setuptools")/args.append("setuptools==77.0.3")/' get-pip.py \
&& python3 get-pip.py "pip"
COPY docker/main/requirements.txt /requirements.txt
@@ -235,6 +237,7 @@ ENV DEFAULT_FFMPEG_VERSION="7.0"
ENV INCLUDED_FFMPEG_VERSIONS="${DEFAULT_FFMPEG_VERSION}:5.0"
RUN wget -q https://bootstrap.pypa.io/get-pip.py -O get-pip.py \
&& sed -i 's/args.append("setuptools")/args.append("setuptools==77.0.3")/' get-pip.py \
&& python3 get-pip.py "pip"
RUN --mount=type=bind,from=wheels,source=/wheels,target=/deps/wheels \
@@ -257,12 +260,12 @@ ENTRYPOINT ["/init"]
CMD []
HEALTHCHECK --start-period=300s --start-interval=5s --interval=15s --timeout=5s --retries=3 \
CMD curl --fail --silent --show-error http://127.0.0.1:5000/api/version || exit 1
CMD test -f /dev/shm/.frigate-is-stopping && exit 0; curl --fail --silent --show-error http://127.0.0.1:5000/api/version || exit 1
# Frigate deps with Node.js and NPM for devcontainer
FROM deps AS devcontainer
# Do not start the actual Frigate service on devcontainer as it will be started by VSCode
# Do not start the actual Frigate service on devcontainer as it will be started by VS Code
# But start a fake service for simulating the logs
COPY docker/main/fake_frigate_run /etc/s6-overlay/s6-rc.d/frigate/run

View File

@@ -2,7 +2,7 @@
set -euxo pipefail
NGINX_VERSION="1.25.3"
NGINX_VERSION="1.27.4"
VOD_MODULE_VERSION="1.31"
SECURE_TOKEN_MODULE_VERSION="1.5"
SET_MISC_MODULE_VERSION="v0.33"

View File

@@ -2,7 +2,7 @@
set -euxo pipefail
hailo_version="4.20.0"
hailo_version="4.20.1"
if [[ "${TARGETARCH}" == "amd64" ]]; then
arch="x86_64"
@@ -10,5 +10,5 @@ elif [[ "${TARGETARCH}" == "arm64" ]]; then
arch="aarch64"
fi
wget -qO- "https://github.com/frigate-nvr/hailort/releases/download/v${hailo_version}/hailort-${TARGETARCH}.tar.gz" | tar -C / -xzf -
wget -qO- "https://github.com/frigate-nvr/hailort/releases/download/v${hailo_version}/hailort-debian12-${TARGETARCH}.tar.gz" | tar -C / -xzf -
wget -P /wheels/ "https://github.com/frigate-nvr/hailort/releases/download/v${hailo_version}/hailort-${hailo_version}-cp311-cp311-linux_${arch}.whl"

View File

@@ -2,7 +2,7 @@
set -euxo pipefail
s6_version="3.1.5.0"
s6_version="3.2.1.0"
if [[ "${TARGETARCH}" == "amd64" ]]; then
s6_arch="x86_64"

View File

@@ -7,7 +7,6 @@ starlette-context == 0.3.6
fastapi == 0.115.*
uvicorn == 0.30.*
slowapi == 0.1.*
imutils == 0.5.*
joserfc == 1.0.*
pathvalidate == 3.2.*
markupsafe == 3.0.*
@@ -32,6 +31,7 @@ norfair == 2.2.*
setproctitle == 1.3.*
ws4py == 0.5.*
unidecode == 1.3.*
titlecase == 2.4.*
# Image Manipulation
numpy == 1.26.*
opencv-python-headless == 4.11.0.*

View File

@@ -4,44 +4,16 @@
set -o errexit -o nounset -o pipefail
# opt out of openvino telemetry
if [ -e /usr/local/bin/opt_in_out ]; then
/usr/local/bin/opt_in_out --opt_out
fi
# Logs should be sent to stdout so that s6 can collect them
# Tell S6-Overlay not to restart this service
s6-svc -O .
function migrate_db_path() {
# Find config file in yaml or yml, but prefer yaml
local config_file="${CONFIG_FILE:-"/config/config.yml"}"
local config_file_yaml="${config_file//.yml/.yaml}"
if [[ -f "${config_file_yaml}" ]]; then
config_file="${config_file_yaml}"
elif [[ ! -f "${config_file}" ]]; then
# Frigate will create the config file on startup
return 0
fi
unset config_file_yaml
# Use yq to check if database.path is set
local user_db_path
user_db_path=$(yq eval '.database.path' "${config_file}")
if [[ "${user_db_path}" == "null" ]]; then
local previous_db_path="/media/frigate/frigate.db"
local new_db_dir="/config"
if [[ -f "${previous_db_path}" ]]; then
if mountpoint --quiet "${new_db_dir}"; then
# /config is a mount point, move the db
echo "[INFO] Moving db from '${previous_db_path}' to the '${new_db_dir}' dir..."
# Move all files that starts with frigate.db to the new directory
mv -vf "${previous_db_path}"* "${new_db_dir}"
else
echo "[ERROR] Trying to migrate the db path from '${previous_db_path}' to the '${new_db_dir}' dir, but '${new_db_dir}' is not a mountpoint, please mount the '${new_db_dir}' dir"
return 1
fi
fi
fi
}
function set_libva_version() {
local ffmpeg_path
ffmpeg_path=$(python3 /usr/local/ffmpeg/get_ffmpeg_path.py)
@@ -50,8 +22,8 @@ function set_libva_version() {
}
echo "[INFO] Preparing Frigate..."
migrate_db_path
set_libva_version
echo "[INFO] Starting Frigate..."
cd /opt/frigate || echo "[ERROR] Failed to change working directory to /opt/frigate"

View File

@@ -61,7 +61,7 @@ if [[ ! -f "/dev/shm/go2rtc.yaml" ]]; then
echo "[INFO] Preparing new go2rtc config..."
if [[ -n "${SUPERVISOR_TOKEN:-}" ]]; then
# Running as a Home Assistant add-on, infer the IP address and port
# Running as a Home Assistant Add-on, infer the IP address and port
get_ip_and_port_from_supervisor
fi

View File

@@ -79,6 +79,11 @@ if [ ! \( -f "$letsencrypt_path/privkey.pem" -a -f "$letsencrypt_path/fullchain.
-keyout "$letsencrypt_path/privkey.pem" -out "$letsencrypt_path/fullchain.pem" 2>/dev/null
fi
# build templates for optional FRIGATE_BASE_PATH environment variable
python3 /usr/local/nginx/get_base_path.py | \
tempio -template /usr/local/nginx/templates/base_path.gotmpl \
-out /usr/local/nginx/conf/base_path.conf
# build templates for optional TLS support
python3 /usr/local/nginx/get_tls_settings.py | \
tempio -template /usr/local/nginx/templates/listen.gotmpl \

View File

@@ -0,0 +1,146 @@
#!/command/with-contenv bash
# shellcheck shell=bash
# Do preparation tasks before starting the main services
set -o errexit -o nounset -o pipefail
function migrate_addon_config_dir() {
local home_assistant_config_dir="/homeassistant"
if ! mountpoint --quiet "${home_assistant_config_dir}"; then
# Not running as a Home Assistant Add-on
return 0
fi
local config_dir="/config"
local new_config_file="${config_dir}/config.yml"
local new_config_file_yaml="${new_config_file//.yml/.yaml}"
if [[ -f "${new_config_file_yaml}" || -f "${new_config_file}" ]]; then
# Already migrated
return 0
fi
local old_config_file="${home_assistant_config_dir}/frigate.yml"
local old_config_file_yaml="${old_config_file//.yml/.yaml}"
if [[ -f "${old_config_file}" ]]; then
:
elif [[ -f "${old_config_file_yaml}" ]]; then
old_config_file="${old_config_file_yaml}"
new_config_file="${new_config_file_yaml}"
else
# Nothing to migrate
return 0
fi
unset old_config_file_yaml new_config_file_yaml
echo "[INFO] Starting migration from Home Assistant config dir to Add-on config dir..." >&2
local db_path
db_path=$(yq -r '.database.path' "${old_config_file}")
if [[ "${db_path}" == "null" ]]; then
db_path="${config_dir}/frigate.db"
fi
if [[ "${db_path}" == "${config_dir}/"* ]]; then
# replace /config/ prefix with /homeassistant/
local old_db_path="${home_assistant_config_dir}/${db_path:8}"
if [[ -f "${old_db_path}" ]]; then
local new_db_dir
new_db_dir="$(dirname "${db_path}")"
echo "[INFO] Migrating database from '${old_db_path}' to '${new_db_dir}' dir..." >&2
mkdir -vp "${new_db_dir}"
mv -vf "${old_db_path}" "${new_db_dir}"
local db_file
for db_file in "${old_db_path}"-shm "${old_db_path}"-wal; do
if [[ -f "${db_file}" ]]; then
mv -vf "${db_file}" "${new_db_dir}"
fi
done
unset db_file
fi
fi
local config_entry
for config_entry in .model.path .model.labelmap_path .ffmpeg.path .mqtt.tls_ca_certs .mqtt.tls_client_cert .mqtt.tls_client_key; do
local config_entry_path
config_entry_path=$(yq -r "${config_entry}" "${old_config_file}")
if [[ "${config_entry_path}" == "${config_dir}/"* ]]; then
# replace /config/ prefix with /homeassistant/
local old_config_entry_path="${home_assistant_config_dir}/${config_entry_path:8}"
if [[ -f "${old_config_entry_path}" ]]; then
local new_config_entry_entry
new_config_entry_entry="$(dirname "${config_entry_path}")"
echo "[INFO] Migrating ${config_entry} from '${old_config_entry_path}' to '${config_entry_path}'..." >&2
mkdir -vp "${new_config_entry_entry}"
mv -vf "${old_config_entry_path}" "${config_entry_path}"
fi
fi
done
local old_model_cache_path="${home_assistant_config_dir}/model_cache"
if [[ -d "${old_model_cache_path}" ]]; then
echo "[INFO] Migrating '${old_model_cache_path}' to '${config_dir}'..." >&2
mv -f "${old_model_cache_path}" "${config_dir}"
fi
echo "[INFO] Migrating other files from '${home_assistant_config_dir}' to '${config_dir}'..." >&2
local file
for file in .exports .jwt_secret .timeline .vacuum go2rtc; do
file="${home_assistant_config_dir}/${file}"
if [[ -f "${file}" ]]; then
mv -vf "${file}" "${config_dir}"
fi
done
echo "[INFO] Migrating config file from '${old_config_file}' to '${new_config_file}'..." >&2
mv -vf "${old_config_file}" "${new_config_file}"
echo "[INFO] Migration from Home Assistant config dir to Add-on config dir completed." >&2
}
function migrate_db_from_media_to_config() {
# Find config file in yml or yaml, but prefer yml
local config_file="${CONFIG_FILE:-"/config/config.yml"}"
local config_file_yaml="${config_file//.yml/.yaml}"
if [[ -f "${config_file}" ]]; then
:
elif [[ -f "${config_file_yaml}" ]]; then
config_file="${config_file_yaml}"
else
# Frigate will create the config file on startup
return 0
fi
unset config_file_yaml
local user_db_path
user_db_path=$(yq -r '.database.path' "${config_file}")
if [[ "${user_db_path}" == "null" ]]; then
local old_db_path="/media/frigate/frigate.db"
local new_db_dir="/config"
if [[ -f "${old_db_path}" ]]; then
echo "[INFO] Migrating database from '${old_db_path}' to '${new_db_dir}' dir..." >&2
if mountpoint --quiet "${new_db_dir}"; then
# /config is a mount point, move the db
mv -vf "${old_db_path}" "${new_db_dir}"
local db_file
for db_file in "${old_db_path}"-shm "${old_db_path}"-wal; do
if [[ -f "${db_file}" ]]; then
mv -vf "${db_file}" "${new_db_dir}"
fi
done
unset db_file
else
echo "[ERROR] Trying to migrate the database path from '${old_db_path}' to '${new_db_dir}' dir, but '${new_db_dir}' is not a mountpoint, please mount the '${new_db_dir}' dir" >&2
return 1
fi
fi
fi
}
# remove leftover from last run, not normally needed, but just in case
# used by the docker healthcheck
rm -f /dev/shm/.frigate-is-stopping
migrate_addon_config_dir
migrate_db_from_media_to_config

View File

@@ -0,0 +1 @@
oneshot

View File

@@ -0,0 +1 @@
/etc/s6-overlay/s6-rc.d/prepare/run

View File

@@ -1,6 +1,6 @@
import json
import os
import sys
from typing import Any
from ruamel.yaml import YAML
@@ -9,28 +9,24 @@ from frigate.const import (
DEFAULT_FFMPEG_VERSION,
INCLUDED_FFMPEG_VERSIONS,
)
from frigate.util.config import find_config_file
sys.path.remove("/opt/frigate")
yaml = YAML()
config_file = os.environ.get("CONFIG_FILE", "/config/config.yml")
# Check if we can use .yaml instead of .yml
config_file_yaml = config_file.replace(".yml", ".yaml")
if os.path.isfile(config_file_yaml):
config_file = config_file_yaml
config_file = find_config_file()
try:
with open(config_file) as f:
raw_config = f.read()
if config_file.endswith((".yaml", ".yml")):
config: dict[str, any] = yaml.load(raw_config)
config: dict[str, Any] = yaml.load(raw_config)
elif config_file.endswith(".json"):
config: dict[str, any] = json.loads(raw_config)
config: dict[str, Any] = json.loads(raw_config)
except FileNotFoundError:
config: dict[str, any] = {}
config: dict[str, Any] = {}
path = config.get("ffmpeg", {}).get("path", "default")
if path == "default":

View File

@@ -4,6 +4,7 @@ import json
import os
import sys
from pathlib import Path
from typing import Any
from ruamel.yaml import YAML
@@ -15,6 +16,7 @@ from frigate.const import (
LIBAVFORMAT_VERSION_MAJOR,
)
from frigate.ffmpeg_presets import parse_preset_hardware_acceleration_encode
from frigate.util.config import find_config_file
sys.path.remove("/opt/frigate")
@@ -29,25 +31,20 @@ if os.path.isdir("/run/secrets"):
Path(os.path.join("/run/secrets", secret_file)).read_text().strip()
)
config_file = os.environ.get("CONFIG_FILE", "/config/config.yml")
# Check if we can use .yaml instead of .yml
config_file_yaml = config_file.replace(".yml", ".yaml")
if os.path.isfile(config_file_yaml):
config_file = config_file_yaml
config_file = find_config_file()
try:
with open(config_file) as f:
raw_config = f.read()
if config_file.endswith((".yaml", ".yml")):
config: dict[str, any] = yaml.load(raw_config)
config: dict[str, Any] = yaml.load(raw_config)
elif config_file.endswith(".json"):
config: dict[str, any] = json.loads(raw_config)
config: dict[str, Any] = json.loads(raw_config)
except FileNotFoundError:
config: dict[str, any] = {}
config: dict[str, Any] = {}
go2rtc_config: dict[str, any] = config.get("go2rtc", {})
go2rtc_config: dict[str, Any] = config.get("go2rtc", {})
# Need to enable CORS for go2rtc so the frigate integration / card work automatically
if go2rtc_config.get("api") is None:
@@ -57,7 +54,7 @@ elif go2rtc_config["api"].get("origin") is None:
# Need to set default location for HA config
if go2rtc_config.get("hass") is None:
go2rtc_config["hass"] = {"config": "/config"}
go2rtc_config["hass"] = {"config": "/homeassistant"}
# we want to ensure that logs are easy to read
if go2rtc_config.get("log") is None:
@@ -69,10 +66,6 @@ elif go2rtc_config["log"].get("format") is None:
if go2rtc_config.get("webrtc") is None:
go2rtc_config["webrtc"] = {}
# go2rtc should listen on 8555 tcp & udp by default
if go2rtc_config["webrtc"].get("listen") is None:
go2rtc_config["webrtc"]["listen"] = ":8555"
if go2rtc_config["webrtc"].get("candidates") is None:
default_candidates = []
# use internal candidate if it was discovered when running through the add-on
@@ -84,33 +77,15 @@ if go2rtc_config["webrtc"].get("candidates") is None:
go2rtc_config["webrtc"]["candidates"] = default_candidates
# This prevents WebRTC from attempting to establish a connection to the internal
# docker IPs which are not accessible from outside the container itself and just
# wastes time during negotiation. Note that this is only necessary because
# Frigate container doesn't run in host network mode.
if go2rtc_config["webrtc"].get("filter") is None:
go2rtc_config["webrtc"]["filter"] = {"candidates": []}
elif go2rtc_config["webrtc"]["filter"].get("candidates") is None:
go2rtc_config["webrtc"]["filter"]["candidates"] = []
if go2rtc_config.get("rtsp", {}).get("username") is not None:
go2rtc_config["rtsp"]["username"] = go2rtc_config["rtsp"]["username"].format(
**FRIGATE_ENV_VARS
)
# sets default RTSP response to be equivalent to ?video=h264,h265&audio=aac
# this means user does not need to specify audio codec when using restream
# as source for frigate and the integration supports HLS playback
if go2rtc_config.get("rtsp") is None:
go2rtc_config["rtsp"] = {"default_query": "mp4"}
else:
if go2rtc_config["rtsp"].get("default_query") is None:
go2rtc_config["rtsp"]["default_query"] = "mp4"
if go2rtc_config["rtsp"].get("username") is not None:
go2rtc_config["rtsp"]["username"] = go2rtc_config["rtsp"]["username"].format(
**FRIGATE_ENV_VARS
)
if go2rtc_config["rtsp"].get("password") is not None:
go2rtc_config["rtsp"]["password"] = go2rtc_config["rtsp"]["password"].format(
**FRIGATE_ENV_VARS
)
if go2rtc_config.get("rtsp", {}).get("password") is not None:
go2rtc_config["rtsp"]["password"] = go2rtc_config["rtsp"]["password"].format(
**FRIGATE_ENV_VARS
)
# ensure ffmpeg path is set correctly
path = config.get("ffmpeg", {}).get("path", "default")
@@ -128,7 +103,7 @@ elif go2rtc_config["ffmpeg"].get("bin") is None:
# need to replace ffmpeg command when using ffmpeg4
if LIBAVFORMAT_VERSION_MAJOR < 59:
rtsp_args = "-fflags nobuffer -flags low_delay -stimeout 5000000 -user_agent go2rtc/ffmpeg -rtsp_transport tcp -i {input}"
rtsp_args = "-fflags nobuffer -flags low_delay -stimeout 10000000 -user_agent go2rtc/ffmpeg -rtsp_transport tcp -i {input}"
if go2rtc_config.get("ffmpeg") is None:
go2rtc_config["ffmpeg"] = {"rtsp": rtsp_args}
elif go2rtc_config["ffmpeg"].get("rtsp") is None:
@@ -160,7 +135,7 @@ for name in go2rtc_config.get("streams", {}):
# add birdseye restream stream if enabled
if config.get("birdseye", {}).get("restream", False):
birdseye: dict[str, any] = config.get("birdseye")
birdseye: dict[str, Any] = config.get("birdseye")
input = f"-f rawvideo -pix_fmt yuv420p -video_size {birdseye.get('width', 1280)}x{birdseye.get('height', 720)} -r 10 -i {BIRDSEYE_PIPE}"
ffmpeg_cmd = f"exec:{parse_preset_hardware_acceleration_encode(ffmpeg_path, config.get('ffmpeg', {}).get('hwaccel_args', ''), input, '-rtsp_transport tcp -f rtsp {output}')}"

View File

@@ -30,7 +30,7 @@ http {
gzip on;
gzip_comp_level 6;
gzip_types text/plain text/css application/json application/x-javascript application/javascript text/javascript image/svg+xml image/x-icon image/bmp image/png image/gif image/jpeg image/jpg;
gzip_types text/plain text/css application/json application/x-javascript application/javascript text/javascript image/svg+xml image/x-icon image/bmp;
gzip_proxied no-cache no-store private expired auth;
gzip_vary on;
@@ -82,7 +82,7 @@ http {
aio on;
# file upload size
client_max_body_size 10M;
client_max_body_size 20M;
# https://github.com/kaltura/nginx-vod-module#vod_open_file_thread_pool
vod_open_file_thread_pool default;
@@ -96,6 +96,7 @@ http {
gzip_types application/vnd.apple.mpegurl;
include auth_location.conf;
include base_path.conf;
location /vod/ {
include auth_request.conf;
@@ -299,11 +300,29 @@ http {
add_header Cache-Control "public";
}
location /locales/ {
access_log off;
add_header Cache-Control "public";
}
location ~ ^/.*-([A-Za-z0-9]+)\.webmanifest$ {
access_log off;
expires 1y;
add_header Cache-Control "public";
default_type application/json;
proxy_set_header Accept-Encoding "";
sub_filter_once off;
sub_filter_types application/json;
sub_filter '"start_url": "/BASE_PATH/"' '"start_url" : "$http_x_ingress_path/"';
sub_filter '"src": "/BASE_PATH/' '"src": "$http_x_ingress_path/';
}
sub_filter 'href="/BASE_PATH/' 'href="$http_x_ingress_path/';
sub_filter 'url(/BASE_PATH/' 'url($http_x_ingress_path/';
sub_filter '"/BASE_PATH/dist/' '"$http_x_ingress_path/dist/';
sub_filter '"/BASE_PATH/js/' '"$http_x_ingress_path/js/';
sub_filter '"/BASE_PATH/assets/' '"$http_x_ingress_path/assets/';
sub_filter '"/BASE_PATH/locales/' '"$http_x_ingress_path/locales/';
sub_filter '"/BASE_PATH/monacoeditorwork/' '"$http_x_ingress_path/assets/';
sub_filter 'return"/BASE_PATH/"' 'return window.baseUrl';
sub_filter '<body>' '<body><script>window.baseUrl="$http_x_ingress_path/";</script>';

View File

@@ -0,0 +1,11 @@
"""Prints the base path as json to stdout."""
import json
import os
from typing import Any
base_path = os.environ.get("FRIGATE_BASE_PATH", "")
result: dict[str, Any] = {"base_path": base_path}
print(json.dumps(result))

View File

@@ -1,30 +1,31 @@
"""Prints the tls config as json to stdout."""
import json
import os
import sys
from typing import Any
from ruamel.yaml import YAML
sys.path.insert(0, "/opt/frigate")
from frigate.util.config import find_config_file
sys.path.remove("/opt/frigate")
yaml = YAML()
config_file = os.environ.get("CONFIG_FILE", "/config/config.yml")
# Check if we can use .yaml instead of .yml
config_file_yaml = config_file.replace(".yml", ".yaml")
if os.path.isfile(config_file_yaml):
config_file = config_file_yaml
config_file = find_config_file()
try:
with open(config_file) as f:
raw_config = f.read()
if config_file.endswith((".yaml", ".yml")):
config: dict[str, any] = yaml.load(raw_config)
config: dict[str, Any] = yaml.load(raw_config)
elif config_file.endswith(".json"):
config: dict[str, any] = json.loads(raw_config)
config: dict[str, Any] = json.loads(raw_config)
except FileNotFoundError:
config: dict[str, any] = {}
config: dict[str, Any] = {}
tls_config: dict[str, any] = config.get("tls", {"enabled": True})
tls_config: dict[str, Any] = config.get("tls", {"enabled": True})
print(json.dumps(tls_config))

View File

@@ -0,0 +1,19 @@
{{ if .base_path }}
location = {{ .base_path }} {
return 302 {{ .base_path }}/;
}
location ^~ {{ .base_path }}/ {
# remove base_url from the path before passing upstream
rewrite ^{{ .base_path }}/(.*) /$1 break;
proxy_pass $scheme://127.0.0.1:8971;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $host;
proxy_set_header X-Ingress-Path {{ .base_path }};
access_log off;
}
{{ end }}

View File

@@ -26,7 +26,7 @@ COPY --from=rootfs / /
COPY docker/rockchip/COCO /COCO
COPY docker/rockchip/conv2rknn.py /opt/conv2rknn.py
ADD https://github.com/MarcA711/rknn-toolkit2/releases/download/v2.3.0/librknnrt.so /usr/lib/
ADD https://github.com/MarcA711/rknn-toolkit2/releases/download/v2.3.2/librknnrt.so /usr/lib/
ADD --chmod=111 https://github.com/MarcA711/Rockchip-FFmpeg-Builds/releases/download/6.1-7/ffmpeg /usr/lib/ffmpeg/6.0/bin/
ADD --chmod=111 https://github.com/MarcA711/Rockchip-FFmpeg-Builds/releases/download/6.1-7/ffprobe /usr/lib/ffmpeg/6.0/bin/

View File

@@ -14,7 +14,7 @@ try:
with open("/config/conv2rknn.yaml", "r") as config_file:
configuration = yaml.safe_load(config_file)
except FileNotFoundError:
raise Exception("Please place a config.yaml file in /config/conv2rknn.yaml")
raise Exception("Please place a config file at /config/conv2rknn.yaml")
if configuration["config"] != None:
rknn_config = configuration["config"]

View File

@@ -1,2 +1,2 @@
rknn-toolkit2 == 2.3.0
rknn-toolkit-lite2 == 2.3.0
rknn-toolkit2 == 2.3.2
rknn-toolkit-lite2 == 2.3.2

View File

@@ -22,7 +22,7 @@ RUN apt update && \
RUN mkdir -p /opt/rocm-dist/opt/rocm-$ROCM/lib
RUN cd /opt/rocm-$ROCM/lib && \
cp -dpr libMIOpen*.so* libamd*.so* libhip*.so* libhsa*.so* libmigraphx*.so* librocm*.so* librocblas*.so* libroctracer*.so* librocfft*.so* librocprofiler*.so* libroctx*.so* /opt/rocm-dist/opt/rocm-$ROCM/lib/ && \
cp -dpr libMIOpen*.so* libamd*.so* libhip*.so* libhsa*.so* libmigraphx*.so* librocm*.so* librocblas*.so* libroctracer*.so* librocsolver*.so* librocfft*.so* librocprofiler*.so* libroctx*.so* /opt/rocm-dist/opt/rocm-$ROCM/lib/ && \
mkdir -p /opt/rocm-dist/opt/rocm-$ROCM/lib/migraphx/lib && \
cp -dpr migraphx/lib/* /opt/rocm-dist/opt/rocm-$ROCM/lib/migraphx/lib
RUN cd /opt/rocm-dist/opt/ && ln -s rocm-$ROCM rocm
@@ -39,6 +39,7 @@ WORKDIR /opt/frigate
COPY --from=rootfs / /
RUN wget -q https://bootstrap.pypa.io/get-pip.py -O get-pip.py \
&& sed -i 's/args.append("setuptools")/args.append("setuptools==77.0.3")/' get-pip.py \
&& python3 get-pip.py "pip" --break-system-packages
RUN python3 -m pip config set global.break-system-packages true

View File

@@ -9,9 +9,9 @@ ARG DEBIAN_FRONTEND
# Add deadsnakes PPA for python3.11
RUN apt-get -qq update && \
apt-get -qq install -y --no-install-recommends \
software-properties-common \
&& add-apt-repository ppa:deadsnakes/ppa
apt-get -qq install -y --no-install-recommends \
software-properties-common \
&& add-apt-repository ppa:deadsnakes/ppa
# Use a separate container to build wheels to prevent build dependencies in final image
RUN apt-get -qq update \
@@ -24,6 +24,7 @@ RUN apt-get -qq update \
RUN update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.11 1
RUN wget -q https://bootstrap.pypa.io/get-pip.py -O get-pip.py \
&& sed -i 's/args.append("setuptools")/args.append("setuptools==77.0.3")/' get-pip.py \
&& python3 get-pip.py "pip"
FROM build-wheels AS trt-wheels
@@ -46,12 +47,11 @@ RUN --mount=type=bind,source=docker/tensorrt/detector/build_python_tensorrt.sh,t
&& TENSORRT_VER=$(cat /etc/TENSORRT_VER) /deps/build_python_tensorrt.sh
COPY docker/tensorrt/requirements-arm64.txt /requirements-tensorrt.txt
# See https://elinux.org/Jetson_Zoo#ONNX_Runtime
ADD https://nvidia.box.com/shared/static/9yvw05k6u343qfnkhdv2x6xhygze0aq1.whl /tmp/onnxruntime_gpu-1.19.0-cp311-cp311-linux_aarch64.whl
RUN pip3 uninstall -y onnxruntime-openvino \
&& pip3 wheel --wheel-dir=/trt-wheels -r /requirements-tensorrt.txt \
&& pip3 install --no-deps /tmp/onnxruntime_gpu-1.19.0-cp311-cp311-linux_aarch64.whl
RUN pip3 wheel --wheel-dir=/trt-wheels -r /requirements-tensorrt.txt
# See https://elinux.org/Jetson_Zoo#ONNX_Runtime
ADD https://nvidia.box.com/shared/static/9yvw05k6u343qfnkhdv2x6xhygze0aq1.whl /trt-wheels/onnxruntime_gpu-1.19.0-cp311-cp311-linux_aarch64.whl
FROM build-wheels AS trt-model-wheels
ARG DEBIAN_FRONTEND
@@ -92,7 +92,8 @@ RUN mkdir -p /etc/ld.so.conf.d && echo /usr/lib/ffmpeg/jetson/lib/ > /etc/ld.so.
COPY --from=trt-wheels /etc/TENSORRT_VER /etc/TENSORRT_VER
RUN --mount=type=bind,from=trt-wheels,source=/trt-wheels,target=/deps/trt-wheels \
--mount=type=bind,from=trt-model-wheels,source=/trt-model-wheels,target=/deps/trt-model-wheels \
pip3 install -U /deps/trt-wheels/*.whl /deps/trt-model-wheels/*.whl \
pip3 uninstall -y onnxruntime \
&& pip3 install -U /deps/trt-wheels/*.whl /deps/trt-model-wheels/*.whl \
&& ldconfig
WORKDIR /opt/frigate/

View File

@@ -21,7 +21,20 @@ RUN --mount=type=bind,source=docker/tensorrt/detector/tensorrt_libyolo.sh,target
RUN mkdir -p /usr/local/cuda-deps
RUN if [ "$TARGETARCH" = "amd64" ]; then \
cp /usr/local/cuda-12.3/targets/x86_64-linux/lib/libcurand.so.* /usr/local/cuda-deps/ && \
cp /usr/local/cuda-12.3/targets/x86_64-linux/lib/libnvrtc.so.* /usr/local/cuda-deps/ ; \
cp /usr/local/cuda-12.3/targets/x86_64-linux/lib/libnvrtc.so.* /usr/local/cuda-deps/ && \
cd /usr/local/cuda-deps/ && \
for lib in libnvrtc.so.*; do \
if [[ "$lib" =~ libnvrtc.so\.([0-9]+\.[0-9]+\.[0-9]+) ]]; then \
version="${BASH_REMATCH[1]}"; \
ln -sf "libnvrtc.so.$version" libnvrtc.so; \
fi; \
done && \
for lib in libcurand.so.*; do \
if [[ "$lib" =~ libcurand.so\.([0-9]+\.[0-9]+\.[0-9]+\.[0-9]+) ]]; then \
version="${BASH_REMATCH[1]}"; \
ln -sf "libcurand.so.$version" libcurand.so; \
fi; \
done; \
fi
# Frigate w/ TensorRT Support as separate image

View File

@@ -1,8 +1,7 @@
/usr/local/lib
/usr/local/cuda
/usr/local/lib/python3.11/dist-packages/tensorrt
/usr/local/lib/python3.11/dist-packages/nvidia/cudnn/lib
/usr/local/lib/python3.11/dist-packages/nvidia/cuda_runtime/lib
/usr/local/lib/python3.11/dist-packages/nvidia/cublas/lib
/usr/local/lib/python3.11/dist-packages/nvidia/cuda_nvrtc/lib
/usr/local/lib/python3.11/dist-packages/tensorrt
/usr/local/lib/python3.11/dist-packages/nvidia/cufft/lib

View File

@@ -44,7 +44,7 @@ go2rtc:
### `environment_vars`
This section can be used to set environment variables for those unable to modify the environment of the container (ie. within HassOS)
This section can be used to set environment variables for those unable to modify the environment of the container, like within Home Assistant OS.
Example:
@@ -172,6 +172,38 @@ listen [::]:8971 ipv6only=off ssl;
listen [::]:5000 ipv6only=off;
```
## Base path
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
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:
```
location /frigate {
proxy_set_header X-Ingress-Path /frigate;
proxy_pass http://frigate_backend;
}
```
### 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.
For example:
```
services:
frigate:
image: blakeblackshear/frigate:latest
environment:
- FRIGATE_BASE_PATH=/frigate
```
This can be used for example to access Frigate via a Tailscale agent (https), by simply forwarding all requests to the base path (http):
```
tailscale serve --https=443 --bg --set-path /frigate http://localhost:5000/frigate
```
## Custom Dependencies
### Custom ffmpeg build
@@ -186,7 +218,7 @@ To do this:
### Custom go2rtc version
Frigate currently includes go2rtc v1.9.2, there may be certain cases where you want to run a different version of go2rtc.
Frigate currently includes go2rtc v1.9.9, there may be certain cases where you want to run a different version of go2rtc.
To do this:

View File

@@ -43,13 +43,13 @@ Restarting Frigate will reset the rate limits.
If you are running Frigate behind a proxy, you will want to set `trusted_proxies` or these rate limits will apply to the upstream proxy IP address. This means that a brute force attack will rate limit login attempts from other devices and could temporarily lock you out of your instance. In order to ensure rate limits only apply to the actual IP address where the requests are coming from, you will need to list the upstream networks that you want to trust. These trusted proxies are checked against the `X-Forwarded-For` header when looking for the IP address where the request originated.
If you are running a reverse proxy in the same docker compose file as Frigate, here is an example of how your auth config might look:
If you are running a reverse proxy in the same Docker Compose file as Frigate, here is an example of how your auth config might look:
```yaml
auth:
failed_login_rate_limit: "1/second;5/minute;20/hour"
trusted_proxies:
- 172.18.0.0/16 # <---- this is the subnet for the internal docker compose network
- 172.18.0.0/16 # <---- this is the subnet for the internal Docker Compose network
```
## JWT Token Secret
@@ -66,7 +66,7 @@ Frigate looks for a JWT token secret in the following order:
1. An environment variable named `FRIGATE_JWT_SECRET`
2. A docker secret named `FRIGATE_JWT_SECRET` in `/run/secrets/`
3. A `jwt_secret` option from the Home Assistant Addon options
3. A `jwt_secret` option from the Home Assistant Add-on options
4. A `.jwt_secret` file in the config directory
If no secret is found on startup, Frigate generates one and stores it in a `.jwt_secret` file in the config directory.
@@ -77,7 +77,7 @@ Changing the secret will invalidate current tokens.
Frigate can be configured to leverage features of common upstream authentication proxies such as Authelia, Authentik, oauth2_proxy, or traefik-forward-auth.
If you are leveraging the authentication of an upstream proxy, you likely want to disable Frigate's authentication. Optionally, if communication between the reverse proxy and Frigate is over an untrusted network, you should set an `auth_secret` in the `proxy` config and configure the proxy to send the secret value as a header named `X-Proxy-Secret`. Assuming this is an untrusted network, you will also want to [configure a real TLS certificate](tls.md) to ensure the traffic can't simply be sniffed to steal the secret.
If you are leveraging the authentication of an upstream proxy, you likely want to disable Frigate's authentication as there is no correspondence between users in Frigate's database and users authenticated via the proxy. Optionally, if communication between the reverse proxy and Frigate is over an untrusted network, you should set an `auth_secret` in the `proxy` config and configure the proxy to send the secret value as a header named `X-Proxy-Secret`. Assuming this is an untrusted network, you will also want to [configure a real TLS certificate](tls.md) to ensure the traffic can't simply be sniffed to steal the secret.
Here is an example of how to disable Frigate's authentication and also ensure the requests come only from your known proxy.
@@ -97,11 +97,12 @@ python3 -c 'import secrets; print(secrets.token_hex(64))'
### Header mapping
If you have disabled Frigate's authentication and your proxy supports passing a header with authenticated usernames and/or roles, you can use the `header_map` config to specify the header name so it is passed to Frigate. For example, the following will map the `X-Forwarded-User` and `X-Forwarded-Role` values. Header names are not case sensitive.
If you have disabled Frigate's authentication and your proxy supports passing a header with authenticated usernames and/or roles, you can use the `header_map` config to specify the header name so it is passed to Frigate. For example, the following will map the `X-Forwarded-User` and `X-Forwarded-Role` values. Header names are not case sensitive. Multiple values can be included in the role header. Frigate expects that the character separating the roles is a comma, but this can be specified using the `separator` config entry.
```yaml
proxy:
...
separator: "|" # This value defaults to a comma, but Authentik uses a pipe, for example.
header_map:
user: x-forwarded-user
role: x-forwarded-role
@@ -109,6 +110,14 @@ proxy:
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.
A default role can be provided. Any value in the mapped `role` header will override the default.
```yaml
proxy:
...
default_role: viewer
```
#### Port Considerations
**Authenticated Port (8971)**

View File

@@ -0,0 +1,31 @@
---
id: bird_classification
title: Bird Classification
---
Bird classification identifies known birds using a quantized Tensorflow model. When a known bird is recognized, its common name will be added as a `sub_label`. This information is included in the UI, filters, as well as in notifications.
## Minimum System Requirements
Bird classification runs a lightweight tflite model on the CPU, there are no significantly different system requirements than running Frigate itself.
## Model
The classification model used is the MobileNet INat Bird Classification, [available identifiers can be found here.](https://raw.githubusercontent.com/google-coral/test_data/master/inat_bird_labels.txt)
## Configuration
Bird classification is disabled by default, it must be enabled in your config file before it can be used. Bird classification is a global configuration setting.
```yaml
classification:
bird:
enabled: true
```
## Advanced Configuration
Fine-tune bird classification with these optional parameters:
- `threshold`: Classification confidence score required to set the sub label on the object.
- Default: `0.9`.

View File

@@ -4,7 +4,7 @@ In addition to Frigate's Live camera dashboard, Birdseye allows a portable heads
Birdseye can be viewed by adding the "Birdseye" camera to a Camera Group in the Web UI. Add a Camera Group by pressing the "+" icon on the Live page, and choose "Birdseye" as one of the cameras.
Birdseye can also be used in HomeAssistant dashboards, cast to media devices, etc.
Birdseye can also be used in Home Assistant dashboards, cast to media devices, etc.
## Birdseye Behavior

View File

@@ -15,6 +15,17 @@ Many cameras support encoding options which greatly affect the live view experie
:::
## H.265 Cameras via Safari
Some cameras support h265 with different formats, but Safari only supports the annexb format. When using h265 camera streams for recording with devices that use the Safari browser, the `apple_compatibility` option should be used.
```yaml
cameras:
h265_cam: # <------ Doesn't matter what the camera is called
ffmpeg:
apple_compatibility: true # <- Adds compatibility with MacOS and iPhone
```
## MJPEG Cameras
Note that mjpeg cameras require encoding the video into h264 for recording, and restream roles. This will use significantly more CPU than if the cameras supported h264 feeds directly. It is recommended to use the restream role to create an h264 restream and then use that as the source for ffmpeg.
@@ -219,7 +230,7 @@ go2rtc:
- rtspx://192.168.1.1:7441/abcdefghijk
```
[See the go2rtc docs for more information](https://github.com/AlexxIT/go2rtc/tree/v1.9.2#source-rtsp)
[See the go2rtc docs for more information](https://github.com/AlexxIT/go2rtc/tree/v1.9.9#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.

View File

@@ -3,20 +3,85 @@ id: face_recognition
title: Face Recognition
---
Face recognition allows people to be assigned names and when their face is recognized Frigate will assign the person's name as a sub label. This information is included in the UI, filters, as well as in notifications.
Face recognition identifies known individuals by matching detected faces with previously learned facial data. When a known `person` is recognized, their name will be added as a `sub_label`. This information is included in the UI, filters, as well as in notifications.
Frigate has support for CV2 Local Binary Pattern Face Recognizer to recognize faces, which runs locally. A lightweight face landmark detection model is also used to align faces before running them through the face recognizer.
## Model Requirements
### Face Detection
When running a Frigate+ model (or any custom model that natively detects faces) should ensure that `face` is added to the [list of objects to track](../plus/#available-label-types) either globally or for a specific camera. This will allow face detection to run at the same time as object detection and be more efficient.
When running a default COCO model or another model that does not include `face` as a detectable label, face detection will run via CV2 using a lightweight DNN model that runs on the CPU. In this case, you should _not_ define `face` in your list of objects to track.
:::note
Frigate needs to first detect a `person` before it can detect and recognize a face.
:::
### Face Recognition
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.
- **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.
In both cases, a lightweight face landmark detection model is also used to align faces before running recognition.
All of these features run locally on your system.
## Minimum System Requirements
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.
## Configuration
Face recognition is disabled by default, face recognition must be enabled in your config file before it can be used. Face recognition is a global configuration setting.
Face recognition is disabled by default, face recognition must be enabled in the UI or in your config file before it can be used. Face recognition is a global configuration setting.
```yaml
face_recognition:
enabled: true
```
## Dataset
## Advanced Configuration
Fine-tune face recognition with these optional parameters at the global level of your config. The only optional parameters that can be set at the camera level are `enabled` and `min_area`.
### Detection
- `detection_threshold`: Face detection confidence score required before recognition runs:
- Default: `0.7`
- Note: This is field only applies to the standalone face detection model, `min_score` should be used to filter for models that have face detection built in.
- `min_area`: Defines the minimum size (in pixels) a face must be before recognition runs.
- Default: `500` pixels.
- Depending on the resolution of your camera's `detect` stream, you can increase this value to ignore small or distant faces.
### Recognition
- `model_size`: Which model size to use, options are `small` or `large`
- `unknown_score`: Min score to mark a person as a potential match, matches at or below this will be marked as unknown.
- Default: `0.8`.
- `recognition_threshold`: Recognition confidence score required to add the face to the object as a sub label.
- Default: `0.9`.
- `min_faces`: Min face attempts for the sub label to be applied to the person object.
- Default: `1`
- `save_attempts`: Number of images of recognized faces to save for training.
- Default: `100`.
- `blur_confidence_filter`: Enables a filter that calculates how blurry the face is and adjusts the confidence based on this.
- Default: `True`.
## Usage
Follow these steps to begin:
1. **Enable face recognition** in your configuration file and restart Frigate.
2. **Upload one face** using the **Add Face** button's wizard in the Face Library section of the Frigate UI. Read below for the best practices on expanding your training set.
3. When Frigate detects and attempts to recognize a face, it will appear in the **Train** tab of the Face Library, along with its associated recognition confidence.
4. From the **Train** tab, you can **assign the face** to a new or existing person to improve recognition accuracy for the future.
## Creating a Robust Training Set
The number of images needed for a sufficient training set for face recognition varies depending on several factors:
@@ -25,11 +90,9 @@ The number of images needed for a sufficient training set for face recognition v
However, here are some general guidelines:
- Minimum: For basic face recognition tasks, a minimum of 10-20 images per person is often recommended.
- Recommended: For more robust and accurate systems, 30-50 images per person is a good starting point.
- Ideal: For optimal performance, especially in challenging conditions, 100 or more images per person can be beneficial.
## Creating a Robust Training Set
- Minimum: For basic face recognition tasks, a minimum of 5-10 images per person is often recommended.
- Recommended: For more robust and accurate systems, 20-30 images per person is a good starting point.
- Ideal: For optimal performance, especially in challenging conditions, 50-100 images per person can be beneficial.
The accuracy of face recognition is heavily dependent on the quality of data given to it for training. It is recommended to build the face training library in phases.
@@ -38,19 +101,85 @@ The accuracy of face recognition is heavily dependent on the quality of data giv
When choosing images to include in the face training set it is recommended to always follow these recommendations:
- If it is difficult to make out details in a persons face it will not be helpful in training.
- Avoid images with under/over-exposure.
- Avoid images with extreme under/over-exposure.
- Avoid blurry / pixelated images.
- Be careful when uploading images of people when they are wearing clothing that covers a lot of their face as this may confuse the training.
- Do not upload too many images at the same time, it is recommended to train 4-6 images for each person each day so it is easier to know if the previously added images helped or hurt performance.
- Avoid training on infrared (gray-scale). The models are trained on color images and will be able to extract features from gray-scale images.
- Using images of people wearing hats / sunglasses may confuse the model.
- Do not upload too many similar images at the same time, it is recommended to train no more than 4-6 similar images for each person to avoid over-fitting.
:::
### Understanding the Train 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.
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.
Refer to the guidelines below for best practices on selecting images for training.
### Step 1 - Building a Strong Foundation
When first enabling face recognition it is important to build a foundation of strong images. It is recommended to start by uploading 1-2 photos taken by a smartphone for each person. It is important that the person's face in the photo is straight-on and not turned which will ensure a good starting point.
When first enabling face recognition it is important to build a foundation of strong images. It is recommended to start by uploading 1-5 photos containing just this person's face. It is important that the person's face in the photo is front-facing and not turned, this will ensure a good starting point.
Then it is recommended to use the `Face Library` tab in Frigate to select and train images for each person as they are detected. When building a strong foundation it is strongly recommended to only train on images that are straight-on. Ignore images from cameras that recognize faces from an angle. Once a person starts to be consistently recognized correctly on images that are straight-on, it is time to move on to the next step.
Then it is recommended to use the `Face Library` tab in Frigate to select and train images for each person as they are detected. When building a strong foundation it is strongly recommended to only train on images that are front-facing. Ignore images from cameras that recognize faces from an angle. Aim to strike a balance between the quality of images while also having a range of conditions (day / night, different weather conditions, different times of day, etc.) in order to have diversity in the images used for each person and not have over-fitting.
You do not want to train images that are 90%+ as these are already being confidently recognized. In this step the goal is to train on clear, lower scoring front-facing images until the majority of front-facing images for a given person are consistently recognized correctly. Then it is time to move on to step 2.
### Step 2 - Expanding The Dataset
Once straight-on images are performing well, start choosing slightly off-angle images to include for training. It is important to still choose images where enough face detail is visible to recognize someone.
Once front-facing images are performing well, start choosing slightly off-angle images to include for training. It is important to still choose images where enough face detail is visible to recognize someone, and you still only want to train on images that score lower.
## FAQ
### Detection does not work well with blurry images?
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.
### 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.
### Why can't I bulk reprocess faces?
Face embedding models work by breaking apart faces into different features. This means that when reprocessing an image, only images from a similar angle will have its score affected.
### Why do unknown people score similarly to known people?
This can happen for a few different reasons, but this is usually an indicator that the training set needs to be improved. This is often related to over-fitting:
- If you train with only a few images per person, especially if those images are very similar, the recognition model becomes overly specialized to those specific images.
- When you provide images with different poses, lighting, and expressions, the algorithm extracts features that are consistent across those variations.
- By training on a diverse set of images, the algorithm becomes less sensitive to minor variations and noise in the input image.
Review your face collections and remove most of the unclear or low-quality images. Then, use the **Reprocess** button on each face in the **Train** tab to evaluate how the changes affect recognition scores.
Avoid training on images that already score highly, as this can lead to over-fitting. Instead, focus on relatively clear images that score lower - ideally with different lighting, angles, and conditions—to help the model generalize more effectively.
### Frigate misidentified a face. Can I tell it that a face is "not" a specific 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.
### I see scores above the threshold in the train 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.
### Can I use other face recognition software like DoubleTake at the same time as the built in face recognition?
No, using another face recognition service will interfere with Frigate's built in face recognition. When using double-take the sub_label feature must be disabled if the built in face recognition is also desired.
### Does face recognition run on the recording stream?
Face recognition does not run on the recording stream, this would be suboptimal for many reasons:
1. The latency of accessing the recordings means the notifications would not include the names of recognized people because recognition would not complete until after.
2. The embedding models used run on a set image size, so larger images will be scaled down to match this anyway.
3. Motion clarity is much more important than extra pixels, over-compression and motion blur are much more detrimental to results than resolution.
### I get an unknown error when taking a photo directly with my iPhone
By default iOS devices will use HEIC (High Efficiency Image Container) for images, but this format is not supported for uploads. Choosing `large` as the format instead of `original` will use JPG which will work correctly.
### How can I delete the face database and start over?
Frigate does not store anything in its database related to face recognition. You can simply delete all of your faces through the Frigate UI or remove the contents of the `/media/frigate/clips/faces` directory.

View File

@@ -9,7 +9,7 @@ Some presets of FFmpeg args are provided by default to make the configuration ea
It is highly recommended to use hwaccel presets in the config. These presets not only replace the longer args, but they also give Frigate hints of what hardware is available and allows Frigate to make other optimizations using the GPU such as when encoding the birdseye restream or when scaling a stream that has a size different than the native stream size.
See [the hwaccel docs](/configuration/hardware_acceleration.md) for more info on how to setup hwaccel for your GPU / iGPU.
See [the hwaccel docs](/configuration/hardware_acceleration_video.md) for more info on how to setup hwaccel for your GPU / iGPU.
| Preset | Usage | Other Notes |
| --------------------- | ------------------------------ | ----------------------------------------------------- |

View File

@@ -167,7 +167,7 @@ Analyze the sequence of images containing the {label}. Focus on the likely inten
:::tip
Prompts can use variable replacements like `{label}`, `{sub_label}`, and `{camera}` to substitute information from the tracked object as part of the prompt.
Prompts can use variable replacements `{label}`, `{sub_label}`, and `{camera}` to substitute information from the tracked object as part of the prompt.
:::

View File

@@ -0,0 +1,32 @@
---
id: hardware_acceleration_enrichments
title: Enrichments
---
# Enrichments
Some of Frigate's enrichments can use a discrete GPU for accelerated processing.
## 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.
- **AMD**
- ROCm will automatically be detected and used for enrichments in the `-rocm` Frigate image.
- **Intel**
- OpenVINO will automatically be detected and used for enrichments in the default Frigate image.
- **Nvidia**
- 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.
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 for object detection.
:::note
A Google Coral is a TPU (Tensor Processing Unit), not a dedicated GPU (Graphics Processing Unit) and therefore does not provide any kind of acceleration for Frigate's enrichments.
:::

View File

@@ -1,20 +1,20 @@
---
id: hardware_acceleration
title: Hardware Acceleration
id: hardware_acceleration_video
title: Video Decoding
---
# Hardware Acceleration
# Video Decoding
It is highly recommended to use a GPU for hardware acceleration in Frigate. Some types of hardware acceleration are detected and used automatically, but you may need to update your configuration to enable hardware accelerated decoding in ffmpeg.
It is highly recommended to use a GPU for hardware acceleration video decoding in Frigate. Some types of hardware acceleration are detected and used automatically, but you may need to update your configuration to enable hardware accelerated decoding in ffmpeg.
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
# Officially Supported
# Object Detection
## Raspberry Pi 3/4
Ensure you increase the allocated RAM for your GPU to at least 128 (`raspi-config` > Performance Options > GPU Memory).
If you are using the HA addon, you may need to use the full access variant and turn off `Protection mode` for hardware acceleration.
If you are using the HA Add-on, you may need to use the full access variant and turn off _Protection mode_ for hardware acceleration.
```yaml
# if you want to decode a h264 stream
@@ -28,8 +28,8 @@ ffmpeg:
:::note
If running Frigate in Docker, you either need to run in privileged mode or
map the `/dev/video*` devices to Frigate. With Docker compose add:
If running Frigate through Docker, you either need to run in privileged mode or
map the `/dev/video*` devices to Frigate. With Docker Compose add:
```yaml
services:
@@ -69,18 +69,18 @@ Or map in all the `/dev/video*` devices.
**Recommended hwaccel Preset**
| CPU Generation | Intel Driver | Recommended Preset | Notes |
| -------------- | ------------ | ------------------ | ----------------------------------- |
| gen1 - gen7 | i965 | preset-vaapi | qsv is not supported |
| gen8 - gen12 | iHD | preset-vaapi | preset-intel-qsv-* can also be used |
| gen13+ | iHD / Xe | preset-intel-qsv-* | |
| Intel Arc GPU | iHD / Xe | preset-intel-qsv-* | |
| CPU Generation | Intel Driver | Recommended Preset | Notes |
| -------------- | ------------ | ------------------- | ------------------------------------ |
| gen1 - gen7 | i965 | preset-vaapi | qsv is not supported |
| gen8 - gen12 | iHD | preset-vaapi | preset-intel-qsv-\* can also be used |
| gen13+ | iHD / Xe | preset-intel-qsv-\* | |
| Intel Arc GPU | iHD / Xe | preset-intel-qsv-\* | |
:::
:::note
The default driver is `iHD`. You may need to change the driver to `i965` by adding the following environment variable `LIBVA_DRIVER_NAME=i965` to your docker-compose file or [in the `frigate.yaml` for HA OS users](advanced.md#environment_vars).
The default driver is `iHD`. You may need to change the driver to `i965` by adding the following environment variable `LIBVA_DRIVER_NAME=i965` to your docker-compose file or [in the `config.yml` for HA Add-on users](advanced.md#environment_vars).
See [The Intel Docs](https://www.intel.com/content/www/us/en/support/articles/000005505/processors.html) to figure out what generation your CPU is.
@@ -191,7 +191,7 @@ VAAPI supports automatic profile selection so it will work automatically with bo
:::note
You need to change the driver to `radeonsi` by adding the following environment variable `LIBVA_DRIVER_NAME=radeonsi` to your docker-compose file or [in the `frigate.yaml` for HA OS users](advanced.md#environment_vars).
You need to change the driver to `radeonsi` by adding the following environment variable `LIBVA_DRIVER_NAME=radeonsi` to your docker-compose file or [in the `config.yml` for HA Add-on users](advanced.md#environment_vars).
:::
@@ -295,8 +295,7 @@ These instructions were originally based on the [Jellyfin documentation](https:/
## NVIDIA Jetson (Orin AGX, Orin NX, Orin Nano\*, Xavier AGX, Xavier NX, TX2, TX1, Nano)
A separate set of docker images is available that is based on Jetpack/L4T. They come with an `ffmpeg` build
with codecs that use the Jetson's dedicated media engine. If your Jetson host is running Jetpack 5.0+ use the `stable-tensorrt-jp5`
tagged image, or if your Jetson host is running Jetpack 6.0+ use the `stable-tensorrt-jp6` tagged image. Note that the Orin Nano has no video encoder, so frigate will use software encoding on this platform, but the image will still allow hardware decoding and tensorrt object detection.
with codecs that use the Jetson's dedicated media engine. If your Jetson host is running Jetpack 6.0+ use the `stable-tensorrt-jp6` tagged image. Note that the Orin Nano has no video encoder, so frigate will use software encoding on this platform, but the image will still allow hardware decoding and tensorrt object detection.
You will need to use the image with the nvidia container runtime:
@@ -306,17 +305,16 @@ You will need to use the image with the nvidia container runtime:
docker run -d \
...
--runtime nvidia
ghcr.io/blakeblackshear/frigate:stable-tensorrt-jp5
ghcr.io/blakeblackshear/frigate:stable-tensorrt-jp6
```
### Docker Compose - Jetson
```yaml
version: '2.4'
services:
frigate:
...
image: ghcr.io/blakeblackshear/frigate:stable-tensorrt-jp5
image: ghcr.io/blakeblackshear/frigate:stable-tensorrt-jp6
runtime: nvidia # Add this
```

View File

@@ -3,10 +3,12 @@ id: index
title: Frigate Configuration
---
For Home Assistant Addon installations, the config file needs to be in the root of your Home Assistant config directory (same location as `configuration.yaml`). It can be named `frigate.yaml` or `frigate.yml`, but if both files exist `frigate.yaml` will be preferred and `frigate.yml` will be ignored.
For Home Assistant Add-on installations, the config file should be at `/addon_configs/<addon_directory>/config.yml`, where `<addon_directory>` is specific to the variant of the Frigate Add-on you are running. See the list of directories [here](#accessing-add-on-config-dir).
For all other installation types, the config file should be mapped to `/config/config.yml` inside the container.
It can be named `config.yml` or `config.yaml`, but if both files exist `config.yml` will be preferred and `config.yaml` will be ignored.
It is recommended to start with a minimal configuration and add to it as described in [this guide](../guides/getting_started.md) and use the built in configuration editor in Frigate's UI which supports validation.
```yaml
@@ -23,9 +25,24 @@ cameras:
- detect
```
## VSCode Configuration Schema
## Accessing the Home Assistant Add-on configuration directory {#accessing-add-on-config-dir}
VSCode supports JSON schemas for automatically validating configuration files. You can enable this feature by adding `# yaml-language-server: $schema=http://frigate_host:5000/api/config/schema.json` to the beginning of the configuration file. Replace `frigate_host` with the IP address or hostname of your Frigate server. If you're using both VSCode and Frigate as an add-on, you should use `ccab4aaf-frigate` instead. Make sure to expose the internal unauthenticated port `5000` when accessing the config from VSCode on another machine.
When running Frigate through the HA Add-on, the Frigate `/config` directory is mapped to `/addon_configs/<addon_directory>` in the host, where `<addon_directory>` is specific to the variant of the Frigate Add-on you are running.
| Add-on Variant | Configuration directory |
| -------------------------- | -------------------------------------------- |
| Frigate | `/addon_configs/ccab4aaf_frigate` |
| Frigate (Full Access) | `/addon_configs/ccab4aaf_frigate-fa` |
| Frigate Beta | `/addon_configs/ccab4aaf_frigate-beta` |
| Frigate Beta (Full Access) | `/addon_configs/ccab4aaf_frigate-fa-beta` |
**Whenever you see `/config` in the documentation, it refers to this directory.**
If for example you are running the standard Add-on variant and use the [VS Code Add-on](https://github.com/hassio-addons/addon-vscode) to browse your files, you can click _File_ > _Open folder..._ and navigate to `/addon_configs/ccab4aaf_frigate` to access the Frigate `/config` directory and edit the `config.yaml` file. You can also use the built-in file editor in the Frigate UI to edit the configuration file.
## VS Code Configuration Schema
VS Code supports JSON schemas for automatically validating configuration files. You can enable this feature by adding `# yaml-language-server: $schema=http://frigate_host:5000/api/config/schema.json` to the beginning of the configuration file. Replace `frigate_host` with the IP address or hostname of your Frigate server. If you're using both VS Code and Frigate as an Add-on, you should use `ccab4aaf-frigate` instead. Make sure to expose the internal unauthenticated port `5000` when accessing the config from VS Code on another machine.
## Environment Variable Substitution
@@ -65,10 +82,10 @@ genai:
Here are some common starter configuration examples. Refer to the [reference config](./reference.md) for detailed information about all the config values.
### Raspberry Pi Home Assistant Addon with USB Coral
### Raspberry Pi Home Assistant Add-on with USB Coral
- Single camera with 720p, 5fps stream for detect
- MQTT connected to home assistant mosquitto addon
- MQTT connected to the Home Assistant Mosquitto Add-on
- Hardware acceleration for decoding video
- USB Coral detector
- Save all video with any detectable motion for 7 days regardless of whether any objects were detected or not

View File

@@ -3,32 +3,34 @@ id: license_plate_recognition
title: License Plate Recognition (LPR)
---
Frigate can recognize license plates on vehicles and automatically add the detected characters or recognized name as a `sub_label` to objects that are of type `car`. 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 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.
When a plate is recognized, the detected characters or recognized name is:
When a plate is recognized, the details are:
- Added as a `sub_label` to the `car` tracked object.
- Viewable in the Review Item Details pane in Review and the Tracked Object Details pane in Explore.
- Added as a `sub_label` (if known) 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 Tracked Object Details pane in Explore (sub labels and recognized license plates).
- Filterable through the More Filters menu in Explore.
- Published via the `frigate/events` MQTT topic as a `sub_label` for the tracked object.
- 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/tracked_object_update` MQTT topic with `name` (if known) and `plate`.
## Model Requirements
Users running a Frigate+ model (or any custom model that natively detects license plates) should ensure that `license_plate` is added to the [list of objects to track](https://docs.frigate.video/plus/#available-label-types) either globally or for a specific camera. This will improve the accuracy and performance of the LPR model.
Users without a model that detects license plates can still run LPR. Frigate uses a lightweight YOLOv9 license plate detection model that runs on your CPU. In this case, you should _not_ define `license_plate` in your list of objects to track.
Users without a model that detects license plates can still run LPR. Frigate uses a lightweight YOLOv9 license plate detection model that can be configured to run on your CPU or GPU. In this case, you should _not_ define `license_plate` in your list of objects to track.
:::note
Frigate needs to first detect a `car` before it can recognize a license plate. If you're using a dedicated LPR camera or have a zoomed-in view, make sure the camera captures enough of the `car` for Frigate to detect it reliably.
In the default mode, Frigate's LPR needs to first detect a `car` or `motorcycle` before it can recognize a license plate. If you're using a dedicated LPR camera and have a zoomed-in view where a `car` or `motorcycle` will not be detected, you can still run LPR, but the configuration parameters will differ from the default mode. See the [Dedicated LPR Cameras](#dedicated-lpr-cameras) section below.
:::
## Minimum System Requirements
License plate recognition works by running AI models locally on your system. The models are relatively lightweight and run on your CPU. At least 4GB of RAM is required.
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.
## Configuration
@@ -39,28 +41,44 @@ lpr:
enabled: True
```
Ensure that your camera is configured to detect objects of type `car`, and that a car is actually being detected by Frigate. Otherwise, LPR will not run.
Like other enrichments in Frigate, LPR **must be enabled globally** to use the feature. You should disable it for specific cameras at the camera level if you don't want to run LPR on cars on those cameras:
```yaml
cameras:
garage:
...
lpr:
enabled: False
```
For non-dedicated LPR cameras, ensure that your camera is configured to detect objects of type `car` or `motorcycle`, and that a car or motorcycle is actually being detected by Frigate. Otherwise, LPR will not run.
Like the other real-time processors in Frigate, license plate recognition runs on the camera stream defined by the `detect` role in your config. To ensure optimal performance, select a suitable resolution for this stream in your camera's firmware that fits your specific scene and requirements.
## Advanced Configuration
Fine-tune the LPR feature using these optional parameters:
Fine-tune the LPR feature using these optional parameters at the global level of your config. The only optional parameters that can be set at the camera level are `enabled`, `min_area`, and `enhancement`.
### Detection
- **`detection_threshold`**: License plate object detection confidence score required before recognition runs.
- Default: `0.7`
- Note: If you are using a Frigate+ model and you set the `threshold` in your objects config for `license_plate` higher than this value, recognition will never run. It's best to ensure these values match, or this `detection_threshold` is lower than your object config `threshold`.
- **`min_area`**: Defines the minimum size (in pixels) a license plate must be before recognition runs.
- Default: `1000` pixels.
- Note: This is field only applies to the standalone license plate detection model, `threshold` and `min_score` object filters should be used for models like Frigate+ that have license plate detection built in.
- **`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.
- 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.
- 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.
- **`model_size`**: The size of the model used to detect text on plates.
- 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_.
### Recognition
- **`recognition_threshold`**: Recognition confidence score required to add the plate to the object as a sub label.
- **`recognition_threshold`**: Recognition confidence score required to add the plate to the object as a `recognized_license_plate` and/or `sub_label`.
- Default: `0.9`.
- **`min_plate_length`**: Specifies the minimum number of characters a detected license plate must have to be added as a sub label to an object.
- **`min_plate_length`**: Specifies the minimum number of characters a detected license plate must have to be added as a `recognized_license_plate` and/or `sub_label` to an object.
- Use this to filter out short, incomplete, or incorrect detections.
- **`format`**: A regular expression defining the expected format of detected plates. Plates that do not match this format will be discarded.
- `"^[A-Z]{1,3} [A-Z]{1,2} [0-9]{1,4}$"` matches plates like "B AB 1234" or "M X 7"
@@ -69,18 +87,35 @@ Fine-tune the LPR feature using these optional parameters:
### Matching
- **`known_plates`**: List of strings or regular expressions that assign custom a `sub_label` to `car` objects when a recognized plate matches a known value.
- **`known_plates`**: List of strings or regular expressions that assign custom a `sub_label` to `car` and `motorcycle` objects when a recognized plate matches a known value.
- These labels appear in the UI, filters, and notifications.
- Unknown plates are still saved but are added to the `recognized_license_plate` field rather than the `sub_label`.
- **`match_distance`**: Allows for minor variations (missing/incorrect characters) when matching a detected plate to a known plate.
- For example, setting `match_distance: 1` allows a plate `ABCDE` to match `ABCBE` or `ABCD`.
- This parameter will _not_ operate on known plates that are defined as regular expressions. You should define the full string of your plate in `known_plates` in order to use `match_distance`.
### Image Enhancement
- **`enhancement`**: A value between 0 and 10 that adjusts the level of image enhancement applied to captured license plates before they are processed for recognition. This preprocessing step can sometimes improve accuracy but may also have the opposite effect.
- Default: `0` (no enhancement)
- Higher values increase contrast, sharpen details, and reduce noise, but excessive enhancement can blur or distort characters, actually making them much harder for Frigate to recognize.
- 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).
### 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.
- These saved images are not full plates but rather the specific areas of text detected on the plates. It is normal for the text detection model to sometimes find multiple areas of text on the plate. Use them to analyze what text Frigate recognized and how image enhancement affects detection.
- **Note:** Frigate does **not** automatically delete these debug images. Once LPR is functioning correctly, you should disable this option and manually remove the saved files to free up storage.
## Configuration Examples
These configuration parameters are available at the global level of your config. The only optional parameters that should be set at the camera level are `enabled`, `min_area`, and `enhancement`.
```yaml
lpr:
enabled: True
min_area: 1500 # Ignore plates smaller than 1500 pixels
min_area: 1500 # Ignore plates with an area (length x width) smaller than 1500 pixels
min_plate_length: 4 # Only recognize plates with 4 or more characters
known_plates:
Wife's Car:
@@ -97,7 +132,7 @@ lpr:
```yaml
lpr:
enabled: True
min_area: 4000 # Run recognition on larger plates only
min_area: 4000 # Run recognition on larger plates only (4000 pixels represents a 63x63 pixel square in your image)
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
match_distance: 1 # Allow one character variation in plate matching
@@ -109,22 +144,181 @@ lpr:
- "MN D3163"
```
:::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.
```yaml
cameras:
side_yard:
lpr:
enabled: False
...
```
:::
## Dedicated LPR Cameras
Dedicated LPR cameras are single-purpose cameras with powerful optical zoom to capture license plates on distant vehicles, often with fine-tuned settings to capture plates at night.
To mark a camera as a dedicated LPR camera, add `type: "lpr"` the camera configuration.
:::note
Frigate's dedicated LPR mode is optimized for cameras with a narrow field of view, specifically positioned and zoomed to capture license plates exclusively. If your camera provides a general overview of a scene rather than a tightly focused view, this mode is not recommended.
:::
Users can configure Frigate's dedicated LPR mode in two different ways depending on whether a Frigate+ (or native `license_plate` detecting) model is used:
### Using a Frigate+ (or Native `license_plate` Detecting) Model
Users running a Frigate+ model (or any model that natively detects `license_plate`) can take advantage of `license_plate` detection. This allows license plates to be treated as standard objects in dedicated LPR mode, meaning that alerts, detections, snapshots, and other Frigate features work as usual, and plates are detected efficiently through your configured object detector.
An example configuration for a dedicated LPR camera using a `license_plate`-detecting model:
```yaml
# LPR global configuration
lpr:
enabled: True
device: CPU # can also be GPU if available
# Dedicated LPR camera configuration
cameras:
dedicated_lpr_camera:
type: "lpr" # required to use dedicated LPR camera mode
ffmpeg: ... # add your streams
detect:
enabled: True
fps: 5 # increase to 10 if vehicles move quickly across your frame. Higher than 10 is unnecessary and is not recommended.
min_initialized: 2
width: 1920
height: 1080
objects:
track:
- license_plate
filters:
license_plate:
threshold: 0.7
motion:
threshold: 30
contour_area: 60 # use an increased value to tune out small motion changes
improve_contrast: false
mask: 0.704,0.007,0.709,0.052,0.989,0.055,0.993,0.001 # ensure your camera's timestamp is masked
record:
enabled: True # disable recording if you only want snapshots
snapshots:
enabled: True
review:
detections:
labels:
- license_plate
```
With this setup:
- License plates are treated as normal objects in Frigate.
- Scores, alerts, detections, and snapshots work as expected.
- Snapshots will have license plate bounding boxes on them.
- The `frigate/events` MQTT topic will publish tracked object updates.
- Debug view will display `license_plate` bounding boxes.
- If you are using a Frigate+ model and want to submit images from your dedicated LPR camera for model training and fine-tuning, annotate both the `car` / `motorcycle` and the `license_plate` in the snapshots on the Frigate+ website, even if the car is barely visible.
### Using the Secondary LPR Pipeline (Without Frigate+)
If you are not running a Frigate+ model, you can use Frigates built-in secondary dedicated LPR pipeline. In this mode, Frigate bypasses the standard object detection pipeline and runs a local license plate detector model on the full frame whenever motion activity occurs.
An example configuration for a dedicated LPR camera using the secondary pipeline:
```yaml
# LPR global configuration
lpr:
enabled: True
device: CPU # can also be GPU if available and correct Docker image is used
detection_threshold: 0.7 # change if necessary
# Dedicated LPR camera configuration
cameras:
dedicated_lpr_camera:
type: "lpr" # required to use dedicated LPR camera mode
lpr:
enabled: True
enhancement: 3 # optional, enhance the image before trying to recognize characters
ffmpeg: ... # add your streams
detect:
enabled: False # disable Frigate's standard object detection pipeline
fps: 5 # increase if necessary, though high values may slow down Frigate's enrichments pipeline and use considerable CPU
width: 1920
height: 1080
objects:
track: [] # required when not using a Frigate+ model for dedicated LPR mode
motion:
threshold: 30
contour_area: 60 # use an increased value here to tune out small motion changes
improve_contrast: false
mask: 0.704,0.007,0.709,0.052,0.989,0.055,0.993,0.001 # ensure your camera's timestamp is masked
record:
enabled: True # disable recording if you only want snapshots
review:
detections:
enabled: True
retain:
default: 7
```
With this setup:
- The standard object detection pipeline is bypassed. Any detected license plates on dedicated LPR cameras are treated similarly to manual events in Frigate. You must **not** specify `license_plate` as an object to track.
- The license plate detector runs on the full frame whenever motion is detected and processes frames according to your detect `fps` setting.
- Review items will always be classified as a `detection`.
- Snapshots will always be saved.
- 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.
- License plate snapshots are saved at the highest-scoring moment and appear in Explore.
- Debug view will not show `license_plate` bounding boxes.
### Summary
| Feature | Native `license_plate` detecting Model (like Frigate+) | Secondary Pipeline (without native model or Frigate+) |
| ----------------------- | ------------------------------------------------------ | --------------------------------------------------------------- |
| License Plate Detection | Uses `license_plate` as a tracked object | Runs a dedicated LPR pipeline |
| FPS Setting | 5 (increase for fast-moving cars) | 5 (increase for fast-moving cars, but it may use much more CPU) |
| Object Detection | Standard Frigate+ detection applies | Bypasses standard object detection |
| Debug View | May show `license_plate` bounding boxes | May **not** show `license_plate` bounding boxes |
| MQTT `frigate/events` | Publishes tracked object updates | Publishes limited updates |
| Explore | Recognized plates available in More Filters | Recognized plates available in More Filters |
By selecting the appropriate configuration, users can optimize their dedicated LPR cameras based on whether they are using a Frigate+ model or the secondary LPR pipeline.
### Best practices for using Dedicated LPR camera mode
- Tune your motion detection and increase the `contour_area` until you see only larger motion boxes being created as cars pass through the frame (likely somewhere between 50-90 for a 1920x1080 detect stream). Increasing the `contour_area` filters out small areas of motion and will prevent excessive resource use from looking for license plates in frames that don't even have a car passing through it.
- Disable the `improve_contrast` motion setting, especially if you are running LPR at night and the frame is mostly dark. This will prevent small pixel changes and smaller areas of motion from triggering license plate detection.
- Ensure your camera's timestamp is covered with a motion mask so that it's not incorrectly detected as a license plate.
- For non-Frigate+ users, you may need to change your camera settings for a clearer image or decrease your global `recognition_threshold` config if your plates are not being accurately recognized at night.
- The secondary pipeline mode runs a local AI model on your CPU or GPU (depending on how `device` is configured) to detect plates. Increasing detect `fps` will increase resource usage proportionally.
## FAQ
### Why isn't my license plate being detected and recognized?
Ensure that:
- Your camera has a clear, human-readable, well-lit view of the plate. If you can't read the plate, Frigate certainly won't be able to. This may require changing video size, quality, or frame rate settings on your camera, depending on your scene and how fast the vehicles are traveling.
- Your camera has a clear, human-readable, well-lit view of the plate. If you can't read the plate's characters, Frigate certainly won't be able to, even if the model is recognizing a `license_plate`. This may require changing video size, quality, or frame rate settings on your camera, depending on your scene and how fast the vehicles are traveling.
- The plate is large enough in the image (try adjusting `min_area`) or increasing the resolution of your camera's stream.
- A `car` is detected first, as LPR only runs on recognized vehicles.
- Your `enhancement` level (if you've changed it from the default of `0`) is not too high. Too much enhancement will run too much denoising and cause the plate characters to become blurry and unreadable.
If you are using a Frigate+ model or a custom model that detects license plates, ensure that `license_plate` is added to your list of objects to track.
If you are using the free model that ships with Frigate, you should _not_ add `license_plate` to the list of objects to track.
### Can I run LPR without detecting `car` objects?
Recognized plates will show as object labels in the debug view and will appear in the "Recognized License Plates" select box in the More Filters popout in Explore.
No, Frigate requires a `car` to be detected first before recognizing a license plate.
If you are still having issues detecting plates, start with a basic configuration and see the debugging tips below.
### Can I run LPR without detecting `car` or `motorcycle` objects?
In normal LPR mode, Frigate requires a `car` or `motorcycle` to be detected first before recognizing a license plate. If you have a dedicated LPR camera, you can change the camera `type` to `"lpr"` to use the Dedicated LPR Camera algorithm. This comes with important caveats, though. See the [Dedicated LPR Cameras](#dedicated-lpr-cameras) section above.
### How can I improve detection accuracy?
@@ -136,17 +330,66 @@ No, Frigate requires a `car` to be detected first before recognizing a license p
Yes, but performance depends on camera quality, lighting, and infrared capabilities. Make sure your camera can capture clear images of plates at night.
### Can I limit LPR to specific zones?
LPR, like other Frigate enrichments, runs at the camera level rather than the zone level. While you can't restrict LPR to specific zones directly, you can control when recognition runs by setting a `min_area` value to filter out smaller detections.
### How can I match known plates with minor variations?
Use `match_distance` to allow small character mismatches. Alternatively, define multiple variations in `known_plates`.
### How do I debug LPR issues?
- View MQTT messages for `frigate/events` to verify detected plates.
- Adjust `detection_threshold` and `recognition_threshold` settings.
- If you are using a Frigate+ model or a model that detects license plates, watch the debug view (Settings --> Debug) to ensure that `license_plate` is being detected with a `car`.
- Enable debug logs for LPR by adding `frigate.data_processing.common.license_plate: debug` to your `logger` configuration. These logs are _very_ verbose, so only enable this when necessary.
Start with ["Why isn't my license plate being detected and recognized?"](#why-isnt-my-license-plate-being-detected-and-recognized). If you are still having issues, work through these steps.
1. Enable debug logs to see exactly what Frigate is doing.
- Enable debug logs for LPR by adding `frigate.data_processing.common.license_plate: debug` to your `logger` configuration. These logs are _very_ verbose, so only keep this enabled when necessary.
```yaml
logger:
default: info
logs:
frigate.data_processing.common.license_plate: debug
```
2. Ensure your plates are being _detected_.
If you are using a Frigate+ or `license_plate` detecting model:
- Watch the debug view (Settings --> Debug) to ensure that `license_plate` is being detected.
- View MQTT messages for `frigate/events` to verify detected plates.
- You may need to adjust your `min_score` and/or `threshold` for the `license_plate` object if your plates are not being detected.
If you are **not** using a Frigate+ or `license_plate` detecting model:
- Watch the debug logs for messages from the YOLOv9 plate detector.
- You may need to adjust your `detection_threshold` if your plates are not being detected.
3. Ensure the characters on detected plates are being _recognized_.
- Enable `debug_save_plates` to save images of detected text on plates to the clips directory (`/media/frigate/clips/lpr`). Ensure these images are readable and the text is clear.
- Watch the debug view to see plates recognized in real-time. For non-dedicated LPR cameras, the `car` or `motorcycle` label will change to the recognized plate when LPR is enabled and working.
- Adjust `recognition_threshold` settings per the suggestions [above](#advanced-configuration).
### Will LPR slow down my system?
LPR runs on the CPU, so performance impact depends on your hardware. Ensure you have at least 4GB RAM and a capable CPU for optimal results.
LPR's performance impact depends on your hardware. Ensure you have at least 4GB RAM and a capable CPU or GPU for optimal results. If you are running the Dedicated LPR Camera mode, resource usage will be higher compared to users who run a model that natively detects license plates. Tune your motion detection settings for your dedicated LPR camera so that the license plate detection model runs only when necessary.
### I am seeing a YOLOv9 plate detection metric in Enrichment Metrics, but I have a Frigate+ or custom model that detects `license_plate`. Why is the YOLOv9 model running?
The YOLOv9 license plate detector model will run (and the metric will appear) if you've enabled LPR but haven't defined `license_plate` as an object to track, either at the global or camera level.
If you are detecting `car` or `motorcycle` on cameras where you don't want to run LPR, make sure you disable LPR it at the camera level. And if you do want to run LPR on those cameras, make sure you define `license_plate` as an object to track.
### It looks like Frigate picked up my camera's timestamp or overlay text as the license plate. How can I prevent this?
This could happen if cars or motorcycles travel close to your camera's timestamp or overlay text. You could either move the text through your camera's firmware, or apply a mask to it in Frigate.
If you are using a model that natively detects `license_plate`, add an _object mask_ of type `license_plate` and a _motion mask_ over your text.
If you are not using a model that natively detects `license_plate` or you are using dedicated LPR camera mode, only a _motion mask_ over your text is required.
### I see "Error running ... model" in my logs. How can I fix this?
This usually happens when your GPU is unable to compile or use one of the LPR models. Set your `device` to `CPU` and try again. GPU acceleration only provides a slight performance increase, and the models are lightweight enough to run without issue on most CPUs.

View File

@@ -42,6 +42,16 @@ go2rtc:
- "ffmpeg:http_cam#audio=opus" # <- copy of the stream which transcodes audio to the missing codec (usually will be opus)
```
If your camera does not support AAC audio or are having problems with Live view, try transcoding to AAC audio directly:
```yaml
go2rtc:
streams:
rtsp_cam: # <- for RTSP streams
- "ffmpeg:rtsp://192.168.1.5:554/live0#video=copy#audio=aac" # <- copies video stream and transcodes to aac audio
- "ffmpeg:rtsp_cam#audio=opus" # <- provides support for WebRTC
```
If your camera does not have audio and you are having problems with Live view, you should have go2rtc send video only:
```yaml
@@ -104,9 +114,9 @@ cameras:
WebRTC works by creating a TCP or UDP connection on port `8555`. However, it requires additional configuration:
- For external access, over the internet, setup your router to forward port `8555` to port `8555` on the Frigate device, for both TCP and UDP.
- For internal/local access, unless you are running through the add-on, you will also need to set the WebRTC candidates list in the go2rtc config. For example, if `192.168.1.10` is the local IP of the device running Frigate:
- For internal/local access, unless you are running through the HA Add-on, you will also need to set the WebRTC candidates list in the go2rtc config. For example, if `192.168.1.10` is the local IP of the device running Frigate:
```yaml title="/config/frigate.yaml"
```yaml title="config.yml"
go2rtc:
streams:
test_cam: ...
@@ -121,9 +131,9 @@ WebRTC works by creating a TCP or UDP connection on port `8555`. However, it req
:::tip
This extra configuration may not be required if Frigate has been installed as a Home Assistant add-on, as Frigate uses the Supervisor's API to generate a WebRTC candidate.
This extra configuration may not be required if Frigate has been installed as a Home Assistant Add-on, as Frigate uses the Supervisor's API to generate a WebRTC candidate.
However, it is recommended if issues occur to define the candidates manually. You should do this if the Frigate add-on fails to generate a valid candidate. If an error occurs you will see some warnings like the below in the add-on logs page during the initialization:
However, it is recommended if issues occur to define the candidates manually. You should do this if the Frigate Add-on fails to generate a valid candidate. If an error occurs you will see some warnings like the below in the Add-on logs page during the initialization:
```log
[WARN] Failed to get IP address from supervisor
@@ -187,6 +197,12 @@ The default dashboard ("All Cameras") will always use Smart Streaming and the fi
Cameras can be temporarily disabled through the Frigate UI and through [MQTT](/integrations/mqtt#frigatecamera_nameenabledset) to conserve system resources. When disabled, Frigate's ffmpeg processes are terminated — recording stops, object detection is paused, and the Live dashboard displays a blank image with a disabled message. Review items, tracked objects, and historical footage for disabled cameras can still be accessed via the UI.
:::note
Disabling a camera via the Frigate UI or MQTT is temporary and does not persist through restarts of Frigate.
:::
For restreamed cameras, go2rtc remains active but does not use system resources for decoding or processing unless there are active external consumers (such as the Advanced Camera Card in Home Assistant using a go2rtc source).
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.
@@ -203,9 +219,11 @@ Note that disabling a camera through the config file (`enabled: False`) removes
Frigate intelligently selects the live streaming technology based on a number of factors (user-selected modes like two-way talk, camera settings, browser capabilities, available bandwidth) and prioritizes showing an actual up-to-date live view of your camera's stream as quickly as possible.
When you have go2rtc configured, Live view initially attempts to load and play back your stream with a clearer, fluent stream technology (MSE). An initial timeout, a low bandwidth condition that would cause buffering of the stream, or decoding errors in the stream will cause Frigate to switch to the stream defined by the `detect` role, using the jsmpeg format. This is what the UI labels as "low bandwidth mode". On Live dashboards, the mode will automatically reset when smart streaming is configured and activity stops. You can also try using the _Reset_ button to force a reload of your stream.
When you have go2rtc configured, Live view initially attempts to load and play back your stream with a clearer, fluent stream technology (MSE). An initial timeout, a low bandwidth condition that would cause buffering of the stream, or decoding errors in the stream will cause Frigate to switch to the stream defined by the `detect` role, using the jsmpeg format. This is what the UI labels as "low bandwidth mode". On Live dashboards, the mode will automatically reset when smart streaming is configured and activity stops. Continuous streaming mode does not have an automatic reset mechanism, but you can use the _Reset_ option to force a reload of your stream.
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 or ensure you have enough bandwidth available.
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).
3. **It doesn't seem like my cameras are streaming on the Live dashboard. Why?**
@@ -221,6 +239,8 @@ Note that disabling a camera through the config file (`enabled: False`) removes
This static image is pulled from the stream defined in your config with the `detect` role. When activity is detected, images from the `detect` stream immediately begin updating at ~5 frames per second so you can see the activity until the live player is loaded and begins playing. This usually only takes a second or two. If the live player times out, buffers, or has streaming errors, the jsmpeg player is loaded and plays a video-only stream from the `detect` role. When activity ends, the players are destroyed and a static image is displayed until activity is detected again, and the process repeats.
Smart streaming depends on having your camera's motion `threshold` and `contour_area` config values dialed in. Use the Motion Tuner in Settings in the UI to tune these values in real-time.
This is Frigate's default and recommended setting because it results in a significant bandwidth savings, especially for high resolution cameras.
6. **I have unmuted some cameras on my dashboard, but I do not hear sound. Why?**

View File

@@ -77,7 +77,7 @@ At this point if motion is working as desired there is no reason to continue wit
Once daytime motion detection is tuned, there is a chance that the settings will work well for motion detection during the night as well. If this is the case then the preferred settings can be written to the config file and left alone.
However, if the preferred day settings do not work well at night it is recommended to use HomeAssistant or some other solution to automate changing the settings. That way completely separate sets of motion settings can be used for optimal day and night motion detection.
However, if the preferred day settings do not work well at night it is recommended to use Home Assistant or some other solution to automate changing the settings. That way completely separate sets of motion settings can be used for optimal day and night motion detection.
## Tuning For Large Changes In Motion

View File

@@ -27,7 +27,7 @@ Frigate supports multiple different detectors that work on different types of ha
**Nvidia**
- [TensortRT](#nvidia-tensorrt-detector): TensorRT can run on Nvidia GPUs and Jetson devices, using one of many default models.
- [ONNX](#onnx): TensorRT will automatically be detected and used as a detector in the `-tensorrt` or `-tensorrt-jp(4/5)` Frigate images when a supported ONNX model is configured.
- [ONNX](#onnx): TensorRT will automatically be detected and used as a detector in the `-tensorrt` or `-tensorrt-jp6` Frigate images when a supported ONNX model is configured.
**Rockchip**
@@ -129,8 +129,8 @@ detectors:
type: edgetpu
device: pci
```
---
---
## Hailo-8
@@ -140,18 +140,19 @@ See the [installation docs](../frigate/installation.md#hailo-8l) for information
### Configuration
When configuring the Hailo detector, you have two options to specify the model: a local **path** or a **URL**.
When configuring the Hailo detector, you have two options to specify the model: a local **path** or a **URL**.
If both are provided, the detector will first check for the model at the given local path. If the file is not found, it will download the model from the specified URL. The model file is cached under `/config/model_cache/hailo`.
#### YOLO
#### YOLO
Use this configuration for YOLO-based models. When no custom model path or URL is provided, the detector automatically downloads the default model based on the detected hardware:
- **Hailo-8 hardware:** Uses **YOLOv6n** (default: `yolov6n.hef`)
- **Hailo-8L hardware:** Uses **YOLOv6n** (default: `yolov6n.hef`)
```yaml
detectors:
hailo8l:
hailo:
type: hailo8l
device: PCIe
@@ -162,6 +163,7 @@ model:
input_pixel_format: rgb
input_dtype: int
model_type: yolo-generic
labelmap_path: /labelmap/coco-80.txt
# The detector automatically selects the default model based on your hardware:
# - For Hailo-8 hardware: YOLOv6n (default: yolov6n.hef)
@@ -183,7 +185,7 @@ For SSD-based models, provide either a model path or URL to your compiled SSD mo
```yaml
detectors:
hailo8l:
hailo:
type: hailo8l
device: PCIe
@@ -207,7 +209,7 @@ The Hailo detector supports all YOLO models compiled for Hailo hardware that inc
```yaml
detectors:
hailo8l:
hailo:
type: hailo8l
device: PCIe
@@ -218,23 +220,23 @@ model:
input_pixel_format: rgb
input_dtype: int
model_type: yolo-generic
labelmap_path: /labelmap/coco-80.txt
# Optional: Specify a local model path.
# path: /config/model_cache/hailo/custom_model.hef
#
# Alternatively, or as a fallback, provide a custom URL:
# path: https://custom-model-url.com/path/to/model.hef
```
For additional ready-to-use models, please visit: https://github.com/hailo-ai/hailo_model_zoo
Hailo8 supports all models in the Hailo Model Zoo that include HailoRT post-processing. You're welcome to choose any of these pre-configured models for your implementation.
Hailo8 supports all models in the Hailo Model Zoo that include HailoRT post-processing. You're welcome to choose any of these pre-configured models for your implementation.
> **Note:**
> **Note:**
> The config.path parameter can accept either a local file path or a URL ending with .hef. When provided, the detector will first check if the path is a local file path. If the file exists locally, it will use it directly. If the file is not found locally or if a URL was provided, it will attempt to download the model from the specified URL.
---
## 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"`.
@@ -310,13 +312,13 @@ model:
Note that the labelmap uses a subset of the complete COCO label set that has only 80 objects.
#### YOLOv9
#### YOLO (v3, v4, v7, v9)
[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.
:::tip
The YOLOv9 detector has been designed to support YOLOv9 models, but may support other YOLO model architectures as well.
The YOLO detector has been designed to support YOLOv3, YOLOv4, YOLOv7, and YOLOv9 models, but may support other YOLO model architectures as well.
:::
@@ -329,12 +331,69 @@ detectors:
device: GPU
model:
model_type: yolov9
width: 640 # <--- should match the imgsize set during model export
height: 640 # <--- should match the imgsize set during model export
model_type: yolo-generic
width: 320 # <--- should match the imgsize set during model export
height: 320 # <--- should match the imgsize set during model export
input_tensor: nchw
input_dtype: float
path: /config/model_cache/yolov9-t.onnx
path: /config/model_cache/yolo.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.
#### 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.
:::warning
Due to the size and complexity of the RF-DETR model, it is only recommended to be run with discrete Arc Graphics Cards.
:::
After placing the downloaded onnx model in your `config/model_cache` folder, you can use the following configuration:
```yaml
detectors:
ov:
type: openvino
device: GPU
model:
model_type: rfdetr
width: 560
height: 560
input_tensor: nchw
input_dtype: float
path: /config/model_cache/rfdetr.onnx
```
#### 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.
:::warning
Currently D-FINE models only run on OpenVINO in CPU mode, GPUs currently fail to compile the model
:::
After placing the downloaded onnx model in your config/model_cache folder, you can use the following configuration:
```yaml
detectors:
ov:
type: openvino
device: GPU
model:
model_type: dfine
width: 640
height: 640
input_tensor: nchw
input_dtype: float
path: /config/model_cache/dfine_s_obj2coco.onnx
labelmap_path: /labelmap/coco-80.txt
```
@@ -425,7 +484,7 @@ frigate:
### Configuration Parameters
The TensorRT detector can be selected by specifying `tensorrt` as the model type. The GPU will need to be passed through to the docker container using the same methods described in the [Hardware Acceleration](hardware_acceleration.md#nvidia-gpus) section. If you pass through multiple GPUs, you can select which GPU is used for a detector with the `device` configuration parameter. The `device` parameter is an integer value of the GPU index, as shown by `nvidia-smi` within the container.
The TensorRT detector can be selected by specifying `tensorrt` as the model type. The GPU will need to be passed through to the docker container using the same methods described in the [Hardware Acceleration](hardware_acceleration_video.md#nvidia-gpus) section. If you pass through multiple GPUs, you can select which GPU is used for a detector with the `device` configuration parameter. The `device` parameter is an integer value of the GPU index, as shown by `nvidia-smi` within the container.
The TensorRT detector uses `.trt` model files that are located in `/config/model_cache/tensorrt` by default. These model path and dimensions used will depend on which model you have generated.
@@ -462,7 +521,7 @@ $ docker run --device=/dev/kfd --device=/dev/dri \
...
```
When using docker compose:
When using Docker Compose:
```yaml
services:
@@ -494,7 +553,7 @@ $ docker run -e HSA_OVERRIDE_GFX_VERSION=9.0.0 \
...
```
When using docker compose:
When using Docker Compose:
```yaml
services:
@@ -529,6 +588,7 @@ $ docker exec -it frigate /bin/bash -c '(unset HSA_OVERRIDE_GFX_VERSION && /opt/
### Supported Models
See [ONNX supported models](#supported-models) for supported models, there are some caveats:
- D-FINE models are not supported
- YOLO-NAS models are known to not run well on integrated GPUs
@@ -550,7 +610,7 @@ If the correct build is used for your GPU then the GPU will be detected and used
- **Nvidia**
- Nvidia GPUs will automatically be detected and used with the ONNX detector in the `-tensorrt` Frigate image.
- Jetson devices will automatically be detected and used with the ONNX detector in the `-tensorrt-jp(4/5)` Frigate image.
- Jetson devices will automatically be detected and used with the ONNX detector in the `-tensorrt-jp6` Frigate image.
:::
@@ -593,13 +653,13 @@ model:
labelmap_path: /labelmap/coco-80.txt
```
#### YOLOv9
#### YOLO (v3, v4, v7, v9)
[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.
:::tip
The YOLOv9 detector has been designed to support YOLOv9 models, but may support other YOLO model architectures as well.
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.
:::
@@ -611,28 +671,65 @@ detectors:
type: onnx
model:
model_type: yolov9
width: 640 # <--- should match the imgsize set during model export
height: 640 # <--- should match the imgsize set during model export
model_type: yolo-generic
width: 320 # <--- should match the imgsize set during model export
height: 320 # <--- should match the imgsize set during model export
input_tensor: nchw
input_dtype: float
path: /config/model_cache/yolov9-t.onnx
path: /config/model_cache/yolo.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.
#### 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.
After placing the downloaded onnx model in your config folder, you can use the following configuration:
```yaml
detectors:
onnx:
type: onnx
model:
model_type: yolox
width: 416 # <--- should match the imgsize set during model export
height: 416 # <--- should match the imgsize set during model export
input_tensor: nchw
input_dtype: float_denorm
path: /config/model_cache/yolox_tiny.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.
#### 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.
After placing the downloaded onnx model in your `config/model_cache` folder, you can use the following configuration:
```yaml
detectors:
onnx:
type: onnx
model:
model_type: rfdetr
width: 560
height: 560
input_tensor: nchw
input_dtype: float
path: /config/model_cache/rfdetr.onnx
```
#### D-FINE
[D-FINE](https://github.com/Peterande/D-FINE) is the [current state of the art](https://paperswithcode.com/sota/real-time-object-detection-on-coco?p=d-fine-redefine-regression-task-in-detrs-as) at the time of writing. 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.
:::warning
D-FINE is currently not supported on OpenVINO
:::
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
detectors:
@@ -714,66 +811,27 @@ Hardware accelerated object detection is supported on the following SoCs:
- RK3576
- RK3588
This implementation uses the [Rockchip's RKNN-Toolkit2](https://github.com/airockchip/rknn-toolkit2/), version v2.3.0. Currently, only [Yolo-NAS](https://github.com/Deci-AI/super-gradients/blob/master/YOLONAS.md) is supported as object detection model.
This implementation uses the [Rockchip's RKNN-Toolkit2](https://github.com/airockchip/rknn-toolkit2/), version v2.3.2.
### Prerequisites
:::tip
Make sure to follow the [Rockchip specific installation instrucitions](/frigate/installation#rockchip-platform).
### Configuration
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.
When using many cameras one detector may not be enough to keep up. Multiple detectors can be defined assuming NPU resources are available. An example configuration would be:
```yaml
detectors: # required
rknn: # required
type: rknn # required
# number of NPU cores to use
# 0 means choose automatically
# increase for better performance if you have a multicore NPU e.g. set to 3 on rk3588
detectors:
rknn_0:
type: rknn
num_cores: 0
rknn_1:
type: rknn
num_cores: 0
model: # required
# name of model (will be automatically downloaded) or path to your own .rknn model file
# possible values are:
# - deci-fp16-yolonas_s
# - deci-fp16-yolonas_m
# - deci-fp16-yolonas_l
# - /config/model_cache/your_custom_model.rknn
path: deci-fp16-yolonas_s
# width and height of detection frames
width: 320
height: 320
# pixel format of detection frame
# default value is rgb but yolo models usually use bgr format
input_pixel_format: bgr # required
# shape of detection frame
input_tensor: nhwc
# needs to be adjusted to model, see below
labelmap_path: /labelmap.txt # required
```
The correct labelmap must be loaded for each model. If you use a custom model (see notes below), you must make sure to provide the correct labelmap. The table below lists the correct paths for the bundled models:
| `path` | `labelmap_path` |
| --------------------- | --------------------- |
| deci-fp16-yolonas\_\* | /labelmap/coco-80.txt |
### Choosing a model
:::warning
The pre-trained YOLO-NAS weights from DeciAI are subject to their license and can't be used commercially. For more information, see: https://docs.deci.ai/super-gradients/latest/LICENSE.YOLONAS.html
:::
The inference time was determined on a rk3588 with 3 NPU cores.
### Prerequisites
| Model | Size in mb | Inference time in ms |
| ------------------- | ---------- | -------------------- |
| deci-fp16-yolonas_s | 24 | 25 |
| deci-fp16-yolonas_m | 62 | 35 |
| deci-fp16-yolonas_l | 81 | 45 |
Make sure to follow the [Rockchip specific installation instructions](/frigate/installation#rockchip-platform).
:::tip
@@ -786,9 +844,99 @@ $ cat /sys/kernel/debug/rknpu/load
:::
### Supported Models
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.
```yaml
detectors: # required
rknn: # required
type: rknn # required
# number of NPU cores to use
# 0 means choose automatically
# increase for better performance if you have a multicore NPU e.g. set to 3 on rk3588
num_cores: 0
```
The inference time was determined on a rk3588 with 3 NPU cores.
| Model | Size in mb | Inference time in ms |
| --------------------- | ---------- | -------------------- |
| deci-fp16-yolonas_s | 24 | 25 |
| deci-fp16-yolonas_m | 62 | 35 |
| deci-fp16-yolonas_l | 81 | 45 |
| frigate-fp16-yolov9-t | 6 | 35 |
| rock-i8-yolox_nano | 3 | 14 |
| rock-i8_yolox_tiny | 6 | 18 |
- All models are automatically downloaded and stored in the folder `config/model_cache/rknn_cache`. After upgrading Frigate, you should remove older models to free up space.
- You can also provide your own `.rknn` model. You should not save your own models in the `rknn_cache` folder, store them directly in the `model_cache` folder or another subfolder. To convert a model to `.rknn` format see the `rknn-toolkit2` (requires a x86 machine). Note, that there is only post-processing for the supported models.
#### YOLO-NAS
```yaml
model: # required
# name of model (will be automatically downloaded) or path to your own .rknn model file
# possible values are:
# - deci-fp16-yolonas_s
# - deci-fp16-yolonas_m
# - deci-fp16-yolonas_l
# your yolonas_model.rknn
path: deci-fp16-yolonas_s
model_type: yolonas
width: 320
height: 320
input_pixel_format: bgr
input_tensor: nhwc
labelmap_path: /labelmap/coco-80.txt
```
:::warning
The pre-trained YOLO-NAS weights from DeciAI are subject to their license and can't be used commercially. For more information, see: https://docs.deci.ai/super-gradients/latest/LICENSE.YOLONAS.html
:::
#### YOLO (v9)
```yaml
model: # required
# name of model (will be automatically downloaded) or path to your own .rknn model file
# possible values are:
# - frigate-fp16-yolov9-t
# - frigate-fp16-yolov9-s
# - frigate-fp16-yolov9-m
# - frigate-fp16-yolov9-c
# - frigate-fp16-yolov9-e
# your yolo_model.rknn
path: frigate-fp16-yolov9-t
model_type: yolo-generic
width: 320
height: 320
input_tensor: nhwc
input_dtype: float
labelmap_path: /labelmap/coco-80.txt
```
#### YOLOx
```yaml
model: # required
# name of model (will be automatically downloaded) or path to your own .rknn model file
# possible values are:
# - rock-i8-yolox_nano
# - rock-i8-yolox_tiny
# - rock-fp16-yolox_nano
# - rock-fp16-yolox_tiny
# your yolox_model.rknn
path: rock-i8-yolox_nano
model_type: yolox
width: 416
height: 416
input_tensor: nhwc
labelmap_path: /labelmap/coco-80.txt
```
### Converting your own onnx model to rknn format
To convert a onnx model to the rknn format using the [rknn-toolkit2](https://github.com/airockchip/rknn-toolkit2/) you have to:
@@ -808,7 +956,7 @@ output_name: "{input_basename}"
config:
mean_values: [[0, 0, 0]]
std_values: [[255, 255, 255]]
quant_img_rgb2bgr: true
quant_img_RGB2BGR: true
```
Explanation of the paramters:
@@ -821,7 +969,7 @@ Explanation of the paramters:
- `soc`: the SoC this model was build for (e.g. "rk3588")
- `tk_version`: Version of `rknn-toolkit2` (e.g. "2.3.0")
- **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.0/03_Rockchip_RKNPU_API_Reference_RKNN_Toolkit2_V2.3.0_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).
# Models
@@ -854,9 +1002,29 @@ Make sure you change the batch size to 1 before exporting.
:::
### Download RF-DETR Model
To export as ONNX:
1. `pip3 install rfdetr`
2. `python3`
3. `from rfdetr import RFDETRBase`
4. `x = RFDETRBase()`
5. `x.export()`
#### Additional Configuration
The input tensor resolution can be customized:
```python
from rfdetr import RFDETRBase
x = RFDETRBase(resolution=560) # resolution must be a multiple of 56
x.export()
```
### Downloading YOLO-NAS Model
You can build and download a compatible model with pre-trained weights using [this notebook](https://github.com/blakeblackshear/frigate/blob/dev/notebooks/YOLO_NAS_Pretrained_Export.ipynb) [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/blakeblackshear/frigate/blob/dev/notebooks/YOLO_NAS_Pretrained_Export.ipynb).
You can build and download a compatible model with pre-trained weights using [this notebook](https://github.com/blakeblackshear/frigate/blob/dev/notebooks/YOLO_NAS_Pretrained_Export.ipynb) [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/blakeblackshear/frigate/blob/dev/notebooks/YOLO_NAS_Pretrained_Export.ipynb) which can be run directly in [Google Colab](https://colab.research.google.com/github/blakeblackshear/frigate/blob/dev/notebooks/YOLO_NAS_Pretrained_Export.ipynb).
:::warning
@@ -865,3 +1033,42 @@ The pre-trained YOLO-NAS weights from DeciAI are subject to their license and ca
:::
The input image size in this notebook is set to 320x320. This results in lower CPU usage and faster inference times without impacting performance in most cases due to the way Frigate crops video frames to areas of interest before running detection. The notebook and config can be updated to 640x640 if desired.
### Downloading YOLO Models
#### YOLOx
YOLOx models can be downloaded [from the YOLOx repo](https://github.com/Megvii-BaseDetection/YOLOX/tree/main/demo/ONNXRuntime).
#### YOLOv3, YOLOv4, and YOLOv7
To export as ONNX:
```sh
git clone https://github.com/NateMeyer/tensorrt_demos
cd tensorrt_demos/yolo
./download_yolo.sh
python3 yolo_to_onnx.py -m yolov7-320
```
#### YOLOv9
YOLOv9 models can be exported using the below code
```sh
git clone https://github.com/WongKinYiu/yolov9
cd yolov9
# setup the virtual environment so installation doesn't affect main system
# NOTE: Virtual environment must be using Python 3.11 or older.
python3 -m venv ./
bin/pip install -r requirements.txt
bin/pip install onnx onnxruntime onnx-simplifier>=0.4.1
# download the weights
wget -O yolov9-t.pt "https://github.com/WongKinYiu/yolov9/releases/download/v0.1/yolov9-t-converted.pt" # download the weights
# prepare and run export script
sed -i "s/ckpt = torch.load(attempt_download(w), map_location='cpu')/ckpt = torch.load(attempt_download(w), map_location='cpu', weights_only=False)/g" ./models/experimental.py
bin/python3 export.py --weights ./yolov9-t.pt --imgsz 320 --simplify --include onnx
```

View File

@@ -146,7 +146,7 @@ The above configuration example can be added globally or on a per camera basis.
## Can I have "continuous" recordings, but only at certain times?
Using Frigate UI, HomeAssistant, 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.
## How do I export recordings?
@@ -174,6 +174,10 @@ To reduce the output file size the ffmpeg parameter `-qp n` can be utilized (whe
:::
## Apple Compatibility with H.265 Streams
Apple devices running the Safari browser may fail to playback h.265 recordings. The [apple compatibility option](../configuration/camera_specific.md#h265-cameras-via-safari) should be used to ensure seamless playback on Apple devices.
## Syncing Recordings With Disk
In some cases the recordings files may be deleted but Frigate will not know this has happened. Recordings sync can be enabled which will tell Frigate to check the file system and delete any db entries for files which don't exist.

View File

@@ -78,16 +78,21 @@ proxy:
# Optional: Mapping for headers from upstream proxies. Only used if Frigate's auth
# is disabled.
# NOTE: Many authentication proxies pass a header downstream with the authenticated
# user name. Not all values are supported. It must be a whitelisted header.
# user name and role. Not all values are supported. It must be a whitelisted header.
# See the docs for more info.
header_map:
user: x-forwarded-user
role: x-forwarded-role
# Optional: Url for logging out a user. This sets the location of the logout url in
# the UI.
logout_url: /api/logout
# Optional: Auth secret that is checked against the X-Proxy-Secret header sent from
# the proxy. If not set, all requests are trusted regardless of origin.
auth_secret: None
# Optional: The default role to use for proxy auth. Must be "admin" or "viewer"
default_role: viewer
# Optional: The character used to separate multiple values in the proxy headers. (default: shown below)
separator: ","
# Optional: Authentication configuration
auth:
@@ -125,7 +130,7 @@ auth:
# NOTE: The default values are for the EdgeTPU detector.
# Other detectors will require the model config to be set.
model:
# Required: path to the model (default: automatic based on detector)
# Required: path to the model. Frigate+ models use plus://<model_id> (default: automatic based on detector)
path: /edgetpu_model.tflite
# Required: path to the labelmap (default: shown below)
labelmap_path: /labelmap.txt
@@ -543,17 +548,37 @@ semantic_search:
model_size: "small"
# Optional: Configuration for face recognition capability
# NOTE: enabled, min_area can be overridden at the camera level
face_recognition:
# Optional: Enable semantic search (default: shown below)
# Optional: Enable face recognition (default: shown below)
enabled: False
# Optional: Set the model size used for embeddings. (default: shown below)
# NOTE: small model runs on CPU and large model runs on GPU
model_size: "small"
# Optional: Minimum face distance score required to mark as a potential match (default: shown below)
unknown_score: 0.8
# Optional: Minimum face detection score required to detect a face (default: shown below)
# NOTE: This only applies when not running a Frigate+ model
detection_threshold: 0.7
# Optional: Minimum face distance score required to be considered a match (default: shown below)
recognition_threshold: 0.9
# Optional: Min area of detected face box to consider running face recognition (default: shown below)
min_area: 500
# Optional: Min face attempts for the sub label to be applied to the person object (default: shown below)
min_faces: 1
# Optional: Number of images of recognized faces to save for training (default: shown below)
save_attempts: 100
# Optional: Apply a blur quality filter to adjust confidence based on the blur level of the image (default: shown below)
blur_confidence_filter: True
# Optional: Set the model size used face recognition. (default: shown below)
model_size: small
# Optional: Configuration for license plate recognition capability
# NOTE: enabled, min_area, and enhancement can be overridden at the camera level
lpr:
# Optional: Enable license plate recognition (default: shown below)
enabled: False
# Optional: The device to run the models on (default: shown below)
device: CPU
# Optional: Set the model size used for text detection. (default: shown below)
model_size: small
# Optional: License plate object confidence score required to begin running recognition (default: shown below)
detection_threshold: 0.7
# Optional: Minimum area of license plate to begin running recognition (default: shown below)
@@ -568,6 +593,11 @@ lpr:
match_distance: 1
# Optional: Known plates to track (strings or regular expressions) (default: shown below)
known_plates: {}
# Optional: Enhance the detected plate image with contrast adjustment and denoising (default: shown below)
# A value between 0 and 10. Higher values are not always better and may perform worse than lower values.
enhancement: 0
# Optional: Save plate images to /media/frigate/clips/lpr for debugging purposes (default: shown below)
debug_save_plates: False
# Optional: Configuration for AI generated tracked object descriptions
# WARNING: Depending on the provider, this will send thumbnails over the internet
@@ -591,7 +621,7 @@ genai:
person: "My special person prompt."
# Optional: Restream configuration
# Uses https://github.com/AlexxIT/go2rtc (v1.9.2)
# Uses https://github.com/AlexxIT/go2rtc (v1.9.9)
# NOTE: The default go2rtc API port (1984) must be used,
# changing this port for the integrated go2rtc instance is not supported.
go2rtc:
@@ -645,6 +675,9 @@ cameras:
# If disabled: config is used but no live stream and no capture etc.
# Events/Recordings are still viewable.
enabled: True
# Optional: camera type used for some Frigate features (default: shown below)
# Options are "generic" and "lpr"
type: "generic"
# Required: ffmpeg settings for the camera
ffmpeg:
# Required: A list of input streams for the camera. See documentation for more information.
@@ -875,7 +908,7 @@ telemetry:
# NOTE: The container must either be privileged or have cap_net_admin, cap_net_raw capabilities enabled.
network_bandwidth: False
# Optional: Enable the latest version outbound check (default: shown below)
# NOTE: If you use the HomeAssistant integration, disabling this will prevent it from reporting new versions
# NOTE: If you use the Home Assistant integration, disabling this will prevent it from reporting new versions
version_check: True
# Optional: Camera groups (default: no groups are setup)

View File

@@ -7,7 +7,7 @@ title: Restream
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.2) 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.2#configuration) for more advanced configurations and features.
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.
:::note
@@ -134,7 +134,7 @@ cameras:
## Handling Complex Passwords
go2rtc expects URL-encoded passwords in the config, [urlencoder.org](https://urlencoder.org) can be used for this purpose.
go2rtc expects URL-encoded passwords in the config, [urlencoder.org](https://urlencoder.org) can be used for this purpose.
For example:
@@ -152,11 +152,11 @@ go2rtc:
my_camera: rtsp://username:$%40foo%25@192.168.1.100
```
See [this comment(https://github.com/AlexxIT/go2rtc/issues/1217#issuecomment-2242296489) for more information.
See [this comment](https://github.com/AlexxIT/go2rtc/issues/1217#issuecomment-2242296489) for more information.
## Advanced Restream Configurations
The [exec](https://github.com/AlexxIT/go2rtc/tree/v1.9.2#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.9#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}}`

View File

@@ -19,7 +19,7 @@ For best performance, 16GB or more of RAM and a dedicated GPU are recommended.
## Configuration
Semantic Search is disabled by default, and must be enabled in your config file or in the UI's Settings page before it can be used. Semantic Search is a global configuration setting.
Semantic Search is disabled by default, and must be enabled in your config file or in the UI's Enrichments Settings page before it can be used. Semantic Search is a global configuration setting.
```yaml
semantic_search:
@@ -29,9 +29,9 @@ semantic_search:
:::tip
The embeddings database can be re-indexed from the existing tracked objects in your database by adding `reindex: True` to your `semantic_search` configuration or by toggling the switch on the Search Settings page in the UI and restarting Frigate. Depending on the number of tracked objects you have, it can take a long while to complete and may max out your CPU while indexing. Make sure to turn the UI's switch off or set the config back to `False` before restarting Frigate again.
The embeddings database can be re-indexed from the existing tracked objects in your database by pressing the "Reindex" button in the Enrichments Settings in the UI or by adding `reindex: True` to your `semantic_search` configuration and restarting Frigate. Depending on the number of tracked objects you have, it can take a long while to complete and may max out your CPU while indexing.
If you are enabling Semantic Search for the first time, be advised that Frigate does not automatically index older tracked objects. You will need to enable the `reindex` feature in order to do that.
If you are enabling Semantic Search for the first time, be advised that Frigate does not automatically index older tracked objects. You will need to reindex as described above.
:::
@@ -72,7 +72,7 @@ For most users, especially native English speakers, the V1 model remains the rec
:::note
Switching between V1 and V2 requires reindexing your embeddings. To do this, set `reindex: True` in your Semantic Search configuration and restart Frigate. The embeddings from V1 and V2 are incompatible, and failing to reindex will result in incorrect search results.
Switching between V1 and V2 requires reindexing your embeddings. The embeddings from V1 and V2 are incompatible, and failing to reindex will result in incorrect search results.
:::
@@ -90,19 +90,7 @@ semantic_search:
If the correct build is used for your GPU and the `large` model is configured, then the GPU will be detected and used automatically.
**NOTE:** Object detection and Semantic Search are independent features. If you want to use your GPU with Semantic Search, you must choose the appropriate Frigate Docker image for your GPU.
- **AMD**
- ROCm will automatically be detected and used for Semantic Search in the `-rocm` Frigate image.
- **Intel**
- OpenVINO will automatically be detected and used for Semantic Search in the default Frigate image.
- **Nvidia**
- Nvidia GPUs will automatically be detected and used for Semantic Search in the `-tensorrt` Frigate image.
- Jetson devices will automatically be detected and used for Semantic Search in the `-tensorrt-jp(4/5)` Frigate image.
See the [Hardware Accelerated Enrichments](/configuration/hardware_acceleration_enrichments.md) documentation.
:::

View File

@@ -5,7 +5,7 @@ title: Snapshots
Frigate can save a snapshot image to `/media/frigate/clips` for each object that is detected named as `<camera>-<id>.jpg`. They are also accessible [via the api](../integrations/api/event-snapshot-events-event-id-snapshot-jpg-get.api.mdx)
For users with Frigate+ enabled, snapshots are accessible in the UI in the Frigate+ pane to allow for quick submission to the Frigate+ service.
Snapshots are accessible in the UI in the Explore pane. This allows for quick submission to the Frigate+ service.
To only save snapshots for objects that enter a specific zone, [see the zone docs](./zones.md#restricting-snapshots-to-specific-zones)

View File

@@ -84,7 +84,13 @@ Only car objects can trigger the `front_yard_street` zone and only person can tr
### 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 before 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
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.
:::
```yaml
cameras:
@@ -130,7 +136,7 @@ Your zone must be defined with exactly 4 points and should be aligned to the gro
![Ground plane 4-point zone](/img/ground-plane.jpg)
Speed estimation requires a minimum number of frames for your object to be tracked before a valid estimate can be calculated, so create your zone away from places where objects enter and exit for the best results. _Your zone should not take up the full frame._ An object's speed is tracked while it is in the zone and then saved to Frigate's database.
Speed estimation requires a minimum number of frames for your object to be tracked before a valid estimate can be calculated, so create your zone away from places where objects enter and exit for the best results. The object's bounding box must be stable and remain a constant size as it enters and exits the zone. _Your zone should not take up the full frame, and the zone does **not** need to be the same size or larger than the objects passing through it._ An object's speed is tracked while it passes through the zone and then saved to Frigate's database.
Accurate real-world distance measurements are required to estimate speeds. These distances can be specified in your zone config through the `distances` field.
@@ -159,8 +165,9 @@ These speed values are output as a number in miles per hour (mph) or kilometers
#### Best practices and caveats
- Speed estimation works best with a straight road or path when your object travels in a straight line across that path. Avoid creating your zone near intersections or anywhere that objects would make a turn. If the bounding box changes shape (either because the object made a turn or became partially obscured, for example), speed estimation will not be accurate.
- Create a zone where the bottom center of your object's bounding box travels directly through it and does not become obscured at any time. See the photo example above.
- Speed estimation works best with a straight road or path when your object travels in a straight line across that path. Avoid creating your zone near intersections or anywhere that objects would make a turn.
- Create a zone where the bottom center of your object's bounding box travels directly through it and does not become obscured at any time.
- A large zone can be used (as in the photo example above), but it may cause inaccurate estimation if the object's bounding box changes shape (such as when it turns or becomes partially hidden). Generally it's best to make your zone large enough to capture a few frames, but small enough so that the bounding box doesn't change size as it enters, travels through, and exits the zone.
- Depending on the size and location of your zone, you may want to decrease the zone's `inertia` value from the default of 3.
- The more accurate your real-world dimensions can be measured, the more accurate speed estimation will be. However, due to the way Frigate's tracking algorithm works, you may need to tweak the real-world distance values so that estimated speeds better match real-world speeds.
- Once an object leaves the zone, speed accuracy will likely decrease due to perspective distortion and misalignment with the calibrated area. Therefore, speed values will show as a zero through MQTT and will not be visible on the debug view when an object is outside of a speed tracking zone.

View File

@@ -72,17 +72,17 @@ COPY --from=rootfs / /
The images for each board will be built for each Frigate release, this is done in the `.github/workflows/ci.yml` file. The board build workflow will need to be added here.
```yml
- name: Build and push board build
uses: docker/bake-action@v3
with:
push: true
targets: board # this is the target in the board.hcl file
files: docker/board/board.hcl # this should be updated with the actual board type
# the tags should be updated with the actual board types as well
# the community board builds should never push to cache, but it can pull from cache
set: |
board.tags=ghcr.io/${{ steps.lowercaseRepo.outputs.lowercase }}:${{ github.ref_name }}-${{ env.SHORT_SHA }}-board
*.cache-from=type=gha
- name: Build and push board build
uses: docker/bake-action@v3
with:
push: true
targets: board # this is the target in the board.hcl file
files: docker/board/board.hcl # this should be updated with the actual board type
# the tags should be updated with the actual board types as well
# the community board builds should never push to cache, but it can pull from cache
set: |
board.tags=ghcr.io/${{ steps.lowercaseRepo.outputs.lowercase }}:${{ github.ref_name }}-${{ env.SHORT_SHA }}-board
*.cache-from=type=gha
```
### Code Owner File
@@ -91,4 +91,4 @@ The `CODEOWNERS` file should be updated to include the `docker/board` along with
# Docs
At a minimum the `installation`, `object_detectors`, `hardware_acceleration`, and `ffmpeg-presets` docs should be updated (if applicable) to reflect the configuration of this community board.
At a minimum the `installation`, `object_detectors`, `hardware_acceleration_video`, and `ffmpeg-presets` docs should be updated (if applicable) to reflect the configuration of this community board.

View File

@@ -17,15 +17,15 @@ From here, follow the guides for:
- [Web Interface](#web-interface)
- [Documentation](#documentation)
### Frigate Home Assistant Addon
### Frigate Home Assistant Add-on
This repository holds the Home Assistant Addon, for use with Home Assistant OS and compatible installations. It is the piece that allows you to run Frigate from your Home Assistant Supervisor tab.
This repository holds the Home Assistant Add-on, for use with Home Assistant OS and compatible installations. It is the piece that allows you to run Frigate from your Home Assistant Supervisor tab.
Fork [blakeblackshear/frigate-hass-addons](https://github.com/blakeblackshear/frigate-hass-addons) to your own Github profile, then clone the forked repo to your local machine.
### Frigate Home Assistant Integration
This repository holds the custom integration that allows your Home Assistant installation to automatically create entities for your Frigate instance, whether you run that with the [addon](#frigate-home-assistant-addon) or in a separate Docker instance.
This repository holds the custom integration that allows your Home Assistant installation to automatically create entities for your Frigate instance, whether you are running Frigate as a standalone Docker container or as a [Home Assistant Add-on](#frigate-home-assistant-add-on).
Fork [blakeblackshear/frigate-hass-integration](https://github.com/blakeblackshear/frigate-hass-integration) to your own GitHub profile, then clone the forked repo to your local machine.
@@ -77,14 +77,15 @@ Create and place these files in a `debug` folder in the root of the repo. This i
#### 4. Run Frigate from the command line
VSCode will start the docker compose file for you and open a terminal window connected to `frigate-dev`.
VS Code will start the Docker Compose file for you and open a terminal window connected to `frigate-dev`.
- Depending on what hardware you're developing on, you may need to amend `docker-compose.yml` in the project root to pass through a USB Coral or GPU for hardware acceleration.
- Run `python3 -m frigate` to start the backend.
- In a separate terminal window inside VS Code, change into the `web` directory and run `npm install && npm run dev` to start the frontend.
#### 5. Teardown
After closing VSCode, you may still have containers running. To close everything down, just run `docker-compose down -v` to cleanup all containers.
After closing VS Code, you may still have containers running. To close everything down, just run `docker-compose down -v` to cleanup all containers.
### Testing
@@ -235,3 +236,11 @@ When testing nginx config changes from within the dev container, the following c
```console
sudo cp docker/main/rootfs/usr/local/nginx/conf/* /usr/local/nginx/conf/ && sudo /usr/local/nginx/sbin/nginx -s reload
```
## Contributing translations of the Web UI
Frigate uses [Weblate](https://weblate.org) to manage translations of the Web UI. To contribute translation, sign up for an account at Weblate and navigate to the Frigate NVR project:
https://hosted.weblate.org/projects/frigate-nvr/
When translating, maintain the existing key structure while translating only the values. Ensure your translations maintain proper formatting, including any placeholder variables (like `{{example}}`).

View File

@@ -28,7 +28,7 @@ For the Dahua/Loryta 5442 camera, I use the following settings:
- Encode Mode: H.264
- Resolution: 2688\*1520
- Frame Rate(FPS): 15
- I Frame Interval: 30 (15 can also be used to prioritize streaming performance - see the [camera settings recommendations](../configuration/live) for more info)
- I Frame Interval: 30 (15 can also be used to prioritize streaming performance - see the [camera settings recommendations](/configuration/live#camera_settings_recommendations) for more info)
**Sub Stream (Detection)**

View File

@@ -21,23 +21,79 @@ I may earn a small commission for my endorsement, recommendation, testimonial, o
## Server
My current favorite is the Beelink EQ13 because of the efficient N100 CPU and dual NICs that allow you to setup a dedicated private network for your cameras where they can be blocked from accessing the internet. There are many used workstation options on eBay that work very well. Anything with an Intel CPU and capable of running Debian should work fine. As a bonus, you may want to look for devices with a M.2 or PCIe express slot that is compatible with the Google Coral. I may earn a small commission for my endorsement, recommendation, testimonial, or link to any products or services from this website.
My current favorite is the Beelink EQ13 because of the efficient N100 CPU and dual NICs that allow you to setup a dedicated private network for your cameras where they can be blocked from accessing the internet. There are many used workstation options on eBay that work very well. Anything with an Intel CPU and capable of running Debian should work fine. As a bonus, you may want to look for devices with a M.2 or PCIe express slot that is compatible with the Hailo8 or Google Coral. I may earn a small commission for my endorsement, recommendation, testimonial, or link to any products or services from this website.
| Name | Coral Inference Speed | Coral Compatibility | Notes |
| ------------------------------------------------------------------------------------------------------------- | --------------------- | ------------------- | ----------------------------------------------------------------------------------------- |
| Beelink EQ13 (<a href="https://amzn.to/4iQaBKu" target="_blank" rel="nofollow noopener sponsored">Amazon</a>) | 5-10ms | USB | Dual gigabit NICs for easy isolated camera network. Easily handles several 1080p cameras. |
| Name | Notes |
| ------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- |
| Beelink EQ13 (<a href="https://amzn.to/4iQaBKu" target="_blank" rel="nofollow noopener sponsored">Amazon</a>) | Dual gigabit NICs for easy isolated camera network. Easily handles several 1080p cameras. |
## Detectors
A detector is a device which is optimized for running inferences efficiently to detect objects. Using a recommended detector means there will be less latency between detections and more detections can be run per second. Frigate is designed around the expectation that a detector is used to achieve very low inference speeds. Offloading TensorFlow to a detector is an order of magnitude faster and will reduce your CPU load dramatically. As of 0.12, Frigate supports a handful of different detector types with varying inference speeds and performance.
A detector is a device which is optimized for running inferences efficiently to detect objects. Using a recommended detector means there will be less latency between detections and more detections can be run per second. Frigate is designed around the expectation that a detector is used to achieve very low inference speeds. Offloading TensorFlow to a detector is an order of magnitude faster and will reduce your CPU load dramatically.
:::info
Frigate supports multiple different detectors that work on different types of hardware:
**Most Hardware**
- [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.
- [Supports many model architectures](../../configuration/object_detectors#configuration)
- 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.
- [Supports primarily ssdlite and mobilenet model architectures](../../configuration/object_detectors#edge-tpu-detector)
**AMD**
- [ROCm](#amd-gpus): ROCm can run on AMD Discrete GPUs to provide efficient object detection
- [Supports limited model architectures](../../configuration/object_detectors#supported-models-1)
- Runs best on discrete AMD GPUs
**Intel**
- [OpenVino](#openvino): OpenVino can run on Intel Arc GPUs, Intel integrated GPUs, and Intel CPUs to provide efficient object detection.
- [Supports majority of model architectures](../../configuration/object_detectors#supported-models)
- Runs best with tiny, small, or medium models
**Nvidia**
- [TensortRT](#tensorrt---nvidia-gpu): TensorRT can run on Nvidia GPUs and Jetson devices.
- [Supports majority of model architectures via ONNX](../../configuration/object_detectors#supported-models-2)
- Runs well with any size models including large
**Rockchip**
- [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)
- Runs best with tiny or small size models
- Runs efficiently on low power hardware
:::
### Hailo-8
Frigate supports both the Hailo-8 and Hailo-8L AI Acceleration Modules on compatible hardware platforms—including the Raspberry Pi 5 with the PCIe hat from the AI kit. The Hailo detector integration in Frigate automatically identifies your hardware type and selects the appropriate default model when a custom model isnt provided.
**Default Model Configuration:**
- **Hailo-8L:** Default model is **YOLOv6n**.
- **Hailo-8:** Default model is **YOLOv6n**.
In real-world deployments, even with multiple cameras running concurrently, Frigate has demonstrated consistent performance. Testing on x86 platforms—with dual PCIe lanes—yields further improvements in FPS, throughput, and latency compared to the Raspberry Pi setup.
| Name | Hailo8 Inference Time | Hailo8L Inference Time |
| ---------------- | ---------------------- | ----------------------- |
| ssd mobilenet v1 | ~ 6 ms | ~ 10 ms |
| yolov6n | ~ 7 ms | ~ 11 ms |
### Google Coral TPU
It is strongly recommended to use a Google Coral. A $60 device will outperform $2000 CPU. Frigate should work with any supported Coral device from https://coral.ai
Frigate supports both the USB and M.2 versions of the Google Coral.
The USB version is compatible with the widest variety of hardware and does not require a driver on the host machine. However, it does lack the automatic throttling features of the other versions.
The PCIe and M.2 versions require installation of a driver on the host. Follow the instructions for your version from https://coral.ai
- The USB version is compatible with the widest variety of hardware and does not require a driver on the host machine. However, it does lack the automatic throttling features of the other versions.
- The PCIe and M.2 versions require installation of a driver on the host. Follow the instructions for your version from https://coral.ai
A single Coral can handle many cameras using the default model and will be sufficient for the majority of users. You can calculate the maximum performance of your Coral based on the inference speed reported by Frigate. With an inference speed of 10, your Coral will top out at `1000/10=100`, or 100 frames per second. If your detection fps is regularly getting close to that, you should first consider tuning motion masks. If those are already properly configured, a second Coral may be needed.
@@ -53,23 +109,17 @@ More information is available [in the detector docs](/configuration/object_detec
Inference speeds vary greatly depending on the CPU or GPU used, some known examples of GPU inference times are below:
| Name | MobileNetV2 Inference Time | YOLO-NAS Inference Time | Notes |
| -------------------- | -------------------------- | ------------------------- | -------------------------------------- |
| Intel Celeron J4105 | ~ 25 ms | | Can only run one detector instance |
| Intel Celeron N3060 | 130 - 150 ms | | Can only run one detector instance |
| Intel Celeron N3205U | ~ 120 ms | | Can only run one detector instance |
| Intel Celeron N4020 | 50 - 200 ms | | Inference speed depends on other loads |
| Intel i3 6100T | 15 - 35 ms | | Can only run one detector instance |
| Intel i3 8100 | ~ 15 ms | | |
| Intel i5 4590 | ~ 20 ms | | |
| Intel i5 6500 | ~ 15 ms | | |
| Intel i5 7200u | 15 - 25 ms | | |
| Intel i5 7500 | ~ 15 ms | | |
| Intel i5 1135G7 | 10 - 15 ms | | |
| Intel i3 12000 | | 320: ~ 19 ms 640: ~ 54 ms | |
| Intel i5 12600K | ~ 15 ms | 320: ~ 20 ms 640: ~ 46 ms | |
| Intel Arc A380 | ~ 6 ms | 320: ~ 10 ms | |
| Intel Arc A750 | ~ 4 ms | 320: ~ 8 ms | |
| Name | MobileNetV2 Inference Time | YOLO-NAS Inference Time | RF-DETR Inference Time | Notes |
| -------------- | -------------------------- | ------------------------- | ---------------------- | ---------------------------------- |
| Intel HD 530 | 15 - 35 ms | | | Can only run one detector instance |
| Intel HD 620 | 15 - 25 ms | 320: ~ 35 ms | | |
| Intel HD 630 | ~ 15 ms | 320: ~ 30 ms | | |
| Intel UHD 730 | ~ 10 ms | 320: ~ 19 ms 640: ~ 54 ms | | |
| Intel UHD 770 | ~ 15 ms | 320: ~ 20 ms 640: ~ 46 ms | | |
| Intel N100 | ~ 15 ms | 320: ~ 20 ms | | |
| Intel Iris XE | ~ 10 ms | 320: ~ 18 ms 640: ~ 50 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
@@ -78,42 +128,31 @@ The TensortRT detector is able to run on x86 hosts that have an Nvidia GPU which
Inference speeds will vary greatly depending on the GPU and the model used.
`tiny` variants are faster than the equivalent non-tiny model, some known examples are below:
| Name | YoloV7 Inference Time | YOLO-NAS Inference Time |
| --------------- | --------------------- | ------------------------- |
| GTX 1060 6GB | ~ 7 ms | |
| GTX 1070 | ~ 6 ms | |
| GTX 1660 SUPER | ~ 4 ms | |
| RTX 3050 | 5 - 7 ms | 320: ~ 10 ms 640: ~ 16 ms |
| RTX 3070 Mobile | ~ 5 ms | |
| Quadro P400 2GB | 20 - 25 ms | |
| Quadro P2000 | ~ 12 ms | |
| Name | YOLOv7 Inference Time | YOLO-NAS Inference Time | RF-DETR Inference Time |
| --------------- | --------------------- | ------------------------- | ------------------------- |
| GTX 1060 6GB | ~ 7 ms | | |
| GTX 1070 | ~ 6 ms | | |
| GTX 1660 SUPER | ~ 4 ms | | |
| RTX 3050 | 5 - 7 ms | 320: ~ 10 ms 640: ~ 16 ms | 336: ~ 16 ms 560: ~ 40 ms |
| RTX 3070 Mobile | ~ 5 ms | | |
| RTX 3070 | 4 - 6 ms | 320: ~ 6 ms 640: ~ 12 ms | 336: ~ 14 ms 560: ~ 36 ms |
| Quadro P400 2GB | 20 - 25 ms | | |
| Quadro P2000 | ~ 12 ms | | |
### AMD GPUs
With the [rocm](../configuration/object_detectors.md#amdrocm-gpu-detector) detector Frigate can take advantage of many discrete AMD GPUs.
### Hailo-8
| Name | Hailo8 Inference Time | Hailo8L Inference Time |
| --------------- | ---------------------- | ----------------------- |
| ssd mobilenet v1| ~ 6 ms | ~ 10 ms |
| yolov6n | ~ 7 ms | ~ 11 ms |
Frigate supports both the Hailo-8 and Hailo-8L AI Acceleration Modules on compatible hardware platforms—including the Raspberry Pi 5 with the PCIe hat from the AI kit. The Hailo detector integration in Frigate automatically identifies your hardware type and selects the appropriate default model when a custom model isnt provided.
**Default Model Configuration:**
- **Hailo-8L:** Default model is **YOLOv6n**.
- **Hailo-8:** Default model is **YOLOv6n**.
In real-world deployments, even with multiple cameras running concurrently, Frigate has demonstrated consistent performance. Testing on x86 platforms—with dual PCIe lanes—yields further improvements in FPS, throughput, and latency compared to the Raspberry Pi setup.
| Name | YOLOv9 Inference Time | YOLO-NAS Inference Time |
| --------- | --------------------- | ------------------------- |
| AMD 780M | ~ 14 ms | 320: ~ 25 ms 640: ~ 50 ms |
| AMD 8700G | | 320: ~ 20 ms 640: ~ 40 ms |
## Community Supported Detectors
### 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#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).
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).
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.
@@ -127,6 +166,11 @@ Frigate supports hardware video processing on all Rockchip boards. However, hard
- RK3576
- RK3588
| Name | YOLOv9 Inference Time | YOLO-NAS Inference Time | YOLOx Inference Time |
| -------------- | --------------------- | --------------------------- | ----------------------- |
| rk3588 3 cores | tiny: ~ 35 ms | small: ~ 20 ms med: ~ 30 ms | nano: 14 ms tiny: 18 ms |
| rk3566 1 core | | small: ~ 96 ms | |
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)

View File

@@ -6,7 +6,7 @@ slug: /
A complete and local NVR designed for Home Assistant with AI object detection. Uses OpenCV and Tensorflow to perform realtime object detection locally for IP cameras.
Use of a [Google Coral Accelerator](https://coral.ai/products/) is optional, but strongly recommended. CPU detection should only be used for testing purposes. The Coral will outperform even the best CPUs and can process 100+ FPS with very little overhead.
Use of a [Recommended Detector](/frigate/hardware#detectors) is optional, but strongly recommended. CPU detection should only be used for testing purposes.
- 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

View File

@@ -3,11 +3,11 @@ id: installation
title: Installation
---
Frigate is a Docker container that can be run on any Docker host including as a [HassOS Addon](https://www.home-assistant.io/addons/). Note that a Home Assistant Addon is **not** the same thing as the integration. The [integration](/integrations/home-assistant) is required to integrate Frigate into Home Assistant.
Frigate is a Docker container that can be run on any Docker host including as a [Home Assistant Add-on](https://www.home-assistant.io/addons/). Note that the Home Assistant Add-on is **not** the same thing as the integration. The [integration](/integrations/home-assistant) is required to integrate Frigate into Home Assistant, whether you are running Frigate as a standalone Docker container or as a Home Assistant Add-on.
:::tip
If you already have Frigate installed as a Home Assistant addon, check out the [getting started guide](../guides/getting_started#configuring-frigate) to configure Frigate.
If you already have Frigate installed as a Home Assistant Add-on, check out the [getting started guide](../guides/getting_started#configuring-frigate) to configure Frigate.
:::
@@ -45,7 +45,7 @@ The following ports are used by Frigate and can be mapped via docker as required
| `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. |
#### Common docker compose storage configurations
#### Common Docker Compose storage configurations
Writing to a local disk or external USB drive:
@@ -73,7 +73,7 @@ Users of the Snapcraft build of Docker cannot use storage locations outside your
Frigate utilizes shared memory to store frames during processing. The default `shm-size` provided by Docker is **64MB**.
The default shm size of **128MB** is fine for setups with **2 cameras** detecting at **720p**. If Frigate is exiting with "Bus error" messages, it is likely because you have too many high resolution cameras and you need to specify a higher shm size, using [`--shm-size`](https://docs.docker.com/engine/reference/run/#runtime-constraints-on-resources) (or [`service.shm_size`](https://docs.docker.com/compose/compose-file/compose-file-v2/#shm_size) in docker-compose).
The default shm size of **128MB** is fine for setups with **2 cameras** detecting at **720p**. If Frigate is exiting with "Bus error" messages, it is likely because you have too many high resolution cameras and you need to specify a higher shm size, using [`--shm-size`](https://docs.docker.com/engine/reference/run/#runtime-constraints-on-resources) (or [`service.shm_size`](https://docs.docker.com/compose/compose-file/compose-file-v2/#shm_size) in Docker Compose).
The Frigate container also stores logs in shm, which can take up to **40MB**, so make sure to take this into account in your math as well.
@@ -165,6 +165,8 @@ devices:
- /dev/dma_heap
- /dev/rga
- /dev/mpp_service
volumes:
- /sys/:/sys/:ro
```
or add these options to your `docker run` command:
@@ -175,19 +177,19 @@ or add these options to your `docker run` command:
--device /dev/dri \
--device /dev/dma_heap \
--device /dev/rga \
--device /dev/mpp_service
--device /dev/mpp_service \
--volume /sys/:/sys/:ro
```
#### Configuration
Next, you should configure [hardware object detection](/configuration/object_detectors#rockchip-platform) and [hardware video processing](/configuration/hardware_acceleration#rockchip-platform).
Next, you should configure [hardware object detection](/configuration/object_detectors#rockchip-platform) and [hardware video processing](/configuration/hardware_acceleration_video#rockchip-platform).
## Docker
Running in Docker with compose is the recommended install method.
Running through Docker with Docker Compose is the recommended install method.
```yaml
version: "3.9"
services:
frigate:
container_name: frigate
@@ -219,7 +221,7 @@ services:
FRIGATE_RTSP_PASSWORD: "password"
```
If you can't use docker compose, you can run the container with something similar to this:
If you can't use Docker Compose, you can run the container with something similar to this:
```bash
docker run -d \
@@ -243,25 +245,23 @@ docker run -d \
The official docker image tags for the current stable version are:
- `stable` - Standard Frigate build for amd64 & RPi Optimized Frigate build for arm64
- `stable` - Standard Frigate build for amd64 & RPi Optimized Frigate build for arm64. This build includes support for Hailo devices as well.
- `stable-standard-arm64` - Standard Frigate build for arm64
- `stable-tensorrt` - Frigate build specific for amd64 devices running an nvidia GPU
- `stable-rocm` - Frigate build for [AMD GPUs](../configuration/object_detectors.md#amdrocm-gpu-detector)
The community supported docker image tags for the current stable version are:
- `stable-tensorrt-jp5` - Frigate build optimized for nvidia Jetson devices running Jetpack 5
- `stable-tensorrt-jp6` - Frigate build optimized for nvidia Jetson devices running Jetpack 6
- `stable-rk` - Frigate build for SBCs with Rockchip SoC
- `stable-rocm` - Frigate build for [AMD GPUs](../configuration/object_detectors.md#amdrocm-gpu-detector)
- `stable-h8l` - Frigate build for the Hailo-8L M.2 PICe Raspberry Pi 5 hat
## Home Assistant Addon
## Home Assistant Add-on
:::warning
As of HomeAssistant OS 10.2 and Core 2023.6 defining separate network storage for media is supported.
As of Home Assistant Operating System 10.2 and Home Assistant 2023.6 defining separate network storage for media is supported.
There are important limitations in Home Assistant Operating System to be aware of:
There are important limitations in HA OS to be aware of:
- Separate local storage for media is not yet supported by Home Assistant
- AMD GPUs are not supported because HA OS does not include the mesa driver.
@@ -275,24 +275,27 @@ See [the network storage guide](/guides/ha_network_storage.md) for instructions
:::
HassOS users can install via the addon repository.
Home Assistant OS users can install via the Add-on repository.
1. Navigate to Supervisor > Add-on Store > Repositories
2. Add https://github.com/blakeblackshear/frigate-hass-addons
3. Install your desired Frigate NVR Addon and navigate to it's page
1. In Home Assistant, navigate to _Settings_ > _Add-ons_ > _Add-on Store_ > _Repositories_
2. Add `https://github.com/blakeblackshear/frigate-hass-addons`
3. Install the desired variant of the Frigate Add-on (see below)
4. Setup your network configuration in the `Configuration` tab
5. (not for proxy addon) Create the file `frigate.yaml` in your `config` directory with your detailed Frigate configuration
6. Start the addon container
7. (not for proxy addon) If you are using hardware acceleration for ffmpeg, you may need to disable "Protection mode"
5. Start the Add-on
6. Use the _Open Web UI_ button to access the Frigate UI, then click in the _cog icon_ > _Configuration editor_ and configure Frigate to your liking
There are several versions of the addon available:
There are several variants of the Add-on available:
| Addon Version | Description |
| ------------------------------ | ---------------------------------------------------------- |
| Frigate NVR | Current release with protection mode on |
| Frigate NVR (Full Access) | Current release with the option to disable protection mode |
| Frigate NVR Beta | Beta release with protection mode on |
| Frigate NVR Beta (Full Access) | Beta release with the option to disable protection mode |
| Add-on Variant | Description |
| -------------------------- | ---------------------------------------------------------- |
| Frigate | Current release with protection mode on |
| Frigate (Full Access) | Current release with the option to disable protection mode |
| Frigate Beta | Beta release with protection mode on |
| Frigate Beta (Full Access) | Beta release with the option to disable protection mode |
If you are using hardware acceleration for ffmpeg, you **may** need to use the _Full Access_ variant of the Add-on. This is because the Frigate Add-on runs in a container with limited access to the host system. The _Full Access_ variant allows you to disable _Protection mode_ and give Frigate full access to the host system.
You can also edit the Frigate configuration file through the [VS Code Add-on](https://github.com/hassio-addons/addon-vscode) or similar. In that case, the configuration file will be at `/addon_configs/<addon_directory>/config.yml`, where `<addon_directory>` is specific to the variant of the Frigate Add-on you are running. See the list of directories [here](../configuration/index.md#accessing-add-on-config-dir).
## Kubernetes
@@ -313,7 +316,8 @@ If you choose to run Frigate via LXC in Proxmox the setup can be complex so be p
:::
Suggestions include:
Suggestions include:
- For Intel-based hardware acceleration, to allow access to the `/dev/dri/renderD128` device with major number 226 and minor number 128, add the following lines to the `/etc/pve/lxc/<id>.conf` LXC configuration:
- `lxc.cgroup2.devices.allow: c 226:128 rwm`
- `lxc.mount.entry: /dev/dri/renderD128 dev/dri/renderD128 none bind,optional,create=file`
@@ -404,7 +408,7 @@ mkdir -p /share/share_vol2/frigate/media
# Also replace the time zone value for 'TZ' in the sample command.
# Example command will create a docker container that uses at most 2 CPUs and 4G RAM.
# You may need to add "--env=LIBVA_DRIVER_NAME=i965 \" to the following docker run command if you
# have certain CPU (e.g., J4125). See https://docs.frigate.video/configuration/hardware_acceleration.
# have certain CPU (e.g., J4125). See https://docs.frigate.video/configuration/hardware_acceleration_video.
docker run \
--name=frigate \
--shm-size=256m \

View File

@@ -13,7 +13,7 @@ Use of the bundled go2rtc is optional. You can still configure FFmpeg to connect
# 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.2#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.9#module-streams), not just rtsp.
:::tip
@@ -32,69 +32,74 @@ go2rtc:
After adding this to the config, restart Frigate and try to watch the live stream for a single camera by clicking on it from the dashboard. It should look much clearer and more fluent than the original jsmpeg stream.
### What if my video doesn't play?
- Check Logs:
- Access the go2rtc logs in the Frigate UI under Logs in the sidebar.
- If go2rtc is having difficulty connecting to your camera, you should see some error messages in the log.
- Access the go2rtc logs in the Frigate UI under Logs in the sidebar.
- If go2rtc is having difficulty connecting to your camera, you should see some error messages in the log.
- Check go2rtc Web Interface: if you don't see any errors in the logs, try viewing the camera through go2rtc's web interface.
- Navigate to port 1984 in your browser to access go2rtc's web interface.
- If using Frigate through Home Assistant, enable the web interface at port 1984.
- If using Docker, forward port 1984 before accessing the web interface.
- Click `stream` for the specific camera to see if the camera's stream is being received.
- Navigate to port 1984 in your browser to access go2rtc's web interface.
- If using Frigate through Home Assistant, enable the web interface at port 1984.
- If using Docker, forward port 1984 before accessing the web interface.
- Click `stream` for the specific camera to see if the camera's stream is being received.
- Check Video Codec:
- 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 [video codec compatibility](https://github.com/AlexxIT/go2rtc/tree/v1.9.2#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 [FFmpeg parameters](https://github.com/AlexxIT/go2rtc/tree/v1.9.2#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
go2rtc:
streams:
back:
- rtsp://user:password@10.0.10.10:554/cam/realmonitor?channel=1&subtype=2
- "ffmpeg:back#video=h264#hardware"
```
- Switch to FFmpeg if needed:
- Some camera streams may need to use the ffmpeg module in go2rtc. This has the downside of slower startup times, but has compatibility with more stream types.
```yaml
go2rtc:
streams:
back:
- ffmpeg:rtsp://user:password@10.0.10.10:554/cam/realmonitor?channel=1&subtype=2
```
- 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 [video codec compatibility](https://github.com/AlexxIT/go2rtc/tree/v1.9.9#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 [FFmpeg parameters](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.
```yaml
go2rtc:
streams:
back:
- rtsp://user:password@10.0.10.10:554/cam/realmonitor?channel=1&subtype=2
- "ffmpeg:back#video=h264#hardware"
```
- If you can see the video but do not have audio, this is most likely because your camera's audio stream codec is not AAC.
- If possible, update your camera's audio settings to AAC in your camera's firmware.
- If your cameras do not support AAC audio, you will need to tell go2rtc to re-encode the audio to AAC on demand if you want audio. This will use additional CPU and add some latency. To add AAC audio on demand, you can update your go2rtc config as follows:
```yaml
go2rtc:
streams:
back:
- rtsp://user:password@10.0.10.10:554/cam/realmonitor?channel=1&subtype=2
- "ffmpeg:back#audio=aac"
```
- Switch to FFmpeg if needed:
If you need to convert **both** the audio and video streams, you can use the following:
- Some camera streams may need to use the ffmpeg module in go2rtc. This has the downside of slower startup times, but has compatibility with more stream types.
```yaml
go2rtc:
streams:
back:
- rtsp://user:password@10.0.10.10:554/cam/realmonitor?channel=1&subtype=2
- "ffmpeg:back#video=h264#audio=aac#hardware"
```
```yaml
go2rtc:
streams:
back:
- ffmpeg:rtsp://user:password@10.0.10.10:554/cam/realmonitor?channel=1&subtype=2
```
When using the ffmpeg module, you would add AAC audio like this:
- If you can see the video but do not have audio, this is most likely because your camera's audio stream codec is not AAC.
- If possible, update your camera's audio settings to AAC in your camera's firmware.
- If your cameras do not support AAC audio, you will need to tell go2rtc to re-encode the audio to AAC on demand if you want audio. This will use additional CPU and add some latency. To add AAC audio on demand, you can update your go2rtc config as follows:
```yaml
go2rtc:
streams:
back:
- "ffmpeg:rtsp://user:password@10.0.10.10:554/cam/realmonitor?channel=1&subtype=2#video=copy#audio=copy#audio=aac#hardware"
```
```yaml
go2rtc:
streams:
back:
- rtsp://user:password@10.0.10.10:554/cam/realmonitor?channel=1&subtype=2
- "ffmpeg:back#audio=aac"
```
If you need to convert **both** the audio and video streams, you can use the following:
```yaml
go2rtc:
streams:
back:
- rtsp://user:password@10.0.10.10:554/cam/realmonitor?channel=1&subtype=2
- "ffmpeg:back#video=h264#audio=aac#hardware"
```
When using the ffmpeg module, you would add AAC audio like this:
```yaml
go2rtc:
streams:
back:
- "ffmpeg:rtsp://user:password@10.0.10.10:554/cam/realmonitor?channel=1&subtype=2#video=copy#audio=copy#audio=aac#hardware"
```
:::warning
@@ -110,3 +115,7 @@ section.
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.
## Important considerations
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.

View File

@@ -9,7 +9,7 @@ title: Getting started
If you already have an environment with Linux and Docker installed, you can continue to [Installing Frigate](#installing-frigate) below.
If you already have Frigate installed in Docker or as a Home Assistant addon, you can continue to [Configuring Frigate](#configuring-frigate) below.
If you already have Frigate installed through Docker or through a Home Assistant Add-on, you can continue to [Configuring Frigate](#configuring-frigate) below.
:::
@@ -81,7 +81,7 @@ Now you have a minimal Debian server that requires very little maintenance.
## Installing Frigate
This section shows how to create a minimal directory structure for a Docker installation on Debian. If you have installed Frigate as a Home Assistant addon or another way, you can continue to [Configuring Frigate](#configuring-frigate).
This section shows how to create a minimal directory structure for a Docker installation on Debian. If you have installed Frigate as a Home Assistant Add-on or another way, you can continue to [Configuring Frigate](#configuring-frigate).
### Setup directories
@@ -110,7 +110,6 @@ This `docker-compose.yml` file is just a starter for amd64 devices. You will nee
`docker-compose.yml`
```yaml
version: "3.9"
services:
frigate:
container_name: frigate
@@ -163,14 +162,13 @@ FFmpeg arguments for other types of cameras can be found [here](../configuration
### Step 3: Configure hardware acceleration (recommended)
Now that you have a working camera configuration, you want to setup hardware acceleration to minimize the CPU required to decode your video streams. See the [hardware acceleration](../configuration/hardware_acceleration.md) config reference for examples applicable to your hardware.
Now that you have a working camera configuration, you want to setup hardware acceleration to minimize the CPU required to decode your video streams. See the [hardware acceleration](../configuration/hardware_acceleration_video.md) config reference for examples applicable to your hardware.
Here is an example configuration with hardware acceleration configured to work with most Intel processors with an integrated GPU using the [preset](../configuration/ffmpeg_presets.md):
`docker-compose.yml` (after modifying, you will need to run `docker compose up -d` to apply changes)
```yaml
version: "3.9"
services:
frigate:
...
@@ -199,7 +197,6 @@ By default, Frigate will use a single CPU detector. If you have a USB Coral, you
`docker-compose.yml` (after modifying, you will need to run `docker compose up -d` to apply changes)
```yaml
version: "3.9"
services:
frigate:
...
@@ -306,6 +303,7 @@ By default, Frigate will retain video of all tracked objects for 10 days. The fu
### Step 7: Complete config
At this point you have a complete config with basic functionality.
- View [common configuration examples](../configuration/index.md#common-configuration-examples) for a list of common configuration examples.
- View [full config reference](../configuration/reference.md) for a complete list of configuration options.

View File

@@ -3,24 +3,18 @@ id: ha_network_storage
title: Home Assistant network storage
---
As of Home Assistant Core 2023.6, Network Mounted Storage is supported for addons.
As of Home Assistant 2023.6, Network Mounted Storage is supported for Add-ons.
## Setting Up Remote Storage For Frigate
### Prerequisites
- HA Core 2023.6 or newer is installed
- Running HA OS 10.2 or newer OR Running Supervised with latest os-agent installed (this is required for supervised install)
- Home Assistant 2023.6 or newer is installed
- Running Home Assistant Operating System 10.2 or newer OR Running Supervised with latest os-agent installed (this is required for supervised install)
### Initial Setup
1. Stop the Frigate addon
2. Update your [config](configuration/index.md) so the DB is stored in the /config directory by adding:
```yaml
database:
path: /config/frigate.db
```
1. Stop the Frigate Add-on
### Move current data
@@ -43,4 +37,4 @@ Keeping the current data is optional, but the data will need to be moved regardl
4. Fill out the additional required info for your particular NAS
5. Connect
6. Move files from `/media/frigate_tmp` to `/media/frigate` if they were kept in previous step
7. Start the Frigate addon
7. Start the Frigate Add-on

View File

@@ -51,7 +51,7 @@ When configuring the integration, you will be asked for the `URL` of your Frigat
### Docker Compose Examples
If you are running Home Assistant Core and Frigate with Docker Compose on the same device, here are some examples.
If you are running Home Assistant and Frigate with Docker Compose on the same device, here are some examples.
#### Home Assistant running with host networking
@@ -60,7 +60,6 @@ It is not recommended to run Frigate in host networking mode. In this example, y
```yaml
services:
homeassistant:
container_name: hass
image: ghcr.io/home-assistant/home-assistant:stable
network_mode: host
...
@@ -80,7 +79,6 @@ In this example, it is recommended to connect to the authenticated port, for exa
```yaml
services:
homeassistant:
container_name: hass
image: ghcr.io/home-assistant/home-assistant:stable
# network_mode: host
...
@@ -93,17 +91,16 @@ services:
...
```
### HassOS Addon
### Home Assistant Add-on
If you are using HassOS with the addon, the URL should be one of the following depending on which addon version you are using. Note that if you are using the Proxy Addon, you do NOT point the integration at the proxy URL. Just enter the URL used to access Frigate directly from your network.
If you are using Home Assistant Add-on, the URL should be one of the following depending on which Add-on variant you are using. Note that if you are using the Proxy Add-on, you should NOT point the integration at the proxy URL. Just enter the same URL used to access Frigate directly from your network.
| Addon Version | URL |
| ------------------------------ | ----------------------------------------- |
| Frigate NVR | `http://ccab4aaf-frigate:5000` |
| Frigate NVR (Full Access) | `http://ccab4aaf-frigate-fa:5000` |
| Frigate NVR Beta | `http://ccab4aaf-frigate-beta:5000` |
| Frigate NVR Beta (Full Access) | `http://ccab4aaf-frigate-fa-beta:5000` |
| Frigate NVR HailoRT Beta | `http://ccab4aaf-frigate-hailo-beta:5000` |
| Add-on Variant | URL |
| -------------------------- | ----------------------------------------- |
| Frigate | `http://ccab4aaf-frigate:5000` |
| Frigate (Full Access) | `http://ccab4aaf-frigate-fa:5000` |
| Frigate Beta | `http://ccab4aaf-frigate-beta:5000` |
| Frigate Beta (Full Access) | `http://ccab4aaf-frigate-fa-beta:5000` |
### Frigate running on a separate machine

View File

@@ -54,7 +54,9 @@ 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
"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
"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_score": 0.933451
},
"after": {
"id": "1607123955.475377-mxklsc",
@@ -93,14 +95,18 @@ 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
"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_score": 0.933451
}
}
```
### `frigate/tracked_object_update`
Message published for updates to tracked object metadata, for example when GenAI runs and returns a tracked object description.
Message published for updates to tracked object metadata, for example:
#### Generative AI Description Update
```json
{
@@ -110,6 +116,33 @@ Message published for updates to tracked object metadata, for example when GenAI
}
```
#### Face Recognition Update
```json
{
"type": "face",
"id": "1607123955.475377-mxklsc",
"name": "John",
"score": 0.95,
"camera": "front_door_cam",
"timestamp": 1607123958.748393,
}
```
#### License Plate Recognition Update
```json
{
"type": "lpr",
"id": "1607123955.475377-mxklsc",
"name": "John's Car",
"plate": "123ABC",
"score": 0.95,
"camera": "driveway_cam",
"timestamp": 1607123958.748393,
}
```
### `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.
@@ -301,6 +334,10 @@ Topic to adjust motion contour area for a camera. Expected value is an integer.
Topic with current motion contour area for a camera. Published value is an integer.
### `frigate/<camera_name>/review_status`
Topic with current activity status of the camera. Possible values are `NONE`, `DETECTION`, or `ALERT`.
### `frigate/<camera_name>/ptz`
Topic to send PTZ commands to camera.

View File

@@ -19,11 +19,11 @@ Once logged in, you can generate an API key for Frigate in Settings.
### Set your API key
In Frigate, you can use an environment variable or a docker secret named `PLUS_API_KEY` to enable the `Frigate+` buttons on the Explore page. Home Assistant Addon users can set it under Settings > Addons > Frigate NVR > Configuration > Options (be sure to toggle the "Show unused optional configuration options" switch).
In Frigate, you can use an environment variable or a docker secret named `PLUS_API_KEY` to enable the `Frigate+` buttons on the Explore page. Home Assistant Addon users can set it under Settings > Add-ons > Frigate > Configuration > Options (be sure to toggle the "Show unused optional configuration options" switch).
:::warning
You cannot use the `environment_vars` section of your Frigate configuration file to set this environment variable. It must be defined as an environment variable in the docker config or HA addon config.
You cannot use the `environment_vars` section of your Frigate configuration file to set this environment variable. It must be defined as an environment variable in the docker config or Home Assistant Add-on config.
:::
@@ -51,6 +51,8 @@ You can view all of your submitted images at [https://plus.frigate.video](https:
Once you have [requested your first model](../plus/first_model.md) and gotten your own model ID, it can be used with a special model path. No other information needs to be configured for Frigate+ models because it fetches the remaining config from Frigate+ automatically.
You can either choose the new model from the Frigate+ pane in the Settings page of the Frigate UI, or manually set the model at the root level in your config:
```yaml
model:
path: plus://<your_model_id>

View File

@@ -21,8 +21,12 @@ This is a fork (with fixed errors and new features) of [original Double Take](ht
## [Frigate Notify](https://github.com/0x2142/frigate-notify)
[Frigate Notify](https://github.com/0x2142/frigate-notify) is a simple app designed to send notifications from Frigate NVR to your favorite platforms. Intended to be used with standalone Frigate installations - Home Assistant not required, MQTT is optional but recommended.
[Frigate Notify](https://github.com/0x2142/frigate-notify) is a simple app designed to send notifications from Frigate to your favorite platforms. Intended to be used with standalone Frigate installations - Home Assistant not required, MQTT is optional but recommended.
## [Frigate telegram](https://github.com/OldTyT/frigate-telegram)
[Frigate telegram](https://github.com/OldTyT/frigate-telegram) makes it possible to send events from Frigate to Telegram. Events are sent as a message with a text description, video, and thumbnail.
## [Periscope](https://github.com/maksz42/periscope)
[Periscope](https://github.com/maksz42/periscope) is a lightweight Android app that turns old devices into live viewers for Frigate. It works on Android 2.2 and above, including Android TV. It supports authentication and HTTPS.

View File

@@ -22,3 +22,13 @@ Yes. Models and metadata are stored in the `model_cache` directory within the co
### Can I keep using my Frigate+ models even if I do not renew my subscription?
Yes. Subscriptions to Frigate+ provide access to the infrastructure used to train the models. Models trained with your subscription are yours to keep and use forever. However, do note that the terms and conditions prohibit you from sharing, reselling, or creating derivative products from the models.
### Why can't I submit images to Frigate+?
If you've configured your API key and the Frigate+ Settings page in the UI shows that the key is active, you need to ensure that you've enabled both snapshots and `clean_copy` snapshots for the cameras you'd like to submit images for. Note that `clean_copy` is enabled by default when snapshots are enabled.
```yaml
snapshots:
enabled: true
clean_copy: true
```

View File

@@ -3,7 +3,7 @@ id: index
title: Models
---
<a href="https://frigate.video/plus" target="_blank" rel="nofollow">Frigate+</a> offers models trained on images submitted by Frigate+ users from their security cameras and is specifically designed for the way Frigate NVR analyzes video footage. These models offer higher accuracy with less resources. The images you upload are used to fine tune a baseline model trained from images uploaded by all Frigate+ users. This fine tuning process results in a model that is optimized for accuracy in your specific conditions.
<a href="https://frigate.video/plus" target="_blank" rel="nofollow">Frigate+</a> offers models trained on images submitted by Frigate+ users from their security cameras and is specifically designed for the way Frigate analyzes video footage. These models offer higher accuracy with less resources. The images you upload are used to fine tune a baseline model trained from images uploaded by all Frigate+ users. This fine tuning process results in a model that is optimized for accuracy in your specific conditions.
:::info

View File

@@ -32,7 +32,7 @@ The USB coral can draw up to 900mA and this can be too much for some on-device U
The USB coral has different IDs when it is uninitialized and initialized.
- When running Frigate in a VM, Proxmox lxc, etc. you must ensure both device IDs are mapped.
- When running HA OS you may need to run the Full Access version of the Frigate addon with the `Protected Mode` switch disabled so that the coral can be accessed.
- When running through the Home Assistant OS you may need to run the Full Access variant of the Frigate Add-on with the _Protection mode_ switch disabled so that the coral can be accessed.
### Synology 716+II running DSM 7.2.1-69057 Update 5

View File

@@ -34,7 +34,7 @@ Frigate generally [recommends cameras with configurable sub streams](/frigate/ha
To do this efficiently the following setup is required:
1. A GPU or iGPU must be available to do the scaling.
2. [ffmpeg presets for hwaccel](/configuration/hardware_acceleration.md) must be used
2. [ffmpeg presets for hwaccel](/configuration/hardware_acceleration_video.md) must be used
3. Set the desired detection resolution for `detect -> width` and `detect -> height`.
When this is done correctly, the GPU will do the decoding and scaling which will result in a small increase in CPU usage but with better results.

View File

@@ -47,10 +47,9 @@ On linux, some helpful tools/commands in diagnosing would be:
On modern linux kernels, the system will utilize some swap if enabled. Setting vm.swappiness=1 no longer means that the kernel will only swap in order to avoid OOM. To prevent any swapping inside a container, set allocations memory and memory+swap to be the same and disable swapping by setting the following docker/podman run parameters:
**Compose example**
**Docker Compose example**
```yaml
version: "3.9"
services:
frigate:
...

View File

@@ -17,6 +17,15 @@ const config: Config = {
markdown: {
mermaid: true,
},
i18n: {
defaultLocale: 'en',
locales: ['en'],
localeConfigs: {
en: {
label: 'English',
}
},
},
themeConfig: {
algolia: {
appId: 'WIURGBNBPY',
@@ -82,6 +91,16 @@ const config: Config = {
label: 'Demo',
position: 'right',
},
{
type: 'localeDropdown',
position: 'right',
dropdownItemsAfter: [
{
label: '简体中文(社区翻译)',
href: 'https://docs.frigate-cn.video',
}
]
},
{
href: 'https://github.com/blakeblackshear/frigate',
label: 'GitHub',

7818
docs/package-lock.json generated
View File

File diff suppressed because it is too large Load Diff

View File

@@ -17,10 +17,10 @@
"write-heading-ids": "docusaurus write-heading-ids"
},
"dependencies": {
"@docusaurus/core": "^3.6.3",
"@docusaurus/preset-classic": "^3.6.3",
"@docusaurus/theme-mermaid": "^3.6.3",
"@docusaurus/core": "^3.7.0",
"@docusaurus/plugin-content-docs": "^3.6.3",
"@docusaurus/preset-classic": "^3.7.0",
"@docusaurus/theme-mermaid": "^3.6.3",
"@mdx-js/react": "^3.1.0",
"clsx": "^2.1.1",
"docusaurus-plugin-openapi-docs": "^4.3.1",

View File

@@ -1,106 +1,110 @@
import type { SidebarsConfig, } from '@docusaurus/plugin-content-docs';
import { PropSidebarItemLink } from '@docusaurus/plugin-content-docs';
import frigateHttpApiSidebar from './docs/integrations/api/sidebar';
import type { SidebarsConfig } from "@docusaurus/plugin-content-docs";
import { PropSidebarItemLink } from "@docusaurus/plugin-content-docs";
import frigateHttpApiSidebar from "./docs/integrations/api/sidebar";
const sidebars: SidebarsConfig = {
docs: {
Frigate: [
'frigate/index',
'frigate/hardware',
'frigate/installation',
'frigate/camera_setup',
'frigate/video_pipeline',
'frigate/glossary',
"frigate/index",
"frigate/hardware",
"frigate/installation",
"frigate/camera_setup",
"frigate/video_pipeline",
"frigate/glossary",
],
Guides: [
'guides/getting_started',
'guides/configuring_go2rtc',
'guides/ha_notifications',
'guides/ha_network_storage',
'guides/reverse_proxy',
"guides/getting_started",
"guides/configuring_go2rtc",
"guides/ha_notifications",
"guides/ha_network_storage",
"guides/reverse_proxy",
],
Configuration: {
'Configuration Files': [
'configuration/index',
'configuration/reference',
"Configuration Files": [
"configuration/index",
"configuration/reference",
{
type: 'link',
label: 'Go2RTC Configuration Reference',
href: 'https://github.com/AlexxIT/go2rtc/tree/v1.9.2#configuration',
type: "link",
label: "Go2RTC Configuration Reference",
href: "https://github.com/AlexxIT/go2rtc/tree/v1.9.9#configuration",
} as PropSidebarItemLink,
],
Detectors: [
'configuration/object_detectors',
'configuration/audio_detectors',
"configuration/object_detectors",
"configuration/audio_detectors",
],
Classifiers: [
'configuration/semantic_search',
'configuration/genai',
'configuration/face_recognition',
'configuration/license_plate_recognition',
Enrichments: [
"configuration/semantic_search",
"configuration/genai",
"configuration/face_recognition",
"configuration/license_plate_recognition",
"configuration/bird_classification",
],
Cameras: [
'configuration/cameras',
'configuration/review',
'configuration/record',
'configuration/snapshots',
'configuration/motion_detection',
'configuration/birdseye',
'configuration/live',
'configuration/restream',
'configuration/autotracking',
'configuration/camera_specific',
"configuration/cameras",
"configuration/review",
"configuration/record",
"configuration/snapshots",
"configuration/motion_detection",
"configuration/birdseye",
"configuration/live",
"configuration/restream",
"configuration/autotracking",
"configuration/camera_specific",
],
Objects: [
'configuration/object_filters',
'configuration/masks',
'configuration/zones',
'configuration/objects',
'configuration/stationary_objects',
"configuration/object_filters",
"configuration/masks",
"configuration/zones",
"configuration/objects",
"configuration/stationary_objects",
],
'Extra Configuration': [
'configuration/authentication',
'configuration/notifications',
'configuration/hardware_acceleration',
'configuration/ffmpeg_presets',
"Hardware Acceleration": [
"configuration/hardware_acceleration_video",
"configuration/hardware_acceleration_enrichments",
],
"Extra Configuration": [
"configuration/authentication",
"configuration/notifications",
"configuration/ffmpeg_presets",
"configuration/pwa",
'configuration/tls',
'configuration/advanced',
"configuration/tls",
"configuration/advanced",
],
},
Integrations: [
'integrations/plus',
'integrations/home-assistant',
"integrations/plus",
"integrations/home-assistant",
// This is the HTTP API generated by OpenAPI
{
type: 'category',
label: 'HTTP API',
type: "category",
label: "HTTP API",
link: {
type: 'generated-index',
title: 'Frigate HTTP API',
description: 'HTTP API',
slug: '/integrations/api/frigate-http-api',
type: "generated-index",
title: "Frigate HTTP API",
description: "HTTP API",
slug: "/integrations/api/frigate-http-api",
},
items: frigateHttpApiSidebar,
},
'integrations/mqtt',
'configuration/metrics',
'integrations/third_party_extensions',
"integrations/mqtt",
"configuration/metrics",
"integrations/third_party_extensions",
],
'Frigate+': [
'plus/index',
'plus/first_model',
'plus/improving_model',
'plus/faq',
"Frigate+": [
"plus/index",
"plus/first_model",
"plus/improving_model",
"plus/faq",
],
Troubleshooting: [
'troubleshooting/faqs',
'troubleshooting/recordings',
'troubleshooting/edgetpu',
"troubleshooting/faqs",
"troubleshooting/recordings",
"troubleshooting/edgetpu",
],
Development: [
'development/contributing',
'development/contributing-boards',
"development/contributing",
"development/contributing-boards",
],
},
};

View File

@@ -0,0 +1,25 @@
import React, { useEffect, useState } from 'react';
import { useLocation } from '@docusaurus/router';
import styles from './styles.module.css';
export default function LanguageAlert() {
const [showAlert, setShowAlert] = useState(false);
const { pathname } = useLocation();
useEffect(() => {
const userLanguage = navigator?.language || 'en';
const isChineseUser = userLanguage.includes('zh');
setShowAlert(isChineseUser);
}, [pathname]);
if (!showAlert) return null;
return (
<div className={styles.alert}>
<span>检测到您的主要语言为中文您可以访问由中文社区翻译的</span>
<a href={'https://docs.frigate-cn.video'+pathname}>中文文档</a>
<span> 以获得更好的体验</span>
</div>
);
}

View File

@@ -0,0 +1,13 @@
.alert {
padding: 12px;
background: #fff8e6;
border-bottom: 1px solid #ffd166;
text-align: center;
font-size: 15px;
}
.alert a {
color: #1890ff;
font-weight: 500;
margin-left: 6px;
}

View File

@@ -0,0 +1,15 @@
import React from 'react';
import NavbarLayout from '@theme/Navbar/Layout';
import NavbarContent from '@theme/Navbar/Content';
import LanguageAlert from '../../components/LanguageAlert';
export default function Navbar() {
return (
<>
<NavbarLayout>
<NavbarContent />
</NavbarLayout>
<LanguageAlert />
</>
);
}

View File

@@ -161,6 +161,253 @@ paths:
application/json:
schema:
$ref: "#/components/schemas/HTTPValidationError"
"/users/{username}/role":
put:
tags:
- Auth
summary: Update Role
operationId: update_role_users__username__role_put
parameters:
- name: username
in: path
required: true
schema:
type: string
title: Username
requestBody:
required: true
content:
application/json:
schema:
$ref: "#/components/schemas/AppPutRoleBody"
responses:
"200":
description: Successful Response
content:
application/json:
schema: {}
"422":
description: Validation Error
content:
application/json:
schema:
$ref: "#/components/schemas/HTTPValidationError"
/faces:
get:
tags:
- Events
summary: Get Faces
operationId: get_faces_faces_get
responses:
"200":
description: Successful Response
content:
application/json:
schema: {}
/faces/reprocess:
post:
tags:
- Events
summary: Reclassify Face
operationId: reclassify_face_faces_reprocess_post
requestBody:
content:
application/json:
schema:
type: object
title: Body
responses:
"200":
description: Successful Response
content:
application/json:
schema: {}
"422":
description: Validation Error
content:
application/json:
schema:
$ref: "#/components/schemas/HTTPValidationError"
"/faces/train/{name}/classify":
post:
tags:
- Events
summary: Train Face
operationId: train_face_faces_train__name__classify_post
parameters:
- name: name
in: path
required: true
schema:
type: string
title: Name
requestBody:
content:
application/json:
schema:
type: object
title: Body
responses:
"200":
description: Successful Response
content:
application/json:
schema: {}
"422":
description: Validation Error
content:
application/json:
schema:
$ref: "#/components/schemas/HTTPValidationError"
"/faces/{name}/create":
post:
tags:
- Events
summary: Create Face
operationId: create_face_faces__name__create_post
parameters:
- name: name
in: path
required: true
schema:
type: string
title: Name
responses:
"200":
description: Successful Response
content:
application/json:
schema: {}
"422":
description: Validation Error
content:
application/json:
schema:
$ref: "#/components/schemas/HTTPValidationError"
"/faces/{name}/register":
post:
tags:
- Events
summary: Register Face
operationId: register_face_faces__name__register_post
parameters:
- name: name
in: path
required: true
schema:
type: string
title: Name
requestBody:
required: true
content:
multipart/form-data:
schema:
$ref: >-
#/components/schemas/Body_register_face_faces__name__register_post
responses:
"200":
description: Successful Response
content:
application/json:
schema: {}
"422":
description: Validation Error
content:
application/json:
schema:
$ref: "#/components/schemas/HTTPValidationError"
/faces/recognize:
post:
tags:
- Events
summary: Recognize Face
operationId: recognize_face_faces_recognize_post
requestBody:
required: true
content:
multipart/form-data:
schema:
$ref: "#/components/schemas/Body_recognize_face_faces_recognize_post"
responses:
"200":
description: Successful Response
content:
application/json:
schema: {}
"422":
description: Validation Error
content:
application/json:
schema:
$ref: "#/components/schemas/HTTPValidationError"
"/faces/{name}/delete":
post:
tags:
- Events
summary: Deregister Faces
operationId: deregister_faces_faces__name__delete_post
parameters:
- name: name
in: path
required: true
schema:
type: string
title: Name
requestBody:
content:
application/json:
schema:
type: object
title: Body
responses:
"200":
description: Successful Response
content:
application/json:
schema: {}
"422":
description: Validation Error
content:
application/json:
schema:
$ref: "#/components/schemas/HTTPValidationError"
/lpr/reprocess:
put:
tags:
- Events
summary: Reprocess License Plate
operationId: reprocess_license_plate_lpr_reprocess_put
parameters:
- name: event_id
in: query
required: true
schema:
type: string
title: Event Id
responses:
"200":
description: Successful Response
content:
application/json:
schema: {}
"422":
description: Validation Error
content:
application/json:
schema:
$ref: "#/components/schemas/HTTPValidationError"
/reindex:
put:
tags:
- Events
summary: Reindex Embeddings
operationId: reindex_embeddings_reindex_put
responses:
"200":
description: Successful Response
content:
application/json:
schema: {}
/review:
get:
tags:
@@ -206,9 +453,7 @@ paths:
in: query
required: false
schema:
allOf:
- $ref: "#/components/schemas/SeverityEnum"
title: Severity
$ref: "#/components/schemas/SeverityEnum"
- name: before
in: query
required: false
@@ -237,6 +482,35 @@ paths:
application/json:
schema:
$ref: "#/components/schemas/HTTPValidationError"
/review_ids:
get:
tags:
- Review
summary: Review Ids
operationId: review_ids_review_ids_get
parameters:
- name: ids
in: query
required: true
schema:
type: string
title: Ids
responses:
"200":
description: Successful Response
content:
application/json:
schema:
type: array
items:
$ref: "#/components/schemas/ReviewSegmentResponse"
title: Response Review Ids Review Ids Get
"422":
description: Validation Error
content:
application/json:
schema:
$ref: "#/components/schemas/HTTPValidationError"
/review/summary:
get:
tags:
@@ -575,6 +849,19 @@ paths:
application/json:
schema:
$ref: "#/components/schemas/HTTPValidationError"
/metrics:
get:
tags:
- App
summary: Metrics
description: Expose Prometheus metrics endpoint and update metrics with latest stats
operationId: metrics_metrics_get
responses:
"200":
description: Successful Response
content:
application/json:
schema: {}
/config:
get:
tags:
@@ -731,6 +1018,15 @@ paths:
- type: string
- type: "null"
title: Download
- name: stream
in: query
required: false
schema:
anyOf:
- type: boolean
- type: "null"
default: false
title: Stream
- name: start
in: query
required: false
@@ -825,6 +1121,59 @@ paths:
application/json:
schema:
$ref: "#/components/schemas/HTTPValidationError"
/plus/models:
get:
tags:
- App
summary: Plusmodels
operationId: plusModels_plus_models_get
parameters:
- name: filterByCurrentModelDetector
in: query
required: false
schema:
type: boolean
default: false
title: Filterbycurrentmodeldetector
responses:
"200":
description: Successful Response
content:
application/json:
schema: {}
"422":
description: Validation Error
content:
application/json:
schema:
$ref: "#/components/schemas/HTTPValidationError"
/recognized_license_plates:
get:
tags:
- App
summary: Get Recognized License Plates
operationId: get_recognized_license_plates_recognized_license_plates_get
parameters:
- name: split_joined
in: query
required: false
schema:
anyOf:
- type: integer
- type: "null"
title: Split Joined
responses:
"200":
description: Successful Response
content:
application/json:
schema: {}
"422":
description: Validation Error
content:
application/json:
schema:
$ref: "#/components/schemas/HTTPValidationError"
/timeline:
get:
tags:
@@ -1158,12 +1507,12 @@ paths:
application/json:
schema:
$ref: "#/components/schemas/HTTPValidationError"
"/export/{event_id}/{new_name}":
"/export/{event_id}/rename":
patch:
tags:
- Export
summary: Export Rename
operationId: export_rename_export__event_id___new_name__patch
operationId: export_rename_export__event_id__rename_patch
parameters:
- name: event_id
in: path
@@ -1171,12 +1520,12 @@ paths:
schema:
type: string
title: Event Id
- name: new_name
in: path
required: true
schema:
type: string
title: New Name
requestBody:
required: true
content:
application/json:
schema:
$ref: "#/components/schemas/ExportRenameBody"
responses:
"200":
description: Successful Response
@@ -1409,6 +1758,31 @@ paths:
- type: number
- type: "null"
title: Max Score
- name: min_speed
in: query
required: false
schema:
anyOf:
- type: number
- type: "null"
title: Min Speed
- name: max_speed
in: query
required: false
schema:
anyOf:
- type: number
- type: "null"
title: Max Speed
- name: recognized_license_plate
in: query
required: false
schema:
anyOf:
- type: string
- type: "null"
default: all
title: Recognized License Plate
- name: is_submitted
in: query
required: false
@@ -1684,6 +2058,31 @@ paths:
- type: number
- type: "null"
title: Max Score
- name: min_speed
in: query
required: false
schema:
anyOf:
- type: number
- type: "null"
title: Min Speed
- name: max_speed
in: query
required: false
schema:
anyOf:
- type: number
- type: "null"
title: Max Speed
- name: recognized_license_plate
in: query
required: false
schema:
anyOf:
- type: string
- type: "null"
default: all
title: Recognized License Plate
- name: sort
in: query
required: false
@@ -1867,9 +2266,7 @@ paths:
content:
application/json:
schema:
allOf:
- $ref: "#/components/schemas/SubmitPlusBody"
title: Body
$ref: "#/components/schemas/SubmitPlusBody"
responses:
"200":
description: Successful Response
@@ -2056,15 +2453,13 @@ paths:
content:
application/json:
schema:
allOf:
- $ref: "#/components/schemas/EventsCreateBody"
$ref: "#/components/schemas/EventsCreateBody"
default:
source_type: api
score: 0
duration: 30
include_recording: true
draw: {}
title: Body
responses:
"200":
description: Successful Response
@@ -2305,6 +2700,14 @@ paths:
- type: integer
- type: "null"
title: Height
- name: store
in: query
required: false
schema:
anyOf:
- type: integer
- type: "null"
title: Store
responses:
"200":
description: Successful Response
@@ -2407,6 +2810,42 @@ paths:
content:
application/json:
schema: {}
/recordings/summary:
get:
tags:
- Media
summary: All Recordings Summary
description: Returns true/false by day indicating if recordings exist
operationId: all_recordings_summary_recordings_summary_get
parameters:
- name: timezone
in: query
required: false
schema:
type: string
default: utc
title: Timezone
- name: cameras
in: query
required: false
schema:
anyOf:
- type: string
- type: "null"
default: all
title: Cameras
responses:
"200":
description: Successful Response
content:
application/json:
schema: {}
"422":
description: Validation Error
content:
application/json:
schema:
$ref: "#/components/schemas/HTTPValidationError"
"/{camera_name}/recordings/summary":
get:
tags:
@@ -2461,14 +2900,14 @@ paths:
required: false
schema:
type: number
default: 1733228876.15567
default: 1744227965.180043
title: After
- name: before
in: query
required: false
schema:
type: number
default: 1733232476.15567
default: 1744231565.180048
title: Before
responses:
"200":
@@ -2487,6 +2926,8 @@ paths:
tags:
- Media
summary: Recording Clip
description: >-
For iOS devices, use the master.m3u8 HLS link instead of clip.mp4. Safari does not reliably process progressive mp4 files.
operationId: recording_clip__camera_name__start__start_ts__end__end_ts__clip_mp4_get
parameters:
- name: camera_name
@@ -2749,12 +3190,12 @@ paths:
application/json:
schema:
$ref: "#/components/schemas/HTTPValidationError"
"/events/{event_id}/thumbnail.jpg":
"/events/{event_id}/thumbnail.{extension}":
get:
tags:
- Media
summary: Event Thumbnail
operationId: event_thumbnail_events__event_id__thumbnail_jpg_get
operationId: event_thumbnail_events__event_id__thumbnail__extension__get
parameters:
- name: event_id
in: path
@@ -2762,6 +3203,12 @@ paths:
schema:
type: string
title: Event Id
- name: extension
in: path
required: true
schema:
type: string
title: Extension
- name: max_cache_age
in: query
required: false
@@ -3251,6 +3698,12 @@ components:
password:
type: string
title: Password
role:
anyOf:
- type: string
- type: "null"
title: Role
default: viewer
type: object
required:
- username
@@ -3265,6 +3718,35 @@ components:
required:
- password
title: AppPutPasswordBody
AppPutRoleBody:
properties:
role:
type: string
title: Role
type: object
required:
- role
title: AppPutRoleBody
Body_recognize_face_faces_recognize_post:
properties:
file:
type: string
format: binary
title: File
type: object
required:
- file
title: Body_recognize_face_faces_recognize_post
Body_register_face_faces__name__register_post:
properties:
file:
type: string
format: binary
title: File
type: object
required:
- file
title: Body_register_face_faces__name__register_post
DayReview:
properties:
day:
@@ -3354,7 +3836,9 @@ components:
- type: "null"
title: End Time
false_positive:
type: boolean
anyOf:
- type: boolean
- type: "null"
title: False Positive
zones:
items:
@@ -3362,7 +3846,9 @@ components:
type: array
title: Zones
thumbnail:
type: string
anyOf:
- type: string
- type: "null"
title: Thumbnail
has_clip:
type: boolean
@@ -3394,6 +3880,7 @@ components:
- type: "null"
title: Model Type
data:
type: object
title: Data
type: object
required:
@@ -3511,6 +3998,11 @@ components:
exclusiveMinimum: 0
- type: "null"
title: Score for sub label
camera:
anyOf:
- type: string
- type: "null"
title: Camera this object is detected on.
type: object
required:
- subLabel
@@ -3518,13 +4010,11 @@ components:
ExportRecordingsBody:
properties:
playback:
allOf:
- $ref: "#/components/schemas/PlaybackFactorEnum"
$ref: "#/components/schemas/PlaybackFactorEnum"
title: Playback factor
default: realtime
source:
allOf:
- $ref: "#/components/schemas/PlaybackSourceEnum"
$ref: "#/components/schemas/PlaybackSourceEnum"
title: Playback source
default: recordings
name:
@@ -3536,6 +4026,16 @@ components:
title: Image Path
type: object
title: ExportRecordingsBody
ExportRenameBody:
properties:
name:
type: string
maxLength: 256
title: Friendly name
type: object
required:
- name
title: ExportRenameBody
Extension:
type: string
enum:

View File

@@ -9,6 +9,7 @@ import traceback
from datetime import datetime, timedelta
from functools import reduce
from io import StringIO
from pathlib import Path as FilePath
from typing import Any, Optional
import aiofiles
@@ -73,18 +74,22 @@ def go2rtc_streams():
)
stream_data = r.json()
for data in stream_data.values():
for producer in data.get("producers", []):
for producer in data.get("producers") or []:
producer["url"] = clean_camera_user_pass(producer.get("url", ""))
return JSONResponse(content=stream_data)
@router.get("/go2rtc/streams/{camera_name}")
def go2rtc_camera_stream(camera_name: str):
def go2rtc_camera_stream(request: Request, camera_name: str):
r = requests.get(
f"http://127.0.0.1:1984/api/streams?src={camera_name}&video=all&audio=all&microphone"
)
if not r.ok:
logger.error("Failed to fetch streams from go2rtc")
camera_config = request.app.frigate_config.cameras.get(camera_name)
if camera_config and camera_config.enabled:
logger.error("Failed to fetch streams from go2rtc")
return JSONResponse(
content=({"success": False, "message": "Error fetching stream data"}),
status_code=500,
@@ -126,7 +131,7 @@ def metrics(request: Request):
@router.get("/config")
def config(request: Request):
config_obj: FrigateConfig = request.app.frigate_config
config: dict[str, dict[str, any]] = config_obj.model_dump(
config: dict[str, dict[str, Any]] = config_obj.model_dump(
mode="json", warnings="none", exclude_none=True
)
@@ -153,7 +158,7 @@ def config(request: Request):
camera_dict["zones"][zone_name]["color"] = zone.color
# remove go2rtc stream passwords
go2rtc: dict[str, any] = config_obj.go2rtc.model_dump(
go2rtc: dict[str, Any] = config_obj.go2rtc.model_dump(
mode="json", warnings="none", exclude_none=True
)
for stream_name, stream in go2rtc.get("streams", {}).items():
@@ -174,6 +179,22 @@ def config(request: Request):
config["model"]["all_attributes"] = config_obj.model.all_attributes
config["model"]["non_logo_attributes"] = config_obj.model.non_logo_attributes
# Add model plus data if plus is enabled
if config["plus"]["enabled"]:
model_path = config.get("model", {}).get("path")
if model_path:
model_json_path = FilePath(model_path).with_suffix(".json")
try:
with open(model_json_path, "r") as f:
model_plus_data = json.load(f)
config["model"]["plus"] = model_plus_data
except FileNotFoundError:
config["model"]["plus"] = None
except json.JSONDecodeError:
config["model"]["plus"] = None
else:
config["model"]["plus"] = None
# use merged labelamp
for detector_config in config["detectors"].values():
detector_config["model"]["labelmap"] = (
@@ -619,6 +640,83 @@ def get_sub_labels(split_joined: Optional[int] = None):
return JSONResponse(content=sub_labels)
@router.get("/plus/models")
def plusModels(request: Request, filterByCurrentModelDetector: bool = False):
if not request.app.frigate_config.plus_api.is_active():
return JSONResponse(
content=({"success": False, "message": "Frigate+ is not enabled"}),
status_code=400,
)
models: dict[Any, Any] = request.app.frigate_config.plus_api.get_models()
if not models["list"]:
return JSONResponse(
content=({"success": False, "message": "No models found"}),
status_code=400,
)
modelList = models["list"]
# current model type
modelType = request.app.frigate_config.model.model_type
# current detectorType for comparing to supportedDetectors
detectorType = list(request.app.frigate_config.detectors.values())[0].type
validModels = []
for model in sorted(
filter(
lambda m: (
not filterByCurrentModelDetector
or (detectorType in m["supportedDetectors"] and modelType in m["type"])
),
modelList,
),
key=(lambda m: m["trainDate"]),
reverse=True,
):
validModels.append(model)
return JSONResponse(content=validModels)
@router.get("/recognized_license_plates")
def get_recognized_license_plates(split_joined: Optional[int] = None):
try:
events = Event.select(Event.data).distinct()
except Exception:
return JSONResponse(
content=(
{"success": False, "message": "Failed to get recognized license plates"}
),
status_code=404,
)
recognized_license_plates = []
for e in events:
if e.data is not None and "recognized_license_plate" in e.data:
recognized_license_plates.append(e.data["recognized_license_plate"])
while None in recognized_license_plates:
recognized_license_plates.remove(None)
if split_joined:
original_recognized_license_plates = recognized_license_plates.copy()
for recognized_license_plate in original_recognized_license_plates:
if recognized_license_plate and "," in recognized_license_plate:
recognized_license_plates.remove(recognized_license_plate)
parts = recognized_license_plate.split(",")
for part in parts:
if part.strip() not in recognized_license_plates:
recognized_license_plates.append(part.strip())
recognized_license_plates = list(set(recognized_license_plates))
recognized_license_plates.sort()
return JSONResponse(content=recognized_license_plates)
@router.get("/timeline")
def timeline(camera: str = "all", limit: int = 100, source_id: Optional[str] = None):
clauses = []
@@ -703,7 +801,7 @@ def hourly_timeline(params: AppTimelineHourlyQueryParameters = Depends()):
count = 0
start = 0
end = 0
hours: dict[str, list[dict[str, any]]] = {}
hours: dict[str, list[dict[str, Any]]] = {}
for t in timeline:
if count == 0:

View File

@@ -109,11 +109,11 @@ def get_jwt_secret() -> str:
jwt_secret = (
Path(os.path.join("/run/secrets", JWT_SECRET_ENV_VAR)).read_text().strip()
)
# check for the addon options file
# check for the add-on options file
elif os.path.isfile("/data/options.json"):
with open("/data/options.json") as f:
raw_options = f.read()
logger.debug("Using jwt secret from Home Assistant addon options file.")
logger.debug("Using jwt secret from Home Assistant Add-on options file.")
options = json.loads(raw_options)
jwt_secret = options.get("jwt_secret")
@@ -189,28 +189,28 @@ def set_jwt_cookie(response: Response, cookie_name, encoded_jwt, expiration, sec
async def get_current_user(request: Request):
JWT_COOKIE_NAME = request.app.frigate_config.auth.cookie_name
encoded_token = request.cookies.get(JWT_COOKIE_NAME)
if not encoded_token:
return JSONResponse(content={"message": "No JWT token found"}, status_code=401)
username = request.headers.get("remote-user")
role = request.headers.get("remote-role")
try:
token = jwt.decode(encoded_token, request.app.jwt_token)
if "sub" not in token.claims or "role" not in token.claims:
return JSONResponse(
content={"message": "Invalid JWT token"}, status_code=401
)
return {"username": token.claims["sub"], "role": token.claims["role"]}
except Exception as e:
logger.error(f"Error parsing JWT: {e}")
return JSONResponse(content={"message": "Invalid JWT token"}, status_code=401)
if not username or not role:
return JSONResponse(
content={"message": "No authorization headers."}, status_code=401
)
return {"username": username, "role": role}
def require_role(required_roles: List[str]):
async def role_checker(request: Request):
proxy_config: ProxyConfig = request.app.frigate_config.proxy
# Get role from header (could be comma-separated)
role_header = request.headers.get("remote-role")
roles = [r.strip() for r in role_header.split(",")] if role_header else []
roles = (
[r.strip() for r in role_header.split(proxy_config.separator)]
if role_header
else []
)
# Check if we have any roles
if not roles:
@@ -259,22 +259,25 @@ def auth(request: Request):
# pass the user header value from the upstream proxy if a mapping is specified
# or use anonymous if none are specified
user_header = proxy_config.header_map.user
role_header = proxy_config.header_map.role
success_response.headers["remote-user"] = (
request.headers.get(user_header, default="anonymous")
if user_header
else "anonymous"
)
role_header = proxy_config.header_map.role
role = (
request.headers.get(role_header, default="viewer")
request.headers.get(role_header, default=proxy_config.default_role)
if role_header
else "viewer"
else proxy_config.default_role
)
# if comma-separated with "admin", use "admin", else "viewer"
# if comma-separated with "admin", use "admin", else use default role
success_response.headers["remote-role"] = (
"admin" if role and "admin" in role else "viewer"
"admin"
if role
and "admin" in [r.strip() for r in role.split(proxy_config.separator)]
else proxy_config.default_role
)
return success_response

View File

@@ -1,11 +1,12 @@
"""Object classification APIs."""
import datetime
import logging
import os
import random
import shutil
import string
from typing import Any
import cv2
from fastapi import APIRouter, Depends, Request, UploadFile
from fastapi.responses import JSONResponse
from pathvalidate import sanitize_filename
@@ -13,10 +14,13 @@ from peewee import DoesNotExist
from playhouse.shortcuts import model_to_dict
from frigate.api.auth import require_role
from frigate.api.defs.request.classification_body import RenameFaceBody
from frigate.api.defs.tags import Tags
from frigate.config.camera import DetectConfig
from frigate.const import FACE_DIR
from frigate.embeddings import EmbeddingsContext
from frigate.models import Event
from frigate.util.path import get_event_snapshot
logger = logging.getLogger(__name__)
@@ -27,6 +31,9 @@ router = APIRouter(tags=[Tags.events])
def get_faces():
face_dict: dict[str, list[str]] = {}
if not os.path.exists(FACE_DIR):
return JSONResponse(status_code=200, content={})
for name in os.listdir(FACE_DIR):
face_dir = os.path.join(FACE_DIR, name)
@@ -35,10 +42,9 @@ def get_faces():
face_dict[name] = []
for file in sorted(
for file in filter(
lambda f: (f.lower().endswith((".webp", ".png", ".jpg", ".jpeg"))),
os.listdir(face_dir),
key=lambda f: os.path.getctime(os.path.join(face_dir, f)),
reverse=True,
):
face_dict[name].append(file)
@@ -53,7 +59,7 @@ def reclassify_face(request: Request, body: dict = None):
content={"message": "Face recognition is not enabled.", "success": False},
)
json: dict[str, any] = body or {}
json: dict[str, Any] = body or {}
training_file = os.path.join(
FACE_DIR, f"train/{sanitize_filename(json.get('training_file', ''))}"
)
@@ -86,27 +92,69 @@ def train_face(request: Request, name: str, body: dict = None):
content={"message": "Face recognition is not enabled.", "success": False},
)
json: dict[str, any] = body or {}
training_file = os.path.join(
FACE_DIR, f"train/{sanitize_filename(json.get('training_file', ''))}"
)
json: dict[str, Any] = body or {}
training_file_name = sanitize_filename(json.get("training_file", ""))
training_file = os.path.join(FACE_DIR, f"train/{training_file_name}")
event_id = json.get("event_id")
if not training_file or not os.path.isfile(training_file):
if not training_file_name and not event_id:
return JSONResponse(
content=(
{
"success": False,
"message": f"Invalid filename or no file exists: {training_file}",
"message": "A training file or event_id must be passed.",
}
),
status_code=400,
)
if training_file_name and not os.path.isfile(training_file):
return JSONResponse(
content=(
{
"success": False,
"message": f"Invalid filename or no file exists: {training_file_name}",
}
),
status_code=404,
)
sanitized_name = sanitize_filename(name)
rand_id = "".join(random.choices(string.ascii_lowercase + string.digits, k=6))
new_name = f"{sanitized_name}-{rand_id}.webp"
new_file = os.path.join(FACE_DIR, f"{sanitized_name}/{new_name}")
shutil.move(training_file, new_file)
new_name = f"{sanitized_name}-{datetime.datetime.now().timestamp()}.webp"
new_file_folder = os.path.join(FACE_DIR, f"{sanitized_name}")
if not os.path.exists(new_file_folder):
os.mkdir(new_file_folder)
if training_file_name:
shutil.move(training_file, os.path.join(new_file_folder, new_name))
else:
try:
event: Event = Event.get(Event.id == event_id)
except DoesNotExist:
return JSONResponse(
content=(
{
"success": False,
"message": f"Invalid event_id or no event exists: {event_id}",
}
),
status_code=404,
)
snapshot = get_event_snapshot(event)
face_box = event.data["attributes"][0]["box"]
detect_config: DetectConfig = request.app.frigate_config.cameras[
event.camera
].detect
# crop onto the face box minus the bounding box itself
x1 = int(face_box[0] * detect_config.width) + 2
y1 = int(face_box[1] * detect_config.height) + 2
x2 = x1 + int(face_box[2] * detect_config.width) - 4
y2 = y1 + int(face_box[3] * detect_config.height) - 4
face = snapshot[y1:y2, x1:x2]
cv2.imwrite(os.path.join(new_file_folder, new_name), face)
context: EmbeddingsContext = request.app.embeddings
context.clear_face_classifier()
@@ -115,7 +163,7 @@ def train_face(request: Request, name: str, body: dict = None):
content=(
{
"success": True,
"message": f"Successfully saved {training_file} as {new_name}.",
"message": f"Successfully saved {training_file_name} as {new_name}.",
}
),
status_code=200,
@@ -149,6 +197,42 @@ async def register_face(request: Request, name: str, file: UploadFile):
context: EmbeddingsContext = request.app.embeddings
result = context.register_face(name, await file.read())
if not isinstance(result, dict):
return JSONResponse(
status_code=500,
content={
"success": False,
"message": "Could not process request. Try restarting Frigate.",
},
)
return JSONResponse(
status_code=200 if result.get("success", True) else 400,
content=result,
)
@router.post("/faces/recognize")
async def recognize_face(request: Request, file: UploadFile):
if not request.app.frigate_config.face_recognition.enabled:
return JSONResponse(
status_code=400,
content={"message": "Face recognition is not enabled.", "success": False},
)
context: EmbeddingsContext = request.app.embeddings
result = context.recognize_face(await file.read())
if not isinstance(result, dict):
return JSONResponse(
status_code=500,
content={
"success": False,
"message": "Could not process request. Try restarting Frigate.",
},
)
return JSONResponse(
status_code=200 if result.get("success", True) else 400,
content=result,
@@ -163,15 +247,9 @@ def deregister_faces(request: Request, name: str, body: dict = None):
content={"message": "Face recognition is not enabled.", "success": False},
)
json: dict[str, any] = body or {}
json: dict[str, Any] = body or {}
list_of_ids = json.get("ids", "")
if not list_of_ids or len(list_of_ids) == 0:
return JSONResponse(
content=({"success": False, "message": "Not a valid list of ids"}),
status_code=404,
)
context: EmbeddingsContext = request.app.embeddings
context.delete_face_ids(
name, map(lambda file: sanitize_filename(file), list_of_ids)
@@ -182,6 +260,35 @@ def deregister_faces(request: Request, name: str, body: dict = None):
)
@router.put("/faces/{old_name}/rename", dependencies=[Depends(require_role(["admin"]))])
def rename_face(request: Request, old_name: str, body: RenameFaceBody):
if not request.app.frigate_config.face_recognition.enabled:
return JSONResponse(
status_code=400,
content={"message": "Face recognition is not enabled.", "success": False},
)
context: EmbeddingsContext = request.app.embeddings
try:
context.rename_face(old_name, body.new_name)
return JSONResponse(
content={
"success": True,
"message": f"Successfully renamed face to {body.new_name}.",
},
status_code=200,
)
except ValueError as e:
logger.error(e)
return JSONResponse(
status_code=400,
content={
"message": "Error renaming face. Check Frigate logs.",
"success": False,
},
)
@router.put("/lpr/reprocess")
def reprocess_license_plate(request: Request, event_id: str):
if not request.app.frigate_config.lpr.enabled:
@@ -213,3 +320,49 @@ def reprocess_license_plate(request: Request, event_id: str):
content=response,
status_code=200,
)
@router.put("/reindex", dependencies=[Depends(require_role(["admin"]))])
def reindex_embeddings(request: Request):
if not request.app.frigate_config.semantic_search.enabled:
message = (
"Cannot reindex tracked object embeddings, Semantic Search is not enabled."
)
logger.error(message)
return JSONResponse(
content=(
{
"success": False,
"message": message,
}
),
status_code=400,
)
context: EmbeddingsContext = request.app.embeddings
response = context.reindex_embeddings()
if response == "started":
return JSONResponse(
content={
"success": True,
"message": "Embeddings reindexing has started.",
},
status_code=202, # 202 Accepted
)
elif response == "in_progress":
return JSONResponse(
content={
"success": False,
"message": "Embeddings reindexing is already in progress.",
},
status_code=409, # 409 Conflict
)
else:
return JSONResponse(
content={
"success": False,
"message": "Failed to start reindexing.",
},
status_code=500,
)

View File

@@ -27,6 +27,7 @@ class EventsQueryParams(BaseModel):
max_score: Optional[float] = None
min_speed: Optional[float] = None
max_speed: Optional[float] = None
recognized_license_plate: Optional[str] = "all"
is_submitted: Optional[int] = None
min_length: Optional[float] = None
max_length: Optional[float] = None
@@ -55,6 +56,7 @@ class EventsSearchQueryParams(BaseModel):
max_score: Optional[float] = None
min_speed: Optional[float] = None
max_speed: Optional[float] = None
recognized_license_plate: Optional[str] = "all"
sort: Optional[str] = None

View File

@@ -0,0 +1,5 @@
from pydantic import BaseModel
class RenameFaceBody(BaseModel):
new_name: str

View File

@@ -13,6 +13,15 @@ class EventsSubLabelBody(BaseModel):
)
class EventsLPRBody(BaseModel):
recognizedLicensePlate: str = Field(
title="Recognized License Plate", max_length=100
)
recognizedLicensePlateScore: Optional[float] = Field(
title="Score for recognized license plate", default=None, gt=0.0, le=1.0
)
class EventsDescriptionBody(BaseModel):
description: Union[str, None] = Field(title="The description of the event")

View File

@@ -3,6 +3,8 @@
import datetime
import logging
import os
import random
import string
from functools import reduce
from pathlib import Path
from urllib.parse import unquote
@@ -29,6 +31,7 @@ from frigate.api.defs.request.events_body import (
EventsDeleteBody,
EventsDescriptionBody,
EventsEndBody,
EventsLPRBody,
EventsSubLabelBody,
SubmitPlusBody,
)
@@ -43,9 +46,8 @@ from frigate.api.defs.tags import Tags
from frigate.comms.event_metadata_updater import EventMetadataTypeEnum
from frigate.const import CLIPS_DIR
from frigate.embeddings import EmbeddingsContext
from frigate.events.external import ExternalEventProcessor
from frigate.models import Event, ReviewSegment, Timeline
from frigate.object_processing import TrackedObject, TrackedObjectProcessor
from frigate.track.object_processing import TrackedObject
from frigate.util.builtin import get_tz_modifiers
logger = logging.getLogger(__name__)
@@ -100,6 +102,7 @@ def events(params: EventsQueryParams = Depends()):
min_length = params.min_length
max_length = params.max_length
event_id = params.event_id
recognized_license_plate = params.recognized_license_plate
sort = params.sort
@@ -157,6 +160,45 @@ def events(params: EventsQueryParams = Depends()):
sub_label_clause = reduce(operator.or_, sub_label_clauses)
clauses.append((sub_label_clause))
if recognized_license_plate != "all":
# use matching so joined recognized_license_plates are included
# for example a recognized license plate 'ABC123' would get events
# with recognized license plates 'ABC123' and 'ABC123, XYZ789'
recognized_license_plate_clauses = []
filtered_recognized_license_plates = recognized_license_plate.split(",")
if "None" in filtered_recognized_license_plates:
filtered_recognized_license_plates.remove("None")
recognized_license_plate_clauses.append(
(Event.data["recognized_license_plate"].is_null())
)
for recognized_license_plate in filtered_recognized_license_plates:
# Exact matching plus list inclusion
recognized_license_plate_clauses.append(
(
Event.data["recognized_license_plate"].cast("text")
== recognized_license_plate
)
)
recognized_license_plate_clauses.append(
(
Event.data["recognized_license_plate"].cast("text")
% f"*{recognized_license_plate},*"
)
)
recognized_license_plate_clauses.append(
(
Event.data["recognized_license_plate"].cast("text")
% f"*, {recognized_license_plate}*"
)
)
recognized_license_plate_clause = reduce(
operator.or_, recognized_license_plate_clauses
)
clauses.append((recognized_license_plate_clause))
if zones != "all":
# use matching so events with multiple zones
# still match on a search where any zone matches
@@ -339,6 +381,8 @@ def events_explore(limit: int = 10):
"average_estimated_speed",
"velocity_angle",
"path_data",
"recognized_license_plate",
"recognized_license_plate_score",
]
},
"event_count": label_counts[event.label],
@@ -396,6 +440,7 @@ def events_search(request: Request, params: EventsSearchQueryParams = Depends())
has_clip = params.has_clip
has_snapshot = params.has_snapshot
is_submitted = params.is_submitted
recognized_license_plate = params.recognized_license_plate
# for similarity search
event_id = params.event_id
@@ -465,6 +510,45 @@ def events_search(request: Request, params: EventsSearchQueryParams = Depends())
event_filters.append((reduce(operator.or_, zone_clauses)))
if recognized_license_plate != "all":
# use matching so joined recognized_license_plates are included
# for example an recognized_license_plate 'ABC123' would get events
# with recognized_license_plates 'ABC123' and 'ABC123, XYZ789'
recognized_license_plate_clauses = []
filtered_recognized_license_plates = recognized_license_plate.split(",")
if "None" in filtered_recognized_license_plates:
filtered_recognized_license_plates.remove("None")
recognized_license_plate_clauses.append(
(Event.data["recognized_license_plate"].is_null())
)
for recognized_license_plate in filtered_recognized_license_plates:
# Exact matching plus list inclusion
recognized_license_plate_clauses.append(
(
Event.data["recognized_license_plate"].cast("text")
== recognized_license_plate
)
)
recognized_license_plate_clauses.append(
(
Event.data["recognized_license_plate"].cast("text")
% f"*{recognized_license_plate},*"
)
)
recognized_license_plate_clauses.append(
(
Event.data["recognized_license_plate"].cast("text")
% f"*, {recognized_license_plate}*"
)
)
recognized_license_plate_clause = reduce(
operator.or_, recognized_license_plate_clauses
)
event_filters.append((recognized_license_plate_clause))
if after:
event_filters.append((Event.start_time > after))
@@ -618,6 +702,7 @@ def events_search(request: Request, params: EventsSearchQueryParams = Depends())
for k, v in event["data"].items()
if k
in [
"attributes",
"type",
"score",
"top_score",
@@ -626,6 +711,8 @@ def events_search(request: Request, params: EventsSearchQueryParams = Depends())
"average_estimated_speed",
"velocity_angle",
"path_data",
"recognized_license_plate",
"recognized_license_plate_score",
]
}
@@ -638,13 +725,15 @@ def events_search(request: Request, params: EventsSearchQueryParams = Depends())
if (sort is None or sort == "relevance") and search_results:
processed_events.sort(key=lambda x: x.get("search_distance", float("inf")))
elif min_score is not None and max_score is not None and sort == "score_asc":
processed_events.sort(key=lambda x: x["score"])
processed_events.sort(key=lambda x: x["data"]["score"])
elif min_score is not None and max_score is not None and sort == "score_desc":
processed_events.sort(key=lambda x: x["score"], reverse=True)
processed_events.sort(key=lambda x: x["data"]["score"], reverse=True)
elif min_speed is not None and max_speed is not None and sort == "speed_asc":
processed_events.sort(key=lambda x: x["average_estimated_speed"])
processed_events.sort(key=lambda x: x["data"]["average_estimated_speed"])
elif min_speed is not None and max_speed is not None and sort == "speed_desc":
processed_events.sort(key=lambda x: x["average_estimated_speed"], reverse=True)
processed_events.sort(
key=lambda x: x["data"]["average_estimated_speed"], reverse=True
)
elif sort == "date_asc":
processed_events.sort(key=lambda x: x["start_time"])
else:
@@ -680,6 +769,7 @@ def events_summary(params: EventsSummaryQueryParams = Depends()):
Event.camera,
Event.label,
Event.sub_label,
Event.data,
fn.strftime(
"%Y-%m-%d",
fn.datetime(
@@ -694,6 +784,7 @@ def events_summary(params: EventsSummaryQueryParams = Depends()):
Event.camera,
Event.label,
Event.sub_label,
Event.data,
(Event.start_time + seconds_offset).cast("int") / (3600 * 24),
Event.zones,
)
@@ -1011,6 +1102,60 @@ def set_sub_label(
)
@router.post(
"/events/{event_id}/recognized_license_plate",
response_model=GenericResponse,
dependencies=[Depends(require_role(["admin"]))],
)
def set_plate(
request: Request,
event_id: str,
body: EventsLPRBody,
):
try:
event: Event = Event.get(Event.id == event_id)
except DoesNotExist:
event = None
if request.app.detected_frames_processor:
tracked_obj: TrackedObject = None
for state in request.app.detected_frames_processor.camera_states.values():
tracked_obj = state.tracked_objects.get(event_id)
if tracked_obj is not None:
break
else:
tracked_obj = None
if not event and not tracked_obj:
return JSONResponse(
content=(
{"success": False, "message": "Event " + event_id + " not found."}
),
status_code=404,
)
new_plate = body.recognizedLicensePlate
new_score = body.recognizedLicensePlateScore
if new_plate == "":
new_plate = None
new_score = None
request.app.event_metadata_updater.publish(
EventMetadataTypeEnum.recognized_license_plate, (event_id, new_plate, new_score)
)
return JSONResponse(
content={
"success": True,
"message": f"Event {event_id} license plate set to {new_plate if new_plate is not None else 'None'}",
},
status_code=200,
)
@router.post(
"/events/{event_id}/description",
response_model=GenericResponse,
@@ -1202,28 +1347,25 @@ def create_event(
status_code=404,
)
try:
frame_processor: TrackedObjectProcessor = request.app.detected_frames_processor
external_processor: ExternalEventProcessor = request.app.external_processor
now = datetime.datetime.now().timestamp()
rand_id = "".join(random.choices(string.ascii_lowercase + string.digits, k=6))
event_id = f"{now}-{rand_id}"
frame = frame_processor.get_current_frame(camera_name)
event_id = external_processor.create_manual_event(
request.app.event_metadata_updater.publish(
EventMetadataTypeEnum.manual_event_create,
(
now,
camera_name,
label,
body.source_type,
body.sub_label,
body.score,
body.duration,
event_id,
body.include_recording,
body.score,
body.sub_label,
body.duration,
body.source_type,
body.draw,
frame,
)
except Exception as e:
logger.error(e)
return JSONResponse(
content=({"success": False, "message": "An unknown error occurred"}),
status_code=500,
)
),
)
return JSONResponse(
content=(
@@ -1245,7 +1387,9 @@ def create_event(
def end_event(request: Request, event_id: str, body: EventsEndBody):
try:
end_time = body.end_time or datetime.datetime.now().timestamp()
request.app.external_processor.finish_manual_event(event_id, end_time)
request.app.event_metadata_updater.publish(
EventMetadataTypeEnum.manual_event_end, (event_id, end_time)
)
except Exception:
return JSONResponse(
content=(

View File

@@ -27,7 +27,6 @@ from frigate.comms.event_metadata_updater import (
)
from frigate.config import FrigateConfig
from frigate.embeddings import EmbeddingsContext
from frigate.events.external import ExternalEventProcessor
from frigate.ptz.onvif import OnvifController
from frigate.stats.emitter import StatsEmitter
from frigate.storage import StorageMaintainer
@@ -56,7 +55,6 @@ def create_fastapi_app(
detected_frames_processor,
storage_maintainer: StorageMaintainer,
onvif: OnvifController,
external_processor: ExternalEventProcessor,
stats_emitter: StatsEmitter,
event_metadata_updater: EventMetadataPublisher,
):
@@ -129,7 +127,6 @@ def create_fastapi_app(
app.onvif = onvif
app.stats_emitter = stats_emitter
app.event_metadata_updater = event_metadata_updater
app.external_processor = external_processor
app.jwt_token = get_jwt_secret() if frigate_config.auth.enabled else None
return app

View File

@@ -1,12 +1,15 @@
"""Image and video apis."""
import asyncio
import glob
import logging
import math
import os
import subprocess as sp
import time
from datetime import datetime, timedelta, timezone
from pathlib import Path as FilePath
from typing import Any
from urllib.parse import unquote
import cv2
@@ -27,6 +30,7 @@ from frigate.api.defs.query.media_query_parameters import (
MediaRecordingsSummaryQueryParams,
)
from frigate.api.defs.tags import Tags
from frigate.camera.state import CameraState
from frigate.config import FrigateConfig
from frigate.const import (
CACHE_DIR,
@@ -37,7 +41,7 @@ from frigate.const import (
RECORD_DIR,
)
from frigate.models import Event, Previews, Recordings, Regions, ReviewSegment
from frigate.object_processing import TrackedObjectProcessor
from frigate.track.object_processing import TrackedObjectProcessor
from frigate.util.builtin import get_tz_modifiers
from frigate.util.image import get_image_from_recording
from frigate.util.path import get_event_thumbnail_bytes
@@ -86,7 +90,7 @@ def imagestream(
camera_name: str,
fps: int,
height: int,
draw_options: dict[str, any],
draw_options: dict[str, Any],
):
while True:
# max out at specified FPS
@@ -106,11 +110,14 @@ def imagestream(
@router.get("/{camera_name}/ptz/info")
def camera_ptz_info(request: Request, camera_name: str):
async def camera_ptz_info(request: Request, camera_name: str):
if camera_name in request.app.frigate_config.cameras:
return JSONResponse(
content=request.app.onvif.get_camera_info(camera_name),
# Schedule get_camera_info in the OnvifController's event loop
future = asyncio.run_coroutine_threadsafe(
request.app.onvif.get_camera_info(camera_name), request.app.onvif.loop
)
result = future.result()
return JSONResponse(content=result)
else:
return JSONResponse(
content={"success": False, "message": "Camera not found"},
@@ -239,25 +246,50 @@ def get_snapshot_from_recording(
content={"success": False, "message": "Camera not found"},
status_code=404,
)
recording_query = (
Recordings.select(
Recordings.path,
Recordings.start_time,
)
.where(
(
(frame_time >= Recordings.start_time)
& (frame_time <= Recordings.end_time)
)
)
.where(Recordings.camera == camera_name)
.order_by(Recordings.start_time.desc())
.limit(1)
)
recording: Recordings | None = None
try:
recording: Recordings = recording_query.get()
recording = (
Recordings.select(
Recordings.path,
Recordings.start_time,
)
.where(
(
(frame_time >= Recordings.start_time)
& (frame_time <= Recordings.end_time)
)
)
.where(Recordings.camera == camera_name)
.order_by(Recordings.start_time.desc())
.limit(1)
.get()
)
except DoesNotExist:
# try again with a rounded frame time as it may be between
# the rounded segment start time
frame_time = math.ceil(frame_time)
try:
recording = (
Recordings.select(
Recordings.path,
Recordings.start_time,
)
.where(
(
(frame_time >= Recordings.start_time)
& (frame_time <= Recordings.end_time)
)
)
.where(Recordings.camera == camera_name)
.order_by(Recordings.start_time.desc())
.limit(1)
.get()
)
except DoesNotExist:
pass
if recording is not None:
time_in_segment = frame_time - recording.start_time
codec = "png" if format == "png" else "mjpeg"
mime_type = "png" if format == "png" else "jpeg"
@@ -278,7 +310,7 @@ def get_snapshot_from_recording(
status_code=404,
)
return Response(image_data, headers={"Content-Type": f"image/{mime_type}"})
except DoesNotExist:
else:
return JSONResponse(
content={
"success": False,
@@ -510,7 +542,10 @@ def recordings(
return JSONResponse(content=list(recordings))
@router.get("/{camera_name}/start/{start_ts}/end/{end_ts}/clip.mp4")
@router.get(
"/{camera_name}/start/{start_ts}/end/{end_ts}/clip.mp4",
description="For iOS devices, use the master.m3u8 HLS link instead of clip.mp4. Safari does not reliably process progressive mp4 files.",
)
def recording_clip(
request: Request,
camera_name: str,
@@ -558,10 +593,12 @@ def recording_clip(
clip: Recordings
for clip in recordings:
file.write(f"file '{clip.path}'\n")
# if this is the starting clip, add an inpoint
if clip.start_time < start_ts:
file.write(f"inpoint {int(start_ts - clip.start_time)}\n")
# if this is the ending clip, add an outpoint
# if this is the ending clip and end trim is enabled, add an outpoint
if clip.end_time > end_ts:
file.write(f"outpoint {int(end_ts - clip.start_time)}\n")
@@ -603,10 +640,18 @@ def recording_clip(
)
@router.get("/vod/{camera_name}/start/{start_ts}/end/{end_ts}")
@router.get(
"/vod/{camera_name}/start/{start_ts}/end/{end_ts}",
description="Returns an HLS playlist for the specified timestamp-range on the specified camera. Append /master.m3u8 or /index.m3u8 for HLS playback.",
)
def vod_ts(camera_name: str, start_ts: float, end_ts: float):
recordings = (
Recordings.select(Recordings.path, Recordings.duration, Recordings.end_time)
Recordings.select(
Recordings.path,
Recordings.duration,
Recordings.end_time,
Recordings.start_time,
)
.where(
Recordings.start_time.between(start_ts, end_ts)
| Recordings.end_time.between(start_ts, end_ts)
@@ -626,14 +671,19 @@ def vod_ts(camera_name: str, start_ts: float, end_ts: float):
clip = {"type": "source", "path": recording.path}
duration = int(recording.duration * 1000)
# Determine if we need to end the last clip early
# adjust start offset if start_ts is after recording.start_time
if start_ts > recording.start_time:
inpoint = int((start_ts - recording.start_time) * 1000)
clip["clipFrom"] = inpoint
duration -= inpoint
# adjust end if recording.end_time is after end_ts
if recording.end_time > end_ts:
duration -= int((recording.end_time - end_ts) * 1000)
if duration == 0:
# this means the segment starts right at the end of the requested time range
# and it does not need to be included
continue
if duration <= 0:
# skip if the clip has no valid duration
continue
if 0 < duration < max_duration_ms:
clip["keyFrameDurations"] = [duration]
@@ -667,7 +717,10 @@ def vod_ts(camera_name: str, start_ts: float, end_ts: float):
)
@router.get("/vod/{year_month}/{day}/{hour}/{camera_name}")
@router.get(
"/vod/{year_month}/{day}/{hour}/{camera_name}",
description="Returns an HLS playlist for the specified date-time on the specified camera. Append /master.m3u8 or /index.m3u8 for HLS playback.",
)
def vod_hour_no_timezone(year_month: str, day: int, hour: int, camera_name: str):
"""VOD for specific hour. Uses the default timezone (UTC)."""
return vod_hour(
@@ -675,7 +728,10 @@ def vod_hour_no_timezone(year_month: str, day: int, hour: int, camera_name: str)
)
@router.get("/vod/{year_month}/{day}/{hour}/{camera_name}/{tz_name}")
@router.get(
"/vod/{year_month}/{day}/{hour}/{camera_name}/{tz_name}",
description="Returns an HLS playlist for the specified date-time (with timezone) on the specified camera. Append /master.m3u8 or /index.m3u8 for HLS playback.",
)
def vod_hour(year_month: str, day: int, hour: int, camera_name: str, tz_name: str):
parts = year_month.split("-")
start_date = (
@@ -689,7 +745,10 @@ def vod_hour(year_month: str, day: int, hour: int, camera_name: str, tz_name: st
return vod_ts(camera_name, start_ts, end_ts)
@router.get("/vod/event/{event_id}")
@router.get(
"/vod/event/{event_id}",
description="Returns an HLS playlist for the specified object. Append /master.m3u8 or /index.m3u8 for HLS playback.",
)
def vod_event(event_id: str):
try:
event: Event = Event.get(Event.id == event_id)
@@ -765,12 +824,15 @@ def event_snapshot(
except DoesNotExist:
# see if the object is currently being tracked
try:
camera_states = request.app.detected_frames_processor.camera_states.values()
camera_states: list[CameraState] = (
request.app.detected_frames_processor.camera_states.values()
)
for camera_state in camera_states:
if event_id in camera_state.tracked_objects:
tracked_obj = camera_state.tracked_objects.get(event_id)
if tracked_obj is not None:
jpg_bytes = tracked_obj.get_jpg_bytes(
jpg_bytes = tracked_obj.get_img_bytes(
ext="jpg",
timestamp=params.timestamp,
bounding_box=params.bbox,
crop=params.crop,
@@ -779,17 +841,19 @@ def event_snapshot(
)
except Exception:
return JSONResponse(
content={"success": False, "message": "Event not found"},
content={"success": False, "message": "Ongoing event not found"},
status_code=404,
)
except Exception:
return JSONResponse(
content={"success": False, "message": "Event not found"}, status_code=404
content={"success": False, "message": "Unknown error occurred"},
status_code=404,
)
if jpg_bytes is None:
return JSONResponse(
content={"success": False, "message": "Event not found"}, status_code=404
content={"success": False, "message": "Live frame not available"},
status_code=404,
)
headers = {
@@ -870,7 +934,7 @@ def event_thumbnail(
elif extension == "webp":
quality_params = [int(cv2.IMWRITE_WEBP_QUALITY), 60]
_, img = cv2.imencode(f".{img}", thumbnail, quality_params)
_, img = cv2.imencode(f".{extension}", thumbnail, quality_params)
thumbnail_bytes = img.tobytes()
return Response(

View File

@@ -2,6 +2,7 @@
import logging
import os
from typing import Any
from cryptography.hazmat.primitives import serialization
from fastapi import APIRouter, Request
@@ -41,7 +42,7 @@ def register_notifications(request: Request, body: dict = None):
else:
username = "admin"
json: dict[str, any] = body or {}
json: dict[str, Any] = body or {}
sub = json.get("sub")
if not sub:

View File

@@ -9,10 +9,10 @@ import pandas as pd
from fastapi import APIRouter
from fastapi.params import Depends
from fastapi.responses import JSONResponse
from peewee import Case, DoesNotExist, fn, operator
from peewee import Case, DoesNotExist, IntegrityError, fn, operator
from playhouse.shortcuts import model_to_dict
from frigate.api.auth import require_role
from frigate.api.auth import get_current_user, require_role
from frigate.api.defs.query.review_query_parameters import (
ReviewActivityMotionQueryParams,
ReviewQueryParams,
@@ -26,7 +26,7 @@ from frigate.api.defs.response.review_response import (
ReviewSummaryResponse,
)
from frigate.api.defs.tags import Tags
from frigate.models import Recordings, ReviewSegment
from frigate.models import Recordings, ReviewSegment, UserReviewStatus
from frigate.review.types import SeverityEnum
from frigate.util.builtin import get_tz_modifiers
@@ -36,7 +36,15 @@ router = APIRouter(tags=[Tags.review])
@router.get("/review", response_model=list[ReviewSegmentResponse])
def review(params: ReviewQueryParams = Depends()):
async def review(
params: ReviewQueryParams = Depends(),
current_user: dict = Depends(get_current_user),
):
if isinstance(current_user, JSONResponse):
return current_user
user_id = current_user["username"]
cameras = params.cameras
labels = params.labels
zones = params.zones
@@ -50,13 +58,9 @@ def review(params: ReviewQueryParams = Depends()):
)
clauses = [
(
(ReviewSegment.start_time > after)
& (
(ReviewSegment.end_time.is_null(True))
| (ReviewSegment.end_time < before)
)
)
(ReviewSegment.start_time > after)
& (ReviewSegment.start_time < before)
& ((ReviewSegment.end_time.is_null(True)) | (ReviewSegment.end_time < before))
]
if cameras != "all":
@@ -74,9 +78,7 @@ def review(params: ReviewQueryParams = Depends()):
(ReviewSegment.data["objects"].cast("text") % f'*"{label}"*')
| (ReviewSegment.data["audio"].cast("text") % f'*"{label}"*')
)
label_clause = reduce(operator.or_, label_clauses)
clauses.append((label_clause))
clauses.append(reduce(operator.or_, label_clauses))
if zones != "all":
# use matching so segments with multiple zones
@@ -88,27 +90,52 @@ def review(params: ReviewQueryParams = Depends()):
zone_clauses.append(
(ReviewSegment.data["zones"].cast("text") % f'*"{zone}"*')
)
zone_clause = reduce(operator.or_, zone_clauses)
clauses.append((zone_clause))
if reviewed == 0:
clauses.append((ReviewSegment.has_been_reviewed == False))
clauses.append(reduce(operator.or_, zone_clauses))
if severity:
clauses.append((ReviewSegment.severity == severity))
review = (
ReviewSegment.select()
# Join with UserReviewStatus to get per-user review status
review_query = (
ReviewSegment.select(
ReviewSegment.id,
ReviewSegment.camera,
ReviewSegment.start_time,
ReviewSegment.end_time,
ReviewSegment.severity,
ReviewSegment.thumb_path,
ReviewSegment.data,
fn.COALESCE(UserReviewStatus.has_been_reviewed, False).alias(
"has_been_reviewed"
),
)
.left_outer_join(
UserReviewStatus,
on=(
(ReviewSegment.id == UserReviewStatus.review_segment)
& (UserReviewStatus.user_id == user_id)
),
)
.where(reduce(operator.and_, clauses))
.order_by(ReviewSegment.severity.asc())
)
# Filter unreviewed items without subquery
if reviewed == 0:
review_query = review_query.where(
(UserReviewStatus.has_been_reviewed == False)
| (UserReviewStatus.has_been_reviewed.is_null())
)
# Apply ordering and limit
review_query = (
review_query.order_by(ReviewSegment.severity.asc())
.order_by(ReviewSegment.start_time.desc())
.limit(limit)
.dicts()
.iterator()
)
return JSONResponse(content=[r for r in review])
return JSONResponse(content=[r for r in review_query])
@router.get("/review_ids", response_model=list[ReviewSegmentResponse])
@@ -134,10 +161,17 @@ def review_ids(ids: str):
@router.get("/review/summary", response_model=ReviewSummaryResponse)
def review_summary(params: ReviewSummaryQueryParams = Depends()):
async def review_summary(
params: ReviewSummaryQueryParams = Depends(),
current_user: dict = Depends(get_current_user),
):
if isinstance(current_user, JSONResponse):
return current_user
user_id = current_user["username"]
hour_modifier, minute_modifier, seconds_offset = get_tz_modifiers(params.timezone)
day_ago = (datetime.datetime.now() - datetime.timedelta(hours=24)).timestamp()
month_ago = (datetime.datetime.now() - datetime.timedelta(days=30)).timestamp()
cameras = params.cameras
labels = params.labels
@@ -160,10 +194,7 @@ def review_summary(params: ReviewSummaryQueryParams = Depends()):
(ReviewSegment.data["objects"].cast("text") % f'*"{label}"*')
| (ReviewSegment.data["audio"].cast("text") % f'*"{label}"*')
)
label_clause = reduce(operator.or_, label_clauses)
clauses.append((label_clause))
clauses.append(reduce(operator.or_, label_clauses))
if zones != "all":
# use matching so segments with multiple zones
# still match on a search where any zone matches
@@ -172,21 +203,20 @@ def review_summary(params: ReviewSummaryQueryParams = Depends()):
for zone in filtered_zones:
zone_clauses.append(
(ReviewSegment.data["zones"].cast("text") % f'*"{zone}"*')
ReviewSegment.data["zones"].cast("text") % f'*"{zone}"*'
)
clauses.append(reduce(operator.or_, zone_clauses))
zone_clause = reduce(operator.or_, zone_clauses)
clauses.append((zone_clause))
last_24 = (
last_24_query = (
ReviewSegment.select(
fn.SUM(
Case(
None,
[
(
(ReviewSegment.severity == SeverityEnum.alert),
ReviewSegment.has_been_reviewed,
(ReviewSegment.severity == SeverityEnum.alert)
& (UserReviewStatus.has_been_reviewed == True),
1,
)
],
0,
@@ -197,8 +227,9 @@ def review_summary(params: ReviewSummaryQueryParams = Depends()):
None,
[
(
(ReviewSegment.severity == SeverityEnum.detection),
ReviewSegment.has_been_reviewed,
(ReviewSegment.severity == SeverityEnum.detection)
& (UserReviewStatus.has_been_reviewed == True),
1,
)
],
0,
@@ -229,12 +260,19 @@ def review_summary(params: ReviewSummaryQueryParams = Depends()):
)
).alias("total_detection"),
)
.left_outer_join(
UserReviewStatus,
on=(
(ReviewSegment.id == UserReviewStatus.review_segment)
& (UserReviewStatus.user_id == user_id)
),
)
.where(reduce(operator.and_, clauses))
.dicts()
.get()
)
clauses = [(ReviewSegment.start_time > month_ago)]
clauses = []
if cameras != "all":
camera_list = cameras.split(",")
@@ -248,14 +286,12 @@ def review_summary(params: ReviewSummaryQueryParams = Depends()):
for label in filtered_labels:
label_clauses.append(
(ReviewSegment.data["objects"].cast("text") % f'*"{label}"*')
ReviewSegment.data["objects"].cast("text") % f'*"{label}"*'
)
label_clause = reduce(operator.or_, label_clauses)
clauses.append((label_clause))
clauses.append(reduce(operator.or_, label_clauses))
day_in_seconds = 60 * 60 * 24
last_month = (
last_month_query = (
ReviewSegment.select(
fn.strftime(
"%Y-%m-%d",
@@ -271,8 +307,9 @@ def review_summary(params: ReviewSummaryQueryParams = Depends()):
None,
[
(
(ReviewSegment.severity == SeverityEnum.alert),
ReviewSegment.has_been_reviewed,
(ReviewSegment.severity == SeverityEnum.alert)
& (UserReviewStatus.has_been_reviewed == True),
1,
)
],
0,
@@ -283,8 +320,9 @@ def review_summary(params: ReviewSummaryQueryParams = Depends()):
None,
[
(
(ReviewSegment.severity == SeverityEnum.detection),
ReviewSegment.has_been_reviewed,
(ReviewSegment.severity == SeverityEnum.detection)
& (UserReviewStatus.has_been_reviewed == True),
1,
)
],
0,
@@ -315,28 +353,59 @@ def review_summary(params: ReviewSummaryQueryParams = Depends()):
)
).alias("total_detection"),
)
.where(reduce(operator.and_, clauses))
.left_outer_join(
UserReviewStatus,
on=(
(ReviewSegment.id == UserReviewStatus.review_segment)
& (UserReviewStatus.user_id == user_id)
),
)
.where(reduce(operator.and_, clauses) if clauses else True)
.group_by(
(ReviewSegment.start_time + seconds_offset).cast("int") / day_in_seconds,
(ReviewSegment.start_time + seconds_offset).cast("int") / day_in_seconds
)
.order_by(ReviewSegment.start_time.desc())
)
data = {
"last24Hours": last_24,
"last24Hours": last_24_query,
}
for e in last_month.dicts().iterator():
for e in last_month_query.dicts().iterator():
data[e["day"]] = e
return JSONResponse(content=data)
@router.post("/reviews/viewed", response_model=GenericResponse)
def set_multiple_reviewed(body: ReviewModifyMultipleBody):
ReviewSegment.update(has_been_reviewed=True).where(
ReviewSegment.id << body.ids
).execute()
async def set_multiple_reviewed(
body: ReviewModifyMultipleBody,
current_user: dict = Depends(get_current_user),
):
if isinstance(current_user, JSONResponse):
return current_user
user_id = current_user["username"]
for review_id in body.ids:
try:
review_status = UserReviewStatus.get(
UserReviewStatus.user_id == user_id,
UserReviewStatus.review_segment == review_id,
)
# If it exists and isnt reviewed, update it
if not review_status.has_been_reviewed:
review_status.has_been_reviewed = True
review_status.save()
except DoesNotExist:
try:
UserReviewStatus.create(
user_id=user_id,
review_segment=ReviewSegment.get(id=review_id),
has_been_reviewed=True,
)
except (DoesNotExist, IntegrityError):
pass
return JSONResponse(
content=({"success": True, "message": "Reviewed multiple items"}),
@@ -389,6 +458,9 @@ def delete_reviews(body: ReviewModifyMultipleBody):
# delete recordings and review segments
Recordings.delete().where(Recordings.id << recording_ids).execute()
ReviewSegment.delete().where(ReviewSegment.id << list_of_ids).execute()
UserReviewStatus.delete().where(
UserReviewStatus.review_segment << list_of_ids
).execute()
return JSONResponse(
content=({"success": True, "message": "Deleted review items."}), status_code=200
@@ -502,7 +574,15 @@ def get_review(review_id: str):
@router.delete("/review/{review_id}/viewed", response_model=GenericResponse)
def set_not_reviewed(review_id: str):
async def set_not_reviewed(
review_id: str,
current_user: dict = Depends(get_current_user),
):
if isinstance(current_user, JSONResponse):
return current_user
user_id = current_user["username"]
try:
review: ReviewSegment = ReviewSegment.get(ReviewSegment.id == review_id)
except DoesNotExist:
@@ -513,8 +593,15 @@ def set_not_reviewed(review_id: str):
status_code=404,
)
review.has_been_reviewed = False
review.save()
try:
user_review = UserReviewStatus.get(
UserReviewStatus.user_id == user_id,
UserReviewStatus.review_segment == review,
)
# we could update here instead of delete if we need
user_review.delete_instance()
except DoesNotExist:
pass # Already effectively "not reviewed"
return JSONResponse(
content=({"success": True, "message": f"Set Review {review_id} as not viewed"}),

View File

@@ -6,6 +6,7 @@ import secrets
import shutil
from multiprocessing import Queue
from multiprocessing.synchronize import Event as MpEvent
from pathlib import Path
from typing import Optional
import psutil
@@ -43,8 +44,8 @@ from frigate.db.sqlitevecq import SqliteVecQueueDatabase
from frigate.embeddings import EmbeddingsContext, manage_embeddings
from frigate.events.audio import AudioProcessor
from frigate.events.cleanup import EventCleanup
from frigate.events.external import ExternalEventProcessor
from frigate.events.maintainer import EventProcessor
from frigate.log import _stop_logging
from frigate.models import (
Event,
Export,
@@ -56,8 +57,7 @@ from frigate.models import (
Timeline,
User,
)
from frigate.object_detection import ObjectDetectProcess
from frigate.object_processing import TrackedObjectProcessor
from frigate.object_detection.base import ObjectDetectProcess
from frigate.output.output import output_frames
from frigate.ptz.autotrack import PtzAutoTrackerThread
from frigate.ptz.onvif import OnvifController
@@ -69,6 +69,7 @@ from frigate.stats.emitter import StatsEmitter
from frigate.stats.util import stats_init
from frigate.storage import StorageMaintainer
from frigate.timeline import TimelineProcessor
from frigate.track.object_processing import TrackedObjectProcessor
from frigate.util.builtin import empty_and_close_queue
from frigate.util.image import SharedMemoryFrameManager, UntrackedSharedMemory
from frigate.util.object import get_camera_regions_grid
@@ -318,9 +319,6 @@ class FrigateApp:
# Create a client for other processes to use
self.embeddings = EmbeddingsContext(self.db)
def init_external_event_processor(self) -> None:
self.external_event_processor = ExternalEventProcessor(self.config)
def init_inter_process_communicator(self) -> None:
self.inter_process_communicator = InterProcessCommunicator()
self.inter_config_updater = ConfigPublisher()
@@ -442,7 +440,7 @@ class FrigateApp:
def start_camera_processors(self) -> None:
for name, config in self.config.cameras.items():
if not self.config.cameras[name].enabled:
if not self.config.cameras[name].enabled_in_config:
logger.info(f"Camera processor not started for disabled camera {name}")
continue
@@ -471,7 +469,7 @@ class FrigateApp:
shm_frame_count = self.shm_frame_count()
for name, config in self.config.cameras.items():
if not self.config.cameras[name].enabled:
if not self.config.cameras[name].enabled_in_config:
logger.info(f"Capture process not started for disabled camera {name}")
continue
@@ -657,7 +655,6 @@ class FrigateApp:
self.start_camera_capture_processes()
self.start_audio_processor()
self.start_storage_maintainer()
self.init_external_event_processor()
self.start_stats_emitter()
self.start_timeline_processor()
self.start_event_processor()
@@ -676,7 +673,6 @@ class FrigateApp:
self.detected_frames_processor,
self.storage_maintainer,
self.onvif_controller,
self.external_event_processor,
self.stats_emitter,
self.event_metadata_updater,
),
@@ -690,6 +686,9 @@ class FrigateApp:
def stop(self) -> None:
logger.info("Stopping...")
# used by the docker healthcheck
Path("/dev/shm/.frigate-is-stopping").touch()
self.stop_event.set()
# set an end_time on entries without an end_time before exiting
@@ -705,6 +704,10 @@ class FrigateApp:
self.audio_process.terminate()
self.audio_process.join()
# stop the onvif controller
if self.onvif_controller:
self.onvif_controller.close()
# ensure the capture processes are done
for camera, metrics in self.camera_metrics.items():
capture_process = metrics.capture_process
@@ -748,7 +751,6 @@ class FrigateApp:
self.review_segment_process.terminate()
self.review_segment_process.join()
self.external_event_processor.stop()
self.dispatcher.stop()
self.ptz_autotracker_thread.join()
@@ -774,4 +776,7 @@ class FrigateApp:
shm.close()
shm.unlink()
# exit the mp Manager process
_stop_logging()
os._exit(os.EX_OK)

View File

@@ -1,18 +1,18 @@
"""Manage camera activity and updating listeners."""
from collections import Counter
from typing import Callable
from typing import Any, Callable
from frigate.config.config import FrigateConfig
class CameraActivityManager:
def __init__(
self, config: FrigateConfig, publish: Callable[[str, any], None]
self, config: FrigateConfig, publish: Callable[[str, Any], None]
) -> None:
self.config = config
self.publish = publish
self.last_camera_activity: dict[str, dict[str, any]] = {}
self.last_camera_activity: dict[str, dict[str, Any]] = {}
self.camera_all_object_counts: dict[str, Counter] = {}
self.camera_active_object_counts: dict[str, Counter] = {}
self.zone_all_object_counts: dict[str, Counter] = {}
@@ -39,8 +39,8 @@ class CameraActivityManager:
else camera_config.objects.track
)
def update_activity(self, new_activity: dict[str, dict[str, any]]) -> None:
all_objects: list[dict[str, any]] = []
def update_activity(self, new_activity: dict[str, dict[str, Any]]) -> None:
all_objects: list[dict[str, Any]] = []
for camera in new_activity.keys():
new_objects = new_activity[camera].get("objects", [])
@@ -93,7 +93,7 @@ class CameraActivityManager:
self.last_camera_activity = new_activity
def compare_camera_activity(
self, camera: str, new_activity: dict[str, any]
self, camera: str, new_activity: dict[str, Any]
) -> None:
all_objects = Counter(
obj["label"].replace("-verified", "") for obj in new_activity

Some files were not shown because too many files have changed in this diff Show More