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


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

* はじめに [#f2e6c77f]

このページでは、AviSynthスクリプトファイル(以下、AVSファイル)の作成の流れを見ていくことにします。
AviSynthはスクリプト言語です。スクリプトを記述することによって、ビデオクリップを開いたり、そのクリップにフィルタをかけたりすることができます。

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

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

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

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

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

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

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

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

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

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

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

#ref(notpad_open.png)
#ref(nn.png)

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

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

#ref(notepad_write_blankclip.png)
#ref(np.png)

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

#code{{
#pre{{
BlankClip()
}}

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

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

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

-誤字脱字に注意すること。
-誤字脱字。
-半角文字を使用すること。
-大文字と小文字を区別する必要ない。
-最後のカッコ(「()」)はなくてもよい。

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

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

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

#ref(notpad_save_as_menu.png)
#ref(nu.png)

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

#ref(notpad_save_dialog.png)
#ref(n.png)

AviSynthスクリプトファイルの拡張子は、基本的にAVSです([[下記のメモ>#gccfd15f]]を参照)。「ファイル名」の拡張子をavsにして保存しましょう。海外製の関連ソフトウェアを使用することを考えると、ファイル名には半角英数字を使ったほうが無難でしょう。
''AviSynthスクリプトファイルの拡張子は、基本的にavs''です。「基本的に」というのは、ほかにavsiという拡張子が使われる場合もあるからです。これについては、[[下記のコラム>#gccfd15f]]を参照してください。

「ファイルの種類」は、とくに設定する必要はありません。「文字コード」は、ANSIにします。
ここでは、test.avsというファイル名で保存することにします。海外製の関連ソフトウェアを使用することを考えると、ファイル名には半角英数字を使ったほうが無難でしょう。

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

#ref(test_avs_icon.png)
#ref(t.png)

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

* まとめ [#l331361e]

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

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

-AVSファイルの拡張子は、avsとavsiの2種類。
* コラム [#g029d7f1]

* メモ [#g029d7f1]

** メモ帳以外のテキストエディタは利用可能か [#w6c63f33]

保存時の文字コードにさえ気をつければ、メモ帳以外のテキストエディタも、AVSファイルの作成に利用することができます。

[[サクラエディタ:http://sakura_editor.at.infoseek.co.jp/]]で実験したところ、文字コードの違いによって、以下のような結果になりました。

|~文字コード|~結果|~備考|
|SJIS|○||
|JIS|△|日本語が文字化け|
|EUC|△|日本語が文字化け|
|Unicode|×|エラー((unexpected character "・"))が発生|
|UnicodeBE|×|エラー((unexpected character "・"))が発生|
|UTF-8|△|日本語が文字化け|
|UTF-7|×|エラー((Script error: syntax error))が発生|

このことから、AVSファイルの作成にメモ帳以外のテキストエディタを使用するなら、保存時の文字コードをSJIS(シフトJIS)に設定するとよいと言えます。

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

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

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

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

AviSynthのオートローディング機能については、あとで紹介する予定です。ここでは、avsのほかにavsiという拡張子もあるということを覚えておいてください。
AviSynthのオートローディング機能については、プラグインのオートローディングを参照。