- cmd += ["mencoder", "%(input)s", "-o", "%(output)s"]
- self.insertOptions(cmd)
- cmd += ["-ovc", p.vcodec, self.codec2opts[p.vcodec], "pass=2:"+p.vopts]
- cmd += ["-oac", p.acodec, self.codec2opts[p.acodec], p.aopts]
- cmd += self.profile.extra
- cmd = self.substValues(cmd)
- return cmd
+ cmd += ["x264", "--no-progress"]
+ cmd += p.x264opts
+ cmd += ["-o", p.video_tmp]
+ cmd += ["video.y4m"]
+ self.do_exec(cmd, wait=False)
+
+
+class Lame(Command):
+ def init(self):
+ self.check_command("lame")
+ self.profile.audio_tmp = "audio.mp3"
+
+ def run(self):
+ p = self.profile
+ cmd = []
+ cmd += ["lame", "--quiet"]
+ cmd += p.lameopts
+ cmd += ["audio.wav"]
+ cmd += [p.audio_tmp]
+ self.do_exec(cmd, wait=False)
+
+
+class Faac(Command):
+ def init(self):
+ self.check_command("faac")
+ self.profile.audio_tmp = "audio.aac"
+
+ def run(self):
+ p = self.profile
+ cmd = []
+ cmd += ["faac"]
+ cmd += ["-o", p.audio_tmp]
+ cmd += p.faacopts
+ cmd += ["audio.wav"]
+ self.do_exec(cmd, wait=False)
+
+
+class Mencoder(Command):
+ codec2opts = {
+ "xvid": "-xvidencopts",
+ "x264": "-x264encopts",
+ "faac": "-faacopts",
+ "mp3lame": "-lameopts",
+ }
+
+ def init(self):
+ o = self.opts
+ p = self.profile
+
+ self.check_command("mencoder")
+ self.check_no_file(o.output + ".avi")
+
+ p.video_tmp = o.output + ".avi"
+ p.audio_tmp = o.output + ".avi"
+
+ def run(self):
+ o = self.opts
+ p = self.profile
+
+ cmd = []
+ cmd += ["mencoder", o.input]
+ cmd += ["-noconfig", "all"]
+ insert_mplayer_options(cmd, o)
+ cmd += ["-vf-add", "harddup"]
+ cmd += ["-ovc", p.vcodec, self.codec2opts[p.vcodec], p.vopts]
+ cmd += ["-oac", p.acodec]
+ if p.aopts:
+ cmd += [self.codec2opts[p.acodec], p.aopts]
+ cmd += self.profile.mplayeropts
+ cmd += ["-o", self.opts.output + ".avi"]
+
+ self.do_exec(cmd)
+
+
+class MencoderDemux(Command):
+ codec2exts = {
+ "xvid": "m4v",
+ "x264": "h264",
+ "faac": "aac",
+ "mp3lame": "mp3",
+ "copyac3": "ac3",
+ }
+
+ def init(self):
+ o = self.opts
+ p = self.profile
+
+ self.check_command("mencoder")
+ p.audio_tmp = "audio." + self.codec2exts[p.acodec]
+ p.video_tmp = "video." + self.codec2exts[p.vcodec]
+ self.check_no_file(p.audio_tmp)
+ self.check_no_file(p.video_tmp)
+
+ def run(self):
+ o = self.opts
+ p = self.profile
+
+ cmd = ["mencoder", "-ovc", "copy", "-oac", "copy", o.output + ".avi"]
+ cmd += ["-noconfig", "all", "-noskip", "-mc", "0"]
+ self.do_exec(cmd + ["-of", "rawaudio", "-o", p.audio_tmp])
+ self.do_exec(cmd + ["-of", "rawvideo", "-o", p.video_tmp])
+ self.do_exec(["rm", "-f", o.output + ".avi"])
+
+