diff --git a/pype/plugins/standalonepublisher/publish/collect_clip_instances.py b/pype/plugins/standalonepublisher/publish/collect_clip_instances.py index a8603a50b4..f4d2810f2b 100644 --- a/pype/plugins/standalonepublisher/publish/collect_clip_instances.py +++ b/pype/plugins/standalonepublisher/publish/collect_clip_instances.py @@ -25,7 +25,8 @@ class CollectClipInstances(pyblish.api.InstancePlugin): "family": "audio", "families": ["ftrack"], "ftrackFamily": "audio", - "extension": ".wav" + "extension": ".wav", + "version": 1 }, "shotMain": { "family": "shot", @@ -109,7 +110,7 @@ class CollectClipInstances(pyblish.api.InstancePlugin): clip_in += self.timeline_frame_offset clip_out += self.timeline_frame_offset - clip_duration = clip.duration().value - 1 + clip_duration = clip.duration().value self.log.info(f"clip duration: {clip_duration}") source_in = clip.trimmed_range().start_time.value @@ -126,7 +127,7 @@ class CollectClipInstances(pyblish.api.InstancePlugin): else: frame_start = clip_in - frame_end = frame_start + clip_duration + frame_end = frame_start + (clip_duration - 1) # create shared new instance data instance_data = { diff --git a/pype/plugins/standalonepublisher/publish/extract_shot_data.py b/pype/plugins/standalonepublisher/publish/extract_shot_data.py index 2732d0fa59..5b9fb43ffa 100644 --- a/pype/plugins/standalonepublisher/publish/extract_shot_data.py +++ b/pype/plugins/standalonepublisher/publish/extract_shot_data.py @@ -42,15 +42,31 @@ class ExtractShotData(pype.api.Extractor): # input_data = plib.ffprobe_streams(video_file_path)[0] # self.log.debug(f"__ input_data: `{input_data}`") + start = float(instance.data["clipInH"]) + dur = float(instance.data["clipDurationH"]) + + if ext in ".wav": + start += 0.5 + dur += 0.5 + args = [ ffmpeg_path, - "-ss", str(instance.data["clipInH"] / fps), + "-ss", str(start / fps), "-i", video_file_path, - "-t", str(instance.data["clipDurationH"] / fps), - "-crf", "18", - "-pix_fmt", "yuv420p", - clip_trimed_path + "-t", str(dur / fps) ] + if ext in [".mov", ".mp4"]: + args.extend([ + "-crf", "18", + "-pix_fmt", "yuv420p"]) + elif ext in ".wav": + args.extend([ + "-vn -acodec pcm_s16le", + "-ar 44100 -ac 2"]) + + # add output path + args.append(clip_trimed_path) + self.log.info(f"Processing: {args}") ffmpeg_args = " ".join(args) output = pype.api.subprocess(ffmpeg_args)