mirror of
https://github.com/blakeblackshear/frigate.git
synced 2026-07-25 13:19:02 +03:00
Recreate preview output directory before writing (fix 0.18 regression: silent permanent preview loss) (#23784)
CI / AMD64 Build (push) Canceled after 0s
CI / ARM Build (push) Canceled after 0s
CI / Jetson Jetpack 6 (push) Canceled after 0s
CI / AMD64 Extra Build (push) Canceled after 0s
CI / ARM Extra Build (push) Canceled after 0s
CI / Synaptics Build (push) Canceled after 0s
CI / Assemble and push default build (push) Canceled after 0s
CI / AMD64 Build (push) Canceled after 0s
CI / ARM Build (push) Canceled after 0s
CI / Jetson Jetpack 6 (push) Canceled after 0s
CI / AMD64 Extra Build (push) Canceled after 0s
CI / ARM Extra Build (push) Canceled after 0s
CI / Synaptics Build (push) Canceled after 0s
CI / Assemble and push default build (push) Canceled after 0s
* Recreate preview output directory before writing it The preview directory is created once in PreviewRecorder.__init__, but record cleanup's remove_empty_directories() can delete it again while it is empty (e.g. a camera re-added after removal, or an hour with no retained previews). FFMpegConverter then fails permanently with "No such file or directory" and previews are silently lost with only one ERROR log line per hour. Recreate the directory before invoking ffmpeg so the hourly export self-heals. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * Remove explanatory comments above the fix Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 4.8
parent
168cbea9ea
commit
e3fa701893
@@ -159,6 +159,8 @@ class FFMpegConverter(threading.Thread):
|
||||
f"duration {self.frame_times[t_idx + 1] - self.frame_times[t_idx]}"
|
||||
)
|
||||
|
||||
Path(self.path).parent.mkdir(parents=True, exist_ok=True)
|
||||
|
||||
try:
|
||||
p = sp.run(
|
||||
self.ffmpeg_cmd.split(" "),
|
||||
|
||||
Reference in New Issue
Block a user