Section1 About AviSynth

 

Q1.1: AviSynthって何ですか?

A: AviSynth (AVI SYNTHesizer) はフレームサーバーです。これについては、[Lukes homepage]*1にすばらしい説明があります:

"AviSynthは、Ben Rudiak-Gouldによって創造された非常に有用なユーティリティです。それは、ビデオの結合やフィルタリングのための多くのオプションを提供します。AviSynthをユニークたらしめているものは、AviSynthが出力ファイルを吐き出すスタンドアローンなプログラムではないということです。代わりに、AviSynthは、あなたのビデオとビデオ・アプリケーションの "middle man" (仲介役)として振る舞います。

基本的に、AviSynthはこのように動作します: まず、あなたは、スクリプトと呼ばれる特別な命令を使ったシンプルなテキストファイルを作成します。これらの命令は、1つ以上のビデオと、それらのビデオに対してあなたが実行したいフィルタに言及します。次に、あなたは、VirtualDubのようなビデオ・アプリケーションを実行し、そのスクリプトファイルを開きます。このとき、AviSynthが作動します。AviSynthは、スクリプトで言及されているビデオを開き、指定されたフィルタを実行し、出力データをビデオ・アプリケーションにフィードします。しかし、アプリケーションは、バックグラウンドでAviSynthが動作しているということに気づきません。代わりに、そのアプリケーションは、あなたのハードディスクに存在する、フィルタ実行済みのAVIファイルを、直接、開いていると考えます。

あなたがAviSynthを使いたいと思うであろう、5つの主な理由があります:

  1. ビデオを結合する: AviSynthは、ビデオ(分割されたAVIを含む)を何本でも結合することを可能にします。また、1つのビデオのいくつかの部分を選択的に結合したり、サウンドトラックを追加したりすることもできます。
  2. フィルタをかける: たくさんのビデオ処理フィルタが、AviSynthには内蔵されています。例えば、ビデオのリサイズやクロップやシャープなどのフィルタがあります。
  3. 2GBの壁を超える: AviSynthは、プログラムにビデオ自身を直接開かせるのではなく、そのプログラムにビデオをフィードします。これにより、常にあなたは、2GBを超えるファイルを、元々そのサイズのファイルをサポートしていないプログラムで開くために、AviSynthを使うことができます。
  4. 非サポート形式のファイルを開く: AviSynthは、MPEGやQuicktime MOVとかいうものを含む、ほとんどのタイプのビデオを開くことが出来ます。しかしながら、AviSynthがビデオをプログラムにフィードするとき、それはそのプログラムにとって標準的なAVIであるかのように見えます。これにより、あなたは、ある形式のビデオを、通常はその形式をサポートしていないプログラムで開くことが出来るようになります。
  5. ディスクスペースを節約する: AviSynthは、オンザフライで、プログラムにフィードするビデオを生成します。したがって、一時ファイルや中間ファイルが作成されません。このため、あなたはディスクスペースを節約することができます。"

Q1.2: 誰がAviSynthを開発しているのですか?

A: AviSynth (v1.0bまで) は、Ben Rudiak-Gould(現在のところ、彼のホームページを見ることはできません)によって開発されました。Benは開発をストップし、Edwin van Eggelen([1]を参照)がこれを引き継ぎました。彼による最新のリリースは、v1.0b6です。上で紹介したEdwinsのホームページで、これを見つけることができます。

いくつかのバージョン、例えば[v1.0b7a by Divine][v1.0b7d by Dividee]が、AviSynthフォーラムに出現しました。

2002年7月の初めに、SourceForgeプロジェクトのリビジョン2がスタートしました([最初のプロジェクト]は、あまり動きがありませんでした)。最新のバージョンは、[v2.57]です*2しかし、もっと新しいウィークリー・ビルドは、[ここ]で見つけられます。*3マニュアルに関しては、Q1.5をご覧下さい。

Q1.3: AviSynthの最新版は、どこでダウンロードできますか?

A: Q1.2を参照。DVD2SVCDパッケージの中やDoomのダウンロードページにも含まれています(これらは最新版のAviSynthではないかもしれません)。

Q1.4: これらのバージョンにおける主要なバグは何ですか?

A: もっとも最近のバージョン:

v2.01: ?

v2.02: Layerと MergeChromaが動かない。

v2.05: 無音のクリップを読み込んだ場合に、Loopが動かない。

v2.06/v2.07/v2.50: 最後の空のセグメントが削除されない場合に、SegmentedAviSourceがaviを読み込まない。

v2.50 beta; AviSynthTwoFiveZeroBugs.

v2.51 beta; AviSynthTwoFiveOneBugs.

v2.52 AviSynthTwoFiveTwoBugs.

他のバグについては、プロジェクトページのマニュアルで見つけることができます。 Q1.5参照。

