共用方式為


選擇正確的視訊轉譯器

[與此頁面相關聯的功能,DirectShow是舊版功能。 它已被 MediaPlayerIMFMediaEngine和媒體基礎架構中的 音訊/視訊擷取取代。 這些功能已針對 Windows 10 和 Windows 11 進行優化。 Microsoft強烈建議新程式代碼盡可能在媒體 基礎中使用 MediaPlayerIMFMediaEngine 音訊/視訊擷取,而不是 DirectShow。 Microsoft建議使用舊版 API 的現有程式代碼,盡可能改寫成使用新的 API。]

DirectShow 提供數個影片轉譯器篩選,如下表摘要說明。

濾波器 備註
增強式視訊轉譯器 (EVR) 使用 Direct3D 9。 需要 Windows Vista 或更新版本。
視訊混合轉譯器 9 (VMR-9) 使用 Direct3D 9。 需要 Windows XP 或更新版本。
視訊混合濾鏡 7 (VMR-7) 使用 DirectDraw。 需要 Windows XP 或更新版本。
重疊混音器 支援硬體重疊,透過 DirectDraw 實現。
舊版 視訊渲染器 濾鏡。 使用 DirectDraw 或 (很少) GDI

 

要使用的轉譯器主要取決於您需要支援的 Windows 版本。

  • 在 Windows Vista 和更新版本中,如果硬體支援 EVR,應用程式應該使用 EVR。 否則,請回到 VMR-9 或 VMR-7。 EVR 提供比先前轉譯器更好的效能和更好的視訊品質。 此外,其設計目的是要與桌面視窗管理員 (DWM) 搭配使用。
  • 在 Windows Vista 之前,如果硬體支援 VMR-9,且不需要視訊埠功能,請使用 VMR-9。 否則,請使用 VMR-7。
  • 在較舊的系統上,您可能需要使用疊加混合器(適用於視訊埠或硬體重疊支援)或舊版視訊呈現篩選器。

IGraphBuilder::RenderRenderFile 方法預設會使用 VMR-7。 如果硬體不支援 VMR-7,這些方法會回復為舊版影片轉譯器篩選器。 EVR 和 VMR-9 絕不是預設轉譯器。

影像渲染