3 # Rec10 TS Recording Tools
4 # Copyright (C) 2009 Yukikaze
11 def ts2x264(pin, pout, opts):#sizeは"HD"か"SD"
13 pinで指定されたファイルをpoutにx264でエンコードして書き出す
16 if re.search("a", opts):
22 if re.search("2", opts):
24 if re.search("H", opts):
26 if re.search("S", opts):
28 if re.search("F", opts):
30 if re.search("L", opts):
32 if re.search("G", opts):
34 if re.search("v", opts):
36 encode(pin, pout,size,isvfr,dualpass)
37 def encode(pin,pout,size,isvfr,is2pass):
42 ofps="-ofps 30000/1001"
48 ofps="-ofps 120000/1001"
49 encvf="-vf pullup,softskip,yadif=0"
51 x264enc1=":frameref=3:me=hex"
52 x264enc2=":frameref=3:subq=7:partitions=all:8x8dct:me=umh:bframes=3:b_pyramid:weight_b"
55 encvf = encvf + ",scale=1280:720"+harddup
56 bitrate = "bitrate=" + str(tv2avi.Bitrate_HD*bm)
58 encvf = encvf + ",scale=720:480"+harddup
59 bitrate = "bitrate=" + str(tv2avi.Bitrate_SD*bm)
61 encvf = encvf + ",scale=1920:1080"+harddup
62 bitrate = "bitrate=" + str(tv2avi.Bitrate_FHD*bm)
64 encvf = encvf +harddup
65 bitrate = "bitrate=" + str(tv2avi.Bitrate_Short*bm)
67 encvf = encvf + ",scale=1280:720"+harddup
68 bitrate = "bitrate=" + str(tv2avi.Bitrate_LowHD*bm)
70 encvf = encvf + ",scale=1280:720"+harddup
71 bitrate = "bitrate=" + str(tv2avi.Bitrate_HD*bm)
73 pas1exe = "mencoder \'" + pin + "\' -quiet -ovc x264 " + encvf + " "+ofps+" -x264encopts " + bitrate +x264enc1+ ":threads=auto:pass=1:turbo=2 -passlogfile \'" + pin + ".log\' " + "-oac mp3lame -lameopts cbr:br=128 -o /dev/null"
74 pas2exe = "mencoder \'" + pin + "\' -quiet -ovc x264 " + encvf + " "+ofps+" -x264encopts " + bitrate +x264enc2+ ":threads=auto:pass=2 -passlogfile \'" + pin + ".log\' " + "-oac mp3lame -lameopts cbr:br=128 -o \'" + pout + "\'"
75 pas1exe = "nice -n 19 " + pas1exe
76 pas2exe = "nice -n 19 " + pas2exe
77 recdblist.printutf8(pas1exe)
78 txt=txt+unicode(commands.getoutput(pas1exe.encode('utf-8')),'utf-8')
79 recdblist.printutf8(pas2exe)
81 txt=txt+unicode(commands.getoutput(pas2exe.encode('utf-8')),'utf-8')
83 pas1exe = "mencoder \'" + pin + "\' -quiet -ovc x264 " + encvf + " "+ofps+" -x264encopts " + bitrate +x264enc2+":threads=auto -oac mp3lame -lameopts cbr:br=128 -o \'" + pout + "\'"
84 pas1exe = "nice -n 19 " + pas1exe
85 recdblist.printutf8(pas1exe)
86 txt=txt+unicode(commands.getoutput(pas1exe.encode('utf-8')),'utf-8')
88 logo=logo.replace(".sa.avi",".ts")
89 logo=logo.replace(".ts",".log")
101 txt="\n####mencoder-log_"+size+"####\n"+stxt
102 f.write(txt.encode('utf-8'))