f:id:daybreakdeath-03:20180225122613p:plain

第肆話 avisynth スクリプトとフィルタ2

この記事をシェアする

スポンサーリンク

前回は、AvsPの導入と、MTmodeを使用できるように準備しました

今回は、1つ1つフィルタについて説明しようと思います

尚、フィルタの数はたくさんありすぎるので、ここでは私が使用しているフィルタしか説明しません

ですので、なんでそんなの使ってんの?とか言わないでくださいね♪
泣いちゃいますので(笑)

第陸話 avisynth 複数のavsをまとめてbat処理編
第伍話 avisynth bat出力編
avisynth バンディング低減フィルタ GradFunkMirror
第肆話 avisynth スクリプトとフィルタ2
第参話 avisynth スクリプトとフィルタ1
第弐話 avisynth エンコードの流れ編
第壱話 avisynth 導入編
序章 avisynthを使用したCLIエンコード

==== ◎使用フィルタ     フィルタリンク先⇒avisynth-wiki

フィルタ名 説明
Trim エンコードする範囲を指定する。標準装備です
EraseLOGO ロゴ除去や付加したり出来る。要aviutlの透過性ロゴの解析データが必要
DeDot ドット妨害低減+クロスカラー除去
TIVTC24P2 インタレ解除+逆テレシネ EEDI2.dll、TDeint.dll、TIVTC.dllの3つを使用します要関数
AutoDeint インタレ解除のみする場合に使用
its VFR化するためのもの。フレームレートが変化するアニメで使用
別途defファイル必要
crop 画面端の黒ブチをクロップします
Spline36Resize 若干シャープに仕上がるリサイズフィルタ
FFT3DGPU GPUを使用した高性能なノイズ除去。ただしMTが使えない
msharpen ノイズを増幅せずに、重要なエッジをシャープにする
UnsharpMask ボケている映像を鮮明にクッキリさせる
WarpSharp 輪郭などをすっきりさせる
ConvertToYUY2 色空間をYUY2に変換する
ConvertToYV12 色空間をYV12に変換する
GradFunkMirror GradFunk2dbを改造したバンディング低減フィルタ。要関数
GradFun2DBmod GradFunkMirrorを改造したバンディング低減フィルタ
かなり重いが効果抜群! 要関数



では1つずつ説明していきたいと思います

・Trim
このフィルタはCMカットを行います。エンコードしたい範囲のみをavsに記述してください
一番簡単なのはaviutlにtrimエクスポートをインストールし、aviutlでCMカット
その後、ファイル→エクスポート→trimを行なえば、クリップボードにコピーできていますので
avsに貼り付ければOKです
---------------------------------------------------------------------------------
記述例
Trim(481,4312)++Trim(6414,22746)++Trim(24546,46932)
---------------------------------------------------------------------------------
※++は範囲をつなげる為の記述です


・EraseLOGO
ロゴ除去したり付加したり出来るフィルタ aviutlでロゴ解析したデータが必要です 要delogo.dll
---------------------------------------------------------------------------------
書式
EraseLOGO(logofile="ロゴファイルパス", pos_x=0, pos_y=0, depth=透明度,
yc_y=0, yc_u=0, yc_v=0, start=開始フレーム, fadein=フェードインフレーム数,
fadeout=フェードアウトフレーム数, end=終了フレーム, interlaced=true)

記述例
EraseLOGO(logofile="C:Program FilesAviSynth 2.5pluginsMX.lgd",
pos_x=0, pos_y=0, depth=131,yc_y=0, yc_u=0, yc_v=0,
start=0, fadein=0, fadeout=0, end=-1,interlaced=true)
---------------------------------------------------------------------------------


・DeDot
ドット妨害を除去したりクロスカラーを軽減します
最近は放送画質も綺麗になってきたのでほとんど使用していません
---------------------------------------------------------------------------------
書式
DeDot(輝度2D,輝度時間軸,色差時間軸1,色差時間軸2)

記述例
DeDot(10,40,40,0)
---------------------------------------------------------------------------------


・TIVTC24P2
インタレ解除+逆テレシネを行います。誤爆も少なく一番オススメの逆テレシネです
このフィルタはEDI2.dll、TDeint.dll、TIVTC.dllの3つを組み合わせ関数を記述し使用します
EDI2.dll、TDeint.dll、TIVTC.dllをavisynthのプラグインフォルダに入れておきましょう
---------------------------------------------------------------------------------
記述例
TIVTC24P2()

関数
function TIVTC24P2(clip clip){
Interp = clip.AssumeTFF().SeparateFields().SelectEven().EEDI2(field=1)
Deinted=clip.TDeint(order=1,field=1,edeint=Interp)
clip = clip.TFM(mode=6,order=1,PP=7,slow=2,mChroma=true,clip2=Deinted)
clip = clip.TDecimate(mode=1)
return clip
}
※関数は最後に記述するreturn lastより後に記述してください
---------------------------------------------------------------------------------


・AutoDeint
インタレ解除のみする場合にだけ使用しています。30fpsのままインタレ解除のみ実施します
要warpsharp.dll
---------------------------------------------------------------------------------
記述例
AutoDeint("blend")

