AVI 分割器篩選

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

AVI 分割器篩選器用於播放 AVI 檔案。 它會接受 AVI 格式的資料,並將其分割成組成資料流程,以進行進一步處理和/或轉譯。

標籤
篩選介面 IAMMediaContentIBaseFilterIPersistMediaPropertyBag
輸入釘選媒體類型 MEDIATYPE_Stream、MEDIASUBTYPE_Avi
輸入針腳介面 IPinIQualityControl
輸出釘選媒體類型 通常 MEDIATYPE_VideoMEDIATYPE_Audio。 確切的類型取決於檔案的內容、檔案是否經過壓縮,以及所使用的編解碼器。
輸出針腳介面 IMediaPositionIMediaSeekingIPin、IPropertyBag、 IQualityControl
篩選 CLSID CLSID_AviSplitter
屬性頁 CLSID 沒有屬性頁。
可執行檔 quartz.dll
優點 MERIT_NORMAL
篩選類別 CLSID_LegacyAmFilterCategory

 

備註

此篩選通常連接到其輸入針腳上的 非同步檔案來源 篩選。 它可以連線到輸出針腳支援 IAsyncReader 的任何篩選,並提供正確的媒體類型給 AVI 分割器篩選器的輸入針腳。

AVI 分割器上的輸出針腳支援從個別資料流程讀取屬性的 IPropertyBag::Read 方法。 目前已定義下列屬性。

屬性 Description
NAME 傳回資料流程的名稱,取自 'strn' AVI 檔案中的區塊。 如果這個區塊不存在,Read 方法會傳回E_INVALIDARG。

 

IPropertyBag::Write 方法會傳回E_FAIL。 AVI Mux篩選器支援 IPropertyBag::Write,以便將資料流程屬性儲存到 AVI 檔案中。

AVI 分割器不允許下游篩選準則使用自己的配置器。

檔案中的交錯持續時間會決定 AVI 分割器將配置多少記憶體來處理它。 在一秒區塊中交錯的檔案需要比交錯持續時間設定為一或兩個畫面格的檔案更多的記憶體來處理。 在現代電腦上,除非您同時執行多個 AVI 分割器實例,否則這通常不是問題。

尋求

如果檔案包含視訊串流,AVI 分割器支援依畫面號搜尋。 若要啟用畫面型搜尋,請在Filter Graph Manager上呼叫IMediaSeeking::SetTimeFormat,並使用值TIME_FORMAT_FRAME

如果檔案包含音訊資料流程,AVI 分割器支援依樣本編號搜尋。 若要啟用以範例為基礎的搜尋,請在 Filter Graph 管理員上呼叫 SetTimeFormat ,並使用 值TIME_FORMAT_SAMPLE

在這兩種情況下,該資料流程的輸出針腳必須連接到轉譯器篩選。

DirectShow 篩選準則