共用方式為


AVI 分隔器篩選

[與此頁面相關聯的功能,DirectShow是舊版功能。 它已被 MediaPlayer、imfMediaEngine 取代,並在媒體基金會 音訊/視訊擷取。 這些功能已針對 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 方法,以便從個別數據流讀取屬性。 目前已定義下列屬性。

財產 描述
名字 傳回從 AVI 檔案中 'strn' 區塊擷取的數據流名稱。 如果這個區塊不存在,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 Manager 上呼叫 SetTimeFormat,並使用 值 TIME_FORMAT_SAMPLE

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

DirectShow 篩選