]>
code.delx.au - transcoding/blob - encode.py
3 import optparse
, subprocess
, sys
8 "mencoder", "%(input)s", "-o", "%(output)s",
10 "-ovc", "x264", "-x264encopts", "pass=%(pass)d:bitrate=%(vbitrate)d:me=umh:partitions=all:trellis=1:subq=7:bframes=1:direct_pred=auto",
11 "-oac", "faac", "-faacopts", "br=%(abitrate)d:mpeg=4:object=2", "-channels", "2", "-srate", "48000",
16 "mencoder", "%(input)s", "-o", "%(output)s",
18 "-ovc", "x264", "-x264encopts", "pass=%(pass)d:bitrate=%(vbitrate)d:me=umh:threads=auto:partitions=all:trellis=1:subq=7:bframes=1:direct_pred=auto",
19 "-oac", "faac", "-faacopts", "br=%(abitrate)d:mpeg=4:object=2", "-channels", "2", "-srate", "48000",
24 "mencoder", "%(input)s", "-o", "%(output)s",
27 "-ovc", "xvid", "-xvidencopts", "pass=%(pass)d:bitrate=%(vbitrate)d:vhq=4",
28 "-oac", "mp3lame", "-lameopts", "abr:br=%(abitrate)d",
34 for codec
in codecs
.keys():
35 if sys
.argv
[0].find(codec
) >= 0:
40 parser
= optparse
.OptionParser(usage
="%prog [options] input output")
41 parser
.add_option("--dvd", action
="store", dest
="dvd")
42 parser
.add_option("--filters", action
="store", dest
="filters", default
="denoise3d")
43 parser
.add_option("--vbitrate", action
="store", dest
="vbitrate", type="int", default
=700)
44 parser
.add_option("--abitrate", action
="store", dest
="abitrate", type="int", default
=128)
45 parser
.add_option("--chapter", action
="store", dest
="chapter")
46 parser
.add_option("--startpos", action
="store", dest
="startpos")
47 parser
.add_option("--endpos", action
="store", dest
="endpos")
48 parser
.add_option("--audioid", action
="store", dest
="audioid")
49 parser
.add_option("--codec", action
="store", dest
="codec", default
=codec
)
50 parser
.add_option("--dump", action
="store_true", dest
="dump")
52 opts
, (input, output
) = parser
.parse_args(sys
.argv
[1:])
57 return opts
, codec
, input, output
63 subprocess
.Popen(args
).wait()
66 opts
, codec
, input, output
= parseArgs()
70 print >>sys
.stderr
, "Codec '%s' not found!" % codec
74 def insertOpt(opt
, var
):
78 insertOpt("-ss", opts
.startpos
)
79 insertOpt("-endpos", opts
.endpos
)
80 insertOpt("-dvd-device", opts
.dvd
)
81 insertOpt("-chapter", opts
.chapter
)
82 insertOpt("-aid", opts
.audioid
)
85 "vbitrate": opts
.vbitrate
,
86 "abitrate": opts
.abitrate
,
87 "filters": opts
.filters
,
93 subst
["output"] = "/dev/null"
94 run([x
% subst
for x
in cmd
], opts
.dump
)
98 subst
["output"] = output
99 run([x
% subst
for x
in cmd
], opts
.dump
)
101 if __name__
== "__main__":