次の方法で共有


ビデオ混合レンダラー フィルター 7

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

このトピックは、Windows XP 以降に適用されます。

Windows XP 以降では、ビデオ 混合レンダラー 7 (VMR-7) が既定のビデオ レンダラーです。 内部的には DirectDraw 7 を使用するため、VMR-7 と呼ばれます。 DirectX 9 では、同様だが別個のフィルター VMR-9 を XP 以外のシステムで再配布できます。 VMR-9 は Direct3D 9 を使用します。

注意

VMR は Windows XP 以降で使用できます。 DirectX 再頒布可能パッケージまたは以前のバージョンの Windows では使用できません。 ほとんどのシナリオでは、アプリケーションで Video Mixing Renderer 9 を使用する必要があります。

 

VMR の機能は次のとおりです。

  • 最大 16 個の入力ストリームの真のアルファ ブレンド
  • 合成イメージがレンダリングされる前にアクセスする
  • サード パーティがカスタム ビデオ効果を実装できるようにするプラグイン モデル。
  • 最大 15 台のモニターのサポート。

Windows XP 以降でのグラフビルド中、フィルター グラフ マネージャーでは、アプリケーションによって明示的に作成されてグラフに追加されない限り、古いビデオ レンダラーまたはオーバーレイ ミキサー フィルターは使用されません。

詳細については、「 ビデオ ミックス レンダラーの使用」を参照してください。

Label
フィルター インターフェイス すべてのモード:ウィンドウ モード:
ウィンドウレス モード:
レンダリングレス モード:
ミキサー モード:
さまざまな VMR-7 モードの詳細については、「 VMR の操作モード」を参照してください。
入力ピン メディアの種類 主な種類: MEDIATYPE_VideoSubtype: グラフィックス ハードウェアによって異なります。 圧縮されていないビデオである必要があります。
入力ピン インターフェイス
出力ピン メディアの種類 該当なし。
出力ピン インターフェイス 該当なし。
CLSID のフィルター処理 このフィルターには、次の 2 つの CLSID が関連付けられています。
  • CLSID_VideoMixingRenderer: VMR-7 を作成します。 VMR-7 を作成するのに十分なシステム リソースがない場合、 CoCreateInstance の呼び出しは失敗します。
  • CLSID_VideoRendererDefault: システム リソースが使用可能な場合は VMR-7 を作成します。それ以外の場合は、古い ビデオ レンダラー フィルターを作成します。
VMR-7 の特定の機能が必要な場合は、CLSID_VideoMixingRendererを使用します。 それ以外の場合は、CLSID_VideoRendererDefaultを使用します。これは、古いビデオ レンダラー フィルターにフォールバックするため、ほぼ確実に失敗しません。
プロパティ ページ CLSID 該当なし。
[実行可能ファイル] Quartz.dll
メリット MERIT_PREFERRED + 1
フィルター カテゴリ CLSID_LegacyAmFilterCategory

 

解説

入力ピンは、VMR-7 フィルターがウィンドウ モードの場合にのみ IOverlay インターフェイスを公開します。 ピンが実装する IOverlay メソッドは GetWindowHandle のみです。これにより、アプリケーションはフィルターのビデオ ウィンドウへのハンドルを取得できます。 その他のすべての IOverlay メソッドは、E_NOTIMPLを返します。 ウィンドウレス モードでは、フィルターはビデオ ウィンドウを作成しないため、ピンはインターフェイスを公開しません。

アプリケーションは、次のインターフェイスを公開するカスタム アロケーター 発表者オブジェクトを提供できます。

カスタム アロケーター発表者の詳細については、「 VMR-7 のカスタム Allocator-Presenterの提供」を参照してください。

アプリケーションでは、次のインターフェイスを公開するカスタム プラグイン コンポジターを提供することもできます。

カスタムコンポジターを使用して VMR を構成するには、 IVMRFilterConfig::SetImageCompositor を呼び出します。

DirectShow フィルター