Avisynthの使い方


※上記の広告は60日以上更新のないWIKIに表示されています。更新することで広告が下部へ移動します。

Avisynthスクリプトファイルの作り方

フォルダで右クリックをして[新規作成]→[テキスト ドキュメント]からテキストファイルを作成
拡張子を[.avs]に変更
この[xxx.avs]ファイルをメモ帳やテキストエディタで開きスクリプトを記述していく

プラグインの追加の仕方

使いたいプラグインが必要とするdllやhlslをAvisynthのインストールフォルダの[plugins]フォルダに入れる

Avisynthスクリプトの記述の仕方

基本的に
フィルタ名(パラメーター)
という風に記述します

avsファイルの一例

avsここから

#タイトル
#読み込み
MPEG2Source("作成したd2vファイル.d2v")

#カット
Trim(5684,8367) #OP

#インターレース解除
mt("""TIVTC24P2()""",4,3)

#ロゴ透過
EraseLOGO("D:\Encode\Logo\lgdファイルr.lgd",logoname="logo名",start=0,fadein=0,fadeout=0,end=-1,interlaced=true)

#クロップ
&リサイズ
LanczosResize(1440,1080,4,2,-4,-10,2)

#ノイズ除去
GPU_Begin()
GPU_2DCleanFake(16)
GPU_Convolution3D(preset="animeHQ")
GPU_End()
FFT3DGPU(sigma=2,beta=1,plane=0,bw=32,bh=32,ow=16,oh=16,bt=3,mode=2,sharpen=0, interlaced=false,NVPerf=false,wintype=0,precision=0)
FFT3DGPU(sigma=2,beta=1,plane=1,bw=32,bh=32,ow=16,oh=16,bt=3,mode=2,sharpen=0, interlaced=false,NVPerf=false,wintype=0,precision=0)

#シャープ化
mt("""WarpSharp(128,2,80,-0.6)""",4,2)

return last

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
}

avsここまで


各行解説

#タイトル

タイトル、#より右側はコメントとなり好きなことを書き込んでもスクリプトに影響しない

MPEG2Source("作成したd2vファイル.d2v")

必要dll:MPEG2Dec3.dll
動画ファイルを読み込むプラグインです
パスはavsからの相対パスまたは絶対パスで指定する

Trim(5684,8367)

CMカット、Avisynth内臓のフィルタなので追加dllは必要ありません
例ではOPを抜き出しているので上記のようになっていますが
OP+本編+EDなどを切り抜いた場合は
Trim(918,4363)++Trim(6462,24383)++Trim(27082,44972)++Trim(46772,49917)++Trim(50218,51112)
のようになります
カットの仕方はCMカット

EraseLOGO("D:\Encode\Logo\lgdファイルr.lgd",logoname="logo名",start=0,fadein=0,fadeout=0,end=-1,interlaced=true)

必要dll:delogo.dll
右上のロゴの透過です
ロゴ透過の仕方はロゴ透過
ちょっと調査中

TIVTC24P2()

必要dll:EEDI2.dll・TDeint.dll・TIVTC.dll
インターレース解除+逆テレシネ
簡単に言うと縞々の除去
詳しく説明すると・・・^^;
return lastの後の
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
}
がTIVTC24P2の関数

mt("""   """,4,3)

Multi-Threadedサポート

LanczosResize(1440,1080,4,2,-4,-10,2)

クロップ&リサイズ、Avisynth内臓のフィルタなので追加dllは必要ありません
パラメーターの意味は
LanczosResize(横のサイズ,縦のサイズ,左クロップ,上クロップ,右クロップ,下クロップ,?)
クロップは2ずつ、かつ左右のクロップはふたつ合わせて4の倍数ずつ

GPU_Begin()

GPU_End()

必要dll:_GPU25.dll
_GPU25パッケージのプラグインを使うときはこのBeginとEndの間に記述する
グラフィックが対応していないと使えない
うちの環境↓では使えた
Windows 7 Pro 64bit
DirectX 11
Radeon HD 5850

GPU_2DCleanFake(16)

必要hlsl:2DCleanFake.hlsl
2DCleanの改造版(?)
()の値を増やせばどんどん強力にノイズを取るが塗りつぶしているだけなのでかけすぎに注意

GPU_Convolution3D(preset="animeHQ")

必要hlsl:Convolution3D.hlsl
Convolution3DのGPU版プラグイン
アニメ用のプリセットが用意されてある
アニメに関するものは
animeHQ→ハイクオリティなアニメ、薄いフィルタ
animeLQ→ロークオリティなアニメ、ちょっと濃いフィルタ
animeBQ→バッドクオリティなアニメ、濃いフィルタ

FFT3DGPU(sigma=2,beta=1,plane=0,bw=32,bh=32,ow=16,oh=16,bt=3,mode=2,sharpen=0, interlaced=false,NVPerf=false,wintype=0,precision=0)

FFT3DGPU(sigma=2,beta=1,plane=1,bw=32,bh=32,ow=16,oh=16,bt=3,mode=2,sharpen=0, interlaced=false,NVPerf=false,wintype=0,precision=0)

必要dll・hlsl:FFT3dGPU.dll・fft3dgpu.hlsl
FFT3dのGPU版プラグイン
modeの値を0にすると動画が緑色になる不具合がある
一回目でplane=0、二回目でplane=1をかけることで速度をほとんど落とさずノイズリダクションもかけることができるらしい
参考:FFT3DGPUを二重に使ってみる

WarpSharp(depth=128,blur=2,bump=80,cubic=-0.6)

必要dll:warpsharp.dll
シャープネスプラグイン、輪郭をくっきりさせる
depthとbumpの数値を上げてシャープネスの強さを調節するがbumpよりdepthをいじったほうがいいらしい
かけすぎに注意

return last

スクリプトの終了

記述の順番

ひとつのフレームに対して上から順にフィルターをかけていくので記述の順番にも気を使う必要がある
たとえば大きな画像に対してノイズフィルターをかけてリサイズするのとリサイズして小さくした画像にノイズフィルターを書けるのではエンコードの時間が大きく変わる