これは、かつて「AviSynthのぺーじ」として公開されていたものの "残骸" です。ここに記されている内容には、間違いが含まれている可能性があります。より正確で新しい情報を知りたい場合は、AviSynth 付属のドキュメントや AviSynth 公式サイトを参考にすることをおすすめします。私(にーやん)が管理人をつとめる AviSynth Wiki も利用してください。また、このページは、予告なしに削除される可能性もあります。

共存のための基礎知識

 ページタイトルでは2.0と2.5の共存となっていますが、1.0も含めてAviSynthのバージョンを切り替える方法を紹介したいと思います。といっても、そんなに難しくはありません。

 基本的にはavisynth.dllを入れ替えるだけで、異なるバージョンのAviSynthに切り替えることができます。

 そのために、まず、それぞれのバージョンのAviSynthをインストールした後でavisynth.dllをバックアップしておいてください。

 あとは使用したいバージョンのavisynth.dllをシステムフォルダに上書きコピーするだけでOKです。

 ただし、上書きインストールでいいのか、いったんどちらかのバージョンをアンインストールしてから、もう一方をインストールしたほうがいいのかということも考えておいたほうがいいかもしれません。

 念のためにAviSynth2.0と2.5のインストール時の違いを見ておくことにしましょう。

AviSynth2.0と2.5のインストール時の違い

(1)インストール内容の違い
AviSynth2.0.8のインストール画面
AviSynth2.5.3のインストール画面
 上の画像がAviSynth2.0.8のインストール画面、下の画像がAviSynth2.5.3のインストール画面です。

 1行目のOutput directory(folder)はavisynth.dllがインストールされるシステムフォルダです。

 2行目でavisynth.dllがシステムフォルダに抽出(Extract)されているのがわかります。

 AviSynth2.0.8では、このあとマニュアルなどのインストールに移っていますが、AviSynth2.5.3ではdevil.dllavisynth_c.dllの2つがインストールされています。

 devil.dll(DevIL)は、AviSynth2.5.2から追加されたImageReaderフィルタで画像の読み込みに使用されます。オプションで、AviSynth標準のBMPパーサーを使用するか、DevILを使用するかを選択することができるようになっています。

 avisynth_c.dllKevin Atkinson氏作成のAviSynth C APIプラグインです。Kevin Atkinson氏のConditional Temporal Median Filterなどを使用する際に必要になります。

 以上の点を考えると、これら2つのプラグインは必ずしも必要ではないかもしれません。ただし、AviSynth2.5.*をアンインストールしてしまうと同時に削除されてしまいますので、それにより何らかの不具合が生じないとも限りません。

 このためAviSynth2.5のインストール->AviSynth2.5のアンインストール->AviSynth2.0のインストール」という手順は避けたほうが無難でしょう。


(2)レジストリ情報
 2.0.6以降のインストーラでインストールした場合、レジストリの次の場所にプラグイン・ディレクトリの情報が書き込まれます。
[AviSynth2.0の場合]
[HKEY_LOCAL_MACHINE\SOFTWARE\AviSynth]
"plugindir"="C:\\Program Files\\AviSynth2\\plugins"
[AviSynth2.5の場合]
[HKEY_LOCAL_MACHINE\SOFTWARE\AviSynth]
"plugindir2_5"="C:\\Program Files\\AviSynth 2.5\\plugins"
 このレジストリ情報は、オートローディングを利用してプラグインを読み込む際に必要です。

 しかし、アンインストールするとこれらの情報はレジストリから削除されてしまうため、アンインストールしたバージョンに切り替えたときにはオートローディング機能が利用できなくなります。

 オートローディングを利用するなら、一方のバージョンをアンインストールしてから、もう一方をインストールするのではなく、上書きインストールするほうがいいと言えるでしょう。

共存環境構築までの手順(一例)

 以上のような前提をふまえた上で、AviSynth2.0と2.5の共存環境を構築するための手順の一例を紹介します。

 ただし、この方法を実行することにより何らかの不具合が生じる可能性がないとは言えません。そのため、実行する際は自己責任で行ってください。

 とくにAviSynthを共存させる必要がなく、単にAviSynthのバージョンをアップデートしたいだけなら、通常のアンインストール->インストールという手順を取ることをおすすめします。

(1)バックアップフォルダの作成

 あらかじめAviSynth2.0とAviSynth2.5、それぞれのavisynth.dllをバックアップするためのフォルダを作成しておきます。

 例では、まずDLLフォルダを作成し、その中にAviSynth2.0用の20フォルダとAviSynth2.5用の25フォルダを作成しています。

(2)AviSynth2.0のインストール

 AviSynth2.0.*をインストールします。

