diff --git a/frigate/config/camera/camera.py b/frigate/config/camera/camera.py index 37e5f408e..6028d2b7c 100644 --- a/frigate/config/camera/camera.py +++ b/frigate/config/camera/camera.py @@ -135,20 +135,18 @@ class CameraConfig(FrigateBaseModel): @property def ffmpeg_cmds(self) -> list[dict[str, list[str]]]: + if not hasattr(self, "_ffmpeg_cmds"): + ffmpeg_cmds = [] + for ffmpeg_input in self.ffmpeg.inputs: + ffmpeg_cmd = self._get_ffmpeg_cmd(ffmpeg_input) + if ffmpeg_cmd is None: + continue + + ffmpeg_cmds.append({"roles": ffmpeg_input.roles, "cmd": ffmpeg_cmd}) + self._ffmpeg_cmds = ffmpeg_cmds + return self._ffmpeg_cmds - def create_ffmpeg_cmds(self): - if "_ffmpeg_cmds" in self: - return - ffmpeg_cmds = [] - for ffmpeg_input in self.ffmpeg.inputs: - ffmpeg_cmd = self._get_ffmpeg_cmd(ffmpeg_input) - if ffmpeg_cmd is None: - continue - - ffmpeg_cmds.append({"roles": ffmpeg_input.roles, "cmd": ffmpeg_cmd}) - self._ffmpeg_cmds = ffmpeg_cmds - def _get_ffmpeg_cmd(self, ffmpeg_input: CameraInput): ffmpeg_output_args = [] if "detect" in ffmpeg_input.roles: diff --git a/frigate/config/config.py b/frigate/config/config.py index 49db0a640..b7427a1af 100644 --- a/frigate/config/config.py +++ b/frigate/config/config.py @@ -559,8 +559,6 @@ class FrigateConfig(FrigateBaseModel): if not camera_config.live.stream_name: camera_config.live.stream_name = name - # generate the ffmpeg commands - camera_config.create_ffmpeg_cmds() self.cameras[name] = camera_config verify_config_roles(camera_config)