From 79ff451af895ff0d0a90c340779a8ddd808de792 Mon Sep 17 00:00:00 2001 From: Brett Williams Date: Thu, 15 Jun 2023 19:35:39 -0500 Subject: [PATCH] Hotfix: Failing to convert image sequences that do not start on frame 1 --- lib/utilities/ffmpeg_helper.py | 8 +++++--- lib/workers/blender_worker.py | 3 ++- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/lib/utilities/ffmpeg_helper.py b/lib/utilities/ffmpeg_helper.py index eda5c69..da6538c 100644 --- a/lib/utilities/ffmpeg_helper.py +++ b/lib/utilities/ffmpeg_helper.py @@ -2,9 +2,11 @@ import subprocess from lib.engines.ffmpeg_engine import FFMPEG -def image_sequence_to_video(source_glob_pattern, output_path, framerate=24, encoder="prores_ks", profile=4): - subprocess.run([FFMPEG.renderer_path(), "-framerate", str(framerate), "-i", f"{source_glob_pattern}", - "-c:v", encoder, "-profile:v", str(profile), '-pix_fmt', 'yuva444p10le', output_path], check=True) +def image_sequence_to_video(source_glob_pattern, output_path, framerate=24, encoder="prores_ks", profile=4, + start_frame=1): + subprocess.run([FFMPEG.renderer_path(), "-framerate", str(framerate), "-start_number", str(start_frame), "-i", + f"{source_glob_pattern}", "-c:v", encoder, "-profile:v", str(profile), '-pix_fmt', 'yuva444p10le', + output_path], check=True) def save_first_frame(source_path, dest_path, max_width=1280): diff --git a/lib/workers/blender_worker.py b/lib/workers/blender_worker.py index 374ee0e..17a5062 100644 --- a/lib/workers/blender_worker.py +++ b/lib/workers/blender_worker.py @@ -128,7 +128,8 @@ class BlenderRenderWorker(BaseRenderWorker): pattern = os.path.splitext(self.output_path)[0] + "_%04d" + most_common_extension(output_dir_files) image_sequence_to_video(source_glob_pattern=pattern, output_path=self.output_path + '.mov', - framerate=self.scene_info['fps']) + framerate=self.scene_info['fps'], + start_frame=self.start_frame) logger.info('Successfully generated preview video from image sequence') except Exception as e: logger.error(f'Error generating video from image sequence: {e}')