]> code.delx.au - transcoding/commitdiff
Merged in the changes from my branch.
authorGreg Darke <greg+laptop@tsukasa.net.au>
Mon, 8 Sep 2008 08:12:03 +0000 (18:12 +1000)
committerGreg Darke <greg+laptop@tsukasa.net.au>
Mon, 8 Sep 2008 08:12:03 +0000 (18:12 +1000)
  * We now support subtitles in the encoding process
  * You can set options to an empty value
  * You can now encode xvid in an iPod compatiable format

encode.py

index 7d24e10d12557ac6ba676b53459b5a35d8b7dbad..a356fc7e1062da6e2a0808aef21644951f5a1f79 100755 (executable)
--- a/encode.py
+++ b/encode.py
@@ -1,6 +1,6 @@
 #!/usr/bin/env python
 
-import commands, optparse, subprocess, sys
+import commands, optparse, subprocess, sys, os
 
 class MencoderCommand(object):
        codec2opts = {
@@ -17,7 +17,7 @@ class MencoderCommand(object):
 
        def insertOptions(self, cmd):
                def tryOpt(opt, var):
-                       if var:
+                       if var is not None:
                                cmd.append(opt)
                                cmd.append(var)
                tryOpt("-ss", self.opts.startpos)
@@ -25,6 +25,7 @@ class MencoderCommand(object):
                tryOpt("-dvd-device", self.opts.dvd)
                tryOpt("-chapter", self.opts.chapter)
                tryOpt("-aid", self.opts.audioid)
+               tryOpt("-sid", self.opts.subtitleid)
                tryOpt("-vf", self.opts.vfilters)
                tryOpt("-af", self.opts.afilters)
 
@@ -83,6 +84,14 @@ profiles = {
                aopts="abr:br=%(abitrate)d",
                extra=["-ffourcc", "DX50"],
        ),
+       "ipodxvid" :
+       Profile(
+               CommandClass=MencoderCommand,
+               vcodec="xvid",
+               vopts="bitrate=%(vbitrate)d:vhq=4:autoaspect:max_bframes=0",
+               acodec="faac",
+               aopts="br=%(abitrate)d:mpeg=4:object=2",
+       ),
 }
 
 
@@ -105,6 +114,7 @@ def parse_args():
        parser.add_option("--startpos", action="store", dest="startpos")
        parser.add_option("--endpos", action="store", dest="endpos")
        parser.add_option("--audioid", action="store", dest="audioid")
+       parser.add_option("--subtitleid", action="store", dest="subtitleid")
        parser.add_option("--profile", action="store", dest="profile_name", default=profile_name)
        parser.add_option("--dump", action="store_true", dest="dump")
        try: