為何要使用 DirectShow?
[與此頁面相關聯的功能 Windows Media Format 11 SDK是舊版功能。 來源讀取器和接收寫入器已取代它。 來源讀取器和接收寫入器已針對Windows 10和Windows 11進行優化。 Microsoft 強烈建議新程式碼盡可能使用來源讀取器和接收寫入器,而不是Windows 媒體格式 11 SDK。 Microsoft 建議使用舊版 API 的現有程式碼盡可能重寫為使用新的 API。
應用程式可能會直接使用 DirectShow 而不是 Windows 媒體格式 SDK 的原因有兩個主要原因:為了方便 DirectShow 串流架構,以及存取硬體。
便利
使用 DirectShow 串流架構時,只需要幾個方法呼叫即可播放 Windows 媒體音訊或 Windows 媒體視訊檔案。 建立檔案也會簡化。 您只需使用篩選上的 IConfigAsfWriter 介面來指定設定檔,DirectShow 會自動載入轉譯或寫入資料流程所需的元件,並提供傳輸和同步處理媒體資料流程的機制。 將不同格式的內容轉換成 Windows 媒體格式時,DirectShow 特別有用。 您可以建立 DirectShow 篩選圖形來解碼各種檔案和壓縮類型,然後將解碼的資料流程饋送至 WM ASF 寫入器 篩選。 相較之下,此 SDK 中的 UncompAVItoWMV 範例只適用于未壓縮的 AVI 檔案。 文字資料流程和任意資料流程也可以透過 DirectShow 建立和/或轉譯,但您可能需要建立自訂 DirectShow 篩選來處理這些資料流程。
存取硬體
DirectShow 是應用程式程式碼存取 Windows 驅動程式模型 (WDM) 型硬體裝置的唯一方式,例如 1394 DV 相機、電視微調器和 USB 網路攝影機。 如果您的應用程式必須直接從 WDM 型硬體裝置擷取資料,並將其轉碼為 Windows 媒體格式,而 Windows 媒體編碼器 SDK 不符合您的需求,則 DirectShow 是唯一的替代方案。 DirectShow 也可用來根據 Windows 的視訊存取舊版裝置。