Merge branch 'feat-py3support' into develop
This commit is contained in:
commit
e948e11177
1 changed files with 38 additions and 28 deletions
|
@ -32,14 +32,22 @@ _ffbin = None # ffmpeg binary, if set to None it is searched in your $PATH
|
|||
# Main Program, no changes needed below this line
|
||||
###########################################################################################
|
||||
|
||||
# Global Variables
|
||||
|
||||
mda = None
|
||||
mdv = None
|
||||
afifo = None
|
||||
vfifo = None
|
||||
|
||||
# Main Function
|
||||
def main(argv):
|
||||
"""Main Function, cli argument processing and checking"""
|
||||
|
||||
# CLI Argument Processing
|
||||
try:
|
||||
opts, args = getopt.getopt(argv, "i:o:m:v:a:t:hf", ["input=", "output=", "mpopts=", "abitrate=", "vbitrate=", "threads=", "help", "force-overwrite"])
|
||||
except getopt.GetoptError, err:
|
||||
print str(err)
|
||||
except getopt.GetoptError as err:
|
||||
printi(str(err))
|
||||
usage()
|
||||
|
||||
input = None
|
||||
|
@ -75,7 +83,7 @@ def main(argv):
|
|||
else:
|
||||
mpbin = progpath("mplayer")
|
||||
if mpbin == None:
|
||||
print "Error: mplayer not found in PATH and no binary given, Aborting!"
|
||||
print("Error: mplayer not found in PATH and no binary given, Aborting!")
|
||||
sys.exit(1)
|
||||
|
||||
global ffbin
|
||||
|
@ -85,19 +93,19 @@ def main(argv):
|
|||
else:
|
||||
ffbin = progpath("ffmpeg")
|
||||
if ffbin == None:
|
||||
print "Error: ffmpeg not found in PATH and no binary given, Aborting!"
|
||||
print( "Error: ffmpeg not found in PATH and no binary given, Aborting!")
|
||||
sys.exit(1)
|
||||
|
||||
# Check input and output files
|
||||
if not os.path.isfile(input):
|
||||
print "Error: input file is not a valid File or doesn't exist"
|
||||
print("Error: input file is not a valid File or doesn't exist")
|
||||
sys.exit(2)
|
||||
|
||||
if os.path.isfile(output):
|
||||
if overwrite:
|
||||
os.remove(output)
|
||||
else:
|
||||
print "Error: output file " + output + " already exists, force overwrite with -f"
|
||||
print("Error: output file " + output + " already exists, force overwrite with -f")
|
||||
sys.exit(1)
|
||||
|
||||
# Start Processing
|
||||
|
@ -124,7 +132,7 @@ def calculate(input):
|
|||
m = s.search(mp[0])
|
||||
orig_height = m.group(1)
|
||||
except:
|
||||
print "Error: unable to identify source video, exiting!"
|
||||
print("Error: unable to identify source video, exiting!")
|
||||
sys.exit(2)
|
||||
|
||||
# Calculate output resolution
|
||||
|
@ -211,14 +219,14 @@ def convert(input, output, res, abitrate, vbitrate, threads, mpopts):
|
|||
mdv = subprocess.Popen(mpvideodec, stdout=None, stderr=None)
|
||||
mda = subprocess.Popen(mpaudiodec, stdout=None, stderr=None)
|
||||
except:
|
||||
print "Error: Starting decoding threads failed!"
|
||||
print("Error: Starting decoding threads failed!")
|
||||
sys.exit(3)
|
||||
|
||||
# Start ffmpeg encoding process in foreground
|
||||
try:
|
||||
subprocess.check_call(ffmenc)
|
||||
except subprocess.CalledProcessError:
|
||||
print "Error: Encoding thread failed!"
|
||||
print("Error: Encoding thread failed!")
|
||||
sys .exit(4)
|
||||
|
||||
|
||||
|
@ -238,31 +246,33 @@ def cleanup():
|
|||
|
||||
# Cleanup
|
||||
try:
|
||||
os.kill(mda.pid())
|
||||
os.kill(mdv.pid())
|
||||
if (mda != None):
|
||||
os.kill(mda.pid())
|
||||
if (mdv != None):
|
||||
os.kill(mdv.pid())
|
||||
finally:
|
||||
try:
|
||||
if (afifo != None):
|
||||
os.remove(afifo)
|
||||
if (vfifo != None):
|
||||
os.remove(vfifo)
|
||||
finally:
|
||||
sys.exit(0)
|
||||
os._exit(0)
|
||||
|
||||
def usage():
|
||||
"""Print avaiable commandline arguments"""
|
||||
|
||||
print "This is n900-encode.py (C) 2010 Stefan Brand <seiichiro0185 AT tol DOT ch>"
|
||||
print "Usage:"
|
||||
print " n900-encode.py --input <file> [opts]\n"
|
||||
print "Options:"
|
||||
print " --input <file> [-i]: Video to Convert"
|
||||
print " --output <file> [-o]: Name of the converted Video"
|
||||
print " --mpopts \"<opts>\" [-m]: Additional options for mplayer (eg -sid 1 or -aid 1) Must be enclosed in \"\""
|
||||
print " --abitrate <br> [-a]: Audio Bitrate in KBit/s"
|
||||
print " --vbitrate <br> [-v]: Video Bitrate in kBit/s"
|
||||
print " --threads <num> [-t]: Use <num> Threads to encode"
|
||||
print " --force-overwrite [-f]: Overwrite output-file if existing"
|
||||
print " --help [-h]: Print this Help"
|
||||
sys.exit(0)
|
||||
print("This is n900-encode.py (C) 2010 Stefan Brand <seiichiro0185 AT tol DOT ch>")
|
||||
print("Usage:")
|
||||
print(" n900-encode.py --input <file> [opts]\n")
|
||||
print("Options:")
|
||||
print(" --input <file> [-i]: Video to Convert")
|
||||
print(" --output <file> [-o]: Name of the converted Video")
|
||||
print(" --mpopts \"<opts>\" [-m]: Additional options for mplayer (eg -sid 1 or -aid 1) Must be enclosed in \"\"")
|
||||
print(" --abitrate <br> [-a]: Audio Bitrate in KBit/s")
|
||||
print(" --vbitrate <br> [-v]: Video Bitrate in kBit/s")
|
||||
print(" --threads <num> [-t]: Use <num> Threads to encode")
|
||||
print(" --force-overwrite [-f]: Overwrite output-file if existing")
|
||||
print(" --help [-h]: Print this Help")
|
||||
os._exit(0)
|
||||
|
||||
|
||||
# Start the Main Function
|
||||
|
@ -277,5 +287,5 @@ if __name__ == "__main__":
|
|||
if len(sys.argv) > 1:
|
||||
main(sys.argv[1:])
|
||||
else:
|
||||
print "Error: You have to give an input file at least!"
|
||||
print("Error: You have to give an input file at least!")
|
||||
usage()
|
||||
|
|
Loading…
Reference in a new issue