3 # Rec10 TS Recording Tools
4 # Copyright (C) 2009-2010 Yukikaze
13 def wav2aac_nero(pin,pout):
14 os.environ['LANG']="ja_JP.UTF-8"
15 neroaac=configreader.getpath('NeroAAC')
16 exe=neroaac+" -br 128000 -2pass -if \""+pin+"\" -of \""+pout+"\""
17 txt=u"Cmd : "+exe+"\n"
19 txt=txt+commands.getoutput(exe.encode('utf-8'))
20 recdblist.addlog(pin, txt, "Wav2aac_Nero log")
22 if not os.path.exists(pout):
24 exe=lame+" -b 128 \""+pin+"\" \""+pout+"\""
25 txt=u"Cmd : "+exe+"\n"
26 txt=txt+commands.getoutput(exe.encode('utf-8'))
27 recdblist.addlog(pin, txt, "Wav2aac_Lame log")
28 def wav2mp3_lame(pin,pout):
29 os.environ['LANG']="ja_JP.UTF-8"
31 exe=lame+" -b 128 \""+pin+"\" \""+pout+"\""
32 txt=u"Cmd : "+exe+"\n"
34 txt=txt+commands.getoutput(exe.encode('utf-8'))
37 recdblist.addlog(pin, txt, "Wav2aac_Lame log")
38 def ts2single_audio(pts):
39 paac=pts.replace(".ts",".aac")
40 ffmpeg=configreader.getpath("ffmpeg")
41 e0=ffmpeg+" -i \""+pts+"\" -vn -f aac -acodec copy \""+paac+"\""
42 p0=subprocess.Popen(e0,shell=True)
45 if os.path.getsize(paac)<1000:#1mで1kb以下の場合自動で終了
46 os.kill(p0.pid,signal.SIGKILL)
51 if configreader.getpath("useNeroAAC")=="1" and os.path.exists(configreader.getpath("NeroAAC")):
56 aout=pts.replace(".ts",".aac")
57 ain=pts.replace(".ts",".wav")
58 tv2audio.wav2aac_nero(ain,aout)
60 aout=pts.replace(".ts",".mp3")
61 ain=pts.replace(".ts",".wav")
62 tv2audio.wav2mp3_lame(ain,aout)
65 def ts2singlewav(pts):
66 bontsdemux = configreader.getpath('bontsdemux')
67 bonpin = "Z:\\" + pts[1:]
68 outf = os.path.splitext(pts)[0]
69 bonpout = "Z:\\" + outf[1:]
70 xvfb = configreader.getpath('xvfb-run')
71 exe = 'wine ' + bontsdemux + " -i \"" + bonpin + "\" -delay 167 -nd -sound 0 -o \"" + bonpout + "\" -start -quit"
72 #recdblist.printutf8(exe)
73 exe = xvfb + ' -a ' + exe
74 recdblist.printutf8(exe)
75 p=subprocess.Popen(exe.encode('utf-8'),shell=True)