引数
""で自動。"blend"で二重化です
---------------------------------------------------------------------------------


・its
VFR化。24fpsと30fpsが混合する場合に使用します。当然60fpsにも使えます
its.dllと、別途Defファイルを用意する必要があります
最後にDtsEditというものを使い、Defファイルを元に作成される.tmcファイルを
出来上がったmp4ファイルに適用させます。そうすることでvfr処理が施されます
※itsでTIVTC24P2を使用した後に、再度フレームレートを変更する処理をした場合、アウトプットがおかしくなることがあるようなので、its処理後はフレームレートを変更しないでください
---------------------------------------------------------------------------------
記述例
its(def="J:animeencodedef.def", fps=-1, output="enc1.tmc")

Defファイル記述例
set [24] tivtc = 'TIVTC24P2()'
set [30] adeint = 'AutoDeint()'
set [60] tdeint = 'tdeint(mode=1)'
default 24 = tivtc
default 30 = adeint
default 60 = tdeint
0-3831[24]: tivtc
3832-4304[60]: tdeint
4305-42551[24]: tivtc
mode fps_adjust = on

DtsEditとbatファイルの中身
DtsEdit.exeと同じ場所にbatファイルを作成し、以下を記述します
dtsedit -tc "tmcファイルのフルパス" "作成したmp4ファイルのフルパス" -o "出力先の指定"
ping localhost -n 6 >nul
echo .
echo .
---------------------------------------------------------------------------------


・crop
特に説明要らないですね。普通のクロップです
---------------------------------------------------------------------------------
書式
crop(0,0,-0,-0)
※左クロップ,上クロップ,右クロップ,下クロップと対応
---------------------------------------------------------------------------------


・Spline36Resize
これも特に説明要らないですね。リサイズフィルタです
---------------------------------------------------------------------------------
書式
Spline36Resize(0,0,0,0,-0,-0)
※左から、横サイズ,縦サイズ,左クロップ,上クロップ,右クロップ,下クロップと対応
私はcropフィルタを使うので、Spline36Resizeではクロップの指定はしてないです

---------------------------------------------------------------------------------


・FFT3DGPU
GPUを使用した高性能なノイズ除去。ただしMTが使えない
強力なので強く設定しすぎるとかなりノッペリしてしまうので注意
ノイズが多い作品はどうしても処理が重くなる
---------------------------------------------------------------------------------
記述例
FFT3DGPU(sigma=1.5 ,beta=1 ,plane=1 ,bw=16 ,bh=16 ,ow=8 ,oh=8 ,bt=4 ,mode=0 ,interlaced=false ,wintype=1 )

sigmaとbetaはなるべく近い値で設定(調整が難しいのでとりあえずこれぐらいにしてある)
bw、bhはblockwideとブロックの高さ設定。4の倍数で指定する必要がある(4,8,16,32,64,128,256,512)
ow,ohはブロックの間のオーバラップの大きさ設定。bw,bhの半分を指定すればいいと思う
wintypeはノイズ除去の強さ(強 0 > 1 > 2 弱)
ノイズが多いソースはmode=0でないと速度が遅くなる
---------------------------------------------------------------------------------


・msharpen
ノイズを増幅せずに、重要なエッジをシャープにするフィルタです
aviutlではノイズが増幅してしまうのでぼかしを追加していましたがこれでは必要ないです
---------------------------------------------------------------------------------
記述例
msharpen(threshold=10, strength=40, mask=false)
左から闘値、強さ、maskするかどうかです
---------------------------------------------------------------------------------


・UnsharpMask
ボケている映像を鮮明にクッキリさせる
---------------------------------------------------------------------------------
記述例
UnsharpMask(26,8,44)
左から強さ、ぼかす処理の範囲、閾値
---------------------------------------------------------------------------------


・WarpSharp
輪郭などをすっきりさせる
---------------------------------------------------------------------------------
記述例
WarpSharp(95,3,85,0)
左からワープの深度、凹凸をぼかす回数、凹凸検出時の閾値、三次補間の係数
※凹凸をぼかす回数は最低1回はやる必要がある
---------------------------------------------------------------------------------


・ConvertToYUY2
・ConvertToyv12
色空間をYUY2に変換する
色空間をYV12に変換する
記述が一緒なので、一緒に説明します
---------------------------------------------------------------------------------
書式
ConvertToYV12 (clip [, string "matrix"] [, bool "interlaced"])

matrixはRGB<->YUV変換において使用される色係数と倍率を制御します
"Rec601" : ITU-R BT.601 係数を使用。TV スケール [16,235] に圧縮される
"PC.601" : ITU-R BT.601 係数を使用。フルスケール*1 [0,255] を保持する
"Rec709" : ITU-R BT.709 係数を使用。TV スケールに圧縮される
"PC.709" : ITU-R BT.709 係数を使用。フルスケールを保持する

interlacedは使用する段階でソースがインタレかプログレかで指定が変わってきます
インタレの時に使用するなら"true" プログレの時に使用するなら"false"です
---------------------------------------------------------------------------------


・GradFunkMirroravisynth バンディング低減フィルタ GradFunkMirror
・GradFun2DBmod
この2つについてはいろいろ長くなると思うので、別に紹介します