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
スクリプトの終了
記述の順番
ひとつのフレームに対して上から順にフィルターをかけていくので記述の順番にも気を使う必要がある
たとえば大きな画像に対してノイズフィルターをかけてリサイズするのとリサイズして小さくした画像にノイズフィルターを書けるのではエンコードの時間が大きく変わる
最終更新:2010年12月13日 17:45