エンドユーザーサポート
始めに
このドキュメントには、ムービー再生がエラーを発生する場合の対処法が書かれています。
この対処を行っても状態が改善しない、または、対処を行う前にゲームを進行させたい場合は、音付きのムービー(OP/ED等)をスキップさせる方法をご覧下さい。
症状
ムービーによる演出を行っている場所でエラーが発生する。
原因と対策
原因:
多くのコーデックやフィルタをインストールした結果、mpeg1の再生に利用されるフィルタがOS標準のもの(またはそれに準拠したもの)ではなくなってしまっています。
対策:
OS標準のコーデックを利用するように設定して下さい。
解説:
この問題は、サードパーティ製のアプリケーションのインストールにより、対象ファイルを再生する標準のコーデックよりも 優先して使用されるコーデックが登録された場合や、何らかの理由により、標準のコーデックの登録が解除された場合に発生します。
ffdshowをはじめとするコーデック群を取り扱うアプリケーションには、大抵除外設定が存在していますので、そういったアプリケーションの場合は当該ゲームの実行ファイルを除外してください。 そうでない場合は、メリット値を操作してOS標準のコーデックが優先的に利用されるように変更することで問題を解決します。
以下に、「対策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を利用する場合
まず、GSpotまたはGraphEditで利用されているコーデックを確認した後、それが標準でない場合、DirectShowFitlerToolでメリット値を変更することで標準のコーデックを利用するように変更します。
この操作を行うと、すべてのDirectShowを利用するアプリケーションで mpeg-1の再生はOS標準のコーデックが利用されるようになります。
以前この項目は、GSpot ver.2.21を対象に記述されていました。そのときの操作を解説したドキュメントはこちら
各ツールは以下からダウンロードできます
GSpot v2.70a
  • 再生に利用されているフィルタやコーデックをチェックするのに使用します。
    download(英語):http://www.headbands.com/gspot/
DirectShow Filter Tool ver.1.7
  • フィルタのメリット値(使用される順番を決める値だと思ってください)を変更することで、標準のフィルタやコーデックを優先的に使用するよう、OSに働きかけるのに使用します。
    download: http://hp.vector.co.jp/authors/VA032094/DFTool.html
まず、GSpotで、現在使用されているフィルタを特定しましょう。
GSpotを上記サイトからダウンロードして、解凍し、できあがった、GSpot.exe を起動します。
GSpotが起動すると、左図のようなウィンドウが表示されます。
起動直後は、システムにインストールされているコーデックを読み込みますので、左図の(2)にあるStatusが Ready [??? codecs loaded] になるまで少し待ちます。???の部分には読み込んだコーデック数が入ります。
準備が出来た(Ready表示になった)ら、対象となるゲームの mpg ファイル(拡張子が.mpg のもの)をGSpotのウィンドウにドラッグ&ドロップしてください。
通常、res\g\ev\??\階層化にあります。
??はファイル名を100で割った値です。例えば、1023.mpg なら、res\g\ev\10\1023.mpg にあります。
すると左図のような表示になり、左下のふたつのボタンが有効になります。
ExHIBIT の movie再生には DirectShow が使われています。 GSpotで DirectShow に使われるフィルタのグラフを表示したい場合は、GSpotのウィンドウの左下、 左図のの位置にあるボタンを押してください。
すると左図のCの部分に、ご利用になられている環境で、DirectShowを利用して対象ファイルを再生した場合に利用されるフィルタのグラフが表示されます。 (図を左クリックすると原寸表示します)
OS標準のコーデックが利用されている場合は、 [Src]-->>--[A]-->[MPEG-1 Stream Splitter]>--[B]-->[MPEG Video Decoder]>--[C]--[Video Renderer] と表示されるはずです。
これ以外のスプリッターやデコーダーが表示されていたり、何も表示されていない場合は、次のDirectShowFilterToolを利用して、DirectShowで優先的に標準コーデックが利用されるよう設定してください。
なお、上記のの位置に書かれている情報は、問題を解決するために大変役に立ちますので、是非、コピペしたりスナップショットをとったりして、サポートを依頼するメールに添付してください。
また、左図のの位置にあるボタンを押すと、ご使用になっている環境で対象ファイルを再生できそうなすべてのフィルタのグラフが表示されます。 サポートを依頼する際は、是非その結果も添付してください。

標準になっていない場合は、DirectShowFilterToolをで設定しましょう。
GSpotで調査した結果、DirectShowで再生に利用されるスプリッタやコーデックがOS標準から変更されている場合は、DirectShowFilterToolを利用して、 メリット値を変更することで、OS標準のフィルタを利用するように設定しましょう。
DirectShow Filter Tool を上記サイトからダウンロードして、解凍して出来た、dftool.exe を起動すると、左のようなウィンドウが表示されます。
ウィンドウ下部にある「フィルタの選択」コンボボックスで、「MPEG-1 Video Decoder」を選択すると、 MPEG-1の再生に使われるフィルタやコーデックが検出・表示されます。 これはXp 32bit版。
参考:windows7 64bit版だとこんな感じ。
mpg再生時に必要なコーデックは、MPEG Video Decoder(ファイル名:...\quartz.dll)です。
なお、この時点でフィルタ名MPEG Video Decoder (ファイル名 ...\quartz.dll) が表示されていない場合、必要なファイルの登録が解除されています。 その場合は、まずquartz.dllを登録してください。
例として、サイバーリンクのデコーダーがインストールされているXp環境を利用したため、標準の 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が自動的に使用フィルタを決定しなければならない際に参照するための値で、大きい値のものが優先的に使用されます。 あくまでも大小関係を表現するための値であるため、値自体に特定の意味はありません。
上記、参考のwindows7版だと、メリット値は次のようになっています。
ffdshow Video Decoder:0xFF800001
MPEG Video Decoder:0x40000001
InterVideo Video Decoder:0x00700000
ArcSoft MPEG Decoder:0x00600000
Microsoft DTV-DVD Video Decoder:0x005FFFFF
CyverLink SAC Video Decoder:0x00200000
したがって、通常は、ffdshowが最初に利用されますが、これはメリット値を書き換えなくても、ffdshowで無効設定を行えばOKです。 次にメリット値が大きいのは、標準の MPEG Video Decoderなので、それだけで正常に動作するはずです。
実際のメリット値の変更方法は、後述のスプリッタの場合と同様ですので、そちらを参照してください。
コーデックと同様に、使用されるスプリッタも確認しておきましょう。
デコーダーと同様、ウィンドウ下部にある「フィルタの選択」コンボボックスで「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などの単純な音付きのムービー再生で落ちる場合で、ムービーをスキップして先に進みたいときはこちらをご覧下さい。