if re.search("p",opts):
crf=crf-2
if re.search("d",opts):#二カ国語放送の場合
- encode_ffmpeg_sar(pin,pout,size,is24fps,quality,crf,deinterlace)
- elif re.search("5",opts):#5.1chの場合
- encode_ffmpeg_sar(pin,pout,size,is24fps,quality,crf,deinterlace)
- elif re.search("b",opts):#m2vテスト
- try:
- tm2v=pin.replace(".ts",".m2v")
- encode_sar(tm2v, pout,size,is24fps,quality,crf,deinterlace)
- except Exception, inst:
- recdblist.Commonlogex("Error", "ts2x264(ts2x264.py)", str(type(inst)), str(inst)+traceback.format_exc(),log_level=200)
- elif re.search("x",opts):#videoframe補完テスト
tm2v=pin.replace(".ts",".m2v")
encode_ffmpeg_sar(tm2v,pout,size,is24fps,quality,crf,deinterlace)
+ elif re.search("5",opts):#5.1chの場合
+ encode_ffmpeg_sar(pin,pout,size,is24fps,quality,crf,deinterlace)
else:
try:
encode_sar(pin, pout,size,is24fps,quality,crf,deinterlace)
bonpout = "Z:\\" + outf[1:]
xvfb = configreader.getpath('xvfb-run')
vf=""
- delayt="-delay 167 "
- if re.search(",",opts):
- vf="-vf "
- if re.search(".",opts):
- delayt=""
+ delayt=""
exe = 'wine ' + bontsdemux + " -i \"" + bonpin + "\" "+delayt+" -nd "+vf+"-sound 0 -o \"" + bonpout + "\" -start -quit"
#recdblist.printutf8(exe)
exe = xvfb + ' -a ' + exe
aout=pts.replace(".ts",".mp3")
ain=pts.replace(".ts",".wav")
wav2mp3_lame(ain,aout)
-def dualaudio2sep(pin, delay,opts):
+def ts2dualaudio_BonTsDemux(pin, delay,opts):
"""
delay is string
"""
- xvfb = configreader.getpath('xvfb-run')
bontsdemux = configreader.getpath('bontsdemux')
wine = configreader.getpath('wine')
bonpin = "Z:\\" + pin[1:]
outf = os.path.splitext(pin)[0]
bonpout = "Z:\\" + outf[1:]
- if re.search(",",opts):
- vf="-vf "
exe = wine + ' ' + bontsdemux + " -i \"" + bonpin + "\" -delay " + delay + " -nd "+vf+"-sound 1 -o \"" + bonpout + "\" -start -quit"
recdblist.printutf8(exe)
- exe = xvfb + ' -a ' + exe
txt=commands.getoutput(exe.encode('utf-8'))
try:
recdblist.addCommandLog(pin, u"BonTsDemux 第一音声取り出し", exe, txt)
ffpout2 = ffpin + "_2.wav"
ffpout3 = ffpin + ".m2v"
shutil.move(ffpin1, ffpout1)
- exe = 'wine ' + bontsdemux + " -i \"" + bonpin + "\" -delay " + delay + " -nd "+vf+"-sound 2 -encode Demux\(wav\) -o \"" + bonpout + "\" -start -quit"
+ exe = 'wine ' + bontsdemux + " -i \"" + bonpin + "\" -delay " + delay + " -nd "+vf+"-sound 2 -encode Demux\(wav\) -o \"" + bonpout + "\""
recdblist.printutf8(exe)
exe = xvfb + ' -a ' + exe
txt=commands.getoutput(exe.encode('utf-8'))
time.sleep(3)
os.remove(ffpout1)
os.remove(ffpout2)
-def pentaaudio2sep(pin):
+def ts2pentaaudio_BonTsDemux(pin, delay,opts):
bontsdemux = configreader.getpath('bontsdemux')
wine = configreader.getpath('wine')
- xvfb = configreader.getpath('xvfb-run')
bonpin = "Z:\\" + pin[1:]
outf = os.path.splitext(pin)[0]
bonpout = "Z:\\" + outf[1:]
- exe = wine + ' ' + bontsdemux + " -i \"" + bonpin + "\" -delay 167 -nd -sound 3 -o \"" + bonpout + "\" -start -quit"
- exe = xvfb + ' -a ' + exe
+ exe = wine + ' ' + bontsdemux + " -i \"" + bonpin + "\" -delay "+delay+" -nd -sound 3 -o \"" + bonpout + "\""
recdblist.printutf8(exe)
txt=commands.getoutput(exe.encode('utf-8'))
try:
else:
wav2mp3_lame(ffpout1, ffpout21)
if not os.path.exists(ffpout21):
- exe = wine + ' ' + bontsdemux + " -i \"" + bonpin + "\" -delay 167 -nd -sound 0 -o \"" + bonpout + "\" -start -quit"
+ exe = wine + ' ' + bontsdemux + " -i \"" + bonpin + "\" -delay "+delay+" -nd -sound 0 -o \"" + bonpout + "\""
exe = xvfb + ' -a ' + exe
recdblist.printutf8(exe)
txt=commands.getoutput(exe.encode('utf-8'))
ffpout21=ffpout1.replace(".wav",".aac")
if os.path.exists(ffpout21):
if os.path.getsize(ffpout21)>10*1000*1000:
- os.remove(ffpout1)
\ No newline at end of file
+ os.remove(ffpout1)
dualaudio = 1
elif re.search(u'\(二\)', pout):
dualaudio = 1
- elif re.search("b",opt):
- singleaudiosplit = 1
if dualaudio == 1:
- dualaudio2sep(aviin,"167")
+ tv2audio.ts2dualaudio_BonTsDemux(aviin, recdblist.BONTSDEMUX_DELAY, opt)
if pentaaudio == 1:
- pentaaudio2sep(aviin)
- if singleaudiosplit ==1:
- singleaudio2sep(aviin)
+ tv2audio.ts2pentaaudio_BonTsDemux(aviin, recdblist.BONTSDEMUX_DELAY, opt)
except Exception, inst:
recdblist.Commonlogex("Error", "b252ts(tv2avi.py)", str(type(inst))+traceback.format_exc(), str(inst))
status.changeB25Decoding(-1)
recdblist.printutf8(str(type(inst)))
recdblist.printutf8(str(inst)+traceback.format_exc())
status.changeEncoding(-1)
-def dualaudio2sep(pin, delay):
- """
- delay is string
- """
- xvfb = configreader.getpath('xvfb-run')
- bontsdemux = configreader.getpath('bontsdemux')
- wine = configreader.getpath('wine')
- bonpin = "Z:\\" + pin[1:]
- outf = os.path.splitext(pin)[0]
- bonpout = "Z:\\" + outf[1:]
- exe = wine + ' ' + bontsdemux + " -i \"" + bonpin + "\" -delay " + delay + " -nd -sound 1 -o \"" + bonpout + "\" -start -quit"
- recdblist.printutf8(exe)
- exe = xvfb + ' -a ' + exe
- txt=commands.getoutput(exe.encode('utf-8'))
- try:
- recdblist.addCommandLog(pin, u"BonTsDemux 第一音声取り出し", exe, txt)
- except:
- ""
- ffpin = pin.replace(".ts", "")
- ffpin1 = pin.replace("ts", "wav")
- ffpin2 = pin.replace("ts", "m2v")
- ffpout1 = ffpin + "_1.wav"
- ffpout2 = ffpin + "_2.wav"
- ffpout3 = ffpin + ".m2v"
- shutil.move(ffpin1, ffpout1)
- exe = 'wine ' + bontsdemux + " -i \"" + bonpin + "\" -delay " + delay + " -nd -sound 2 -encode Demux\(wav\) -o \"" + bonpout + "\" -start -quit"
- recdblist.printutf8(exe)
- exe = xvfb + ' -a ' + exe
- txt=commands.getoutput(exe.encode('utf-8'))
- try:
- recdblist.addCommandLog(pin, u"BonTsDemux 第二音声取り出し", exe, txt)
- except:
- ""
- #os.system(exe)
- shutil.move(ffpin1, ffpout2)
- shutil.move(ffpin2, ffpout3)
- ffpout21=ffpout1.replace(".wav",".mp3")
- ffpout22=ffpout2.replace(".wav",".mp3")
- useNero=0
- try:
- if configreader.getpath("useNeroAAC")=="1" and os.path.exists(configreader.getpath("NeroAAC")):
- useNero=1
- except:
- useNero=0
- if useNero==1:
- ffpout21=ffpout1.replace(".wav",".aac")
- ffpout22=ffpout2.replace(".wav",".aac")
- tv2audio.wav2aac_nero(ffpout1, ffpout21)
- tv2audio.wav2aac_nero(ffpout2, ffpout22)
- else:
- tv2audio.wav2mp3_lame(ffpout1, ffpout21)
- tv2audio.wav2mp3_lame(ffpout2, ffpout22)
- time.sleep(3)
- os.remove(ffpout1)
- os.remove(ffpout2)
-def pentaaudio2sep(pin):
- bontsdemux = configreader.getpath('bontsdemux')
- wine = configreader.getpath('wine')
- xvfb = configreader.getpath('xvfb-run')
- bonpin = "Z:\\" + pin[1:]
- outf = os.path.splitext(pin)[0]
- bonpout = "Z:\\" + outf[1:]
- exe = wine + ' ' + bontsdemux + " -i \"" + bonpin + "\" -delay 167 -nd -sound 3 -o \"" + bonpout + "\" -start -quit"
- exe = xvfb + ' -a ' + exe
- recdblist.printutf8(exe)
- txt=commands.getoutput(exe.encode('utf-8'))
- try:
- recdblist.addCommandLog(pin, u"BonTsDemux5.1ch 第一音声取り出し", exe, txt)
- except:
- ""
- ffpin = pin.replace(".ts", "")
- ffpin1 = pin.replace("ts", "wav")
- ffpin2 = pin.replace("ts", "m2v")
- ffpout1 = ffpin + "_1.wav"
- ffpout2 = ffpin + "_2.aac"
- shutil.move(ffpin1, ffpout1)
- exe = "ffmpeg -i '"+pin+"' -vn -f aac -acodec copy '"+ffpout2+"'"
- recdblist.printutf8(exe)
- txt=commands.getoutput(exe.encode('utf-8'))
- try:
- recdblist.addCommandLog(pin, u"FFmpeg 5.1ch 第二音声(raw AAC)取り出し", exe, txt)
- except:
- ""
- ffpout21=ffpout1.replace(".wav",".mp3")
- useNero=0
- try:
- if configreader.getpath("useNeroAAC")=="1" and os.path.exists(configreader.getpath("NeroAAC")):
- useNero=1
- except:
- useNero=0
- if useNero==1:
- ffpout21=ffpout1.replace(".wav",".aac")
- tv2audio.wav2aac_nero(ffpout1, ffpout21)
- else:
- tv2audio.wav2mp3_lame(ffpout1, ffpout21)
- if not os.path.exists(ffpout21):
- exe = wine + ' ' + bontsdemux + " -i \"" + bonpin + "\" -delay 167 -nd -sound 0 -o \"" + bonpout + "\" -start -quit"
- exe = xvfb + ' -a ' + exe
- recdblist.printutf8(exe)
- txt=commands.getoutput(exe.encode('utf-8'))
- try:
- recdblist.addCommandLog(pin, u"BonTsDemux 修正版第二音声(2chDownmix)取り出し", exe, txt)
- except:
- ""
- shutil.move(ffpin1, ffpout1)
- if useNero==1:
- ffpout21=ffpout1.replace(".wav",".aac")
- tv2audio.wav2aac_nero(ffpout1, ffpout21)
- else:
- tv2audio.wav2mp3_lame(ffpout1, ffpout21)
- time.sleep(3)
- ffpout21=ffpout1.replace(".wav",".aac")
- if os.path.exists(ffpout21):
- if os.path.getsize(ffpout21)>10*1000*1000:
- os.remove(ffpout1)
-def singleaudio2sep(pin):
- bontsdemux = configreader.getpath('bontsdemux')
- wine = configreader.getpath('wine')
- xvfb = configreader.getpath('xvfb-run')
- bonpin = "Z:\\" + pin[1:]
- outf = os.path.splitext(pin)[0]
- bonpout = "Z:\\" + outf[1:]
- exe = wine + ' ' + bontsdemux + " -i \"" + bonpin + "\" -delay 167 -nd -sound 0 -o \"" + bonpout + "\" -start -quit"
- exe = xvfb + ' -a ' + exe
- recdblist.printutf8(exe)
- txt=commands.getoutput(exe.encode('utf-8'))
- try:
- recdblist.addCommandLog(pin, u"BonTsDemux 音声(wav化)取り出し", exe, txt)
- except:
- ""
- ffpin = pin.replace(".ts", "")
- ffpin1 = pin.replace("ts", "wav")
- ffpin2 = pin.replace("ts", "m2v")
- ffpout1 = ffpin + "_1.wav"
- ffpout2 = ffpin + "_2.aac"
- shutil.move(ffpin1, ffpout1)
- exe = "ffmpeg -i '"+pin+"' -vn -f aac -acodec copy '"+ffpout2+"'"
- recdblist.printutf8(exe)
- txt=commands.getoutput(exe.encode('utf-8'))
- try:
- recdblist.addCommandLog(pin, u"FFmpeg 音声(raw AAC)取り出し", exe, txt)
- except:
- ""
- ffpout21=ffpout1.replace(".wav",".mp3")
- useNero=0
- try:
- if configreader.getpath("useNeroAAC")=="1" and os.path.exists(configreader.getpath("NeroAAC")):
- useNero=1
- except:
- useNero=0
- if useNero==1:
- ffpout21=ffpout1.replace(".wav",".aac")
- tv2audio.wav2aac_nero(ffpout1, ffpout21)
- else:
- tv2audio.wav2mp3_lame(ffpout1, ffpout21)
- ffpout21=ffpout1.replace(".wav",".aac")
- if os.path.exists(ffpout21):
- if os.path.getsize(ffpout21)>10*1000*1000:
- os.remove(ffpout1)
\ No newline at end of file