Share via


DVD フィルター グラフの構成

[このページに関連付けられている機能 DirectShow は、従来の機能です。 MediaPlayer、IMFMediaEngine、Media Foundation のオーディオ/ビデオ キャプチャに置き換わりました。 これらの機能は、Windows 10とWindows 11用に最適化されています。 新しいコードでは、可能であれば、DirectShow ではなく Media Foundation で MediaPlayerIMFMediaEngineAudio/Video Capture を使用することを強くお勧めします。 Microsoft は、レガシ API を使用する既存のコードを、可能であれば新しい API を使用するように書き換えるよう提案しています。]

このセクションでは、DirectShow での DVD 再生のさまざまなフィルター グラフ構成について説明します。 これらの図は、主に参考用に提供されています。 DVD ナビゲーターはグラフを作成するため、一般にグラフの構成方法の詳細を理解する必要はありません。 詳細については、「 DVD フィルター グラフの作成」を参照してください。

次の図は、ソフトウェア デコーダーを使用した DVD フィルター グラフを示しています。

windows xp 用 dvd フィルター グラフ

ハードウェア デコーダーが存在する場合、通常はビデオ ポートによってビデオ カードに直接接続されます。 これにより、デコードされたビデオ ビットを、ホスト メモリに渡さずにグラフィックス カードのフレーム バッファーに直接送信できます。 以前のバージョンの Windows でこの直接接続を管理するために、DirectShow は オーバーレイ ミキサー フィルターのインターフェイスを介して DirectDraw ビデオ ポート拡張機能 (VPE) をサポートしています。

注意

オーバーレイ ミキサーは非推奨になりました。

 

Windows XP 以降では、ハードウェア デコーダーを Video Port Manager フィルターに接続できます。

ハードウェア デコーダーを使用した Windows xp 用 dvd グラフ

これらすべてのグラフでは、DVD ナビゲーターはソース フィルターです。いくつかのタスクを実行します。

  • ディスクからナビゲーションデータとビデオデータを読み取ります。
  • ビデオ、オーディオ、サブ画像のデータを個別のストリームに分離します。
  • ストリームをグラフにポンプして、さらに処理し、最終的なレンダリングを行います。
  • DVD 関連のイベントをアプリケーションに通知します。

オーディオ ストリームでは、DVD ナビゲーターはオーディオ デコーダーにダウンストリームに接続します。このデコーダーは、既定のオーディオ レンダラーである DirectSound レンダラー フィルターに接続します。 ビデオ ストリームとサブ画像ストリームでは、ダウンストリーム フィルターはサード パーティ製のビデオ デコーダーと、ビデオ ミキシング レンダラー (または オーバーレイ ミキサー、ダウンレベル アプリケーションの ビデオ レンダラー ) です。 アプリケーションで 21 行目のクローズド キャプション付きデータを処理する場合は、DirectShow Line 21 デコーダー 2 フィルターをグラフに追加する必要があります。 これには、1 つのメソッド呼び出しが含まれます。フィルターは自動的に接続されます。

アプリケーションは、DVD ナビゲーターが公開するカスタム インターフェイスを介して DVD ナビゲーターと通信し、制御します。 IDvdControl2 ("set" メソッド) と IDvdInfo2 は "get" メソッドです。 また、フィルター グラフ マネージャー ( IMediaControl 経由) と通信して、グラフを停止、開始、および制御する必要もあります。 また、ウィンドウ表示と全画面表示を切り替えるためのオーバーレイ ミキサー フィルターなど、他の個々のフィルターを制御する必要がある場合もあります。 詳細については、「 IMixerPinConfig2」を参照してください。 グラフの正確な構成は、インストールした MPEG-2 デコーダーの種類、21 行目のクローズド キャプション付きデータを処理する必要があるかどうか、およびその他の要因によって異なります。

DVD アプリケーション