AVI Mux-Filter

Der AVI Mux-Filter akzeptiert mehrere Eingabestreams und überlagert sie im AVI-Format. Der Filter verwendet separate Eingabepins für jeden Eingabestream und einen Ausgabepin für den AVI-Stream.

Videoerfassungs- oder -erstellungsanwendungen können diesen Filter verwenden, um Dateien im AVI-Format auf dem Datenträger zu speichern. Der Filter ist in der Regel mit dem File Writer-Filter verbunden, kann jedoch eine Verbindung mit jedem Filter herstellen, dessen Eingabepin die IStream- und IMemInputPin-Schnittstellen unterstützt.

Bezeichnung Wert
Filterschnittstellen IBaseFilter, IConfigAviMux, IConfigInterleaving, IMediaSeeking, IPersistMediaPropertyBag, ISpecifyPropertyPages
Eingabepin-Medientypen Alle Haupttypen, die einem FOURCC-Format im alten Stil entsprechen, oder MEDIATYPE_AUXLine21Data. (Weitere Informationen finden Sie unter FOURCCMap-Klasse.)
  • Wenn der Haupttyp MEDIATYPE_Audio ist, muss das Format FORMAT_WaveFormatEx.
  • Wenn der Haupttyp MEDIATYPE_Video ist, muss das Format FORMAT_VideoInfo oder FORMAT_DvInfo.
  • Wenn der Haupttyp MEDIATYPE_Interleaved ist, muss das Format FORMAT_DvInfo.
Eingabepinschnittstellen IAMStreamControl, IMemInputPin, IPin, IPropertyBag, IQualityControl
Ausgabepin-Medientypen MEDIATYPE_Stream, MEDIASUBTYPE_Avi
Ausgabe-PIN-Schnittstellen IPin, IQualityControl
Filtern der CLSID CLSID_AviDest
Eigenschaftenseite CLSID CLSID_AviMuxProptyPage, CLSID_AviMuxProptyPage1
Ausführbare Datei qcap.dll
Verdienst MERIT_DO_NOT_USE
Filterkategorie CLSID_LegacyAmFilterCategory

Bemerkungen

In den folgenden Anmerkungen werden verschiedene Aspekte der Funktionalität des AVI Mux-Filters beschrieben.

Pins

Wenn der AVI Mux-Filter erstellt wird, verfügt er über einen Eingabepin. Wenn jeder Eingabepin verbunden ist, erstellt der Filter einen neuen Eingabepin.

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 Block 'strn' geschrieben.

Wenn der Filter ausgeführt wird oder angehalten wird, gibt die IPropertyBag::Write-Methode VFW _ E _ WRONG STATE _ zurück.

Frameraten

Wenn der Upstreamfilter keine Bildfrequenz im AvgTimePerFrame-Element der VIDEOINFOHEADER-Struktur ansteuert, verwendet der AVI Mux die Zeitstempel auf dem 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 den Zeitstempeln der Stichprobe. Es schreibt einen Indexeintrag der Länge 0 (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 in Echtzeit), ist dieser Wert genauer als der Wert, der vom Filter Graph Manager zurückgegeben wird. Weitere Informationen finden Sie im Abschnitt "Hinweise" der Referenzseite zu GetCurrentPosition.
  • Die GetDuration-Methode fragt jeden Upstreamfilter ab und gibt die Dauer des längsten Streams zurück. Wenn einer dieser Filter den 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. In diesem Fall ist der Wert von pDuration jedoch nicht notwendigerweise die Länge des längsten Eingabestreams.
  • Der AVI Mux implementiert nicht die Methoden GetStopPosition, GetPositions, GetAvailable, GetRate oder GetPreroll. und implementiert auch keine * Set-Methoden für Suchmethoden.

AVI 2.0-Dateiformaterweiterungen

DirectShow unterstützt derzeit die folgenden AVI 2.0-Dateiformaterweiterungen:

  • Höhere GRÖßE der AVI-Datei (größer als 1 GB)
  • Hierarchische Indizierung

Weitere Informationen finden Sie in Version 1.02 der OpenDML AVI-Dateiformaterweiterungen, die im OpenDML AVI M-JPEG File Format Subcommittee veröffentlicht wurde.

DirectShow-Filter