はじめてのスクリプト
AVSファイルの作成手順 †
このページでは、はじめての人にもわかりやすいように、簡単な例をあげながら、AviSynthスクリプトファイル(以下、AVSファイル)の基本的な作成手順を紹介します。
作成するもの †
今回は、スクリプトの作成例として、MessageClipというフィルタで、"Hello World!"というメッセージ付きのビデオクリップを作成します。
1.メモ帳を開く †
まず、メモ帳を開きます。
メモ帳は、スタートメニューの[スタート] -> [プログラム(P)] -> [アクセサリ] -> [メモ帳]から起動することができます。
2.スクリプトを記述する †
メモ帳に、スクリプトを記述します。
ここでは、次の2行を記述してください。
スクリプトを記述する際に気をつけること †
スクリプトを記述するときは、次の点に注意してください。
- 記述ミスに気をつけてください。エラー発生の原因となります。
- AviSynthでは、大文字小文字の区別はありません。
- 基本的に使用できる文字は、半角英数字のみ(アンダースコア含む)です。*1
スクリプトの内容 †
- 1行目
MessageClip("Hello World!")
AviSynthでフィルタを使用したいときは、フィルタの書式にしたがって記述しなければなりません。基本的には、次のような形で記述することになります。
フィルタ名(パラメータ)
ここでは、MessageClipというフィルタを使いますので、「フィルタ名」の部分にMessageClipをあてはめます。また、「Hello World!」というテキストを表示させたいので、「パラメータ」の部分に"Hello World!"を記述します。文字列は、引用符で囲む形で記述します。
フィルタの記述の仕方についての詳しいことは、フィルタの書式のページを見てください。また、MessageClipフィルタの書式については、MessageClipのページを参照してください。
- 2行目
return last
return文です。
「return last」で、最後に処理したクリップ(last)を返します。つまり、AVSファイルをアプリケーションで開いたときに、last(この場合、1行目のMessageClip)が表示されます。
「return last」は省略することも可能です。ただし、アプリケーションによっては、エラーが出ることもあるようなので、念のために、記述しておきます。
3.AVSファイルを保存する †
メモ帳のメニューから[ファイル] -> [名前を付けて保存]を選択します。
保存ダイアログが開きますので、[ファイル名]の欄に、適当な名前を入力してください。その際、拡張子をavsにしてください。AVSファイルの拡張子は、avsです。
ここでは、仮に、hello_world.avsという名前を付けたとします。
名前を入力し終えたら、[保存]ボタンをクリックします。
AVSファイルの保存に関する注意 †
- 拡張子は、avsにしてください。
- 拡張子を指定せずに保存すると、txtファイルとして保存されてしまいます。そのときは、ファイルの拡張子を変更してください*2。
- [フォルダオプション] -> [表示]タブ -> [登録されているファイルの拡張子は表示しない]にチェックが入っている場合は、ファイルの拡張子は表示されません。
4.AVSファイルをアプリケーションで開く †
あなたが使用したいアプリケーションで、AVSファイルを開きます。
たとえば、VirtualDubModを使用する場合は、次のような手順で行います*3。
まず、メニューの[File] -> [Open video files...]を選択します。
次に、あなたが開きたいAVSファイル(この場合、hello_world.avs)を選択してから、[開く]をクリックします。
このようにプレビューできれば、成功です。*4
AVSファイルのプレビューに関する注意 †
- AviSynthに対応しているアプリケーションの情報は、アプリケーションのAviSynth対応状況を参考にしてください。
- AVSファイルに対応していないアプリケーションでも、ffdshowに付属しているAVS -> AVI変換ツールの[makeAVIS]を使用すれば、AVSファイル(の疑似AVI化ファイル)を開くことができるようになります。
- 色空間がYV12のファイルを開くためには、YV12デコードをサポートしているデコーダ(コーデック)をインストールする必要があります。
エラーが出たら・・・ †
スクリプトの記述ミスによってエラーが発生したり、その他の原因でうまく動作しなかった時は、あわてずに、エラーメッセージを確認しましょう。
- 1行目
- AviSynthがスクリプトのオープンに失敗したことを宣言しています。
- 2行目
- エラーの内容。これは、以下のような形式で書かれています。
エラーの種類やフィルタの名前: エラーの原因
「エラーの種類やフィルタの名前: 」がない場合もあります。
- エラーの内容。これは、以下のような形式で書かれています。
- 3行目
- エラーの箇所。何行目の何文字目にエラーの原因があるのかがわかります。これは、以下のような形式で書かれています。
(スクリプトのパス, line *[, column *])
- line: エラーが含まれている行(*は数字)。
- column: エラーが含まれている列(省略されている場合あり)
- エラーの箇所。何行目の何文字目にエラーの原因があるのかがわかります。これは、以下のような形式で書かれています。
典型的なエラーとその原因について知りたいときは、「エラーのタイプ」を見てください。またFAQにも、トラブルに関する項目がありますので、参考にしてください。
*1 引用符で区切られた文字列として、全角文字を使用できる場合があります。Subtitleフィルタで、日本語対応フォントを指定した場合など。
*2 [右クリック] -> [名前の変更]などから。
*3 ドラッグ&ドロップによって開くことも可能です
*4 Cinema Craft Encoder(CCE)のように、プレビューできないアプリケーションもあります。