Add specific presets for restream and record with audio (#5094)

* Add more ffmpeg presets

* Update docs

* Update tests

* Update docs to optimize setup
This commit is contained in:
Nicolas Mowen
2023-01-15 08:40:42 -07:00
committed by GitHub
parent 65bc644d03
commit 99577a57e6
4 changed files with 50 additions and 21 deletions

View File

@@ -247,6 +247,13 @@ PRESETS_INPUT = {
"-use_wallclock_as_timestamps",
"1",
],
"preset-rtsp-restream": _user_agent_args
+ [
"-rtsp_transport",
"tcp",
TIMEOUT_PARAM,
"5000000",
],
"preset-rtsp-udp": _user_agent_args
+ [
"-avoid_negative_ts",
@@ -311,7 +318,7 @@ PRESETS_RECORD_OUTPUT = {
"copy",
"-an",
],
"preset-record-generic-audio": [
"preset-record-generic-audio-aac": [
"-f",
"segment",
"-segment_time",
@@ -327,6 +334,20 @@ PRESETS_RECORD_OUTPUT = {
"-c:a",
"aac",
],
"preset-record-generic-audio-copy": [
"-f",
"segment",
"-segment_time",
"10",
"-segment_format",
"mp4",
"-reset_timestamps",
"1",
"-strftime",
"1",
"-c",
"copy",
],
"preset-record-mjpeg": [
"-f",
"segment",

View File

@@ -136,10 +136,10 @@ class TestFfmpegPresets(unittest.TestCase):
def test_ffmpeg_output_record_preset(self):
self.default_ffmpeg["cameras"]["back"]["ffmpeg"]["output_args"][
"record"
] = "preset-record-generic-audio"
] = "preset-record-generic-audio-aac"
frigate_config = FrigateConfig(**self.default_ffmpeg)
frigate_config.cameras["back"].create_ffmpeg_cmds()
assert "preset-record-generic-audio" not in (
assert "preset-record-generic-audio-aac" not in (
" ".join(frigate_config.cameras["back"].ffmpeg_cmds[0]["cmd"])
)
assert "-c:v copy -c:a aac" in (