メディア プラットフォーム
Media Foundation と DirectShow は 、Windows でのメディア サポートの基礎を提供します。 Media Foundation は、DirectShow の代わりに Windows Vista で導入されました。 Windows 7 では、Media Foundation が強化され、 MPEG-4 を含むより優れた形式のサポートと、ビデオ キャプチャ デバイスとハードウェア コーデックのサポートが提供されています。
書式のサポート
Windows 7 では、 Media Foundation は 、H.264 ビデオ、 MJPEG、 MP3 用のコーデックを含む広範な形式のサポートを提供します。 MP4、 3GP、 AAC オーディオ、 AVIの新しいソース。 MP4、 3GP、 MP3 の新しいファイル シンク。 ( Media Foundation でサポートされているメディア形式に関するページを参照してください)。
ハードウェア デバイス
Media Foundation では、オーディオ/ビデオ パイプラインで次の種類のハードウェア デバイスがサポートされるようになりました。
- WEB カメラなどの UVC 1.1 ビデオ キャプチャ デバイス
- オーディオ キャプチャ デバイス
- ハードウェア エンコーダーとデコーダー
- 色空間コンバーターなどのハードウェア ビデオ プロセッサ
ハードウェア コーデックは、非常に高速なビデオ トランスコーディングを実行できます。 たとえば、 Windows Media Video (WMV) ファイルを 、3GP ファイルのみをサポートする携帯電話に転送するとします。 ハードウェア エンコーダーを使用すると、ファイルをデバイスに転送する直前に、"必要に応じて" トランスコードできます。
ハードウェア デバイスは Media Foundation でプロキシ オブジェクトによって表され、ソフトウェア ベースのコンポーネントと同様にパイプラインで使用されます。 ( 「What's New for Media Foundation」を参照してください)。
簡略化されたプログラミング モデル
Windows Vista では、 Media Foundation によって比較的低レベルの API セットが公開されました。 これらの API は柔軟ですが、タスクの実行には適していない場合があります。 Windows 7 では、 C++ でメディア アプリケーションを記述しやすくする新しい高レベル API が追加されています。 これらの新しい高レベル API には、次のものが含まれます。
- MFPlay。 これらの API は、オーディオとビデオの再生用に設計されています。 一般的な再生操作 (停止、一時停止、再生、シーク、レート制御、オーディオ ボリュームなど) をサポートし、低レベル API (セッション層とトポロジ レイヤー) の詳細を非表示にします。
- ソース リーダー。 これらの API を使用すると、基になる形式について何も知らなくても、メディア ファイルから生データまたはデコードされたデータをプルできます。 たとえば、ビデオ ファイルからサムネイル ビットマップを取得したり、Web カメラからライブ ビデオ フレームを取得したりできます。
- シンク ライター。 これらの API を使用すると、圧縮されていないデータまたはエンコードされたデータを渡すことによって、メディア ファイルを作成できます。 たとえば、ビデオ ファイルを再エンコードまたはリミックスできます。
- トランスコード。 これらの API は、最も一般的なオーディオとビデオのエンコード シナリオを対象とします。
プラットフォームの機能強化
Windows 7 には、基になる Media Foundation プラットフォーム API に対する多数の機能強化が含まれています。 高度なアプリケーションでは、これらの API を直接使用できます。他のアプリケーションは間接的に利点を得るでしょう。 次のような利点があります。
- ビデオ パイプラインの機能強化により、電力消費とビデオ メモリの使用量を削減しました。
- より柔軟な合成モデルを使用し、HD ビデオ形式に適した新しい DVXA ビデオ処理 API。
- プラグイン (ソースとデコーダー) を列挙および管理する方法の改善。
関連トピック