Filter


FilterDecoderEncoderDownloadLinksReferenzKontakt

 

Beschreibung

Aufnahmetools, welche herkömmliche DirectShow Filtern verwenden, stossen bei einer Aufnahme von Audio/Video im z.B.: AVI Format schnell an Grenzen, da ein hierbei erstellter CaptureGraph mehreren Beschränkungen unterliegt.

 

Kein MultiFileCapture ohne Datenverlust    (Videoframe,Audiosample) möglich.

Unzulänglichkeiten der Kartentreiber (VideoCaptureSourceFilter) sind nicht    berücksichtigt.

Auftretende Unsynchronität von Audio/Video Datenstrom bei Langzeitaufnahmen.

 

Daher wurden spezielle DirectShow Filter entwickelt, welche es ermöglichen, eine Aufnahmesoftware äußerst flexibel zu Gestalten.

Mux/Switcher Filter
Rec/DemuxFilter
LengthController

Mit diesen Filtern ist es möglich, die Aufnahme in mehrere Dateien zu schreiben, ohne dabei den
Graph zu stoppen - Multifile capture ohne Frameverluste.

SourceGraph     (Mux/Switcher Filter)
CaptureGraph1 (Rec/Demux u. LengthController Filter)
CaptureGraph2 (Rec/Demux u. LengthController Filter)

 

 

CaptureEngine Schema

 

 

SourceGraph

Der SourceGraph wird zu Beginn der Aufnahme gestartet, er hat die Aufgabe, die Verbindung zu den Audio und Video Filtern herzustellen, sowie ein Preview (Video u. Audio !) zu ermöglichen.

Hierbei kommt der speziell entwickelte Mux/Switcher DirectShow Filter (siehe Bild mitte) zum Einsatz:

Dieses Filter „sammelt“ die eingehenden Videoframes und Audiosamples und leitet sie, bei Bedarf, an den entsprechenden CaptureGraph weiter.

 

 

 

CaptureGraph 1 + 2

Die beiden CaptureGraphen haben die Aufgabe, eigehende Audiosamples und Videoframes „einzusammeln“ und diese an entsprechende Filter weiter zu leiten, was von dem speziell entwickelten Rec/Demux DirectShow Filter bewerkstelligt wird.

Hierbei ist jedoch immer nur ein Capture-Zweig aktiv, während sich der zweite im Pause-Mode befindet.

Sollen nun die eingehenden Daten in eine neue Datei geschrieben werden, so muss lediglich der Capture-Zweig umgeschaltet werden, was ohne Datenverlust bewerkstelligt wird.

Der zuvor aktive Capture-Zweig wird nun in den Stop-Mode versetzt und schreibt dadurch seine Header-Informationen ins Avi-File.

Danach wird für diesen zweig ein neuer Dateiname gesetzt und er ist bereit, beim nächste Umschaltbefehl ein weiteres Avi-File zu schreiben.

Ebenso integriert in den Capture-Zweig ist ein LengthController DirectShow Filter. Der zuvor beschriebene Umschaltvorgang kann wahlweise automatisiert über die Angabe einer max. Dateigrösse oder zu jedem beliebigen Zeitpunkt mittels eines Buttons ausgelöst werden. Der Length Controller überwacht hierbei die Dateigrösse.