(3)avisynth.dllのバックアップ1

 システムフォルダからavisynth.dllをAviSynth2.0用のバックアップフォルダ(20フォルダ)にコピーします。

 システムフォルダの場所は環境によって異なりますが、一般的にはWindows98/Meなら「C:\Windows\System\」、Windows2000/XPならC:\Windows(またはWINNT)\System32\」です。

(4)AviSynth2.5のインストール

 AviSynth2.5.*を上書きインストールします。

(5)avisynth.dllのバックアップ2

 システムフォルダからavisynth.dllをAviSynth2.5バックアップ用フォルダにコピーします。

 AviSynth2.5のインストールにより、システムフォルダ内にあるavisynth.dllのバージョンはAviSynth2.5.*になっています。

(6)AviSynthのバージョンの切り替え

 AviSynthのバージョンを切り替えたいときは、使用したいバージョンのavisynth.dllをそれぞれのバックアップフォルダからシステムフォルダへコピーします。

 「上書きしますか」というメッセージが出た場合は、「はい」をクリックしてavisynth.dllを上書きしてください。

 これでAviSynthのバージョンが切り替わります。

AviSynth2.0 <-> 2.5切り替え用バッチファイル

 上で説明した方法のようにavisynth.dllを一々コピーしてもいいのですが、少し面倒です。

 そこで、バッチファイルを使って、AviSynthのバージョンを切り替える方法を紹介します。

 なお、以下で紹介するバッチファイルは、2ちゃんねるのAviSynthを絶賛しようよスレ Part11の940氏、Doom9フォーラムのhanfrunz氏とN_F氏の投稿を参考に作成しました。三氏には、この場でお礼申し上げます。
[AviSynth2.0 <-> 2.5切り替え用バッチファイル]
@echo off
if exist C:\Avisynth\DLL\installed.20 goto install_25
if exist C:\Avisynth\DLL\installed.25 goto install_20

:install_25
copy C:\Avisynth\DLL\25\avisynth.dll C:\Windows\System32\avisynth.dll >NUL
del C:\Avisynth\DLL\installed.20 >NUL
echo dummy > C:\Avisynth\DLL\installed.25
echo Avisynth2.5に切り替えます。
pause
goto end

:install_20
copy C:\Avisynth\DLL\20\avisynth.dll C:\Windows\System32\avisynth.dll > NUL
del C:\Avisynth\DLL\installed.25 >NUL
echo dummy > C:\Avisynth\DLL\installed.20
echo Avisynth2.0に切り替えます。
pause
goto end

:end
 線で囲んでいる中の部分(「@echo off」から「:end」まで)をメモ帳にコピーしてください。

 そして次の箇所を自分の環境に合わせて書き換えてください。
赤い太字の部分:AviSynthのインストール先(システムフォルダ)
青い太字の部分:インストールバージョン判定用ダミーファイルの保存先
オレンジの太字の部分:AviSynth2.0用avisynth.dllバックアップフォルダ
緑の太字の部分:AviSynth2.5用avisynth.dllバックアップフォルダ
 拡張子を*.BATにして、適当な名前を付けて保存してください。
 デスクトップなどにショートカットを作成しておくと便利です。


 バッチファイルを実行(ダブルクリック)すると、初回に限り、「installed.20が見つかりませんでした。」と表示されます。

 このとき何かのキーを押すとinstalled.25が自動的に作成され、AviSynth2.5がインストール(AviSynth2.5のavisynth.dllがシステムフォルダにコピー)されます。
 installed.20installed.25は「バージョン判定用ダミーファイル」です。青い太字の部分で保存先を指定したのは、このファイルのことです。
 このバッチファイルでは、installed.20があればAviSynth2.5のavisynth.dllをシステムフォルダにコピーして、installed.20installed.25に書き換えます。逆に、installed.25があればAviSynth2.0のavisynth.dllをシステムフォルダにコピーして、installed.25installed.20に書き換えます。

 つまり、ダミーファイルの拡張子の数字とは逆のバージョンのAviSynthに切り替えます。



 初めてバッチファイルを実行したときにダミーファイルが作成されますので、2回目からは「installed.**が見つかりませんでした。」という表示は出ません。

 これ以降はバッチファイル実行->何かのキーをクリックするだけでAviSynthのバージョンを切り替えることができるようになります。

 ちなみにダミーファイルの中身はdummyと書かれているだけです。

AvisynthSwitcher

 AvisynthSwitcherは、AviSynthのバージョンを切り替えるソフトウェアです。

 なぜかうまくダウンロードできなかったため、詳細は不明です。

AvisynthSwitcher(lalternative.org)
 http://www.lalternative.org/

最終更新日 2003年12月10日