diff options
Diffstat (limited to 'convert2mp4')
-rwxr-xr-x | convert2mp4 | 116 |
1 files changed, 0 insertions, 116 deletions
diff --git a/convert2mp4 b/convert2mp4 deleted file mode 100755 index 1e8e975..0000000 --- a/convert2mp4 +++ /dev/null @@ -1,116 +0,0 @@ -#!/usr/bin/python2 -#---------------------------------------------------- -# Author: Florian "Bluewind" Pritz <flo@xssn.at> -# -# Licensed under WTFPL v2 -# (see COPYING for full license text) -# -#---------------------------------------------------- -# Converts a file to an MP4 which can be played in a flash movie -# Video: H264 -# Audio: MPEG-4 AAC -#---------------------------------------------------- - -'''"usage: %prog [options] <files>''' -__version__ ='0.2' -__desc__ = 'Use ++ before any argument to pass it directly to ffmpeg.(i.e. ++-r ++25)' - -import sys -import os -import subprocess -from optparse import OptionParser - -def main(): - usage = "usage: %prog [options] <files>" - p = OptionParser(version=__version__, usage=__doc__, description=__desc__) - p.add_option("-s", "--size", dest="size", default=False, - help="use <dimension> instead of input dimensions (e.g. 123x123)", metavar="<dimension>") - p.add_option("--vb", dest="vbitrate", default="400000", - help="change the video bitrate", metavar="<bitrate>") - p.add_option("--ab", dest="abitrate", default="160000", - help="change the audio bitrate", metavar="<bitrate>") - p.add_option("-m", "--map", action="append", dest="maps", default=None, - help="change the mappings", metavar="<input_stream_id:sync_stream_id>") - p.add_option("--nd", action="store_false", dest="deinterlace", default=True, - help="don't deinterlace the video") - - (options, args) = p.parse_args() - - - if len(args) == 0: - p.print_help() - sys.exit() - - ffmpeg_args = [] - - if options.size: - ffmpeg_args.append("-s") - ffmpeg_args.append(options.size) - if options.vbitrate: - ffmpeg_args.append("-b") - ffmpeg_args.append(options.vbitrate) - if options.abitrate: - ffmpeg_args.append("-ab") - ffmpeg_args.append(options.abitrate) - if options.deinterlace: - ffmpeg_args.append("-deinterlace") - if options.maps: - for cur_map in options.maps: - ffmpeg_args.append("-map") - ffmpeg_args.append(cur_map) - - for name in args: - if name.startswith('++'): - ffmpeg_args.append(name[2:]) - - for name in args: - if name.startswith('++'): - continue - p1 = subprocess.Popen(["echo", "-n", name], stdout=subprocess.PIPE) - p2 = subprocess.Popen(["sed", "s/\(.*\)\..*/\\1/"], stdin=p1.stdout, stdout=subprocess.PIPE) - name_mp4 = "tmp_" + p2.communicate()[0] + ".mp4" - for encpass in ["1", "2"]: - if encpass == "1": - filename = "/dev/null" - ffmpeg_args.append('-vpre') - ffmpeg_args.append('medium_firstpass') - else: - filename = name_mp4 - ffmpeg_args.append('-vpre') - ffmpeg_args.append('medium') - subprocess.Popen(merge( - [["ffmpeg", "-i", name, - "-vcodec", "libx264", -# "-r", "25", -# "-g", "250", "-keyint_min", "25", -# "-vpre", "hq", -# "-coder", "ac", "-me_range", "16", -# "-subq", "5", "-sc_threshold", "40", - "-acodec", "libfaac", -# "-ar", "44100", -# "-cmp", "+chroma", "-partitions", "+parti4x4+partp8x8+partb8x8", -# "-i_qfactor", "0.71", "-b_strategy", "1", - "-threads", "0", - "-pass", encpass, - "-f", "mp4", -# "-crf", "30", - "-y"], - ffmpeg_args, [filename]] - )).communicate()[0] - - subprocess.Popen(["qt-faststart", name_mp4, "done_"+name_mp4]).communicate()[0] - -def merge(seq): - merged = [] - for s in seq: - for x in s: - merged.append(x) - return merged - -def file_exists(filename, options): - if os.path.exists(filename) and not options.force: - sys.stderr.write('Target "'+filename+'" already exists. Use --force to overwrite.\n') - sys.exit(1) - -if __name__ == '__main__': - main() |