OSDN Git Service

implement videoframe compliment option.
authorgn64_jp <gn64_jp@4e526526-5e11-4fc0-8910-f8fd03428081>
Sun, 24 Oct 2010 02:39:29 +0000 (02:39 +0000)
committergn64_jp <gn64_jp@4e526526-5e11-4fc0-8910-f8fd03428081>
Sun, 24 Oct 2010 02:39:29 +0000 (02:39 +0000)
git-svn-id: svn+ssh://svn.sourceforge.jp/svnroot/rec10@694 4e526526-5e11-4fc0-8910-f8fd03428081

rec10/trunk/src/tv2audio.py
rec10/trunk/src/tv2mp4.py

index 80cf685..5617e6c 100644 (file)
@@ -36,7 +36,7 @@ def wav2mp3_lame(pin,pout):
         ""
     recdblist.addlog(pin, exe, u"Wav2aac_Lameログ-コマンド")
     recdblist.addlog(pin, txt, u"Wav2aac_Lameログ-詳細")
-def ts2single_audio(pts):
+def ts2single_audio(pts,opts):
     paac=pts.replace(".ts",".aac")
     ffmpeg=configreader.getpath("ffmpeg")
     e0=ffmpeg+" -i \""+pts+"\" -y -vn -f aac -acodec copy \""+paac+"\""
@@ -56,7 +56,7 @@ def ts2single_audio(pts):
                 os.remove(paac)
                 ts2single_mp3_ffmpeg(pts)
                 if not os.path.exists(pts.replace(".ts",".mp3")):
-                    ts2single_fp_BonTsDemux(pts)
+                    ts2single_fp_BonTsDemux(pts,opts)
             else:
                 logt=unicode(p0.communicate()[0], "UTF-8")
                 recdblist.addlog(pts,e0, "FFmpeg音声取り出しログ-コマンド")
@@ -75,7 +75,7 @@ def ts2single_audio(pts):
                 ""
             ts2single_mp3_ffmpeg(pts)
             if not os.path.exists(pts.replace(".ts",".mp3")):
-                ts2single_fp_BonTsDemux(pts)
+                ts2single_fp_BonTsDemux(pts,opts)
     else:
         if os.path.exists(paac):
             if os.path.getsize(paac)<1000:#1mで1kb以下の場合自動で終了
@@ -89,7 +89,7 @@ def ts2single_audio(pts):
                 os.remove(paac)
                 ts2single_mp3_ffmpeg(pts)
                 if not os.path.exists(pts.replace(".ts",".mp3")):
-                    ts2single_fp_BonTsDemux(pts)
+                    ts2single_fp_BonTsDemux(pts,opts)
             else:
                 try:
                     logt=unicode(p0.communicate()[0], "UTF-8")
@@ -107,7 +107,7 @@ def ts2single_audio(pts):
             recdblist.Commonlogex("[Error]", "ffmpeg aac getting. (ts2single_audio@tv2audio.py)", u"AAC demux error(ffmpeg)", "", verbose_level=200, log_level=200)
             ts2single_mp3_ffmpeg(pts)
             if not os.path.exists(pts.replace(".ts",".mp3")):
-                ts2single_fp_BonTsDemux(pts)
+                ts2single_fp_BonTsDemux(pts,opts)
 def ts2singlewav(pts,opts):
     bontsdemux = configreader.getpath('bontsdemux')
     bonpin = "Z:\\" + pts[1:]
@@ -115,9 +115,12 @@ def ts2singlewav(pts,opts):
     bonpout = "Z:\\" + outf[1:]
     xvfb = configreader.getpath('xvfb-run')
     vf=""
+    delayt="-delay 167 "
     if re.search(",",opts):
         vf="-vf "
-    exe = 'wine ' + bontsdemux + " -i \"" + bonpin + "\" -delay 167 -nd "+vf+"-sound 0 -o \"" + bonpout + "\" -start -quit"
+    if re.search(".",opts):
+        delayt=""
+    exe = 'wine ' + bontsdemux + " -i \"" + bonpin + "\" "+delayt+" -nd "+vf+"-sound 0 -o \"" + bonpout + "\" -start -quit"
     #recdblist.printutf8(exe)
     exe = xvfb + ' -a ' + exe
     recdblist.printutf8(exe)
@@ -137,7 +140,7 @@ def ts2single_mp3_ffmpeg(pts):
         recdblist.addlog(pts,logt, "FFmpeg_mp3音声取り出しログ-詳細")
     except:
         ""
-def ts2single_fp_BonTsDemux(pts):
+def ts2single_fp_BonTsDemux(pts,opts):
     useNero=0
     try:
         if configreader.getpath("useNeroAAC")=="1" and os.path.exists(configreader.getpath("NeroAAC")):
@@ -145,16 +148,16 @@ def ts2single_fp_BonTsDemux(pts):
     except:
         useNero=0
     if useNero==1:
-        ts2single_aac_BonTsDemux_Nero(pts)
+        ts2single_aac_BonTsDemux_Nero(pts,opts)
     else:
-        ts2single_mp3_BonTsDemux(pts)
-def ts2single_aac_BonTsDemux_Nero(pts):
-    ts2singlewav(pts)
+        ts2single_mp3_BonTsDemux(pts,opts)
+def ts2single_aac_BonTsDemux_Nero(pts,opts):
+    ts2singlewav(pts,opts)
     aout=pts.replace(".ts",".aac")
     ain=pts.replace(".ts",".wav")
     tv2audio.wav2aac_nero(ain,aout)
-def ts2single_mp3_BonTsDemux(pts):
-    ts2singlewav(pts)
+def ts2single_mp3_BonTsDemux(pts,opts):
+    ts2singlewav(pts,opts)
     aout=pts.replace(".ts",".mp3")
     ain=pts.replace(".ts",".wav")
     tv2audio.wav2mp3_lame(ain,aout)
index 1e5b646..f46dce2 100644 (file)
@@ -124,9 +124,9 @@ def addCaption(pts,pmp4):##字幕の追加を試みる。
                 exe = configreader.getpath("mp4box")\r
                 e1s=exe +u" -add \""+pincap+"\" \""+pmp4+"\""\r
                 addmp4(pincap,pmp4,e1s)\r
-def addAudio(pts,pmp4,opt):#オプションに応じた音声の追加を行う\r
+def addAudio(pts,pmp4,opts):#オプションに応じた音声の追加を行う\r
     exe = configreader.getpath("mp4box")\r
-    if re.search("d",opt) or re.search("5",opt):#二カ国語放送/5.1ch放送の場合\r
+    if re.search("d",opts) or re.search("5",opts):#二カ国語放送/5.1ch放送の場合\r
         paac1=pts.replace(".ts","_1.aac")\r
         paac2=pts.replace(".ts","_2.aac")\r
         recdblist.printutf8(paac1)\r
@@ -141,7 +141,7 @@ def addAudio(pts,pmp4,opt):#オプションに応じた音声の追加を行う
         if os.path.exists(paac2):\r
             addmp4(paac2, pmp4, e1a2)\r
     else:\r
-        tv2audio.ts2single_audio(pts)\r
+        tv2audio.ts2single_audio(pts,opts)\r
         pinaac=pts.replace(".ts",".aac")\r
         if not os.path.exists(pinaac):\r
             pinaac=pinaac.replace(".aac",".mp3")\r