Training
Modul
Kombinieren Sie externe Anwendungen für besser angepasste Produktionen mit Microsoft 365 - Training
Erfahren Sie, wie Sie professionelle und ansprechende Präsentationen für große Zielgruppen in Microsoft Teams erstellen.
Dieser Browser wird nicht mehr unterstützt.
Führen Sie ein Upgrade auf Microsoft Edge durch, um die neuesten Features, Sicherheitsupdates und den technischen Support zu nutzen.
[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.]
In den vorherigen Abschnitten wird beschrieben, wie Sie Videos in verschiedenen Dateiformaten erfassen. Im Abschnitt Vorschauvideo wird beschrieben, wie Sie ein Livevorschaudiagramm erstellen. Viele Anwendungen müssen jedoch beides gleichzeitig ausführen. Um ein kombiniertes Vorschau- und Dateischreibdiagramm zu erstellen, führen Sie einfach zwei Aufrufe von ICaptureGraphBuilder2::RenderStream aus:
// Render the preview stream to the video renderer.
hr = pBuild->RenderStream(&PIN_CATEGORY_PREVIEW, &MEDIATYPE_Video, pCap,
NULL, NULL);
// Render the capture stream to the mux.
hr = pBuild->RenderStream(&PIN_CATEGORY_CAPTURE, &MEDIATYPE_Video, pCap,
NULL, pMux);
In diesem Code verbirgt der Capture Graph Builder einige Details:
Wenn der Aufnahmefilter über einen Vorschau- oder Videoport-Pin sowie einen Aufnahmenadel verfügt, rendert die RenderStream-Methode einfach beide Pins, wie in der folgenden Abbildung gezeigt.
Wenn der Filter nur über einen Aufnahmenadel verfügt, verwendet der Capture Graph Builder den Smart Tee-Filter , um den Aufzeichnungsdatenstrom aufzuteilen. Die folgende Abbildung zeigt das Diagramm mit einem Smart Tee.
Der Smart Tee-Filter verfügt über einen Aufnahmenadel und einen Vorschau-Pin. Es nimmt einen einzelnen Videostream aus dem Aufnahmefilter auf und teilt ihn in zwei Streams auf, einen für die Aufnahme und einen für die Vorschau. Um den Durchsatz für den Aufnahmepin zu erhalten, löscht der Vorschaustift frames nach Bedarf. Es entfernt auch die Zeitstempel aus jedem Beispiel, bevor es bereitgestellt wird, aus den Gründen, die im Thema DirectShow-Videoaufnahmefilter erläutert werden.
Obwohl der Smart Tee den Stream teilt, werden die Videodaten nicht physisch dupliziert. Stattdessen werden benutzerdefinierte Medienbeispielobjekte verwendet, die die Puffer gemeinsam nutzen. Die Beispiele sind als "schreibgeschützt" gekennzeichnet, um sicherzustellen, dass nachgeschaltete Filter nicht auf die Daten schreiben.
Wenn Ihr Erfassungsdiagramm über ein Vorschaufenster verfügt, können verschiedene Faktoren dazu führen, dass der Filter graph-Manager den gesamten Graphen beendet, einschließlich des Erfassungsdatenstroms:
Jedes dieser Ereignisse kann die Aufzeichnungssitzung unterbrechen, was möglicherweise zu Datenverlusten führt. (Dies geschieht intern: Der Videorenderer verliert die benötigten Direct3D- oder DirectDraw-Ressourcen. Bei der Wiederherstellung dieser Ressourcen muss der Videorenderer erneut eine Verbindung mit dem Upstream-Filter herstellen, wodurch der Filter graph-Manager den Graphen beendet.)
Zwei mögliche Lösungen für dieses Problem sind die folgenden:
Training
Modul
Kombinieren Sie externe Anwendungen für besser angepasste Produktionen mit Microsoft 365 - Training
Erfahren Sie, wie Sie professionelle und ansprechende Präsentationen für große Zielgruppen in Microsoft Teams erstellen.
Dokumentation
Aufzeichnen von Videos in einer Windows Media-Datei - Win32 apps
Aufzeichnen von Videos in einer Windows Media-Datei
Videoaufnahme in einer Datei - Win32 apps
Videoaufnahme in einer Datei
Aufzeichnen von Videos in einer AVI-Datei - Win32 apps
Aufzeichnen von Videos in einer AVI-Datei