Q1.5: AviSynthに関するマニュアルは、どこで見つけることができますか?

A: AviSynthのフィルタについてのマニュアルは、こちらのサイトhttp://www.avisynth.nl/、特にその[リンク]の1つで見つけられます。AviSynthスクリプトのチュートリアルについては、[プロジェクト・ページ]をご覧下さい。フォーラムに投稿する前に、これらのマニュアルに目を通すべきでしょう(けれど、もしそれらのマニュアルを理解するのが困難ならば、投稿してもOKです)。

Q1.6: AviSynthは、どうやってインストール/アンインストールするのですか?

A: v2.05以前のバージョンでは: avisynth.dllをSystem/System32ディレクトリに移動させて、install.regを実行してください。v2.06からは、自動インストーラが添付されるようになりました。また、他のバージョンのAviSynthがハードディスクのどこかに置いてあると、間違ってレジストリに登録されてしまう可能性がありますので、必要ならば削除するなどしておいてください。AviSynthをアンインストールするためには、[スタートメニュー]の[プログラム]->[AviSynth 2.5]から、[Uninstall AviSynth]を選択してください。

Q1.7: v1.0x、v2.0xとv2.5xの間には、どのような違いがありますか?

A: v1.0xとv2.0xは、互換性があります(主な違いは、v2.0xが、IPCSourceを含まない一方で、v1.0xにはない他のフィルタを含んでいるということです)。v2.5xとの主な違いは、内部構造が変わってしまったということです(YV12とマルチ・チャンネルのサポート)。その結果として、v1.0xとv2.0x向けにコンパイルされた外部プラグインがv2.5xで使えなくなります。その逆も同様です。

Q1.8: v2.5x向けにコンパイルされたプラグインは、v1.0x/v2.0xと互換性がありますか。また、その逆はどうですか?

A: Q1.7で説明されているように、それはそうではありません。しかしながら、v1.0x/v2.0xプラグインをv2.5xで使用することは可能です。Q1.15をご覧ください。

Q1.9: どのエンコード・プログラムが、YV12をサポートしていますか?

A: Virtualdubの通常ビルド(v1.5.4まで)は、内部でYV12をサポートしていませんでした。DivX/XviDにエンコードするためには、2つの選択肢がありました:

  1. YV12に対応した(VirtualdubModという名前の)修正版があります。(pulco-citron、SuirycとBelgaborによる)この修正版は、OGMとAVSプレビューをサポートしています。こちらでダウンロードすることができます。VirtualDubModは、[こちら]からダウンロードすることができます。(色空間の変換なしに)YV12サポートを利用するためには、VirtualDubModでAVIを読み込んで、"fast recompress(高速再圧縮)"を選択しなければなりません。
  2. 簡単な(そして高速な)YV12サポートについては、新しいコマンドライン・エンコーダー: AVS2AVIを試してみてください(また、Q1.21も参照してください)。

Q1.10: (VirtualDubやTMPGEncやCCE SPのように)エンコーダがYV12を扱うことができない場合、どうすればv2.5xを使うことができますか?

A: Virtualdubを使っているのなら、あなたのスクリプトに"ConvertToYUY2"を追加するか、DivX5や最新のXviD(XviD-04112002-1以降のKoepiビルド)のようなYV12デコーダをインストールしなければなりません。"fast recompress(高速再圧縮)"を有効にすると、YV12 -> YUY2 -> YV12へと変換されるでしょう。(DivX3/4もYV12をサポートしていますが、ただしPIVユーザーは、YV12でDivX4にエンコードする時にクラッシュを経験するかもしれません。)*4

TMPGEncを使っているなら"ConvertToRGB24"の行を、 CCE SPを使っているなら"ConvertToYUY2"を、あなたのスクリプトに追加する必要があります。なぜなら、Windowsは内部YV12デコーダを持たないからです。また、あなたは、DivX5や最新のXviD([XviD-04112002-1以降]のKoepiビルド)のようなYV12デコーダをインストールすることもできます。これらのデコーダは、TMPGEncやCCE SPでYV12モードのAVIファイルを読み込むときに、そのAVIファイルをデコードします。

Q1.11: AviSynth v2.5をGordian Knotと組み合わせて使うには、どのようにすればいいですか?

A:

  • もしあなたがGKnot 0.26を使っているなら、mpeg2dec3.dll(AviSynth v2.5用プラグイン)をmpeg2dec.dllに、virtualdubmod.exeをvirtualdub.exeにリネームしなければなりません(オリジナルのexeとdllはバックアップを取っておいてください)。
  • もしあなたがGKnot 0.27を使っているなら、上記の手順に従うこともできますし、オプションメニューでmpeg2dec3.dllをmpeg2dec.dllの代替として登録して、virtualdubmod.exeをvirtualdub.exeにリネームすることもできます。
  • しかし、あなたは新しいGKnot 0.28を試すこともできます。

