MCPcopy
hub / github.com/mli/autocut / run

Method run

autocut/cut.py:45–70  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

43 md.write()
44
45 def run(self):
46 md_fn = self.args.inputs[0]
47 md = utils.MD(md_fn, self.args.encoding)
48 if not md.done_editing():
49 return
50
51 videos = []
52 for m, t in md.tasks():
53 if not m:
54 continue
55 m = re.findall(r"\[(.*)\]", t)
56 if not m:
57 continue
58 fn = os.path.join(os.path.dirname(md_fn), m[0])
59 logging.info(f"Loading {fn}")
60 videos.append(editor.VideoFileClip(fn))
61
62 dur = sum([v.duration for v in videos])
63 logging.info(f"Merging into a video with {dur / 60:.1f} min length")
64
65 merged = editor.concatenate_videoclips(videos)
66 fn = os.path.splitext(md_fn)[0] + "_merged.mp4"
67 merged.write_videofile(
68 fn, audio_codec="aac", bitrate=self.args.bitrate
69 ) # logger=None,
70 logging.info(f"Saved merged video to {fn}")
71
72
73# Cut media

Callers 3

_iterMethod · 0.95
load_audioFunction · 0.45
mainFunction · 0.45

Calls 2

done_editingMethod · 0.95
tasksMethod · 0.95

Tested by

no test coverage detected