このページは一切無保証。
【目的】 任意のバージョンのDivXコーデックを動画作成に使用する。
【問題】 再生や編集ソフトでの読み込みは旧バージョンでは正しくデコードできない。
再生だけ ffdshow などの別のデコーダを使用し、DivXは旧バージョンをインストールする。
この方法は編集ソフトでの読み込みに問題が生じる。編集ソフトでの読み込みはDSフィルタでなくVFWコーデックを使用するため、最新版で作成されたファイルを編集することができなくなる。
再生用DSフィルタ(divxdec.ax)と作成用コーデック(divx.dll)を別バージョンで使用する。
編集ソフトのフォルダに任意の divx.dll を入れるか、システムフォルダに上書きする。この方法も編集ソフトでの読み込みに問題が生じる。DivXのバージョンごとに複数の編集ソフトをインストールしてDLLをフォルダに入れれば解決するかもしれないが、使い分けが混乱しそうである。5.0.3を読み込んで5.0.2で出力することもできない。
FourCCとファイル名を変えて複数のバージョンをインストールする。
自分でINFファイルを書くか手動でインストールすれば何個でも共存させることができる。ただし作成した動画のFourCCが変わってしまうので、FourCCを直さないと環境によっては再生できない可能性がある(特にWindows以外の環境でどうなるかわからない)。編集ソフトによっては正常に作動しない(TMPGEncは駄目)。
ここではこの方法を紹介する。
VirtualDub の選択画面

左がDivX5.x、右がDivX4.x の本来のFourCC。二箇所のFourCCのうち二番目が再生時のデコーダを指定する。
共存インストールしたDivX5.0.2でエンコードしたファイル。システムへ登録したFourCCはd502で、DX50はコーデックが勝手に書き出してくれる。このままでもWMPで再生できるが d502/DX50 を divx/DX50 に直しておいたほうがいい。ツールを使えばFourCCを自由に書き換えることができる。
VCMとDirectShowFilterのシステムへの登録方法の基本はこちら。
Creating an INF File
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/install/hh/install/create-inf_4l47.asp
INF Version Section
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/install/hh/install/inf-format_2fzm.asp
DivX5.x(Adware版)がインストールするDLL
| ファイル名 | 機能 | 4.x | 5.0 | 5.0.1 | 5.0.2 | 5.0.3 | SchizoBeta | 5.0.4 |
| divx.dll | VFWコーデック(VCM)本体 | ○ | ○ | ○ | ○ | ○ | ○ | ○ |
| mp4fil32.dll | MPEG-4 file reader/writer | × | ○ | ○ | ○ | × | × | × |
| PSIKey.dll | 詳細不明 | × | × | × | × | × | ○ | × |
| divxdec.ax | 再生用DSフィルタ | ○ | ○ | ○ | ○ | ○ | ○ | ○ |
mp4fil32.dll のレジストリ
HKEY_CLASSES_ROOT\CLSID\{634f0d74-0dda-4344-be44-8b1c35ee3296}
5.0.2をインストールした状態でエクスポートしておく。
INF形式にした物
HKCR,CLSID\{634f0d74-0dda-4344-be44-8b1c35ee3296},,,"MPEG-4 file reader/writer"
HKCR,CLSID\{634f0d74-0dda-4344-be44-8b1c35ee3296}\AVIFile,,,3
HKCR,CLSID\{634f0d74-0dda-4344-be44-8b1c35ee3296}\InprocServer32,,,mp4fil32.dll
HKCR,CLSID\{634f0d74-0dda-4344-be44-8b1c35ee3296}\InprocServer32,ThreadingModel,,Apartment
これを書いている時点での最新版は5.0.4。ここから下は最新版と5.0.2を共存させる場合で説明する。Adware版の使用が前提。
5.0.2を普通にインストールした状態でシステムフォルダから divx.dll と mp4fil32.dll をコピーして保存、レジストリはエクスポートしておく。
インストールするファイル
| 最新版の divxdec.ax | プレーヤーでの再生、および一部の編集ソフト(Windows Media エンコーダなど)での読み込みに使用する。最新版を使わないと正常にデコードできない。 |
| 最新版の divx.dll | 一般的な編集ソフトでの読み込みに使用する。最新版を使わないと正常にデコードできない。FourCC(DIVX)を変えてはいけない。もちろんエンコードもできる。 |
| 5.0.2の divx.dll | エンコードおよび.mp4コンバートに使用する。ファイル名が重複しないように divx502p.dll のようにリネームしておく。FourCCは DIVX 以外にしてインストールする。 |
| 5.0.2の mp4fil32.dll | これが無いと.mp4コンバート(Advanced Parameters の DivX MP4 Creator)ができない。5.0.3以降はなくなったのでファイル名は変えなくていい。 |