Media Foundation 和 DirectShow 提供了Windows中基本的媒體支持。Media Foundation在Windows Vista中作爲DirectShow的替代被引入。在Windows 7中,Media Foundation被提升來提供更好的格式支持,包括MPEG-4,以及視頻捕獲設備的支持和硬件編碼器
格式支持
在 Windows 7 中 ,Media Foundation提供了廣闊的格式支持包括H.264視頻、MJPEG、MP3,新的格式如:MP4、3GP、AAC 視頻, AVI,新MP4、3GP和MP3文件接收器(參考:Supported Media Formats in Media Foundation。)
硬件設備
Media Foundation的音頻/視頻管理現在支持如下類型的硬件設備:
• UVC 1.1 視頻捕獲設備,如webcams
• 音頻捕獲設備
• 硬件編碼和解碼
• 硬件視頻處理,如色彩空間轉換器
硬件編碼器可以執行非常快速的視頻轉碼。例如,假設你想要將一個 Windows Media Video 格式的文件轉成只支持 3GP 格式的手機上能用的文件。使用硬件編碼器,文件可以按需要轉碼,在複製到設備之前立即轉換完成。
硬件設備在Media Foundation中展現時使用代理對象,在管道中使用它就象在使用基於軟件的組件一樣(參考:What's New for Media Foundation.)
Simplified Programming Model
簡化了的編程模塊 (Simplified Programming Model)
在 Windows Vista 中 , Media Foundation 暴露了一組相關的低級 API 。這些 API 接口可伸縮性高 , 但是可能對於展現類任務並不合適。 Windows 7 中添加了新的高級 API ,使得在 C++ 中編寫多媒體應用程序更容易。這些高級 API 接口包括:
• MFPlay.這些API設計用於音頻和視頻的播放。它們支持的典型播放操作(停止,暫停,查找,評價控件,音量及向前),同時隱藏低級別API的詳細情況(會話和拓撲層)。
• Source Reader.你可以使用這些API從媒體文件中取出原始數據或解碼數據,而無需對了解底層格式。例如,你可以從視頻文件中獲取到縮略圖或從網絡攝像機中獲取到實時的視頻幀。
• Sink Writer你可以用這些API通輸入一些未經壓縮或編碼的數據來創建媒體文件,比如可以重新編碼或混合一個音頻文件。
• Transcode.軟件碼的API用於完成常見的音視頻轉碼任務。
平臺改進
Windows 7包括了大量的更新到底層的Media Foundation 平臺的API。高級應用程序可以直接使用這些API;其它應用將間接地受益。這些好處包括:
• 視頻傳輸通道上的更新以減少電源的消耗和視頻內存使用率。
• 新的DVXA視頻處理API,使用了更具靈活性的混合模式從而更適合於HD視頻格式。
• 插件程序(源文件與解碼器)被列舉並更好地管理