撰寫轉換篩選

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

本節描述如何撰寫轉換篩選,定義為只具有一個輸入針腳和一個輸出針腳的篩選準則。 為了說明這些步驟,本節說明輸出執行長度編碼 (RLE) 視訊的假設轉換篩選器。 它不會描述 RLE 編碼演算法本身,只會描述 DirectShow 特有的工作。 (DirectShow 已透過 AVI 壓克 篩選器提供 RLE 編解碼器。)

本節假設您將使用 DirectShow 基類庫來建立篩選。 雖然您可以撰寫不含的篩選準則,但強烈建議使用基類庫。

注意

在撰寫轉換篩選之前,請考慮 DirectX 媒體物件 (DMO) 是否符合您的需求。 DMO 可以執行許多與篩選相同的動作,而 DMO 的程式設計模型更簡單。 DMO 會透過 DMO 包裝函 式篩選器裝載于 DirectShow 中,但也可以在 DirectShow 外部使用。 DMO 現在是編碼器和解碼器的建議解決方案。

 

本節包含下列主題:

建置 DirectShow 篩選

DirectShow 基類

撰寫 DirectShow 篩選