エンドユーザーサポート
始めに
このドキュメントには、ムービー再生がエラーを発生する場合の対処法が書かれています。
この対処を行っても状態が改善しない、または、対処を行う前にゲームを進行させたい場合は、音付きのムービー(OP/ED等)をスキップさせる方法をご覧下さい。
症状
ムービーを合成表示(ムービーを表示しながらメッセージを表示したり、そのほかのエフェクトをかけたりする事)しようとしている場所でエラーが発生する。
原因と対策
原因:
多くのコーデックやフィルタをインストールした結果、mpeg1の再生に利用されるフィルタがOS標準のもの(またはそれに準拠したもの)ではなくなってしまっています。
対策:
OS標準のコーデックを利用するように設定して下さい。
解説:
この問題は、コーデックをアンインストールして標準に戻せば解決しますが、複雑な環境をもつPCでは単純に環境を初期化するわけには行かない場合が多々あります。
このような特定の環境に対するサポートはメーカー側では対応が難しく、大抵は標準のコーデックをご使用ください(初期化してください)と言われる事になるわけですが、 ここはunofficialですし、ここまで来られた方は、ある程度PCの知識をお持ちだと思いますので、「対策1」としてffdshowを利用している場合の設定を、 「対策2」として、GSpotとDirectShowFilterTool を用いて、mpeg-1再生がOS標準のコーデックやフィルタを利用するように変更する方法を説明します。
これらのツールは広く使われているものとはいえ、無保証です。利用者自身の責任でご使用ください。
対策1 ffdshow を利用している場合
ffdshowを利用している場合、アプリケーション毎にffdshowを利用しない設定を行うことが出来ます。 ExHIBIT.exeを、ffdshowを利用しないように登録するだけで、問題が解決する場合があります。
この操作で正常に動作するようにならない場合は、「対策2」を行ってください。
まず、ffdshow の「ビデオデコーダーの設定」を起動します。
スタートメニューから「ffdshow」-「ビデオデコーダーの設定」を実行してください。
すると、左図のようなダイアログが開きますので、左のペインから「DirectShowのコントロール」を選択してください。
そして、右のペインの、「以下ではffdshowを使用しない」の部分に、ExHIBIT.exeを追加してください。 ファイル名の区切りは半角のセミコロン;です。 なおご利用になっているゲームの実行ファイル名は、ExHIBIT.exeだとは限りません。その場合、そのゲームの実行ファイル名を入力してください。
通常、右のペインの「未知のアプリケーションがffdshowをロードしようとした時ダイアログを表示する」にチェックが入っていれば、 初めて実行するときffdshowのダイアログが表示されますから、そこで、ffdshowを利用しないを選んでもOKです。
対策2 GSpotとDirectShowFilterToolを利用する場合
この操作を行うと、すべてのDirectShowを利用するアプリケーションで mpeg-1の再生はOS標準のコーデックが利用されるようになります。
各ツールは以下からダウンロードできます
GSpot
  • (GraphEdit でも構いません) 再生に利用されているフィルタやコーデックをチェックするのに使用します。
    本家(英語):http://www.headbands.com/gspot/
    日本語化パッチ&実行ファイル:http://www.h4.dion.ne.jp/~trooper/dl_link.htm
DirectShow Filter Tool
  • フィルタのメリット値(使用される順番を決める値だと思ってください)を変更することで、標準のフィルタやコーデックを優先的に使用するよう、OSに働きかけるのに使用します。
    http://hp.vector.co.jp/authors/VA032094/DFTool.html
