From 0770cb361d7a75521635af6f556ca1b179aea1ff Mon Sep 17 00:00:00 2001 From: Jerry Yan <792602257@qq.com> Date: Tue, 5 Aug 2025 16:12:29 +0800 Subject: [PATCH] vsync --- entity/ffmpeg.py | 2 ++ util/ffmpeg.py | 3 ++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/entity/ffmpeg.py b/entity/ffmpeg.py index 13de70d..db3de13 100644 --- a/entity/ffmpeg.py +++ b/entity/ffmpeg.py @@ -293,6 +293,8 @@ class FfmpegTask(object): output_args.append(video_output_str) output_args.append("-r") output_args.append(f"{self.frame_rate}") + output_args.append("-fps_mode") + output_args.append("cfr") if self.mute: input_index = input_args.count("-i") input_args += MUTE_AUDIO_INPUT diff --git a/util/ffmpeg.py b/util/ffmpeg.py index 18c16d6..4589482 100644 --- a/util/ffmpeg.py +++ b/util/ffmpeg.py @@ -20,8 +20,9 @@ def re_encode_and_annexb(file): return file logger.info("ReEncodeAndAnnexb: %s", file) has_audio = not not probe_video_audio(file) - ffmpeg_process = subprocess.run(["ffmpeg", "-y", "-hide_banner", "-vsync", "cfr", "-i", file, + ffmpeg_process = subprocess.run(["ffmpeg", "-y", "-hide_banner", "-i", file, *(set() if has_audio else MUTE_AUDIO_INPUT), + "-fps_mode", "cfr", "-map", "0:v", "-map", "0:a" if has_audio else "1:a", *VIDEO_ARGS, "-bsf:v", get_mp4toannexb_filter(), *AUDIO_ARGS, "-bsf:a", "setts=pts=DTS",