AviSynth のバックアップソース(No.18)

#norelated
#contents

* AviSynthとは? [#w8dd7152]

AviSynthとは何か?

AviSynthのオリジナル開発者Ben Rudiak-Gould氏は、自身のホームページ((Ben Rudiak-Gould氏のオリジナルサイトは、すでに存在しません。Donald Graft氏によるミラーサイト([[Ben Rudiak-Gould's Home Page:http://neuron2.net/www.math.berkeley.edu/benrg/index.html]])で読むことができます。))で、以下のように説明しています。

>[[Avisynth:http://neuron2.net/www.math.berkeley.edu/benrg/avisynth.html]]
>Avisynth is a scripting language and a collection of filters for simple non-linear editing tasks. Avisynth is unusual in that it does not generate output files. Instead, Avisynth scripts, which have the extension .AVS, can be opened directly in applications which read AVI files. When an AVS file is opened, Avisynth runs in the background, generating video and audio data according to the script and feeding it to the application as needed.
>(日本語訳)Avisynthは、スクリプト言語の一種であり、シンプルなノンリニア編集作業のためのフィルタの集合体である。Avisynthは、出力ファイルを生成しないという点においてユニークである。その代わりに、AVSという拡張子を持つAvisynthスクリプトは、AVIファイルを読み込むことができるアプリケーションで直接開くことができる。AVSファイルが開かれた時、Avisynthは、スクリプトによってビデオやオーディオデータを生成し、必要に応じてそれをアプリケーションにフィードしながら、バックグラウンドで動作する。~

この4つのセンテンスからなる文章には、AviSynthを理解する上での重要な情報が含まれています。以下、このページでは、このBen Rudiak-Gould氏の文章をもとに「AviSynthとは何か?」を説明します。

* AviSynthとは、スクリプト言語の一種 [#db6e0976]

>[[Avisynth:http://neuron2.net/www.math.berkeley.edu/benrg/avisynth.html]]
>Avisynth is a scripting language...(Avisynthは、スクリプト言語の一種であり...)

AviSynthは、[[JavaScript:http://yougo.ascii24.com/gh/14/001452.html]]や[[VBScript:http://yougo.ascii24.com/gh/31/003135.html]]などと同じく[[スクリプト言語:http://yougo.ascii24.com/gh/17/001765.html]]の一種で、おもに動画編集を目的として使用されます。

AviSynthでは、メモ帳などのテキストエディタにスクリプトを記述することによって、ビデオクリップやオーディオクリップを読み込んだり、それらのクリップに対しフィルタリングを行ったりします。

そのため、AviUtlやTMPGEncなどのGUI((参考: [[GUIとは 【グラフィカルユーザインターフェース】 (Graphical User Interface) ─ 意味・解説 : IT用語辞典 e-Words:http://e-words.jp/w/GUI.html]]))ベースの動画編集用のアプリケーションと比べると、最初は戸惑うこともあるかもしれません。ただし、JavaScriptやVBScriptと比較すると、AviSynthは、スクリプト言語としては簡単な部類に入ると言っていいでしょう。

* AviSynthとは、ノンリニア編集作業のためのフィルタの集合体 [#s8f93114]

>[[Avisynth:http://neuron2.net/www.math.berkeley.edu/benrg/avisynth.html]]
>Avisynth is ... a collection of filters for simple non-linear editing tasks.(Avisynthは、... シンプルなノンリニア編集作業のためのフィルタの集合体である。)

AviSynthには、ビデオやオーディオ用のフィルタが、多数内蔵されています。これらのフィルタを使って、シンプルな(しかしスクリプト言語ならではの柔軟な)ノンリニアビデオ編集((参考: [[ノンリニア・ビデオ編集(―へんしゅう。Non Linear Editing):RBB TODAY (ブロードバンド辞典):http://dictionary.rbbtoday.com/Details/term602.html]]))作業を行うことができます。

またプラグイン機能にも対応しており、さらに多くのフィルタを追加することも可能です。

* AviSynthは、出力ファイルを生成しない [#nf6af5cb]

>[[Avisynth:http://neuron2.net/www.math.berkeley.edu/benrg/avisynth.html]]
>Avisynth is unusual in that it does not generate output files.(それ(AviSynth)は、出力ファイルを生成しないという点においてユニークである。)

AviSynth自身はエンコーダ機能を持っていないため、単独で何らかのファイルを出力することはできません。必ず他のフロントエンドやコーデックと連携させて使用します。

* AviSynthスクリプトの拡張子は、AVS [#pe2b1746]

>[[Avisynth:http://neuron2.net/www.math.berkeley.edu/benrg/avisynth.html]]
>Avisynth scripts, which have the extension .AVS, ...(AVSという拡張子を持つAvisynthスクリプトは、...)

AviSynthスクリプトファイルの拡張子は、avsです。このため、AviSynthスクリプトファイルは、しばしばAVSファイルと呼ばれます。

* AVSファイルは、AVIに対応したアプリケーションで開ける [#j422117d]

>[[Avisynth:http://neuron2.net/www.math.berkeley.edu/benrg/avisynth.html]]
>Instead, Avisynth scripts ... can be opened directly in applications which read AVI files.(その代わりに、Avisynthスクリプト(中略)は、AVIファイルを読み込むことができるアプリケーションで直接開くことができる。)

AVSファイルは、「AVIファイルを読み込むことができる」多くの('''すべてのではない''')「アプリケーションで直接開くことができ」ます。

AVSファイルに対応していないアプリケーションでも、たとえばVFAPI対応アプリケーションであれば、[[AviSynth用VFAPIプラグイン]]をインストールすることによって、AVSファイルに対応させることができます。[[AviUtlでAVSファイルを開く]]ためには、[[入力プラグイン>avsinp.aui]]を利用することも可能です。

その他のAVS未対応のアプリケーションでも、[[AVSファイルの疑似AVI化]]によって、AVSファイルを開くことができるようになります。

* AviSynthとは、フレームサーバーである [#mf129bff]

>[[Avisynth:http://neuron2.net/www.math.berkeley.edu/benrg/avisynth.html]]
>... generating video and audio data according to the script and feeding it to the application as needed.(スクリプトによってビデオやオーディオデータを生成し、必要に応じてそれをアプリケーションにフィードしながら、...)

AviSynthは、フレームサーバーと呼ばれる種類のソフトウェアです。ビデオやオーディオとアプリケーションとの間の「橋渡し役」としての役割を果たします。

あなたが使用しているアプリケーションが対応していない形式の動画ファイルであっても、AviSynthを経由させることで開くことができるようになります((たとえば[[携帯動画変換君:http://www.nurs.or.jp/~calcium/3gpp/index.html]]では、WMV(Windows Media Video)などの未対応ファイルを開くために、AviSynthが利用されています。))。

* Avisynthは、バックグラウンドで動作する [#d82fdf41]

>[[Avisynth:http://neuron2.net/www.math.berkeley.edu/benrg/avisynth.html]]
>When an AVS file is opened, Avisynth runs in the background, ...(AVSファイルが開かれた時、Avisynthはバックグラウンドで動作する。)

フレームサーバーとしてのAviSynthは、バックグラウンドで動作します。

アプリケーションにとっては、あたかもAviSynthなど存在せず、ごく普通のAVIファイルを開いているかのように解釈されます。ユーザーも、何らかのエラーでも発生しないかぎり、AviSynthの存在を忘れてしまうかもしれません。