具現化編碼器 MFT
在 Microsoft Media Foundation 中,編碼器會實作為 媒體基礎轉換 (MFT)。 建立編碼器之前,您必須先尋找最符合您需求的編碼器。
Windows Media 音訊編解碼器
類別: MFT_CATEGORY_AUDIO_ENCODER
主要類型:MFMediaType_Audio
SubType:MFAudioFormat_WMAudioV9、MFAudioFormat_WMAudioV8、MFAudioFormat_WMAudio_Lossless、MFAudioFormat_WMASPDIF
Windows Media 視訊編解碼器
類別: MFT_CATEGORY_VIDEO_ENCODER
主要類型:MFMediaType_Video
SubType:MFVideoFormat_WVC1、MFVideoFormat_WMV3、MFVideoFormat_WMV2、MFVideoFormat_WMV1
Media Foundation 提供數個函式,您的應用程式可以呼叫 以列舉系統中可用的各種編碼器。 編碼器會註冊為 COM 物件,而登錄專案會遵循 COM 類別處理站的標準格式。 登錄會維護編碼器的 CLSID,這些編碼器會依媒體格式(音訊或視訊)分類。 Windows Media 編碼器的類別識別碼會定義為 wmcodecdsp.h 標頭檔中的常數。 在媒體基礎中,編碼器可以透過呼叫 MFTRegisterLocal 或 MFTRegisterLocalByCLSID 來註冊,方法是指定類別、支援的輸入類型和支援的輸出類型。 透過這些函式成功註冊時,媒體基礎列舉函式會考慮 MFT。
若要建立編碼器 MFT 的實例,應用程式有下列選擇。
- 直接建立編碼器 MFT,並接收 IMFTransform 介面的 指標。 如需詳細資訊,請參閱 使用 CoCreateInstance 建立編碼器。
- 為編碼器 MFT 建立啟用物件的實例,並接收 IMFActivate 介面的 指標。 如需詳細資訊,請參閱 使用編碼器的啟用物件 。
如果您的應用程式使用 管線層 ASF 元件 將檔案編碼為 ASF 格式,您必須將編碼器 MFT 插入管線作為轉換節點。 在編碼拓撲中建立轉換節點時,您可以將物件類型設定為 IMFTransform 介面或 IMFActivate 物件的指標 。 Media Foundation 提供 Windows 媒體編碼器的啟用物件,讓它們可以方便設定為編碼拓撲中的轉換節點。 解決拓撲時,媒體會話會使用啟用物件來建立編碼器 MFT 的實例。
相關主題