コーデックやフィルタが競合したら

複数の同じコーデックがインストールされると、コーデック同士が競合し、うまく再生できないことがあります。DVDライティングソフトやDVD再生プレーヤーをインストールすると、コーデックがインストールされることがあります。インストールされたコーデックを簡単に確認するには、Windowsのスタートメニューから[設定]→[コントロールパネル]→[システム]→[ハードウェア]→[デバイスマネージャ]→[サウンド、ビデオ、およびゲームコントローラ]の[ビデオCODEC]で確認できます(音声は[オーディオCODEC])。しかし、フィルタまでは表示されません(図2-15)。

図2-15 デバイスマネージャに登録されたコーデック

そこで、DirectShow Filter Toolを使います。Windows 98、Me、2000、XPで動作します。インストールはダウンロードしたDFTool.zipを適当なフォルダに解凍します。DirectShow Filter Toolを起動し、下のフィルタの選択で[すべて]を選択すると、インストールされているフィルタが図2-16のような表示されます。

図2-16 DirectShow Filter Tool

メリット値は、優先的に利用されるフィルタを表わします。この値を変更することで、競合しているフィルタの優先順位を変更することができます。メリット値にマウスを移動し、右クリックし[メリット値の変更]を選択します。

図2-17 メリット値の変更

値が大きいほど、優先的にそのフィルタが使用されます。

GraphEditの利用

さらにGraphEditを併用すると、動画データがどのフィルタを使って再生しているかなどがわかります。これを併用するとよいでしょう。GraphEditは、MicrosoftのWindows SDKなどの一部に含まれています。

図2-18 GraphEditでの表示

いくつかのフィルタが表示されますが、動画にはDivX Decoder Filterが使われています。今度は、DirectShow Filter Toolで、DivX Decoder Filterとメリット値と同じで、同じコーデックに対応するDivX MPEG-4 DVD Video Decompressorのメリット値を00800000から00900000へ変更します。

図2-19 DirectShow Filter Toolでメリット値の変更

再度、さきほどの動画をGraphEditで表示してみます。

図2-20 GraphEditでの再表示

動画のフィルタが、DivX MPEG-4 DVD Video Decompressorに変わっていることがわかります。 このようにメリット値を変更することで、動画に対し適用するフィルタを変更できます。DirectShow Filter Toolでは、フィルタの登録や解除も可能ですが、わからない場合には、解除をしないようにすべきです。