AVI Mux-Filter
[Das dieser Seite zugeordnete Feature DirectShow ist ein Legacyfeature. Es wurde durch MediaPlayer, IMFMediaEngine und Audio/Video Capture in Media Foundation ersetzt. Diese Features wurden für Windows 10 und Windows 11 optimiert. Microsoft empfiehlt dringend, dass neuer Code nach Möglichkeit MediaPlayer, IMFMediaEngine und Audio/Video Capture in Media Foundation anstelle von DirectShow verwendet. Microsoft schlägt vor, vorhandenen Code, der die Legacy-APIs verwendet, um nach Möglichkeit die neuen APIs zu verwenden.]
Der AVI Mux-Filter akzeptiert mehrere Eingabedatenströme und überträgt sie in das AVI-Format. Der Filter verwendet separate Eingabepins für jeden Eingabestream und einen Ausgabenadel für den AVI-Stream.
Videoaufzeichnungs- oder Erstellungsanwendungen können diesen Filter verwenden, um Dateien auf dem Datenträger im AVI-Format zu speichern. Der Filter ist in der Regel mit dem Dateischreiberfilter verbunden, kann jedoch eine Verbindung mit jedem Filter herstellen, dessen Eingabenadel die IStream- und IMemInputPin-Schnittstellen unterstützt.
Bezeichnung | Wert |
---|---|
Filterschnittstellen | IBaseFilter, IConfigAviMux, IConfigInterleaving, IMediaSeeking, IPersistMediaPropertyBag, ISpecifyPropertyPages |
Eingabeheftmedientypen | Jeder Haupttyp, der einem FOURCC im alten Stil entspricht, oder MEDIATYPE_AUXLine21Data. (Weitere Informationen finden Sie unter FOURCCMap-Klasse.)
|
Eingabenadelschnittstellen | IAMStreamControl, IMemInputPin, IPin, IPropertyBag, IQualityControl |
Ausgabeheftmedientypen | MEDIATYPE_Stream, MEDIASUBTYPE_Avi |
Ausgabepinschnittstellen | IPin, IQualityControl |
CLSID filtern | CLSID_AviDest |
Eigenschaftenseite CLSID | CLSID_AviMuxProptyPage, CLSID_AviMuxProptyPage1 |
Ausführbare Datei | qcap.dll |
Verdienst | MERIT_DO_NOT_USE |
Filterkategorie | CLSID_LegacyAmFilterCategory |
Bemerkungen
Die folgenden Hinweise beschreiben verschiedene Aspekte der Funktionalität des AVI Mux-Filters.
Pins
Wenn der AVI Mux-Filter erstellt wird, verfügt er über einen Eingabenadel. Wenn jeder Eingabenadel verbunden ist, erstellt der Filter einen neuen Eingabenadel.
Streameigenschaften
Die Eingabepins unterstützen die IPropertyBag-Schnittstelle zum Festlegen von Eigenschaften für einzelne Streams. Derzeit ist die folgende Eigenschaft definiert:
Eigenschaft | BESCHREIBUNG |
---|---|
name | Der Name des Datenstroms. Diese Eigenschaft wird als 'strn' Block geschrieben. |
Wenn der Filter ausgeführt oder angehalten wird, gibt die IPropertyBag::Write-Methode VFW_E_WRONG_STATE zurück.
Bildraten
Wenn der Upstream-Filter keine Bildfrequenz im AvgTimePerFrame-Member der VIDEOINFOHEADER-Struktur angibt, verwendet AVI Mux die Zeitstempel für den ersten Videoframe. Das AVI-Dateiformat unterstützt keine variablen Frameraten.
Gelöschte Frames
Der AVI Mux-Filter berechnet gelöschte Frames basierend auf den Medienzeiten der einzelnen Stichproben, sofern verfügbar, oder auf der Grundlage der Zeitstempel der Stichprobe. Es schreibt einen Indexeintrag der Länge null für jeden gelöschten Frame.
IMediaSeeking
Der AVI Mux-Filter implementiert die IMediaSeeking-Schnittstelle wie folgt:
- Die GetCurrentPosition-Methode gibt den aktuellen Fortschritt des Multiplexings zurück. Wenn Sie eine Datei transcodieren (langsamer als Echtzeit), ist dieser Wert genauer als der vom Filter Graph-Manager zurückgegebene Wert. Weitere Informationen finden Sie im Abschnitt Hinweise der Referenzseite GetCurrentPosition.
- Die GetDuration-Methode fragt jeden Upstream Filter ab und gibt die Dauer des längsten Datenstroms zurück. Wenn einer dieser Filter beim GetDuration-Aufruf fehlschlägt (oder IMediaSeeking nicht unterstützt), gibt der AVI Mux einen Fehlercode zurück und füllt den pDuration-Parameter mit der längsten gefundenen Dauer aus. Der Wert von pDuration ist in diesem Fall jedoch nicht unbedingt die Länge des längsten Eingabedatenstroms.
- Avi Mux implementiert die Methoden GetStopPosition, GetPositions, GetAvailable, GetRate oder GetPreroll nicht. es implementiert auch keine Set*-Methoden für die Suche.
AVI 2.0-Dateiformaterweiterungen
DirectShow unterstützt derzeit die folgenden AVI 2.0-Dateiformaterweiterungen:
- Erhöhte AVI-Dateigröße (größer als 1 GB)
- Hierarchische Indizierung
Weitere Informationen finden Sie unter Version 1.02 der OpenDML AVI-Dateiformaterweiterungen, die vom OpenDML AVI M-JPEG-Dateiformatunterausschuss veröffentlicht wurden.
Zugehörige Themen