diff --git a/frigate/config.py b/frigate/config.py index b71ba1907..2f07e7189 100644 --- a/frigate/config.py +++ b/frigate/config.py @@ -463,6 +463,9 @@ class FfmpegConfig(FrigateBaseModel): default_factory=FfmpegOutputArgsConfig, title="FFmpeg output arguments per role.", ) + timeout: float = Field( + default=10.0, title="Time in seconds in-between ffmpeg health checks." + ) class CameraRoleEnum(str, Enum): diff --git a/frigate/video.py b/frigate/video.py index c02ad15c4..09c80344b 100755 --- a/frigate/video.py +++ b/frigate/video.py @@ -251,8 +251,9 @@ class CameraWatchdog(threading.Thread): } ) - time.sleep(10) - while not self.stop_event.wait(10): + sleeptime = self.config.ffmpeg.timeout + time.sleep(sleeptime) + while not self.stop_event.wait(sleeptime): now = datetime.datetime.now().timestamp() if not self.capture_thread.is_alive():