AviSynth入門/AVSファイルの作成 のバックアップ差分(No.7)


  • 追加された行はこの色です。
  • 削除された行はこの色です。
#contents

* はじめに [#f2e6c77f]

AviSynthはスクリプト言語です。スクリプトを記述することによって、ビデオクリップを開いたり、そのクリップにフィルタをかけたりすることができます。

では、AviSynthスクリプトファイル(以下、AVSファイル)は、どのように作成すればよいのでしょうか。このページでは、AVSファイルの作成の流れについて見ていくことにします。

ただし、あらかじめお断りしておくと、AVSファイルの作成手順自体は、テキストエディタで文章を作成するのと何らかわりがありません。スクリプト言語というものに触れたことがない人も、おそれることなくAVSファイルの作成に挑戦してみてください。

* AVSファイル作成の手段 [#e00b9e93]

AVSファイルを作成するための手段としては、大きく分けて、以下の2つが考えられます。

-自分でスクリプトを書く。
-関連ソフトウェアが自動生成するスクリプトを利用する。

AviSynth関連ソフトウェアの中には、GordianKnotやMeGUIのように、AVSファイルを自動で生成してくれるものもあります。このようなソフトウェアを使っている人の中には、AviSynthは利用しているものの、その中身についてはよくわからないという人もいるかもしれません。

しかしながら、AviSynth入門では、基本的にこれらのソフトウェアについて取り扱う予定はありません((当然ながら、これらのソフトウェアを使ったエンコード手順やテクニックなども取り扱いません。))。AviSynth入門では、前者の「自分でスクリプトを書く」ために必要な知識を紹介し、これまで(AviSynthを含む)スクリプト言語に触れたことがない読者でも、1からスクリプトを作成できるようになることを目標としています。

* AVSファイル作成の流れ [#m94ac160]

** 1.メモ帳を開く [#j5be6153]

今回は、メモ帳を使ってAVSファイルを作成することにします。メモ帳以外のテキストエディタや、後の回で紹介するVirtualDubModのAviSynth専用スクリプトエディタなどを使用することもできます((テキストエディタ(メモ帳含む)で保存するときには、保存時の文字コードに注意する必要があります。文字コードに関しては、AviSynthスクリプトと文字コードを参照))。どれを使うかは好みによりますが、長く複雑なスクリプトでないかぎり、メモ帳で事足りる場合が多いでしょう。

では、まずメモ帳を起動してください。

#ref(notpad_open.png)

メモ帳は、[スタート] > [すべてのプログラム] > [アクセサリ] > [メモ帳] から起動することができます。

** 2.スクリプトを記述 [#ve17cccb]

#ref(notepad_write_blankclip.png)

メモ帳を開いたら、上図のように

#code{{
BlankClip()
}}

と記述してください。スクリプトを記述する際には、以下の点に注意してください。

-誤字脱字。
-半角文字を使用すること。

*** 注意点1: 誤字脱字 [#n32a6659]
ただし、半角文字と言っても、AviSynthでは、すべての半角文字が使えるわけではありません。また、一部、全角文字が使用できる場合もあります。詳しくは、AviSynth入門/スクリプト作成時の注意で解説します。

「B」を「V」と記述したり、「()」(丸括弧)のどちらか一方が欠けていたりすると、エラーが発生します。''たった1文字間違えただけでも動作しません''。ですから、誤字脱字には、くれぐれも注意してください。

ただし、''AviSynthでは大文字と小文字の区別がありません''。ですから、

#code{{
bLAnkcLiP()
}}

と書いても、結果はまったく同じです。しかしながら、最低限、スクリプトが見づらくならないように気をつける必要はあるでしょう。

*** 注意点2: AviSynthで使用できる文字 [#gf5af5d2]

''AviSynthで使用できる文字は、基本的に半角の英数字、アンダースコア(_)と2重引用符などの記号のみ''です。ひらがなや漢字などの全角文字は、コメントとして記述するか、一部のフィルタにおいて文字列として指定する場合((例: [[Subtitle]]フィルタで日本語用のフォントを指定し、かつ、表示する文字列として全角文字を指定した場合。))を除いて、使用することができません。

ちなみに、BlankClipは、空(から、blank)のビデオクリップをつくり出すフィルタです。オプションでクリップの長さ、大きさや色などを指定することも可能ですが、ここでは、とりあえず上記のように「BlankClip()」とだけ記述してください。オプションの指定方法については、別の章で解説します。

** 3.拡張子をavsにして保存 [#z8d7537f]

誤字脱字などの間違いがないことを確認したら、AVSファイルとして保存しましょう。

#ref(notpad_save_as_menu.png)

メモ帳のメニューの [ファイル] > [名前を付けて保存] を選択します。

#ref(notpad_save_dialog.png)

''AviSynthスクリプトファイルの拡張子は、基本的にavs''です。「基本的に」というのは、ほかにavsiという拡張子が使われる場合もあるからです。これについては、[[下記のコラム>#gccfd15f]]を参照してください。

ここでは、test.avsというファイル名で保存することにします。海外製の関連ソフトウェアを使用することを考えると、ファイル名には半角英数字を使ったほうが無難でしょう。

「文字コード」は、ANSIにします((詳しくは、AviSynthスクリプトと文字コードを参照。))。「ファイルの種類」は、とくに設定する必要はありません。

#ref(test_avs_icon.png)

たった1行の短いスクリプトではありますが、これでも歴としたAVSファイルです。次回は、このAVSファイルが正しく動作するかを確認してみることにしましょう。なお、このtest.avsは、次回以降もたびたび使用する予定ですので、削除せずに取っておいてください。

* まとめ [#l331361e]

今回の内容のまとめです。

-AVSファイル作成の流れ
++[[メモ帳を開く>#j5be6153]]
++[[スクリプトを記述>#ve17cccb]]
++[[拡張子をavsにして保存>#z8d7537f]]
-スクリプト記述時の注意
--誤字脱字。
--半角文字を使用すること。
--ただし、大文字と小文字の区別はない。
-AVSファイルの拡張子は、avs。
--avsiという拡張子が使われることもある。

* コラム [#g029d7f1]

** AviSynthスクリプトファイルの拡張子 [#gccfd15f]

AviSynthスクリプトファイルの拡張子は、avsまたはavsiです。

avsは、一般的なAviSynthスクリプトファイルの拡張子です。通常は、こちらを使用します。

一方、avsiは、AVSファイルのオートローディング(自動読み込み)用の拡張子です。プラグインのオートローディングと同じように、ユーザー定義関数やglobal変数などを記述した定義ファイルを、自動的に読み込みたい場合に使用します。

AviSynthのオートローディング機能については、プラグインのオートローディングを参照。