もしあなたが、1.4.13.1以前のVirtualdubModを使っていて、何らかの不具合を経験したなら、最新の[プレリリース版]をダウンロードしてください。

Q1.12: YV12で処理/エンコードすることの主な利点は何ですか?

A: 2つの利点があります:

  1. 高速化: それは完全に外部プラグインがYV12をサポートするかどうかに依存します。もしYV12に対応しているなら、25から35パーセント程度の高速化が期待されます。もちろん、例えばDVDからDivX/Xvidへの変換などの場合のように、あなたのソースと出力ファイルが共にYV12であるならば、大きなスピードアップがあるでしょう。
  2. 色変換がないこと: 色情報は(何度も)補間されることがなく、したがって、よりリアルなままになります。たとえ、あなたがCCE SPやTMPGEncをエンコードに使っていて、色空間の変換をしなければならないとしても、次のようなメリットがあります。それは、YV12->YUY2変換(TMPGEncの場合、YV12->RGB24)をスクリプトの最後まで行わないことにより、プログレッシブ・フレームを生成するための逆テレシネやインターレース解除を、最初に行うことができるということです。そして、プログレッシブ・フレームに対するYV12からYUY2への変換は、インターレース・フレームやフィールドベース・フレームに対するそれよりも、詳細な色差情報を保持します。

Q1.13: AviSynthを使ってDivX/XviDにエンコードするためのコマンドライン・ユーティリティはありますか?

A: Q1.9で説明されているように、AviSynthを使ってDivX/XviDにエンコードすることができる[AVS2AVI](そしてAVS2AVI GUI)というコマンドライン・ユーティリティがあります。

Q1.14: VCF2AVSは、どこにありますか?

A: VCF2AVSは、vcfをavsファイルに変換する小さな優れたツールです。VirtualDubでキャプチャ・ファイルを編集(基本的にはカットとクロップとリサイズ)し、その後で、生成されたavsを編集することができます。VCF2AVSには2つのバージョンがありますので、注意してください:

両方試してみて、どちらがあなたの要望を満たしてくれるかを確かめてください。 :)

Q1.15: v2.5xにおいて、v2.0x向けにコンパイルされたプラグインを使うには、どのようにすればいいですか?

A: AviSynth v2.5x用WarpSharpパッケージの中に、"LoadPluginEx.dll"というプラグインが含まれています。古いバージョンの LoadPluginEx.dllを使う時は、プラグイン・ディレクトリに入れないで下さい。別のディレクトリに移動させなければ、 VirtualdubModやWMP6.4が、終了時にクラッシュするでしょう。このプラグインは、v2.5xでv2.0xプラグインを使用することを可能にします。(Steady作のv2.0xプラグインDustを使った)サンプル・スクリプト:

LoadPlugin("C:\Program Files\avisynth2_temp\plugins\!LoadPluginEx.dll")
LoadPlugin("C:\Program Files\avisynth2_temp\plugins\dustv5.dll")

AviSource("D:\clip.avi").ConvertToYUY2
PixieDust(5)

もし、あなたがこの過程を自動化したいなら、LoadOldPluginsを見てください。

Q1.16: 再インストールすることなしに、AviSynthのバージョンを切り替えるには、どうすればいいですか?

A:

  • [こちら]で入手可能なAvisynthSwitcherを利用することができます。v2.08とv2.50が提供されていますが、「AvisynthSwitcher\versions\Avisynth 2.x.x」の下に、容易に新しいバージョンを追加することができます。
  • 他のいくつかの方法が、[こちら]に記されています。

Q1.17: どのようにしてAVSファイルを作成するのですか?

A: Q1.19を参照のこと(例えば、あなたのお好みのテキストエディタを使って)。

Q1.18: どこにAVSファイルを保存すればいいですか?

A: あなたのハードディスクのどこにでも。

Q1.19: どうすれば、私が使っているAviSynthのバージョン・ナンバーを知ることができますか?

A: テキストエディタ、例えばメモ帳を開いてください。次の行を追加してください。

Version()

そして、"avs"という拡張子で、そのファイルを保存してください。例えば、"version.avs"として保存します(拡張子が"txt"ではなく、"avs"となっていることを確認してください)。そのファイルを、例えばWindowsMediaPlayer 6.4ののような、AVIファイルを読み込むことのできるアプリケーションで開いてください。そうすれば、バージョン・ナンバーが表示されるでしょう。

Q1.20: AviSyntはGUI(Graphical User Interface)を持っていますか?

