3 # Rec10 TS Recording Tools
4 # Copyright (C) 2009 Yukikaze
9 def ts2x264(pin,pout,opts):#sizeは"HD"か"SD"
10 pout = pout.encode('utf-8')
11 pin = pin.encode('utf-8')
13 pinで指定されたファイルをpoutにx264でエンコードして書き出す
19 if re.search("a",opts):
23 if re.search("2",opts):
25 if re.search("Q",opts):
27 if re.search("F",opts):
29 if re.search("H",opts):
31 if re.search("S",opts):
33 if re.search("t",opts):
36 encvf="-vf pullup,softskip,pp=l5,"
40 encvf=encvf+"scale=720:480,harddup"
41 bitrate="bitrate=1250"
43 encvf=encvf+"scale=1280:720,harddup"
44 bitrate="bitrate=2000"
46 encvf=encvf+"scale=1920:1080,harddup"
47 bitrate="bitrate=2500"
49 encvf=encvf+"scale=400:240,harddup"
52 encvf=encvf+"scale=1280:720,harddup"
53 bitrate="bitrate=2000"
56 pas1exe="mencoder \'"+pin+"\' -ovc x264 "+encvf+" -x264encopts "+bitrate+":threads=auto:pass=1:turbo=2 -passlogfile "+pin+".log "+"-oac mp3lame -lameopts cbr:br=128 -o /dev/null"
57 pas2exe="mencoder \'"+pin+"\' -ovc x264 "+encvf+" -x264encopts "+bitrate+":threads=auto:pass=2 -passlogfile "+pin+".log "+"-oac mp3lame -lameopts cbr:br=128 -o \'"+pout+"\'"
58 pas1exe="/usr/bin/nice -n 19 "+pas1exe
59 pas2exe="/usr/bin/nice -n 19 "+pas2exe
60 #exe="mencoder \'"+pin+"\' -ovc x264 "+encvf+" -x264encopts "+bitrate+":threads=auto -oac mp3lame -lameopts cbr:br=128 -o \'"+pout+"\'"
61 #exe="/usr/bin/nice -n 19 "+exe
62 #print "Now. encoding..."+exe
69 pas1exe="mencoder \'"+pin+"\' -ovc x264 "+encvf+" -x264encopts "+bitrate+":threads=auto -oac mp3lame -lameopts cbr:br=128 -o \'"+pout+"\'"
72 extt = os.path.splitext(pout)
73 minipout=extt[0]+"mini"+".flv"
74 ts2minix264(pin,minipout)
75 #miniexe="mencoder 咲-Saki- 第6話「開幕」[S].ts -ovc x264 -vf pullup,softskip,pp=l5,scale=1280:720,harddup -x264encopts bitrate=2000:crf=20:threads=auto -oac mp3lame -lameopts cbr:br=128 -o
78 def ts2minix264(pin,pout):
79 miniexe="mencoder \'"+pin+"\' -ovc x264 -vf pullup,softskip,pp=l5,scale=512:384,harddup "
80 miniexe=miniexe+"-x264encopts bitrate=300:threads=auto -oac mp3lame -lameopts cbr:br=64 -o \'"+pout+"\'"
84 extt = os.path.splitext(pin)
85 pout=extt[0]+"mini"+".flv"
86 miniexe="mencoder \'"+pin+"\' -ovc x264 -vf pullup,softskip,pp=l5,scale=512:384,harddup "
87 miniexe=miniexe+"-x264encopts bitrate=300:threads=auto -oac mp3lame -lameopts cbr:br=64 -o \'"+pout+"\'"
94 for opt, args in optlist:
95 if opt in ("-i", "--input"):
97 if opt in ("-o", "--output"):
99 if opt in ("-s", "--size"):
101 if opt in ("-a", "--anime"):
104 #ts2x264(pin,pout,size,anime)