From b2d48978727f4b87c73708aeeeffc173e6bfd072 Mon Sep 17 00:00:00 2001 From: Jakub Trllo Date: Wed, 27 Feb 2019 15:36:27 +0100 Subject: [PATCH] input/output args are loaded from config (only input for jpeg) --- pype/plugins/global/publish/extract_jpeg.py | 20 +++++++++++-- .../global/publish/extract_quicktime.py | 30 ++++++++++++------- 2 files changed, 36 insertions(+), 14 deletions(-) diff --git a/pype/plugins/global/publish/extract_jpeg.py b/pype/plugins/global/publish/extract_jpeg.py index 4bf0824bab..12097f9d50 100644 --- a/pype/plugins/global/publish/extract_jpeg.py +++ b/pype/plugins/global/publish/extract_jpeg.py @@ -41,9 +41,23 @@ class ExtractJpegEXR(pyblish.api.InstancePlugin): self.log.info("output {}".format(full_output_path)) - subprocess_jpeg = "ffmpeg -y -gamma 2.2 -i {} {}".format( - full_input_path, full_output_path - ) + config_data = instance.context.data['output_repre_config'] + + proj_name = os.environ.get('AVALON_PROJECT', '__default__') + profile = config_data.get(proj_name, config_data['__default__']) + + jpeg_items = [] + jpeg_items.append("ffmpeg") + # override file if already exists + jpeg_items.append("-y") + # use same input args like with mov + jpeg_items.extend(profile.get('input', [])) + # input file + jpeg_items.append("-i {}".format(full_input_path)) + # output file + jpeg_items.append(full_output_path) + + subprocess_jpeg = " ".join(jpeg_items) subprocess.Popen(subprocess_jpeg) if "files" not in instance.data: diff --git a/pype/plugins/global/publish/extract_quicktime.py b/pype/plugins/global/publish/extract_quicktime.py index 983c955484..a2078541e5 100644 --- a/pype/plugins/global/publish/extract_quicktime.py +++ b/pype/plugins/global/publish/extract_quicktime.py @@ -41,18 +41,26 @@ class ExtractQuicktimeEXR(pyblish.api.InstancePlugin): self.log.info("output {}".format(full_output_path)) - input_args = [ - "-y -gamma 2.2", - "-i {}".format(full_input_path), - "-framerate {}".format(fps), - "-start_number {}".format(start) - ] - output_args = [ - "-c:v libx264", - "-vf colormatrix=bt601:bt709", - full_output_path - ] + config_data = instance.context.data['output_repre_config'] + proj_name = os.environ.get('AVALON_PROJECT', '__default__') + profile = config_data.get(proj_name, config_data['__default__']) + + input_args = [] + # overrides output file + input_args.append("-y") + # preset's input data + input_args.extend(profile.get('input', [])) + # necessary input data + input_args.append("-i {}".format(full_input_path)) + input_args.append("-framerate {}".format(fps)) + input_args.append("-start_number {}".format(start)) + + output_args = [] + # preset's output data + output_args.extend(profile.get('output', [])) + # output filename + output_args.append(full_output_path) mov_args = [ "ffmpeg", " ".join(input_args),