mirror of
https://github.com/blakeblackshear/frigate.git
synced 2026-02-03 09:45:22 +03:00
Rewrite tests to test record correctly
This commit is contained in:
parent
b7adb74209
commit
37f4875c05
@ -39,7 +39,7 @@ def parse_preset_input(arg: Any, detect_fps: int) -> str:
|
||||
if not isinstance(arg, str):
|
||||
return None
|
||||
|
||||
if arg is "preset-jpeg-generic":
|
||||
if arg == "preset-jpeg-generic":
|
||||
return PRESETS_INPUT[arg].format(f"{detect_fps}")
|
||||
|
||||
return PRESETS_INPUT.get(arg, None)
|
||||
|
||||
@ -18,13 +18,22 @@ class TestFfmpegPresets(unittest.TestCase):
|
||||
"ffmpeg": {
|
||||
"inputs": [
|
||||
{"path": "rtsp://10.0.0.1:554/video", "roles": ["detect"]}
|
||||
]
|
||||
],
|
||||
"output_args": {
|
||||
"detect": "-f rawvideo -pix_fmt yuv420p",
|
||||
"record": "-f segment -segment_time 10 -segment_format mp4 -reset_timestamps 1 -strftime 1 -c copy -an",
|
||||
"rtmp": "-c copy -f flv",
|
||||
},
|
||||
},
|
||||
"detect": {
|
||||
"height": 1080,
|
||||
"width": 1920,
|
||||
"fps": 5,
|
||||
},
|
||||
"record": {
|
||||
"enabled": True,
|
||||
},
|
||||
"name": "back",
|
||||
}
|
||||
},
|
||||
}
|
||||
@ -40,8 +49,12 @@ class TestFfmpegPresets(unittest.TestCase):
|
||||
] = "preset-rpi-64-h264"
|
||||
frigate_config = FrigateConfig(**self.default_ffmpeg)
|
||||
frigate_config.cameras["back"].create_ffmpeg_cmds()
|
||||
assert "preset-rpi-64-h264" not in frigate_config.cameras["back"].ffmpeg_cmds[0]
|
||||
assert "-c:v h264_v4l2m2m" in frigate_config.cameras["back"].ffmpeg_cmds[0]
|
||||
assert "preset-rpi-64-h264" not in (
|
||||
" ".join(frigate_config.cameras["back"].ffmpeg_cmds[0]["cmd"])
|
||||
)
|
||||
assert "-c:v h264_v4l2m2m" in (
|
||||
" ".join(frigate_config.cameras["back"].ffmpeg_cmds[0]["cmd"])
|
||||
)
|
||||
|
||||
def test_ffmpeg_hwaccel_not_preset(self):
|
||||
self.default_ffmpeg["cameras"]["back"]["ffmpeg"][
|
||||
@ -49,7 +62,9 @@ class TestFfmpegPresets(unittest.TestCase):
|
||||
] = "-other-hwaccel args"
|
||||
frigate_config = FrigateConfig(**self.default_ffmpeg)
|
||||
frigate_config.cameras["back"].create_ffmpeg_cmds()
|
||||
assert "-other-hwaccel args" in frigate_config.cameras["back"].ffmpeg_cmds[0]
|
||||
assert "-other-hwaccel args" in (
|
||||
" ".join(frigate_config.cameras["back"].ffmpeg_cmds[0]["cmd"])
|
||||
)
|
||||
|
||||
def test_default_ffmpeg_input_arg_preset(self):
|
||||
frigate_config = FrigateConfig(**self.default_ffmpeg)
|
||||
@ -59,9 +74,10 @@ class TestFfmpegPresets(unittest.TestCase):
|
||||
] = "preset-rtsp-generic"
|
||||
frigate_preset_config = FrigateConfig(**self.default_ffmpeg)
|
||||
frigate_config.cameras["back"].create_ffmpeg_cmds()
|
||||
frigate_preset_config.cameras["back"].create_ffmpeg_cmds()
|
||||
assert (
|
||||
frigate_preset_config.cameras["back"].ffmpeg_cmds[0]
|
||||
== frigate_config.cameras["back"].ffmpeg_cmds[0]
|
||||
frigate_preset_config.cameras["back"].ffmpeg_cmds[0]["cmd"]
|
||||
== frigate_config.cameras["back"].ffmpeg_cmds[0]["cmd"]
|
||||
)
|
||||
|
||||
def test_ffmpeg_input_preset(self):
|
||||
@ -70,19 +86,20 @@ class TestFfmpegPresets(unittest.TestCase):
|
||||
] = "preset-rtmp-generic"
|
||||
frigate_config = FrigateConfig(**self.default_ffmpeg)
|
||||
frigate_config.cameras["back"].create_ffmpeg_cmds()
|
||||
assert (
|
||||
"preset-rtmp-generic" not in frigate_config.cameras["back"].ffmpeg_cmds[0]
|
||||
assert "preset-rtmp-generic" not in (
|
||||
" ".join(frigate_config.cameras["back"].ffmpeg_cmds[0]["cmd"])
|
||||
)
|
||||
assert (
|
||||
parse_preset_input("preset-rtmp-generic", 5)
|
||||
in frigate_config.cameras["back"].ffmpeg_cmds[0]
|
||||
assert parse_preset_input("preset-rtmp-generic", 5) in (
|
||||
" ".join(frigate_config.cameras["back"].ffmpeg_cmds[0]["cmd"])
|
||||
)
|
||||
|
||||
def test_ffmpeg_input_not_preset(self):
|
||||
self.default_ffmpeg["cameras"]["back"]["ffmpeg"]["input_args"] = "-some inputs"
|
||||
frigate_config = FrigateConfig(**self.default_ffmpeg)
|
||||
frigate_config.cameras["back"].create_ffmpeg_cmds()
|
||||
assert "-some inputs" in frigate_config.cameras["back"].ffmpeg_cmds[0]
|
||||
assert "-some inputs" in (
|
||||
" ".join(frigate_config.cameras["back"].ffmpeg_cmds[0]["cmd"])
|
||||
)
|
||||
|
||||
def test_ffmpeg_output_record_preset(self):
|
||||
self.default_ffmpeg["cameras"]["back"]["ffmpeg"]["output_args"][
|
||||
@ -90,11 +107,12 @@ class TestFfmpegPresets(unittest.TestCase):
|
||||
] = "preset-record-generic-audio"
|
||||
frigate_config = FrigateConfig(**self.default_ffmpeg)
|
||||
frigate_config.cameras["back"].create_ffmpeg_cmds()
|
||||
assert (
|
||||
"preset-record-generic-audio"
|
||||
not in frigate_config.cameras["back"].ffmpeg_cmds[0]
|
||||
assert "preset-record-generic-audio" not in (
|
||||
" ".join(frigate_config.cameras["back"].ffmpeg_cmds[0]["cmd"])
|
||||
)
|
||||
assert "-c:v copy -c:a aac" in (
|
||||
" ".join(frigate_config.cameras["back"].ffmpeg_cmds[0]["cmd"])
|
||||
)
|
||||
assert "-c:v copy -c:a aac" in frigate_config.cameras["back"].ffmpeg_cmds[0]
|
||||
|
||||
def test_ffmpeg_output_record_not_preset(self):
|
||||
self.default_ffmpeg["cameras"]["back"]["ffmpeg"]["output_args"][
|
||||
@ -102,7 +120,9 @@ class TestFfmpegPresets(unittest.TestCase):
|
||||
] = "-some output"
|
||||
frigate_config = FrigateConfig(**self.default_ffmpeg)
|
||||
frigate_config.cameras["back"].create_ffmpeg_cmds()
|
||||
assert "-some output" in frigate_config.cameras["back"].ffmpeg_cmds[0]
|
||||
assert "-some output" in (
|
||||
" ".join(frigate_config.cameras["back"].ffmpeg_cmds[0]["cmd"])
|
||||
)
|
||||
|
||||
def test_ffmpeg_output_rtmp_preset(self):
|
||||
self.default_ffmpeg["cameras"]["back"]["ffmpeg"]["output_args"][
|
||||
@ -110,8 +130,12 @@ class TestFfmpegPresets(unittest.TestCase):
|
||||
] = "preset-rtmp-jpeg"
|
||||
frigate_config = FrigateConfig(**self.default_ffmpeg)
|
||||
frigate_config.cameras["back"].create_ffmpeg_cmds()
|
||||
assert "preset-rtmp-jpeg" not in frigate_config.cameras["back"].ffmpeg_cmds[0]
|
||||
assert "-c:v libx264" in frigate_config.cameras["back"].ffmpeg_cmds[0]
|
||||
assert "preset-rtmp-jpeg" not in (
|
||||
" ".join(frigate_config.cameras["back"].ffmpeg_cmds[0]["cmd"])
|
||||
)
|
||||
assert "-c:v libx264" in (
|
||||
" ".join(frigate_config.cameras["back"].ffmpeg_cmds[0]["cmd"])
|
||||
)
|
||||
|
||||
def test_ffmpeg_output_rtmp_not_preset(self):
|
||||
self.default_ffmpeg["cameras"]["back"]["ffmpeg"]["output_args"][
|
||||
@ -119,7 +143,9 @@ class TestFfmpegPresets(unittest.TestCase):
|
||||
] = "-some output"
|
||||
frigate_config = FrigateConfig(**self.default_ffmpeg)
|
||||
frigate_config.cameras["back"].create_ffmpeg_cmds()
|
||||
assert "-some output" in frigate_config.cameras["back"].ffmpeg_cmds[0]
|
||||
assert "-some output" in (
|
||||
" ".join(frigate_config.cameras["back"].ffmpeg_cmds[0]["cmd"])
|
||||
)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
|
||||
Loading…
Reference in New Issue
Block a user