A: いくつかの優れたツールが利用可能です:

  • VirtualdubMod: Q1.9参照。 次のAviSynth関連のユーティリティが付属しています:
    • 'Open via AVISynth(AviSynth経由で開く)'コマンド: 選択可能なテンプレートにもとづいて自動的に適当なスクリプトを生成することにより、AviSynthと互換性のあるビデオ・ファイルを開くことができるようになります。
    • AVSエディタ (ホットキー Ctrl+E):単にAVSファイルを開き、そして[Tools]メニューから[Script editor...]選択します。スクリプトを変更したら、[F5]キーを押して、更新後のビデオをプレビューします。
  • AvisynthEditor: シンタックスの強調、オートコンプリート・コードやバージョンごとのプラグイン定義ファイルを特色とする、高度なAviSynthスクリプトエディタ。[スクリーンショットはこちら][こちら]で見つけることができます。このツールに関する議論は、[Doom9.org forum]で見つけることができます。
  • [AVSGenie]: AVSGenieは、ドロップダウン・リストかポップアップ・メニューから、ユーザーがフィルタを選択することができます。編集可能なパラメータのページは、フィルタとそのパラメータへのガイド付きで表示されます。ビデオのプレビュー・ウィンドウが開くと、"ソース"ビューと"ターゲット"ビューとを表示します。ソース・ウィンドウは、シンプルな場合、スクリプトの1行目、一般的には開かれたビデオ・ファイルを出力します。ターゲット・ウィンドウは、スクリプト全体を出力します。これにより、フィルタの効果を容易に確認することができます。ソース・ウィンドウを表す行は変更可能です。このツールに関する議論は、[こちら]で見つけることができます。
  • [SwiftAVS (by Snollygoster)]:かつてはAviSynthesizerとして知られていた、もう1つの優れたGUI。[ディスカッション]

Q1.21: "LoadPlugin: unable to load "xxx" is not an AviSynth 1.0 plugin(AviSynth 2.5 plugin)"というメッセージが出たのですが?

A: あなたは、そのバージョンのAviSynthと互換性がないプラグインを使用しています。Q1.8をご覧下さい。

Q1.22: スクリプト内の所定の場所で、私がどの色空間を使っているのかを知るには、どうすればいいですか?

A: スクリプト内の所定の場所で、あなたがどの色空間を使っているのかを知るためには、次の1行を付け加えてください:

Info()

... そうすれば、AviSynthは、他の事柄とともに色空間に関する多くの情報を与えてくれるでしょう!

Q1.23: AviSynth v2.5とDivX5(もしくは、最新のKoepiビルドのXviDの1つ)をインストールしたところ、Virtualdub/VirtualdubMod/CCE/TMPGEncでAVSファイルを開いても、画面が真っ暗になってしまうだけなのですが?

A: OK。どうやら、あなたのビデオは、DivX5.11(またはXviD)によってデコードされていないようです。WindowsディレクトリのMSYUV.DLLというファイルをリネームするか、レジストリ・ファイルに下記を登録してください:

REGEDIT4

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Drivers32]
"VIDC.YV12"="divx.dll"

xvid v0.9の場合は"divx.dll"を"xvid.dll"に、xvid v1.0の場合は"xvidvfw.dll"に置き換えてください。

Q1.24: どのエンコーダにおいても、2パス目にランダムにクラッシュするようなのですが?

A : AviSynth(とりわけv2.5x)は、高度に最適化されています。結果として、2パス目にランダムにクラッシュするようなことが起こりえます。[Prime95]のストレス・テストを1時間実行して、あなたのシステムが安定しているかどうかチェックしてみてください。もし、このテストが失敗する(もしくは、あなたのコンピュータがフリーズする)なら、コンピュータがオーバークロックされていないか確認し、クラッシュしなくなるまで、CPUのバス・スピードを(例えば)5MHz単位で落としてください。

Q1.25: VirtualdubMod、WMP6.4、CCEや、その他のプログラムが、毎回、終了時に(avsファイルをプレビューする時に)クラッシュするのですが?

A: おそらく原因は、AviSynthのプラグイン・ディレクトリにある、いずれかのプラグインでしょう。解決法は、それらすべてのプラグインを移動させて、どのプラグインがそれを引き起こしているのかを突きとめることです。原因となりうるプラグイン: 古いバージョンのLoadPluginEx.dllとWarpSharp.dll、MaskTools、PFR、C-プラグイン。これらのプラグインも、別のフォルダから手動で読み込めば、問題なく使用することができます。

Q1.26: 例えばキャプチャに使用できるような、ロスレスなYV12コーデックはありますか?

そういうものは、いくつかあります:


*1 Donald Graft氏によるミラーサイトです。
*2 2007年1月時点。
*3 訳者註: 2005年1月の時点で、リンク先のサイトへはつながりません。
*4 VirtualDubは、v1.5.6からYV12に対応しています。

最終更新日時: 2014-03-12 (水) 23:40:24 (2070d)