AviSynth入門/スクリプト作成時の注意 のバックアップの現在との差分(No.4)


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

* はじめに [#yac0e5b9]

AviSynth入門/AVSファイルを開くでは、自分で作成したAVSファイル(test.avs)を、実際に開いてみました。

AviSynthのインストールが正常に完了していて、かつ、手順どおりにAVSファイルを作成していれば、真っ黒なビデオクリップ(([[AviSynth入門/AVSファイルを開く>AviSynth入門/AVSファイルを開く#blankclip]]を参照。))が表示されたことと思います。でも、もしかしたら何らかのエラーが出て、AVSファイルを読み込むことができなかったかもしれません。

AviSynth入門/AVSファイルの作成でも少し触れましたが、AviSynthスクリプトを書く上で注意すべきことがいくつかあります。今回は、その確認の意味も兼ねて、考えられるエラーの原因と対処法を見ていきましょう。

* エラーの原因と対処法 [#h0373796]

** Script error: there is no function named "xxx" [#kdcd2089]

#ref(error_mistake_spelling.png)
#ref(g.png)

>Script error: there is no function named "BlankCrip"
>(訳: スクリプトエラー: "BlankCrip"という名前の関数はありません)

AviSynthにおける関数は、多くの場合、ビデオフィルタやオーディオフィルタです。ここでは、「"BlankCrip"という名前のフィルタはありません」と読みかえても、差し支えはないでしょう。

*** 誤字・脱字 [#i5a66f7c]

もし、このエラーが出たら、まず誤字や脱字がないか確認してみてください。

この例では、「BlankC''l''ip」と記述すべきところを、誤って「BlankC''&color(red){r};''ip」と書いてしまったが、エラーにつながりました。

AviSynthスクリプトは、たった1文字間違えただけでも動作しなくなることがあります。AVSファイルを作成するときは、くれぐれも誤字や脱字に注意してください。

*** 大文字と小文字の区別はない [#qdb2bbf5]

ただし、AviSynthスクリプトでは、大文字と小文字の区別はありません。つまり、

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

は、同じ結果になります。

** unexpected character "x" [#u9ab845c]

#ref(error_unexpected_character.png)
#ref(r.png)

>unexpected character "・"
>(訳: 予期せぬ文字 "・")

どうやら、スクリプトの中に使用できない文字が含まれていたようです。

*** 全角/半角 [#r93613c6]

AviSynthスクリプトで利用できる文字は、通常、半角の英字、数字と一部の記号(アンダースコアなど)です。例外として、コメントなどにおいて、全角文字(日本語)を使用することができます((詳しくは、後日、AviSynth入門の中で紹介する予定です。))。

「BlankClip()」が全角になっていないかどうか確認してみてください。

*** 文字コードと改行コード [#o6e960b5]

[[AviSynth入門/AVSファイルの作成>AviSynth入門/AVSファイルの作成#z8d7537f]]でも書きましたが、メモ帳でAVSファイルを保存するときは、文字コードをANSIに設定してください。ANSI以外の文字コードで保存すると、VirtualDubModでAVSファイルを開けなかったり、開けても文字化けしたりします。

詳しくは、AviSynthスクリプトと文字コードにまとめてあります。興味のある方は、参考にしてください。

* まとめ [#oec1569b]

-AVSファイル作成時に気をつけること
--誤字・脱字
--大文字・小文字の区別はない
--半角文字を使用する(全角文字を使用できる場合もある)
--文字コードはANSI(メモ帳の場合)

* メモ [#s0de55bf]

-エラーのタイプでは、AviSynth使用時に起こりうる代表的なエラーとその対処法を紹介しています。もし、今回紹介していないエラーに遭遇したときは、参考にしてください。