このページは、AviSynthを全く知らない人向けのAviSynth紹介ページです。
※AviSynthは、「動画編集」をある程度理解している人じゃないと理解するのは少し難しいので注意です
AviSynthとは?
AviSynthは、スクリプトで動作するフリーの動画編集ソフトです。(こういうソフトの事を”フレームサーバー”と呼ぶ)
読み方は、
- 「オーヴィーシンス」
- 「エイヴィーアイシンス」
- 「アーヴィーシンス」
のどれかです。
GUIが無いので、Linuxみたいに全てCUI(コマンド)で操作するような感じになります。(PC初心者にはかなり敷居が高い)
AviSynthで動画編集する流れ
AviSynthは、AviSynth単体では動作しません。
AviSynthに対応しているGUI付の動画編集ソフト(AviUtl・VirtualDub等)に、AviSynthのスクリプトを記述したファイル(.avs)を読みこませる事で、AviSynthの動画編集結果を表示・エンコードする事が可能となります。
AviSynthなら、AviSynthファイル(.avs)を読みこませる事で、”AviSynthで読み込み・編集した結果”を描画する事ができるようになります。
また、(この図を見たら分かると思いますが)AviSynthの編集結果をAviUtl・VirtualDubなどで更に編集する事も可能です。
簡単に一言でまとめると、「他の動画編集ソフトへの橋渡し的なソフト」と言えます。
AviSynthの特徴
主な特徴を列挙します。
- 無料
- 海外製
- スクリプトでしか動かす事が出来ないので非常に取っ付きにくい
- スクリプトで動画編集する必要があるため、直感で操作しにくい(「数値を弄る→動画編集ソフトに読み込ませる」という事を毎回やらないといけないので)
- サポートしている色空間はYV12(YUV420)/YUY2/RGB24/RGB32
- フィルタ・プラグインが非常に豊富
- 例えば「シャープ化」「インターレース解除」など
何が出来る?
一般的な動画編集ソフトで出来るような事が一通り出来ます。
例えば、
- インターレース解除
- 動画のリサイズ
- 動画のカット
- 動画の回転・反転
- 動画のアスペクト比変更
- 複数動画の結合
- 色調調整(明るさ・コントラスト・輝度等)
- シャープ化
- ノイズ除去
- ・・etc
など。
使うメリット・デメリットは?
メリット
以下メリットです。
- コマンドライン操作なので自動化に向いている
- エンコ速度向上
- 色変換の無駄処理削減
- AviSynthでは、指定した色変換でそのまま読み込むことが可能
- 例えばAviUtlでは、どのような動画も色空間をYC48(YUV444)として変換処理して扱うので、例えばYV12(YUV422)やRGBな動画を読み込んだ際には、無駄な色変換が生じる⇒速度が低下する
※具体的には、3時間とかある映画(地デジソース)なんかをエンコしたりすると、1時間くらい時間差が出たりする
- マルチスレッド対応
- 「マルチスレッド関数」なる関数があるので、ほとんどのフィルタをマルチスレッドで高速に処理する事ができる
※AviUtlの場合は、「フィルタ毎に誰かがマルチスレッド化する」みたいな感じなので、マルチスレッド非対応のものが割と有る
- 「マルチスレッド関数」なる関数があるので、ほとんどのフィルタをマルチスレッドで高速に処理する事ができる
- 色変換の無駄処理削減
- AviUtl・VirtualDubで読み込めないファイルでも、AviSynth経由でなら読み込めたりする
- 多種多様な動画の読み込みに対応している
デメリット
以下、デメリットです。
- スクリプトで記述しなければならないので使い方がややこしい
- 普通のスクリプト言語と違って、文法がめちゃくちゃだったりするので、覚えるのもかなり面倒くさい
- AviUtlに読み込む場合は、拡張編集の機能を使えない
- 読み込めるのはあくまで”AviUtl本体から”であって、”拡張編集から”ではないため
(参考:フィルタ順序) - なので実質、「フィルターを掛けてエンコードするのみ」な人以外にはあまり使うメリットがない
- 読み込めるのはあくまで”AviUtl本体から”であって、”拡張編集から”ではないため
どういう状況で使うのか
例えば、
- 毎回同じような設定でエンコするのが分かりきってるような場合
- 例えば、普通なら「インタレース解除」して「リサイズ」して「ノイズ除去」して~~などのフィルタ設定を、動画毎に設定しなければならないけど、AviSynthでスクリプトとして定義しておけば、そのよう作業を簡略化できる
- YUV422・YUV420などのソースな動画の場合
- エンコ時間の短縮
- AviSynthの高品質なフィルタが使いたい場合
- 例えば「インタレ解除」「ノイズ除去」等
という場合に使います。
導入方法
ダウンロードとインストール方法についての紹介です。
- こちらのページよりAviSynthのインストーラーをダウンロードする
- インストーラーを立ち上げる
- (後は指示通り「次へ」「次へ」と進めていくだけです)
以上で導入は終了です。
簡単な使い方(動画を読み込ませて表示)
動画をAviSynthで読み込ませる簡単なサンプルスクリプトについて紹介します。
これでAviSynth経由で、「test.mp4」というファイルが読み込まれます。
「Info()」という関数を挿入したことで、AviSynthの動画の入力情報が左上に表示されます。
使い方の流れとしてはこれが全てです。
- .avsファイルにスクリプトを書く
- AviUtl・VirtualDubにドラッグ&ドロップで読み込む
※なお、「DirectShowSource」という関数は、Directshowフィルタで動画を読む込む関数なので、パソコンにインストールしているDirectshowフィルタの数に左右されます。
なので、PC環境によって読み込めない動画が出てきます。
何でも読み込みたい場合は、ffdshow(32bit版じゃないとダメなので注意)などのコーデックパック(Directshowフィルタ)を入れておきましょう。
AviSynth単体で簡潔させたい場合は、バッチファイル(.bat)から、x264などのエンコーダーに直接コマンドを投げればOKです。
- 参考サイト:第伍話 avisynth bat出力編
その他
・Aji氏の「AviSynth Script エクスポート」というプラグインを使用すれば、AviUtlの編集結果をAviSynthのスクリプトファイル(.avs)として出力する事が可能。
- 配布ページ:AviUtlプラグイン置き場
参考になるサイト
AviSynthの詳しい使い方などについては以下のサイトが非常に参考になります。
このページの情報は以上です。
次ページ:AviSynthの使い方と設定方法②(まだ書いてません)
コメント
上の説明でAviSynth経由でmp4を読み込んでいますが、どうやって読み込んでいるんですか?