使用影片混合轉譯器

[與此頁面相關的功能 DirectShow是舊版功能。 它已被 MediaPlayerIMFMediaEngineMedia Foundation 中的音訊/視訊擷取取代。 這些功能已針對Windows 10和Windows 11進行優化。 Microsoft 強烈建議新程式碼盡可能使用 MediaPlayerIMFMediaEngine音訊/視訊擷取 ,而不是 DirectShow。 Microsoft 建議使用舊版 API 的現有程式碼盡可能重寫為使用新的 API。

就效能和廣度功能而言,視訊混合轉譯器 (VMR) 篩選準則代表 Windows 平臺上的視訊轉譯中新一代。 VMR 會取代重迭混音器和視訊轉譯器,並新增許多新的混合功能。

VMR 有兩個版本:

  • 使用 DirectDraw 7 進行轉譯的 VMR-7。
  • 使用 Direct3D 9 的 VMR-9。

VMR-7 可在 Windows XP 和更新版本上使用,但無法轉散發。 VMR-9 可在 DirectX 9 支援的所有平臺上轉散發。 這兩個 VMR 篩選準則在其實作中非常類似,以及它們所公開的介面。

由於 DirectDraw 7 和 Direct3D 9 之間的基礎差異,VMR-9 有自己的 CLSID 和自己的介面、結構和列舉型別,這不一定與 VMR-7 的對應資料類型相同。 VMR-9 介面全部以 「9」 結尾,例如 IVMRStreamConfig9,而結構和列舉類型的名稱中全都有 「VMR9」,以區別它們與 VMR-7 搭配使用的資料類型。

為了確保回溯相容性,VMR-9 不是任何系統上的預設轉譯器。 若要使用 VMR-9,您必須使用 IFilterGraph::AddFilter 方法明確地將它新增至篩選圖形,並在將它連接到任何上游篩選準則之前進行設定。

本文包含下列各節。 除非另有說明,這些區段中的資訊也適用于 VMR-7 和 VMR-9 篩選準則。

影片混合轉譯器篩選 7

影片混合轉譯器篩選 9