にわとり遊び
PC関連とエンコードの覚書き
スポンサーサイト
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

類似画像の処分ソフト
エロ画像をまとめてダウンロードしてたら、同じのが結構混じってた。
そんなわけでファイル整理をしようと思ってフリーソフトを探したら良いのがあったのでメモ。

類似画像検出ソフト DRE
http://www.windproject.sakura.ne.jp/thisnor/dre/

複数フォルダの一括処理、比較条件の設定可能、削除前にプレビュー可能、削除ファイルの条件も細かく指定できて一括削除可能。しかも高速。これさえあれば言うことないってくらい素晴らしいソフト。
スポンサーサイト
DupMC2Def用解析avsの一案
Trim等の編集なしでReduceFlicker(strength=3)とするとcombed_logのフレーム数がズレるので、
ReduceFlickerを使う場合、strengthは1か2にしてください。


放送波のデータをそのままDupMCに渡すと、どうしてもノイズを拾ってしまうので
やはり何らかの手段でノイズを抑える必要がありますね。
まだ試行錯誤中ですが、こんな感じかなあ。


MPEG2source("datafile.d2v")
Import("trim.avs")
writefilestart("combed_log.txt", """ "header" """)
writefile("combed_log.txt", "current_frame", """ "," """, "IsCombedTIVTC(MI=160,blockx=32,blocky=16)")
Bob()
PointResize(1280,720)
#PointResize(720,480,190,10,1060,1060)#SD用
ReduceFlicker(strength=2)
Blur(1.0).Blur(1.0).Blur(1.0)
DupMC(log="dupmc_log.txt")



リサイズの画質は全く問題ではないので、一番早いPointRsizeを使用。
ノイズに関してもとにかく単純にBlurでぼかす。加減は適当だけど、多分このくらいでいいかと。
ReduceFlickerは主に字幕のガタつき軽減用。
SD物は縁にドット妨害などがよく出るので、リサイズ時に余分にクロップしておく。
mp4のプロファイルレベル変更
ググッてもぱっと出てこないので、とりあえず忘れた時のためにメモ。

mp4でプロファイルレベルだけを書き換える場合は、mp4boxを使えば簡単にできる。

mp4box.exe -add "入力ファイル.mp4":level=42 -new "出力ファイル.mp4"

意味があるかどうかはわからないけど、
VFRの場合1080/60pが含まれていてもlevel4.0になってしまうのがちょっと気持ち悪かったので。
時刻表示で誤爆する場合の対処法 (塗りつぶし)
blank=BlankClip(width=200,height=90)
Overlay(blank,x=120,y=80,opacity=1)

Avisynthのフィルタを使って時刻の部分だけを塗りつぶす。

20111106022404.png20111106022356.png
かんたん。
調整するときはopacity=0.5とかにして、透明にしてやるとわかりやすい。
DeDupを使った自動VFR DupMC2Def
★仕様が変わったので、ここに書いてある事はあんまり参考にしないでください。
使い方はreadme.txtの中に書いてあります。

DupMC2Def


・DupMC2Def
DupMCのログを入力すると、同じ場所にIts用のdefファイルを出力する。
使用例:DupMC2Def.exe "C:\dupmc_log.txt"

・DeDup
http://www.avisynth.info/?%A4%BD%A4%CE%C2%BE%A4%CE%A5%D7%A5%E9%A5%B0%A5%A4%A5%F3#o4cd9a6e
DupMC 隣接するフレームを比較してログを出力するフィルタ。

このログを利用してフレームレートの判定を行う。
DupMCを使う前にbob化が必須です。

1pass avsサンプル
LoadPlugin("ReduceFlicker.dll")
LoadPlugin("DeDup.dll")
MPEG2source("datafile.d2v")
Trim(0,100)
Bob().ReduceFlicker(strength=3)
FFT3DGPU(sigma=8,plane=0)
FFT3DGPU(sigma=8,plane=3)
DupMC(log="dupmc_log.txt")


放送波の場合、シーンチェンジ前後などでノイズが出るので、それを拾って60pと誤爆するケースが多い。
そのノイズ緩和の目的でFFT3DGPUを使う。
使わなくても60pの箇所が増えるだけなので、動きの面では特に問題ないはず。
どちらにしろ、酷いブロックノイズが出た場合はどうしようもない。

DGIndexNVを使える場合は使った方が早い。ついでにcropやリサイズをすると一石二鳥。
なお、この場合ソース入力の時点でbob化を行うのでTrim値がそのまま使えず、
ちょっと補正が必要。(このへん適当

1pass avsサンプル(DGNV) *BSアニマックスではCMでズレが出るので注意
LoadPlugin("ReduceFlicker.dll")
LoadPlugin("DeDup.dll")
DGSource("datafile.dgi", deinterlace=2, resize_w=1280, resize_h=720)
DeleteFrame(0)
Trim(0*2,100*2+1)
ReduceFlicker(strength=3)
FFT3DGPU(sigma=8,plane=0)
FFT3DGPU(sigma=8,plane=3)
DupMC(log="dupmc_log.txt")

ロゴ消し
BSアニマックスはCM前後のロゴ無し区間が長く、ロゴ消しフィルターを据え置きで使うと反転ロゴがかなり目立つ。
いちいちフレーム番号をコピペするのは面倒なので、楽をするためにちょっと、スクリプトってほどのもんじゃないが、書いてみた。
これでかなりの手間が省ける。せっかくだからTBSにも使ってみよう。

c1=Trim(1558,6203)
c2=Trim(7102,23765)
c3=Trim(24814,46121)
c4=Trim(48070,49059)

a_end=c1.framecount()-150
b_end=c2.framecount()-150
c_end=c3.framecount()-150
d_end=c4.framecount()-150
a=c1.EraseLOGO(logofile="D:\Movie\logo\BSANIMAX_1440x1080.lgd", start=150, fadein=30, fadeout=30, end=a_end)
b=c2.EraseLOGO(logofile="D:\Movie\logo\BSANIMAX_1440x1080.lgd", start=150, fadein=30, fadeout=30, end=b_end)
c=c3.EraseLOGO(logofile="D:\Movie\logo\BSANIMAX_1440x1080.lgd", start=150, fadein=30, fadeout=30, end=c_end)
d=c4.EraseLOGO(logofile="D:\Movie\logo\BSANIMAX_1440x1080.lgd", start=150, fadein=30, fadeout=30, end=d_end)
a++b++c++d



上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。