Revert switch to mpegts format and audio default

This commit is contained in:
Blake Blackshear
2021-10-22 19:17:55 -05:00
parent c1132e6897
commit 4cf55ad8e2
5 changed files with 12 additions and 45 deletions

View File

@@ -298,13 +298,14 @@ RECORD_FFMPEG_OUTPUT_ARGS_DEFAULT = [
"-segment_time",
"10",
"-segment_format",
"ts",
"mp4",
"-reset_timestamps",
"1",
"-strftime",
"1",
"-c",
"copy",
"-an",
]
@@ -564,16 +565,9 @@ class CameraConfig(FrigateBaseModel):
else self.ffmpeg.output_args.record.split(" ")
)
# backwards compatibility check for segment_format change from mp4 to ts
record_args = (
" ".join(record_args)
.replace("-segment_format mp4", "-segment_format ts")
.split(" ")
)
ffmpeg_output_args = (
record_args
+ [f"{os.path.join(CACHE_DIR, self.name)}-%Y%m%d%H%M%S.ts"]
+ [f"{os.path.join(CACHE_DIR, self.name)}-%Y%m%d%H%M%S.mp4"]
+ ffmpeg_output_args
)

View File

@@ -48,7 +48,9 @@ class RecordingMaintainer(threading.Thread):
recordings = [
d
for d in os.listdir(CACHE_DIR)
if os.path.isfile(os.path.join(CACHE_DIR, d)) and d.endswith(".ts")
if os.path.isfile(os.path.join(CACHE_DIR, d))
and d.endswith(".mp4")
and not d.startswith("clip_")
]
files_in_use = []
@@ -111,38 +113,9 @@ class RecordingMaintainer(threading.Thread):
file_name = f"{start_time.strftime('%M.%S.mp4')}"
file_path = os.path.join(directory, file_name)
cache_path_mp4 = f"{cache_path[:-2]}mp4"
ffmpeg_cmd = [
"ffmpeg",
"-hide_banner",
"-y",
"-i",
cache_path,
"-c",
"copy",
"-movflags",
"+faststart",
cache_path_mp4,
]
p = sp.run(
ffmpeg_cmd,
encoding="ascii",
capture_output=True,
)
Path(cache_path).unlink(missing_ok=True)
if p.returncode != 0:
logger.error(f"Unable to convert {cache_path} to {file_path}")
logger.error(p.stderr)
Path(cache_path_mp4).unlink(missing_ok=True)
continue
# copy then delete is required when recordings are stored on some network drives
shutil.copyfile(cache_path_mp4, file_path)
Path(cache_path_mp4).unlink(missing_ok=True)
shutil.copyfile(cache_path, file_path)
os.remove(cache_path)
rand_id = "".join(
random.choices(string.ascii_lowercase + string.digits, k=6)