AviSynth+ 64bitのMT版とおすすめフィルタとAvsPmodをインストールする

2017年3月28日

高速に動作する動画フィルタリングツール、AviSynthの派生版であるAvisynth+を紹介します。64bit化+MT版があり、本家よりも高速に動作します。64bit化に対応するフィルタも多数公開されています。

スポンサーリンク

AviSynth+をダウンロードする

以下のダウンロードサイトから、2つのファイルをダウンロードします。32bit/64bit共用です。

なお今回の記事ではWindows 10 64bit版を想定しており、AviSynth+ 64bit版をインストールする前提ですが、32bit版も一緒にインストールします。連携するツールによっては32bit版が必要になるためです。

上記サイトから、以下の2ファイルをダウンロードしてください。

  • Stable Release : Installer
  • Development branch : Binaries(最新版)

2つダウンロードする理由は、Development branchのバイナリはインストーラを持たず、Stable Releaseでインストールしたファイルの一部を手動で上書きして使用するためです。

Stable Releaseをインストールする

ダウンロードしたファイルは.exe形式のインストーラーですのでこれを実行します。

言語は日本語になっていると思いますのでそのままで進めます。

インストール先の指定は通常そのままでOKです。

コンポーネントの選択も基本的には変更する必要はありません。

そのまま進めればインストールが完了します。これでまずはベースとなるStable Releaseがインストールできました。次はこの上に最新のDevelopment branch(以下 開発版)を上書きします。

Development branch(開発版)を上書きインストールする

開発版のバイナリは、7z形式の圧縮ファイルです。7-ZipやWinRarなど対応するアーカイバで開くなり、どこかに解凍するなりしておいてください。

x64フォルダ内

  • plugins64+フォルダをC:¥Program Files (x86)¥AviSynth+に上書きコピー
  • system¥DeviL.dllC:¥Windows¥System32に上書きコピー(画像処理用)
  • AviSynth.dllC:¥Windows¥System32に上書きコピー

x86フォルダ内

  • plugins64+フォルダをC:¥Program Files (x86)¥AviSynth+に上書きコピー
  • system¥DeviL.dllC:¥Windows¥SysWOW64に上書きコピー(画像処理用)
  • AviSynth.dllC:¥Windows¥SysWOW64に上書きコピー

一見するとx64とx86のコピー先が逆に思えますが、過去のバージョンからずっとreadme.txtに上記の通り書いてありますし、実際これで正しく使用できます。

おすすめフィルタを導入する

有名、必須、おすすめのフィルタを紹介します。組み合わせて使うものや、定番関数で使用されているため必須というものまで色々です。

※これらは次回の記事で使用予定のフィルタです。

下記のAviSynth+ x64 pluginsからダウンロードできます。基本的に64bit版はC:¥Program Files (x86)¥AviSynth+内のplugins64+フォルダへ、32bit版はplugins+フォルダへコピーして使用します。

フィルタ名 説明
Delogo 放送局などのロゴを消去(別途ロゴファイルが必要 / AviUtlで作成可能)
FFT3DFilter ノイズ除去(libfftw3f-3.dll必須)
hqdn3d ノイズ除去
LSFmod シャープ化(avsiファイル)
LSMASHSource L-SMASHによる他形式ファイル読み込み
MaskTools2 マスク(LSFmodに必要)
nnedi3 インターレース解除 / リサイズ
RgTools グレインノイズ除去(LSFmodに必要)
TDeint インターレース解除
TIVTC 逆テレシネ(TIVTC24P2で使用)
TMM2 マスク(TDeintで使用可能)
VSFilterMod 字幕処理
WarpSharp シャープ化、ほか多数(LSFmodに必要)
yadifmod2 高速インターレース解除

AvsPmod 64bit版をインストールする

AviSynth及びAviSynth+には独自のGUIがありませんが、有志によってGUI(というかプレビュー付きのエディタ)であるAvsPmodが公開されています。

実はAviUtlでも.avsファイルを読み込んで表示できますが、リアルタイムに編集 / プレビューできません。

ただし公式から入手できるものは古く、32bit版しかありませんので、以下から64bitの最新版を入手します。

こちらは7z形式の圧縮ファイルで、AvsPmodというフォルダが格納されています。こちらを適当なフォルダに解凍して、中にあるAvsPmod.exeファイルを実行して起動します。ショートカットを作っておくと便利です。

