OSDN Git Service

implement ffmepg interlaced option.
authorgn64_jp <gn64_jp@4e526526-5e11-4fc0-8910-f8fd03428081>
Thu, 5 Aug 2010 00:09:20 +0000 (00:09 +0000)
committergn64_jp <gn64_jp@4e526526-5e11-4fc0-8910-f8fd03428081>
Thu, 5 Aug 2010 00:09:20 +0000 (00:09 +0000)
git-svn-id: svn+ssh://svn.sourceforge.jp/svnroot/rec10@662 4e526526-5e11-4fc0-8910-f8fd03428081

rec10/trunk/src/install.py
rec10/trunk/src/recdblist.py
rec10/trunk/src/ts2x264.py

index c5f7068..b02afac 100644 (file)
@@ -77,10 +77,10 @@ def move():
     path = str(os.path.dirname(os.path.abspath(__file__)))
     printutf8(u"rec10 ver "+recdblist.version_str+" installer.")
     printutf8(u"rec10のインストールを開始します。")
-    maxn=14
+    maxn=16
     configwriter.setpath(u"wine", getpath(u"wine"))
     configwriter.setpath(u"recpt1", getpath(u"recpt1"))
-    configwriter.setpath(u"x264", getpath(u"x264"))
+    #configwriter.setpath(u"x264", getpath(u"x264"))
     configwriter.setpath(u"mp4box", getpath(u"MP4Box"))
     configwriter.setpath(u"mencoder", getpath(u"mencoder"))
     configwriter.setpath(u"ffmpeg", getpath(u"ffmpeg"))
@@ -136,25 +136,30 @@ def move():
     else:
         configwriter.setpath("useNeroAAC", "0")
         printutf8(u"lameを使用します。")
-    printutf8(u"保存する画質を教えてください(7/"+str(maxn)+")")
+    printutf8(u"x264のパスを指定してください(7/"+str(maxn)+")")
+    x264path=getConf(useB,"/etc/rec10.conf","path","x264","x264 path : ")
+    if x264path.replace(" ","")=="" or not os.path.isfile(x264path):
+        x264path=getpath(u"x264")
+    configwriter.setpath("x264",x264path)
+    printutf8(u"保存する画質を教えてください(8/"+str(maxn)+")")
     printutf8(u"x264のcrfの値です。標準だと30分で800MBほどになります")
     crf=getConf(useB,"/etc/rec10.conf","env","crf","[24] : ")
     if crf.replace(" ","")=="":
         crf="24"
     configwriter.setenv("crf", crf)
-    printutf8(u"アニメーションを保存する画質を教えてください(8/"+str(maxn)+")")
+    printutf8(u"アニメーションを保存する画質を教えてください(9/"+str(maxn)+")")
     printutf8(u"x264のcrfの値です。標準だと30分で800MBほどになります")
     a_crf=getConf(useB,"/etc/rec10.conf","env","animation_crf","[20] : ")
     if a_crf.replace(" ","")=="":
         a_crf="20"
     configwriter.setenv("animation_crf", a_crf)
-    printutf8(u"x264の圧縮率を設定してください(8/"+str(maxn)+")")
+    printutf8(u"x264の圧縮率を設定してください(10/"+str(maxn)+")")
     printutf8(u"x264のpresetの値です。標準だとmedium、小さければ小さいほど高圧縮になります")
     preset=getConf(useB,"/etc/rec10.conf","env","x264_preset","[4] : ")
     if preset.replace(" ","")=="":
         preset="4"
     configwriter.setenv("x264_preset", preset)
-    printutf8(u"保存するコンテナの設定(9/"+str(maxn)+")")
+    printutf8(u"保存するコンテナの設定(11/"+str(maxn)+")")
     printutf8(u"MP4を標準にしますか(もしくはMKVが使えます)")
     useMP4=raw_input("[y/N]:")
     if useMP4=="Y" or useMP4 == "y" :
@@ -162,7 +167,7 @@ def move():
     else:
         useMP4="0"
     configwriter.setenv("make_mp4", useMP4)
-    printutf8(u"TSファイルの自動削除(10/"+str(maxn)+")")
+    printutf8(u"TSファイルの自動削除(12/"+str(maxn)+")")
     printutf8(u"中間体のtsファイルを削除しますか")
     printutf8(u"(削除するとやり直しができないため残しておくことを推奨します。)")
     removeTS=raw_input("[y/N]:")
@@ -171,7 +176,7 @@ def move():
     else:
         removeTS="0"
     configwriter.setenv("remove_ts", removeTS)
