frigate/frigate/config/camera
Josh Hawkins c2e667c0dd
Some checks are pending
CI / AMD64 Build (push) Waiting to run
CI / ARM Build (push) Waiting to run
CI / Jetson Jetpack 6 (push) Waiting to run
CI / AMD64 Extra Build (push) Blocked by required conditions
CI / ARM Extra Build (push) Blocked by required conditions
CI / Synaptics Build (push) Blocked by required conditions
CI / Assemble and push default build (push) Blocked by required conditions
Add dynamic configuration for more fields (#22295)
* face recognition dynamic config

* lpr dynamic config

* safe changes for birdseye dynamic config

* bird classification dynamic config

* always assign new config to stats emitter to make telemetry fields dynamic

* add wildcard support for camera config updates in config_set

* update restart required fields for global sections

* add test

* fix rebase issue

* collapsible settings sidebar

use the preexisting control available with shadcn's sidebar (cmd/ctrl-B) to give users more space to set masks/zones on smaller screens

* dynamic ffmpeg

* ensure previews dir exists

when ffmpeg processes restart, there's a brief window where the preview frame generation pipeline is torn down and restarted. before these changes, ffmpeg only restarted on crash/stall recovery or full Frigate restart. Now that ffmpeg restarts happen on-demand via config changes, there's a higher chance a frontend request hits the preview_mp4 or preview_gif endpoints during that brief restart window when the directory might not exist yet. The existing os.listdir() call would throw FileNotFoundError without a directory existence check. this fix just checks if the directory exists and returns 404 if not, exactly how preview_thumbnail already handles the same scenario a few lines below

* global ffmpeg section

* clean up

* tweak

* fix test
2026-03-06 13:45:39 -07:00
..
__init__.py Split config.py into multiple files (#14038) 2024-09-28 14:21:42 -05:00
audio.py Full UI configuration (#22151) 2026-02-27 08:55:36 -07:00
birdseye.py Full UI configuration (#22151) 2026-02-27 08:55:36 -07:00
camera.py Add dynamic configuration for more fields (#22295) 2026-03-06 13:45:39 -07:00
detect.py Full UI configuration (#22151) 2026-02-27 08:55:36 -07:00
ffmpeg.py Full UI configuration (#22151) 2026-02-27 08:55:36 -07:00
genai.py Full UI configuration (#22151) 2026-02-27 08:55:36 -07:00
live.py Full UI configuration (#22151) 2026-02-27 08:55:36 -07:00
mask.py Masks and zones improvements (#22163) 2026-02-28 07:04:43 -07:00
motion.py Skip motion threshold configuration (#22255) 2026-03-05 18:20:03 -06:00
mqtt.py Full UI configuration (#22151) 2026-02-27 08:55:36 -07:00
notification.py Full UI configuration (#22151) 2026-02-27 08:55:36 -07:00
objects.py Masks and zones improvements (#22163) 2026-02-28 07:04:43 -07:00
onvif.py Full UI configuration (#22151) 2026-02-27 08:55:36 -07:00
record.py Full UI configuration (#22151) 2026-02-27 08:55:36 -07:00
review.py Full UI configuration (#22151) 2026-02-27 08:55:36 -07:00
snapshots.py Full UI configuration (#22151) 2026-02-27 08:55:36 -07:00
timestamp.py Full UI configuration (#22151) 2026-02-27 08:55:36 -07:00
ui.py Full UI configuration (#22151) 2026-02-27 08:55:36 -07:00
updater.py Add dynamic configuration for more fields (#22295) 2026-03-06 13:45:39 -07:00
zone.py Masks and zones improvements (#22163) 2026-02-28 07:04:43 -07:00