- mencoder = ["mencoder", input, "-ovc", "copy", "-oac", "copy", "-of"]
- self.do_exec(["rm", "-f", output])
- self.do_exec(mencoder + ["rawvideo", "-o", video])
- self.do_exec(mencoder + ["rawaudio", "-o", audio])
- self.do_exec(["MP4Box", "-add", video, "-add", audio, output])
- self.do_exec(["rm", "-f", video, audio, input])
+ self.do_exec([
+ "MP4Box",
+ "-fps", fps,
+ "-add", self.video_tmp,
+ "-add", self.audio_tmp,
+ output
+ ])
+
+
+
+class MKVMerge(Command):
+ def check(self):
+ self.check_command("mkvmerge")
+ self.check_no_file(self.opts.output + ".mkv")
+
+ def run(self):
+ if self.opts.dump:
+ fps = "???"
+ else:
+ fps = midentify(self.video_tmp, "ID_VIDEO_FPS")
+
+ self.do_exec([
+ "mkvmerge",
+ "-o", self.opts.output + ".mkv",
+ "--default-duration", "0:%sfps"%fps,
+ self.video_tmp,
+ self.audio_tmp,
+ ])
+
+
+
+class MencoderMux(Command):
+ def check(self):
+ self.check_command("mencoder")
+ self.check_no_file(self.opts.output + ".avi")
+
+ def run(self):
+ self.do_exec([
+ "mencoder",
+ "-o", self.opts.output + ".avi",
+ "-oac", "copy", "-ovc", "copy",
+ "-noskip", "-mc", "0",
+ "-audiofile", self.audio_tmp,
+ self.video_tmp,
+ ])
+