共用方式為


使用編解碼器

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

Microsoft Windows 提供數個編解碼器作為作系統元件。 可用的編解碼器一律包含隨附於 Windows 版本之 DirectX 和 Windows Media Player 隨附的版本。 安裝較新版本的 DirectX 或 Windows Media Player 或 Windows Media SDK 運行時間時,可能會安裝其他編解碼器。 第三方可以在主機系統上安裝額外的編解碼器;這些編解碼器可能設計成只能與特定應用程式搭配使用,或者它們可能支援任何 DirectShow 應用程式的一般用途。

編解碼器可以透過三種不同的方式之一來實作:

  • 作為透過視訊壓縮管理員(VCM)或音訊壓縮管理員(ACM)載入的 Windows 類型音訊或視訊可安裝編解碼器。 一般而言,這項技術被視為已被取代,不建議使用。 可安裝的編解碼器會透過 AVI 解壓縮包裝篩選器參與 DirectShow 過濾圖形。
  • 作為 DirectShow 濾鏡。 許多第三方編解碼器會實作為原生 DirectShow 篩選。 其中一個這樣的濾波器是 Fraunhofer MP3 解壓縮器。 一般而言,這些篩選條件可能會以一般方式新增至篩選圖表。 此規則的一個例外是某些 Windows Media Audio 或 Windows Media™ Video 編解碼器,以及 Microsoft MPEG-4 編解碼器,無法手動新增至篩選圖形。 這些篩選只能由 ASF 讀取器和 ASF 寫入器篩選新增。
  • 作為 DirectX 媒體物件(DMO)。 DMO 是實現編解碼器的建議方式,因為它們可以在 DirectShow 濾鏡圖形中使用 DMO 包裝濾鏡,或在任何其他非 DirectShow 為基礎的串流應用程式中獨立使用。 某些 Windows 媒體音訊和 Windows 媒體視訊編解碼器會實作為 DMO。 如同 Windows 媒體篩選器,這些 DMO 無法在 Windows 媒體 SDK 的內容之外使用。 這表示在 DirectShow 中,它們只能透過 ASF 讀取器或 ASF 寫入器篩選新增至圖形。

在 GraphEdit 中,所有這些不同類型的編解碼器都會出現在下列類別之下:

  • 音訊壓縮機
  • 視訊壓縮機
  • DirectShow 篩選

不過,其中許多編解碼器是由第三方或其他Microsoft應用程式或作系統元件所安裝,而且不適用於其他 DirectShow 應用程式。 GraphEdit 中可見的編解碼器清單也取決於主機系統上執行的 Windows 版本,以及已安裝哪個版本的 DirectShow SDK。