Share via


AVI-Splitterfilter

[Das dieser Seite zugeordnete Feature DirectShow ist ein Legacyfeature. Es wurde von MediaPlayer, IMFMediaEngine und Audio/Video Capture in Media Foundation abgelöst. Diese Features wurden für Windows 10 und Windows 11 optimiert. Microsoft empfiehlt dringend, dass neuer Code mediaPlayer, IMFMediaEngine und Audio/Video Capture in Media Foundation anstelle von DirectShow verwendet, wenn möglich. Microsoft schlägt vor, dass vorhandener Code, der die Legacy-APIs verwendet, so umgeschrieben wird, dass nach Möglichkeit die neuen APIs verwendet werden.]

Der AVI-Splitterfilter wird für die Wiedergabe von AVI-Dateien verwendet. Es akzeptiert Daten im AVI-Format und teilt sie zur weiteren Verarbeitung und/oder zum Rendern in die zugehörigen Datenströme auf.

Bezeichnung Wert
Filterschnittstellen IAMMediaContent, IBaseFilter, IPersistMediaPropertyBag
Eingabe-Pinmedientypen MEDIATYPE_Stream, MEDIASUBTYPE_Avi
Eingabenadelschnittstellen IPin, IQualityControl
Ausgabeheftmedientypen In der Regel MEDIATYPE_Video oder MEDIATYPE_Audio. Der genaue Typ hängt vom Inhalt der Datei ab, ob die Datei komprimiert ist und welcher Codec verwendet wurde.
Ausgabe-Pinschnittstellen IMediaPosition, IMediaSeeking, IPin, IPropertyBag, IQualityControl
Filtern von CLSID CLSID_AviSplitter
Eigenschaftenseite CLSID Keine Eigenschaftenseite.
Ausführbare Datei quartz.dll
Verdienst MERIT_NORMAL
Filterkategorie CLSID_LegacyAmFilterCategory

 

Bemerkungen

Dieser Filter ist in der Regel mit dem Async File Source-Filter an seinem Eingabenadel verbunden. Es kann eine Verbindung mit jedem Filter herstellen, dessen Ausgabenadel IAsyncReader unterstützt und den richtigen Medientyp für den Eingabepin des AVI Splitter-Filters bietet.

Die Ausgabepins auf dem AVI-Splitter unterstützen die IPropertyBag::Read-Methode zum Lesen von Eigenschaften aus einzelnen Streams. Derzeit ist die folgende Eigenschaft definiert.

Eigenschaft BESCHREIBUNG
name Gibt den Namen des Datenstroms zurück, der aus dem 'strn' Block in der AVI-Datei stammt. Wenn dieser Block nicht vorhanden ist, gibt die Read-Methode E_INVALIDARG zurück.

 

Die IPropertyBag::Write-Methode gibt E_FAIL zurück. Der AVI Mux-Filter unterstützt IPropertyBag::Write zum Speichern von Streameigenschaften in einer AVI-Datei.

Der AVI-Splitter lässt nachgeschalteten Filtern nicht zu, ihre eigene Zuweisung zu verwenden.

Die Dauer der Verschachtelung in der Datei bestimmt, wie viel Arbeitsspeicher der AVI-Splitter für die Verarbeitung zuweist. Eine Datei, die in Blöcken einer Sekunde verschachtelt ist, benötigt viel mehr Arbeitsspeicher für die Verarbeitung als eine Datei, deren Dauer der Verschachtelung auf ein oder zwei Frames festgelegt ist. Auf modernen Computern ist dies in der Regel kein Problem, es sei denn, Sie führen mehrere Instanzen des AVI-Splitters gleichzeitig aus.

Suchen

Wenn die Datei einen Videostream enthält, unterstützt der AVI-Splitter die Suche nach Framenummer. Um die framebasierte Suche zu aktivieren, rufen Sie IMediaSeeking::SetTimeFormat im Graphenfilter-Manager mit dem Wert TIME_FORMAT_FRAME auf.

Wenn die Datei einen Audiodatenstrom enthält, unterstützt der AVI-Splitter die Suche nach Beispielnummer. Um die beispielbasierte Suche zu aktivieren, rufen Sie SetTimeFormat im Graph-Filter-Manager mit dem Wert TIME_FORMAT_SAMPLE auf.

In beiden Fällen muss der Ausgabepin für diesen Stream mit einem Rendererfilter verbunden sein.

DirectShow-Filter