まず、GSpotで、現在使用されているフィルタを特定しましょう。
GSpotを上記サイトからダウンロードして、解凍し、起動します。 GSpotが起動すると、下のようなウィンドウが表示されます。
起動直後は、システムにインストールされているコーデックを読み込みますので、 上図、右上(1)の部分が「xx種のビデオコーデックを取得済み」になるまで少し待ちます。
その後、対象となるゲームの mpg ファイル(拡張子が.mpg のもの)をさがして下さい。
通常、res\g\ev\??\以下にあります。??はファイル名を100で割った値です。1023.mpg なら、res\g\ev\10\1023.mpg にあります。 2005年度以前のタイトルの場合は、res\g\dlt\ にあります。
見つかったファイルを、GSpotのウィンドウにドロップすると、上図(2)の位置にそのファイルが表示されます。(ファイルをドロップした時の画像はこちら
次に、(3)の位置にある「実行」ボタンを左クリックしてください。すると、2でドロップしたファイルが実際にレンダリングされ、利用されているビデオパスとオーディオパスが表示されます。(レンダリングテスト後の画像はこちら
3の処理を実行した後(3)の位置にあるビデオパスの項目を見てください。
この項目が、(S) --> MPEG-I Stream Splitter --> MPEG Video Decoder --> (R) となっていれば、mpeg1の最終的な再生には(たぶん)標準的なフィルタが使用されていて、 通常は問題なく表示されるはずです。この状態になっていない、もしくはこの状態になっているにもかかわらず動作がおかしい場合は、次に進んでください。
それでは、DirectShow Filter Tool を利用してメリット値を変更することで、OS標準のフィルタを利用するように設定しましょう。
DirectShow Filter Tool を上記サイトからダウンロードして、解凍し、起動すると、左のようなウィンドウが表示されます。
ウィンドウ下部にある「フィルタの選択」コンボボックスで、「MPEG-1 Video Decoder」を選択すると、 MPEG-1の再生に使われるフィルタやコーデックが検出され、左図のようにウィンドウに表示されます。
例として、サイバーリンクのデコーダーがインストールされている環境を利用したため、標準の quartz.dll 以外にサイバーリンクのデコーダーも表示されています。(画像をクリックすると拡大します) モザイクがかかっている部分は環境によって異なりますが、大抵は、C:\WINNT\や、C:\WINDOWS\です。
この例では、MPEG Video Decoder のメリット値が「0x40000001」で、サイバーリンクのVideo/SP Decoderのメリット値が「0x00600000」であるため、DirectShowによるMPEG-1の再生には、 MPEG Video Decoder が優先的に使われます。つまり、何もしなくても構いません。
もし、MPEG Video Decoder に設定されているメリット値が、サイバーリンクのものよりも小さい場合は、サイバーリンクの 0x00600000 よりも大きな値(例えば、0x00700000等。0xは16進数の意味です。メリット値は、通常、16進数8桁で表現されます)を設定することで、 優先的に使用させることが出来るようになります。
解説:「メリット値」
同じ機能を持ったフィルタやコーデックが複数インストールされている環境で、DirectShowが自動的に使用フィルタを決定しなければならない際に参照するための値で、大きい値のものが優先的に使用されます。 あくまでも大小関係を表現するための値であるため、値自体に特定の意味はありません。
メリット値の変更方法については、次で一緒に説明します。
次に、使用されるスプリッタを確認します。
デコーダーと同様、ウィンドウ下部にある「フィルタの選択」コンボボックスで「MPEG-1 Splitter」を選択することで、MPEG-1の再生に使われるスプリッタが検出され、左図のようにウィンドウに表示されます。
ここでは、MPEG-1Stream Spritter のメリット値が0x00600000、サイバーリンクのスプリッタが 0x00805000で、サイバーリンクのスプリッタが優先的に使われています。 これを、メリット値を変更して、MPEG-1 Stream Spritter を優先的に使用するよう変更してみましょう。
まずは、優先的に使用したい行を右クリックしてメニューを表示し、メリット値の変更を選択します。
すると、左図のようなダイアログが開きます。
現在の、MPEG-1 Stream Splitter のメリット値は 0x00600000 です。CyberLink MPEG-1 Splitterのメリット値は 0x00805000ですから、これより大きな、例えば 0x00C00000 に変更してOKを押します。
これで、MPEG-1 Strem Splitter のメリット値が変更され、優先的に使用されるようになりました。 ゲームを起動して、問題が解決されたかどうか確かめてみてください。
最後に
ffdshowなど、一部のアプリケーションは、いろいろなコーデックを置き換えますが、 置き換えられたコーデックの動作が標準のものと異なると、様々な問題が引き起こされますのでご注意ください。 また、Elecard なども、問題が起こるバージョンがあるようです。最新のフィルタを導入したり上記操作を行ってみたりして、正常に表示されるフィルタの組み合わせを見つけてください。
正式に動作保証されているものは、OS付属の、MPEG-1 Stream Splitter と、MPEG-1 Video Decoder の組み合わせのみです。

OP/EDなどの単純な音付きのムービー再生で落ちる場合で、ムービーをスキップして先に進みたいときはこちらをご覧下さい。