Media Foundation

Media Foundation是微軟在Windows上推出的下一代多媒體開發庫，目的是為Windows平台提供統一的多媒體影音解決方案，開發者可以透過Media Foundation播放影片和聲音文件、進行影音編碼或者多媒體文件轉碼等等工作。Media Foundation是DirectShow為主的舊式多媒體應用程序接口的替代者與繼承者，在微軟的計畫下將逐步汰換DirectShow技術。Media Foundation僅支援Windows Vista或更新的系統。

Media Foundation擅長高品質的音訊和視訊播放，高清內容（如HDTV,高清電視）和數位版權管理（DRM）訪問控制。Media Foundation在不同的Windows版本上能力不同，在Windows Vista上僅支持WMV格式，但到了Windows 7後添加了H264編碼支持。Windows 8上則多了數種更高品質的設定。

 架構 
Media Foundation（以下簡稱MF）架構分為控制層（Control layer），核心層（Core layer）與平台層（Platform layer）。大部分MF功能均由核心層提供，開發者則由控制層來控制行為。一般開發者僅須了解控制層與核心層，幾乎不須接觸平台層。

Media Foundation提供了兩種編程模型，第一種是以Media Session為主的媒體管道模型（Media pipeline）。但是媒體管道模型太過複雜，且曝露過多底層細節，故微軟於Windows 7上推出第二種編成模型，內含SinkWriter、SourceReader、以及Transcode API三部分，大大簡化了MF的使用難度。

媒體管道（pipeline）分三個組成部分：媒體來源（Media Source），媒體接收器（Media Sink）和媒體平台變換（Media Foundation Transforms）。

 媒體平台變換 
媒體平台變換（Media Foundation Transforms）推出了一個革新式的技術DirectX Media Objects（DMOs）。混合DMO的/ MFT的對象也可以創建。應用程序可以使用MFTs內的管道，或直接使用它們作為獨立的對象。其種類如下：
 音訊和視訊編解碼器
 音訊和視訊效果
 Multiplexers和demultiplexers
 Tees
 色彩空間轉換器
 Sample-rate converters
 視訊定標器（Video scalers）
微軟建議開發人員編寫MFTs，取代DirectShow篩選器。

 增強型視訊渲染器 
Media Foundation使用Enhanced Video Renderer（EVR）作為渲染器。它可以組合多達16個同步流（simultaneous streams），第一流是一個參考流（reference stream）。

與DirectShow比較
MF有以下好處：
 可擴展的高清晰度內容和數位版權管理保護（DRM-protected）的內容。
 允許DirectX視訊加速用於之外DirectShow的基礎設施。支持DXVA 2.0。
 MF的可擴展性（extensibility），使不同的內容保護系統一起運作。
 使用多媒體類別計劃程序服務（MMCSS），是一個新的系統服務在Windows Vista。

而MF支持的視訊格式較DirectShow有限是其缺點。。

 應用支援 
Media Foundation首次適用於Windows Vista,可見諸於media playback applications.

 注釋 

 外部連結 
 Microsoft Media Foundation SDK
 Media Foundation Development Forum
Media Source Metadata 
Media Foundation Pipeline 
Media Foundation Architecture 
About the Media Session 
About the Media Foundation SDK 
Enhanced Video Renderer

Category:Windows多媒体
Category:多媒体框架