From 5a59ef0367cfe68de105e186e90377868ee7ea12 Mon Sep 17 00:00:00 2001 From: Yorick Date: Wed, 23 Sep 2015 15:59:44 +0200 Subject: [PATCH] first --- export-video.py | 77 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 77 insertions(+) create mode 100755 export-video.py diff --git a/export-video.py b/export-video.py new file mode 100755 index 0000000..ebeb22c --- /dev/null +++ b/export-video.py @@ -0,0 +1,77 @@ +#!/usr/bin/env python + +# export-video.py +# --------------- +# ré-écriture complète du script bash eponyme en python +import sys, getopt, re, os + +def usage (): + print ("export-video -i input -o output [-d --desinterlace]") +params = {\ + "desinterlace":False,\ + "file_output":"video",\ + "file_input":"",\ + "video_bitrate":"600k",\ + "audio_bitrate":"96k",\ + "video_quality":"good",\ + "h264_vcommand":"-trellis 0 -me_method umh -subq 8 -me_range 16 -bf 3 -rc_lookahead 16 -g 250",\ + "h264_acommand":"-strict -2'",\ + "webm_vcommand":"rc_lookahead 16 -keyint_min 0 -g 250 -skip_threshold 0 -level 116 -bufsize 500k",\ + "webm_acommand":"-strict -2",\ + "verbose":True,\ + "pattern":""} + +VERSION = "0.1dev" +ffmpeg = "" + +def listFile (directory, pattern): + if params["verbose"]: print ("searching in directory" , directory) + files_list=[] + try: + dirs = os.listdir(directory) + except notDirectory: + print ("error : not a directory?") + return + + for i in dirs: + + if os.path.isdir(directory+"/"+i): + files_list.extend(listFile(directory+"/"+i, pattern)) + else: + if re.search(pattern, i) is not None: + files_list.append(directory + "/"+ i) + + return files_list + + +def processArg (sysarg): + output = "video" + try: + opts, args = getopt.getopt(sysarg, "hi:o:dp:", ["help","input=" "output=", "desinterlace", "pattern="]) + except getopt.GetoptError: + usage() + sys.exit(2) + for opt, arg in opts: + if opt in ("-h, --help"): + usage() + sys.exit() + if opt in ("-o", "--output"): + print ("output spécifié " + arg) + params["file_output"] = arg + if opt in ("-d","--desinterlace"): + print ("desinterlace on") + params["desinterlace"] = True + if opt in ("-i","--input"): + params["file_input"] = arg + if opt in ("-p", "--pattern"): + params["pattern"] = "^\\w*."+arg+"$" + + +if __name__ == "__main__": + processArg(sys.argv[1:]) + if not params["file_input"]: + print ("you must specify a file / directory" + params["file_input"]) + sys.exit(2) + if os.path.isdir (params["file_input"]): + if params["verbose"]: print (params["file_input"], " is a directory") + video_files = listFile(params["file_input"], params["pattern"])