OSDN Git Service

fix mp4 vfr.
[rec10/rec10-git.git] / rec10 / trunk / src / tv2avi.py
index e882d80..17425c1 100644 (file)
@@ -13,21 +13,21 @@ import chdb
 import configreader
 import status
 import ts2x264
-import ts2xvid
 import tv2ts
+import recdblist
 global Bitrate_SD
 global Bitrate_HD
 global Bitrate_FHD
 global Bitrate_Short
 global Bitrate_LowHD
-Bitrate_SD = "1250"
-Bitrate_HD = "3750"
-Bitrate_LowHD = "2500"
-Bitrate_FHD = "5000"
-Bitrate_Short = "1250"
-#Bitrate_Tall = "2500"
-#Bitrate_Grande = "3750"
-#Bitrate_Venti = "5000"
+Bitrate_SD = 1250
+Bitrate_HD = 3750
+Bitrate_LowHD = 2500
+Bitrate_FHD = 5000
+Bitrate_Short = 1250
+#Bitrate_Tall = 2500
+#Bitrate_Grande = 3750
+#Bitrate_Venti = 5000
 def timetv2b25(pout, chtxt, btime, etime, opt):
     """
     poutはタイトル
@@ -61,35 +61,20 @@ def b252ts(pout, chtxt, btime, etime, opt):
             pentaaudio = 1
         if re.search("d", opt):
             dualaudio = 1
-        if re.search("\[二\]", pout):
+        if re.search(u"\[二\]", pout):
             dualaudio = 1
-        elif re.search('(二)', pout):
+        elif re.search(u'(二)', pout):
             dualaudio = 1
-        elif re.search('\(二\)', pout):
+        elif re.search(u'\(二\)', pout):
             dualaudio = 1
-        if opt == "":
-            opts = ""
-            if chdb.chtxtsearch(chtxt)['bctype'] == 'cs':
-                opts = opts + "S2"
-                if chtxt == "disch":
-                    ""
-                elif chtxt == "hisch":
-                    ""
-                else:
-                    opts = opts + "a"
-            else:
-                opts = opts + "Ha2"
-        else:
-            opts = opt
         if dualaudio == 1:
             dualaudiots2avi(aviin, tsout + ".sa.avi")
-            aviin = tsout + ".sa.avi"
         if pentaaudio == 1:
             dualaudiots2avi(aviin, tsout + ".sa.avi")
-            aviin = tsout + ".sa.avi"
-    except:
-        ""
-    #status.setB25Decoding(status.getB25Decoding()-1)
+    except Exception, inst:
+        print "Error happend in b252ts in tv2avi"
+        print type(inst)
+        print inst
     status.changeB25Decoding(-1)
 def timetv2avi(pout, chtxt, btime, etime, opt):
     bt = datetime.datetime.strptime(btime, "%Y-%m-%d %H:%M:%S")
@@ -104,7 +89,7 @@ def timetv2avi(pout, chtxt, btime, etime, opt):
     dt = et-tnow
     rectime = dt.seconds-10
     rectime = str(rectime)
-    #print tsout+".ts,"+chdb.chtxtsearch(chtxt)['ch']+","+chdb.chtxtsearch(chtxt)['csch']+","+rectime
+    #recdblist.printutf8(tsout+".ts,"+chdb.chtxtsearch(chtxt)['ch']+","+chdb.chtxtsearch(chtxt)['csch']+","+rectime)
     tv2ts.tv2ts(tsout + ".ts", chdb.chtxtsearch(chtxt)['ch'], chdb.chtxtsearch(chtxt)['csch'], rectime)
     aviin = tsout + ".ts"
     dualaudio = 0
@@ -113,11 +98,11 @@ def timetv2avi(pout, chtxt, btime, etime, opt):
         pentaaudio = 1
     if re.search("d", opt):
         dualaudio = 1
-    if re.search("\[二\]", pout):
+    if re.search(u"\[二\]", pout):
         dualaudio = 1
-    elif re.search('(二)', pout):
+    elif re.search(u'(二)', pout):
         dualaudio = 1
-    elif re.search('\(二\)', pout):
+    elif re.search(u'\(二\)', pout):
         dualaudio = 1
     if opt == "":
         opts = ""
@@ -142,16 +127,12 @@ def timetv2avi(pout, chtxt, btime, etime, opt):
 def ts2avi(pin, pout, opt):
     status.changeEncoding(1)
     #status.setEncoding(status.getEncoding() + 1)
-    if re.search("x", opt):
-        try:
-            ts2xvid.ts2xvid(pin, pout, opt)
-        except:
-            ""
-    else:
-        try:
-            ts2x264.ts2x264(pin, pout, opt)
-        except:
-            ""
+    try:
+        ts2x264.ts2x264(pin, pout, opt)
+    except Exception, inst:
+        print "error occures in tv2avi.py tv2avi"
+        print type(inst)
+        print inst
     status.changeEncoding(-1)
     #status.setEncoding(status.getEncoding()-1)
 def tv2avi(pout, chtxt, btime, etime, opt):
@@ -170,11 +151,11 @@ def tv2avi(pout, chtxt, btime, etime, opt):
         pentaaudio = 1
     if re.search("d", opt):
         dualaudio = 1
-    if re.search('\[二\]', pout):
+    if re.search(u'\[二\]', pout):
         dualaudio = 1
-    elif re.search('(二)', pout):
+    elif re.search(u'(二)', pout):
         dualaudio = 1
-    elif re.search('\(二\)', pout):
+    elif re.search(u'\(二\)', pout):
         dualaudio = 1
     opts = ""
     if chdb.chtxtsearch(chtxt)['bctype'] == 'cs':
@@ -206,11 +187,11 @@ def b252avi(pout, chtxt, opt):
         pentaaudio = 1
     if re.search("d", opt):
         dualaudio = 1
-    if re.search('\[二\]', pout):
+    if re.search(u'\[二\]', pout):
         dualaudio = 1
-    elif re.search('(二)', pout):
+    elif re.search(u'(二)', pout):
         dualaudio = 1
-    elif re.search('\(二\)', pout):
+    elif re.search(u'\(二\)', pout):
         dualaudio = 1
     if opt == "":
         opts = ""
@@ -226,37 +207,31 @@ def b252avi(pout, chtxt, opt):
             opts = opts + "Ha2"
     else:
         opts = opt
-    if re.search("x", opt):
-        makexvid = 0
-    else:
-        makexvid = 1
     if dualaudio == 1:
         dualaudiots2avi(aviin, tsout + ".sa.avi")
         aviin = tsout + ".sa.avi"
     if pentaaudio == 1:
         dualaudiots2avi(aviin, tsout + ".sa.avi")
         aviin = tsout + ".sa.avi"
-    if makexvid == 1:
-        ts2xvid.ts2xvid(aviin, pout, opts)
-    else:
-        ts2x264.ts2x264(aviin, pout, opts)
+    ts2x264.ts2x264(aviin, pout, opts)
 def dualaudiots2avi(pin, pout):
     bontsdemux = configreader.getpath('bontsdemux')
     bonpin = "Z:\\" + pin[1:]
     outf = os.path.splitext(pin)[0]
     bonpout = "Z:\\" + outf[1:]
     xvfb = configreader.getpath('xvfb-run')
+    logpath=pin.replace("ts","log")
     exe = 'wine ' + bontsdemux + " -i \"" + bonpin + "\" -delay 167 -nd -sound 0 -o \"" + bonpout + "\" -start -quit"
-    #print exe
+    #recdblist.printutf8(exe)
     exe = xvfb + ' -a ' + exe
-    print exe
-    os.system(exe)
+    recdblist.printutf8(exe)
+    os.system(exe.encode('utf-8'))
     ffpin1 = pin.replace("ts", "wav")
     ffpin2 = pin.replace("ts", "m2v")
     exe = "ffmpeg -y  -i \'" + ffpin1 + "\' -i \'" + ffpin2 + "\' -r 29.97 -vsync 200 -vcodec copy -acodec libmp3lame -async 200 -ab 128k -f avi  \'" + pout + "\'"
-    #print exe
+    recdblist.printutf8(exe)
     #commands.getoutput(exe)
-    os.system(exe)
+    os.system(exe.encode('utf-8'))
     os.remove(ffpin1)
     os.remove(ffpin2)
 def dualaudio2sep(pin, pout, delay):
@@ -270,10 +245,10 @@ def dualaudio2sep(pin, pout, delay):
     outf = os.path.splitext(pin)[0]
     bonpout = "Z:\\" + outf[1:]
     exe = wine + ' ' + bontsdemux + " -i \"" + bonpin + "\" -delay " + delay + " -nd -sound 1 -o \"" + bonpout + "\" -start -quit"
-    #print exe
+    #recdblist.printutf8(exe)
     exe = xvfb + ' -a ' + exe
-    print exe
-    commands.getoutput(exe)
+    recdblist.printutf8(exe)
+    commands.getoutput(exe.encode('utf-8'))
     ffpin = pin.replace(".ts", "")
     ffpin1 = pin.replace("ts", "wav")
     ffpin2 = pin.replace("ts", "m2v")
@@ -283,8 +258,8 @@ def dualaudio2sep(pin, pout, delay):
     shutil.move(ffpin1, ffpout1)
     exe = 'wine ' + bontsdemux + " -i \"" + bonpin + "\" -delay " + delay + " -nd -sound 2 -encode Demux\(wav\) -o \"" + bonpout + "\" -start -quit"
     exe = xvfb + ' -a ' + exe
-    print exe
-    commands.getoutput(exe)
+    recdblist.printutf8(exe)
+    commands.getoutput(exe.encode('utf-8'))
     #os.system(exe)
     shutil.move(ffpin1, ffpout2)
     shutil.move(ffpin2, ffpout3)
@@ -293,12 +268,12 @@ def dualaudio2sep(pin, pout, delay):
     #aexe1="ffmpeg -i "+ffpout1+" -vn -acodec vorbis -ar 48000 -ab 128k "+ffpout21
     #aexe2="ffmpeg -i "+ffpout2+" -vn -acodec vorbis -ar 48000 -ab 128k "+ffpout22
     aexe = "ffmpeg -i \"" + ffpout3 + "\" -i \"" + ffpout1 + "\" -i \"" + ffpout2 + "\" -r 29.97 -vsync 200 -vcodec copy -acodec copy -f avi " + pout + " -acodec copy -newaudio"
-    print aexe
+    recdblist.printutf8(aexe)
     #os.system(aexe1)
     #os.system(aexe2)
-    commands.getoutput(aexe)
+    commands.getoutput(aexe.encode('utf-8'))
     #exe = "ffmpeg -y  -i \'" + ffpin1 + "\' -i \'" + ffpin2 + "\' -r 29.97 -vsync 200 -vcodec copy -acodec libmp3lame -async 200 -ab 128k -f avi  \'" + pout + "\'"
-    #print exe
+    #recdblist.printutf8(exe)
     
     #os.remove(ffpin1)
     #os.remove(ffpin2)
@@ -310,18 +285,18 @@ def pentaaudiots2avi(pin, pout):
     outf = os.path.splitext(pin)[0]
     bonpout = "Z:\\" + outf[1:]
     exe = 'wine ' + bontsdemux + " -i \"" + bonpin + "\" -delay 167 -nd -sound 3 -o \"" + bonpout + "\" -start -quit"
-    #print exe
+    #recdblist.printutf8(exe)
     exe = xvfb + ' -a ' + exe
     #exe = 'xvfb-run -a ' + exe
     #exe='export Display=:2&&'+exe
-    print exe
-    commands.getoutput(exe)
+    recdblist.printutf8(exe)
+    commands.getoutput(exe.encode('utf-8'))
     #os.system(exe)
     ffpin1 = pin.replace("ts", "wav")
     ffpin2 = pin.replace("ts", "m2v")
     exe = "ffmpeg -y  -i \'" + ffpin1 + "\' -i \'" + ffpin2 + "\' -r 29.97 -vsync 200 -vcodec copy -acodec libmp3lame -async 200 -ab 128k -f avi  \'" + pout + "\'"
-    print exe
-    commands.getoutput(exe)
+    recdblist.printutf8(exe)
+    commands.getoutput(exe.encode('utf-8'))
     #os.system(exe)
     os.remove(ffpin1)
     os.remove(ffpin2)