mirror of
https://github.com/blakeblackshear/frigate.git
synced 2026-02-03 17:55:21 +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):
|
if not isinstance(arg, str):
|
||||||
return None
|
return None
|
||||||
|
|
||||||
if arg is "preset-jpeg-generic":
|
if arg == "preset-jpeg-generic":
|
||||||
return PRESETS_INPUT[arg].format(f"{detect_fps}")
|
return PRESETS_INPUT[arg].format(f"{detect_fps}")
|
||||||
|
|
||||||
return PRESETS_INPUT.get(arg, None)
|
return PRESETS_INPUT.get(arg, None)
|
||||||
|
|||||||
@ -18,13 +18,22 @@ class TestFfmpegPresets(unittest.TestCase):
|
|||||||
"ffmpeg": {
|
"ffmpeg": {
|
||||||
"inputs": [
|
"inputs": [
|
||||||
{"path": "rtsp://10.0.0.1:554/video", "roles": ["detect"]}
|
{"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": {
|
"detect": {
|
||||||
"height": 1080,
|
"height": 1080,
|
||||||
"width": 1920,
|
"width": 1920,
|
||||||
"fps": 5,
|
"fps": 5,
|
||||||
},
|
},
|
||||||
|
"record": {
|
||||||
|
"enabled": True,
|
||||||
|
},
|
||||||
|
"name": "back",
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
@ -40,8 +49,12 @@ class TestFfmpegPresets(unittest.TestCase):
|
|||||||
] = "preset-rpi-64-h264"
|
] = "preset-rpi-64-h264"
|
||||||
frigate_config = FrigateConfig(**self.default_ffmpeg)
|
frigate_config = FrigateConfig(**self.default_ffmpeg)
|
||||||
frigate_config.cameras["back"].create_ffmpeg_cmds()
|
frigate_config.cameras["back"].create_ffmpeg_cmds()
|
||||||
assert "preset-rpi-64-h264" not in frigate_config.cameras["back"].ffmpeg_cmds[0]
|
assert "preset-rpi-64-h264" not in (
|
||||||
assert "-c:v h264_v4l2m2m" in frigate_config.cameras["back"].ffmpeg_cmds[0]
|
" ".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):
|
def test_ffmpeg_hwaccel_not_preset(self):
|
||||||
self.default_ffmpeg["cameras"]["back"]["ffmpeg"][
|
self.default_ffmpeg["cameras"]["back"]["ffmpeg"][
|
||||||
@ -49,7 +62,9 @@ class TestFfmpegPresets(unittest.TestCase):
|
|||||||
] = "-other-hwaccel args"
|
] = "-other-hwaccel args"
|
||||||
frigate_config = FrigateConfig(**self.default_ffmpeg)
|
frigate_config = FrigateConfig(**self.default_ffmpeg)
|
||||||
frigate_config.cameras["back"].create_ffmpeg_cmds()
|
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):
|
def test_default_ffmpeg_input_arg_preset(self):
|
||||||
frigate_config = FrigateConfig(**self.default_ffmpeg)
|
frigate_config = FrigateConfig(**self.default_ffmpeg)
|
||||||
@ -59,9 +74,10 @@ class TestFfmpegPresets(unittest.TestCase):
|
|||||||
] = "preset-rtsp-generic"
|
] = "preset-rtsp-generic"
|
||||||
frigate_preset_config = FrigateConfig(**self.default_ffmpeg)
|
frigate_preset_config = FrigateConfig(**self.default_ffmpeg)
|
||||||
frigate_config.cameras["back"].create_ffmpeg_cmds()
|
frigate_config.cameras["back"].create_ffmpeg_cmds()
|
||||||
|
frigate_preset_config.cameras["back"].create_ffmpeg_cmds()
|
||||||
assert (
|
assert (
|
||||||
frigate_preset_config.cameras["back"].ffmpeg_cmds[0]
|
frigate_preset_config.cameras["back"].ffmpeg_cmds[0]["cmd"]
|
||||||
== frigate_config.cameras["back"].ffmpeg_cmds[0]
|
== frigate_config.cameras["back"].ffmpeg_cmds[0]["cmd"]
|
||||||
)
|
)
|
||||||
|
|
||||||
def test_ffmpeg_input_preset(self):
|
def test_ffmpeg_input_preset(self):
|
||||||
@ -70,19 +86,20 @@ class TestFfmpegPresets(unittest.TestCase):
|
|||||||
] = "preset-rtmp-generic"
|
] = "preset-rtmp-generic"
|
||||||
frigate_config = FrigateConfig(**self.default_ffmpeg)
|
frigate_config = FrigateConfig(**self.default_ffmpeg)
|
||||||
frigate_config.cameras["back"].create_ffmpeg_cmds()
|
frigate_config.cameras["back"].create_ffmpeg_cmds()
|
||||||
assert (
|
assert "preset-rtmp-generic" not in (
|
||||||
"preset-rtmp-generic" not in frigate_config.cameras["back"].ffmpeg_cmds[0]
|
" ".join(frigate_config.cameras["back"].ffmpeg_cmds[0]["cmd"])
|
||||||
)
|
)
|
||||||
assert (
|
assert parse_preset_input("preset-rtmp-generic", 5) in (
|
||||||
parse_preset_input("preset-rtmp-generic", 5)
|
" ".join(frigate_config.cameras["back"].ffmpeg_cmds[0]["cmd"])
|
||||||
in frigate_config.cameras["back"].ffmpeg_cmds[0]
|
|
||||||
)
|
)
|
||||||
|
|
||||||
def test_ffmpeg_input_not_preset(self):
|
def test_ffmpeg_input_not_preset(self):
|
||||||
self.default_ffmpeg["cameras"]["back"]["ffmpeg"]["input_args"] = "-some inputs"
|
self.default_ffmpeg["cameras"]["back"]["ffmpeg"]["input_args"] = "-some inputs"
|
||||||
frigate_config = FrigateConfig(**self.default_ffmpeg)
|
frigate_config = FrigateConfig(**self.default_ffmpeg)
|
||||||
frigate_config.cameras["back"].create_ffmpeg_cmds()
|
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):
|
def test_ffmpeg_output_record_preset(self):
|
||||||
self.default_ffmpeg["cameras"]["back"]["ffmpeg"]["output_args"][
|
self.default_ffmpeg["cameras"]["back"]["ffmpeg"]["output_args"][
|
||||||
@ -90,11 +107,12 @@ class TestFfmpegPresets(unittest.TestCase):
|
|||||||
] = "preset-record-generic-audio"
|
] = "preset-record-generic-audio"
|
||||||
frigate_config = FrigateConfig(**self.default_ffmpeg)
|
frigate_config = FrigateConfig(**self.default_ffmpeg)
|
||||||
frigate_config.cameras["back"].create_ffmpeg_cmds()
|
frigate_config.cameras["back"].create_ffmpeg_cmds()
|
||||||
assert (
|
assert "preset-record-generic-audio" not in (
|
||||||
"preset-record-generic-audio"
|
" ".join(frigate_config.cameras["back"].ffmpeg_cmds[0]["cmd"])
|
||||||
not in frigate_config.cameras["back"].ffmpeg_cmds[0]
|
)
|
||||||
|
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):
|
def test_ffmpeg_output_record_not_preset(self):
|
||||||
self.default_ffmpeg["cameras"]["back"]["ffmpeg"]["output_args"][
|
self.default_ffmpeg["cameras"]["back"]["ffmpeg"]["output_args"][
|
||||||
@ -102,7 +120,9 @@ class TestFfmpegPresets(unittest.TestCase):
|
|||||||
] = "-some output"
|
] = "-some output"
|
||||||
frigate_config = FrigateConfig(**self.default_ffmpeg)
|
frigate_config = FrigateConfig(**self.default_ffmpeg)
|
||||||
frigate_config.cameras["back"].create_ffmpeg_cmds()
|
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):
|
def test_ffmpeg_output_rtmp_preset(self):
|
||||||
self.default_ffmpeg["cameras"]["back"]["ffmpeg"]["output_args"][
|
self.default_ffmpeg["cameras"]["back"]["ffmpeg"]["output_args"][
|
||||||
@ -110,8 +130,12 @@ class TestFfmpegPresets(unittest.TestCase):
|
|||||||
] = "preset-rtmp-jpeg"
|
] = "preset-rtmp-jpeg"
|
||||||
frigate_config = FrigateConfig(**self.default_ffmpeg)
|
frigate_config = FrigateConfig(**self.default_ffmpeg)
|
||||||
frigate_config.cameras["back"].create_ffmpeg_cmds()
|
frigate_config.cameras["back"].create_ffmpeg_cmds()
|
||||||
assert "preset-rtmp-jpeg" not in frigate_config.cameras["back"].ffmpeg_cmds[0]
|
assert "preset-rtmp-jpeg" not in (
|
||||||
assert "-c:v libx264" in frigate_config.cameras["back"].ffmpeg_cmds[0]
|
" ".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):
|
def test_ffmpeg_output_rtmp_not_preset(self):
|
||||||
self.default_ffmpeg["cameras"]["back"]["ffmpeg"]["output_args"][
|
self.default_ffmpeg["cameras"]["back"]["ffmpeg"]["output_args"][
|
||||||
@ -119,7 +143,9 @@ class TestFfmpegPresets(unittest.TestCase):
|
|||||||
] = "-some output"
|
] = "-some output"
|
||||||
frigate_config = FrigateConfig(**self.default_ffmpeg)
|
frigate_config = FrigateConfig(**self.default_ffmpeg)
|
||||||
frigate_config.cameras["back"].create_ffmpeg_cmds()
|
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__":
|
if __name__ == "__main__":
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user