Indeo 5 Codecの動画を64bit版Windows 8.1で再生するのにえらく手間取った話

Indeo Logo

ある事情からものすごく昔の動画を再生する必要があり、データを発掘するところまでは何とかいったものの、肝心の動画が正常に再生されない問題が発生。OSはWindows 8.1の64bit版で、ffdshowはインストール済み。ffdshowでサポートしてないタイプなのか……?と考え使用されているコーデックを調べてみると、今や見かけることはまずない「Indeo 5 Codec」というもので、サポートもとっくに終了している代物。いちおうffdshowでも対応しているようなのだが、自分の環境ではフィルタをONにしても正常に再生できなかった。

調べてみると、Indeo 5 CodecはWindows XPではコーデックが入っていないバージョンがあったものの、Vista以降では標準で対応しているらしい。仮に何らかの事情で入っていなかったとしても、以下のページから2014年現在でもダウンロードできる。

ところがこれ、デフォルトで無効化されていて、このままでは使用できない。コマンドプロンプトなどを使って、アクティブ化してやらないとダメとのこと。

64bit版Windowsの場合、具体的には次のようにおこなう。なお、方法自体はVistaだろうが7だろうが8だろうが変わらないらしい。

  1. キーボードで「Win + X」と入力して、「コマンドプロンプト(管理者)」を起動
  2. 以下のコマンドを入力
cd C:/Windows/SysWOW64
regsvr32 ir50_32.dll

すると「DllRegisterServerは成功しました。」と表示されて無事見られるようになる……とどこにも書いてあるのだが、自分の環境ではダメ。「モジュールの読み込みに失敗しました。」と出て上手くいかない。実際に「SysWOW64」フォルダを見に行っても「ir50_32.dll」はあるのに、なぜか失敗してしまうのだ。

とはいえ、先に結論を書くと解決はできた。管理者権限のコマンドプロンプトで以下のように入力して実行すればいい。

cd C:/Windows/SysWOW64
regsvr32 ir50_32original.dll

確かに「SysWOW64」フォルダには「ir50_32.dll」はあるのだが、そのすぐ下に「ir50_32original.dll」というファイルもあり、どうやらこっちが(名前の通り)本体のようだ。何かの理由でこうなっているのだとは思うが、調べてみてもよくわからなかった。とりあえず、「dllはあるのに見つからない(とWindowsに警告される)」場合は、「○○original.dll」というものがないか探してみるのがいいのかもしれない。