Megosztás a következőn keresztül:


AVI Mux-szűrő

[A laphoz társított funkció, DirectShowegy régi funkció. MediaPlayer, IMFMediaEngineés Audio/Video Capture a Media Foundation. Ezek a funkciók Windows 10-hez és Windows 11-hez lettek optimalizálva. A Microsoft határozottan javasolja, hogy az új kód MediaPlayer, IMFMediaEngine és Audio/Video Capture eszközt használja a Media FoundationDirectShowhelyett, ha lehetséges. A Microsoft javasolja, hogy az örökölt API-kat használó meglévő kódot át kell írni az új API-k használatára, ha lehetséges.]

Az AVI Mux-szűrő több bemeneti streamet fogad el, és AVI formátumban alakítja át őket. A szűrő minden bemeneti streamhez külön bemeneti csapokat, az AVI-adatfolyamhoz pedig egy kimeneti pin-kódot használ.

A videórögzítési vagy szerzői alkalmazások ezzel a szűrővel menthetik a fájlokat AVI formátumban. A szűrő általában a Fájlíró szűrőhöz csatlakozik, de bármely olyan szűrőhöz csatlakozhat, amelynek bemeneti tűje támogatja az IStream és IMemInputPin interfészeket.

Címke Érték
Szűrőfelületek IBaseFilter, IConfigAviMux, IConfigInterleaving, IMediaSeeking, IPersistMediaPropertyBag, ISpecifyPropertyPages
Beviteli adathordozó-típusok Bármely fő típus, amely egy régi stílusú FOURCC-nek vagy MEDIATYPE_AUXLine21Data felel meg. (További információ: FOURCCMap osztály.)
  • Ha a fő típus MEDIATYPE_Audio, a formátumnak FORMAT_WaveFormatEx kell lennie.
  • Ha a fő típus MEDIATYPE_Video, a formátumnak FORMAT_VideoInfo vagy FORMAT_DvInfo kell lennie.
  • Ha a fő típus MEDIATYPE_Interleaved, a formátumnak FORMAT_DvInfo kell lennie.
Bemeneti pin-illesztők IAMStreamControl, IMemInputPin, IPin, IPropertyBag, IQualityControl
Kimeneti kitűző médiatípusai MEDIATYPE_Stream, MEDIASUBTYPE_Avi
Kimeneti pin-adapterek IPin, IQualityControl
CLSID szűrése CLSID_AviDest
Tulajdonságlap CLSID azonosítója CLSID_AviMuxProptyPage, CLSID_AviMuxProptyPage1
Végrehajtható qcap.dll
Merit MERIT_DO_NOT_USE
Kategória szűrése CLSID_LegacyAmFilterCategory

 

Megjegyzések

Az alábbi megjegyzések az AVI Mux-szűrő funkcióinak különböző aspektusait ismertetik.

Csapok

Az AVI Mux-szűrő létrehozásakor egy bemeneti pin-kóddal rendelkezik. Amikor minden bemeneti pin csatlakoztatva van, a szűrő létrehoz egy új bemeneti pin-kódot.

Stream tulajdonságai

A bemeneti csapok támogatják az IPropertyBag felületet az egyes streamek tulajdonságainak beállításához. Jelenleg a következő tulajdonság van definiálva:

Ingatlan Leírás
név A stream neve. Ez a tulajdonság 'strn' adattömbként van megírva.

 

Ha a szűrő fut vagy szüneteltetve van, az IPropertyBag::Write metódus VFW_E_WRONG_STATE ad vissza.

Keretsebességek

Ha a felső rétegbeli szűrő nem ad meg képkockasebességet az AvgTimePerFrame tagja a VIDEOINFOHEADER struktúrájának, az AVI Mux az első videokeret időbélyegeit használja. Az AVI fájlformátum nem támogatja a változó keretsebességeket.

Eldobott keretek

Az AVI Mux-szűrő kiszámítja az eldobott kereteket az egyes minták médiaideje alapján, ha van ilyen, vagy a minta időbélyegei alapján. Nulla hosszúságú indexbejegyzést ír minden eldobott kerethez.

IMediaSeeking

Az AVI Mux szűrő az alábbi módon implementálja az IMediaSeeking felületet:

  • A GetCurrentPosition metódus a multiplexálás aktuális állapotát adja vissza. Ha egy fájlt átkódolt (a valós idejűnél lassabb), ez az érték pontosabb, mint a Filter Graph Manager által visszaadott érték. További információt a GetCurrentPosition referenciaoldal Megjegyzések szakaszában talál.
  • A GetDuration metódus lekérdezi az egyes felsőbb rétegbeli szűrőket, és visszaadja a leghosszabb stream időtartamát. Ha bármelyik szűrő meghiúsul a GetDuration hívásban (vagy nem támogatja az IMediaSeekinget), az AVI Mux egy hibakódot ad vissza, és kitölti a pDuration paramétert a leghosszabb időtartammal. Ebben az esetben azonban a pDuration értéke nem feltétlenül a leghosszabb bemeneti stream hossza.
  • Az AVI Mux nem implementálja a GetStopPosition, GetPositions, GetAvailable, GetRate vagy GetPreroll metódusokat; és nem implementál semmilyen Set* metódust a kereséshez.

AVI 2.0 fájlformátum-bővítmények

A DirectShow jelenleg a következő AVI 2.0 fájlformátum-bővítményeket támogatja:

  • Nagyobb AVI-fájlméret (1 GB-nál nagyobb)
  • Hierarchikus indexelés

További információt az OpenDML AVI M-JPEG fájlformátum albizottság által közzétett "OpenDML AVI fájlformátum-bővítmények" 1.02-es verziójában talál.

DirectShow-szűrők