-    printutf8(u"チャンネルの設定に入ります(11/"+str(maxn)+")")
+    printutf8(u"チャンネルの設定に入ります(13/"+str(maxn)+")")
     printutf8(u"rec10を設置する地域を選んでください。")
     printutf8(u"1:東京 2:神戸 3:名古屋 4:その他")
     ch=raw_input()
@@ -196,14 +201,14 @@ def move():
             printutf8(u"チャンネルの設定が必要です。")
             printutf8(u"chlist_sample_*を参考にchlist.xmlを作成した後に次のステップに進んでください。")
             time.sleep(5)
-    printutf8(u"BS放送は受信可能ですか?(12/"+str(maxn)+")")
+    printutf8(u"BS放送は受信可能ですか?(14/"+str(maxn)+")")
     bsok=raw_input("y/N:")
     if bsok=="Y" or bsok == "y" :
         bsok="1"
     else:
         bsok="0"
     configwriter.setenv("bs", bsok)
-    printutf8(u"CS放送(スカパーe2)は受信可能ですか?(13/"+str(maxn)+")")
+    printutf8(u"CS放送(スカパーe2)は受信可能ですか?(15/"+str(maxn)+")")
     csok=raw_input("y/N:")
     if csok=="Y" or csok == "y" :
         csok="1"
@@ -212,7 +217,7 @@ def move():
         csok="0"
     configwriter.setenv("cs", csok)
 
-    printutf8(u"自機識別オプション(14/"+str(maxn)+")")
+    printutf8(u"自機識別オプション(16/"+str(maxn)+")")
     printutf8(u"本rec10の識別名を入力してください")
     printutf8(u"複数台のrec10を運用する場合に効果的です。空白でもかまいません。")
     printutf8(u"例 kobe01")
index b673a94..916a900 100644 (file)
@@ -71,7 +71,7 @@ REC_AUTO_KEYWORD = "auto_keyword"
 REC_BAYES_SUGGEST ="bayes_suggest"
 
 version = 96
-version_str="0.9.6"
+version_str="0.9.8"
 def printutf8(unicode):
     str=unicode.encode('utf-8')
     print str
index 38409c5..acc2ebf 100644 (file)
@@ -191,6 +191,7 @@ def encode_ffmpeg_sar(pin,pout,size,is24fps,quality,crf,deinterlace=1):
     x264_bitrate="2500"
     x264_thread="auto"
     tsar=getMoviePAR(pin)
+    filter="-deinterlace"
     x264sar=str(tsar[0])+":"+str(tsar[1])
     if size == "HD":
         tsize=get_par_size(pin,720)
@@ -227,6 +228,13 @@ def encode_ffmpeg_sar(pin,pout,size,is24fps,quality,crf,deinterlace=1):
         s = "-s "+str(tsize[0])+"x720 "
         x264streamsize=str(tsize[0])+u"x720"
         x264_bitrate="2500"
+    if deinterlace==0:
+        tsize=getMovieBaseSize(pin)
+        fps=""
+        x264fps="30000/1001"
+        x264tune=x264tune+" --tff --nal-hrd vbr"
+        filter=""
+        x264streamsize=str(tsize[0])+u"x"+str(tsize[1])
     if quality==1:
         x264preset=u"ultrafast"
     elif quality==2:
@@ -246,7 +254,7 @@ def encode_ffmpeg_sar(pin,pout,size,is24fps,quality,crf,deinterlace=1):
     x264crf=str(crf)
     txt=""
     os.environ['LANG']="ja_JP.UTF-8"
-    exe=ffmpeg+u" -y -i \""+pin+"\" -vsync 400 -vcodec rawvideo -pix_fmt yuv420p "+s+fps+"-deinterlace -an -f rawvideo - | "
+    exe=ffmpeg+u" -y -i \""+pin+"\" -vsync 400 -vcodec rawvideo -pix_fmt yuv420p "+s+fps+" "+filter+" -an -f rawvideo - | "
     exe=exe+get_x264_commandline(x264preset, x264sar, x264fps, x264profile, x264tune, pout,"-", x264streamsize, crf=x264crf)
     #exe=exe+u" nice -n 19 "+x264+" "+x264_sar+" "+x264crf+u" "+x264_addline+u" --threads "+x264_thread+" "+x264profile+x264preset+" "+x264tune+" "+x264fps+" -o \""+pout+"\" - "+x264streamsize
     exe = "nice -n 19 " + exe