起動後は、言語設定を日本語に変更しましょう。

画像は、既に日本語に変更済みの状態です。その他、フォントやテーマの設定もできますので好みの設定に変更しましょう。

私の環境では以下のようになっています。Myrica Mというプログラミングフォントを使用しています。

表示 / 非表示を切り替えられるプレビューで効果を確認しながらスクリプトを書くことができ、大変便利です。簡単なカット編集ならAvsPmodだけで行えるほど高機能です。

プラグラミング向けエディタやIDE(統合開発環境)にあるようなオートコンプリート機能もあり、入力途中で候補を絞り込みながら表示してくれます。

慣れ親しんだエディタで書いても良いのですが、やはりプレビューがあると効率が良いですね。

サンプルスクリプトで動作テスト

適当な動画ファイルを使って簡単なスクリプトを動かし、フィルタの効果を確認します。

本来はx264やx265、QSVEncCやNVEncC、またはFFmpegやAviUtlなどの外部ツールにスクリプトを渡してエンコードするまで結果の確認はできませんが、AvsPmodを使えば編集後 即座に確認することができます。

以下のスクリプトをコピーして、AvsPmodのエディタに貼り付けてください。

avsource = "***動画ファイルのパス***"

LWLibavVideoSource(avsource)
AudioDub(last, LWLibavAudioSource(avsource, av_sync=true))

Spline36Resize(854, 480)

Turn180()

return last

avsourceという変数には、読み込む動画ファイルのパスを記述してください。

例:avsource = "C:¥Users¥username¥マイ ビデオ¥video01.mp4"

読み込みにLSMASHSourceを使っており、ほぼあらゆる形式の動画も読み込むことが出来ます。ただし副産物として初回読み込み時にインデックスファイルがつくられ、これが長い動画だと結構時間がかかります。

同じく多くの形式を読み込むことができ、インデックスファイルが不要なDirectShowSourceで読み込む手もあります。ただし他の方法に比べてやや信頼性に欠けます。

Spline36Resizeでは、動画を854x480pxにリサイズしています。AviUtlのリサイズフィルタでおなじみのSpline36というアルゴリズムで綺麗にリサイズできます。

Turn180は、画面を180度回転します。つまり上下が反転した状態になります。

ここまで入力できた状態で適当にファイル名を付けて保存し、画面左下のプレビューボタンをクリックします。

指定したサイズにリサイズされつつ、上下が反転した状態でプレビューが表示されれば成功です。

なおスクリプト内に#を書くと、それ以降は行末までコメントとみなされます。例えばTurn180の行をコメントアウトしたりして、効果を確認してみてください。

ファイルの読み込みやフィルタ処理に失敗すると、プレビューには黒背景に赤文字のエラーが表示されます。
エラー内容は様々ですので、エラーメッセージでググってみてください。

フィルタの順序には意味がある

元の動画ファイルが854x480pxより大きいと仮定して考えてみます。

上記スクリプトのリサイズ処理と上下反転処理の順序を逆にすると、少しだけ効率が悪くなります。
画質は変わりませんが、処理速度が若干落ちることになるのです。

これは上下反転の処理を、画像が大きい状態で行うか、小さくしてから行うかという違いがあるためです。

※リサイズの処理は、上下が反転していようがいまいが同じサイズを処理するため、変化はありません。

こうした処理順による効率の変化はAviUtlのフィルタ順でもおなじみのものですが、これが正解!という答えはありません。ソースによりますし、前後の処理内容によりますし、画質と速度のどちらをとるかにもよります。

自分がよく使うソースやフィルタ処理に合わせて、さらに画質と速度のバランスも考えて、「自分的な正解」を追求するのもAviSynthの魅力的な奥深さです。

実際にどう活用するのか

最初はAvsPmodで色々なフィルタ効果をプレビューして遊んでいるだけでも楽しいものです。

しかしAviSynth及びAviSynth+の真の価値は、「定型化」と「自動化」による「省力化」と「高速化」です。
もちろん「高画質化」も大きな価値の一つですが、それはスクリプトの出来次第です。

GUIで毎回ボタンをポチポチ、設定を開いたり閉じたり、進んだり戻ったりしているよりも随分効率的です。

次回の記事では実際にバッチファイルを書いて、フィルタリングとエンコードを一括処理する仕組みを構築してみたいと思います。

2017年3月28日