Lazily calculate ffmpeg cmds

This commit is contained in:
George Tsiamasiotis 2024-09-30 09:37:05 +03:00
parent 80eef448e5
commit d3e2377d4e
2 changed files with 10 additions and 14 deletions

View File

@ -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:

View File

@ -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)