Freigeben über


DVApp-Beispiel

[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.]

BESCHREIBUNG

Digital Video (DV) Capture-Anwendung.

In diesem Beispiel wird veranschaulicht, wie Verschiedene Arten von Filterdiagrammen zum Steuern von DV-Camcordern erstellt werden. Außerdem wird gezeigt, wie Sie aufzeichnungs-, Vorschau-, Übertragungs- und Gerätesteuerung mit einem DV-Camcorder ausführen.

Verbrauch

Die DVApp-Anwendung unterstützt die folgenden Modi:

  • Vorschau: Rendert DV vom Camcorder in ein Videofenster.
  • DV zu Datei vom Typ 1: Erfasst DV-Daten vom Camcorder in eine DV-Datei vom Typ 1.
  • Datei vom Typ 1 an DV: Überträgt Daten aus einer DV-Datei vom Typ 1 an den Camcorder.
  • DV zu Datei vom Typ 2: Erfasst DV-Daten vom Camcorder in eine DV-Datei vom Typ 2.
  • Datei vom Typ 2 an DV: Überträgt Daten aus einer DV-Datei vom Typ 2 an den Camcorder.

Die Aufzeichnungs- und Übertragungsmodi führen auch eine Vorschau aus. Jeder dieser Modi verfügt auch über die Option Keine Vorschau , die die Vorschau deaktiviert. Die Erfassung ohne Vorschau ist effizienter und kann die Anzahl der gelöschten Frames reduzieren.

Die Anwendung wird im Vorschaumodus gestartet. Um einen anderen Modus auszuwählen, wählen Sie im Menü Graphmodus einen Modus aus. Für jeden Modus erstellt DVApp ein Filterdiagramm, das die Funktionalität dieses Modus unterstützt. Um das Diagramm als GraphEdit-Datei (.grf) zu speichern, wählen Sie im Menü Dateidie Option Graph in Datei speichern aus. Beenden Sie DVApp, bevor Sie die Datei in GraphEdit öffnen.

So erfassen Sie eine Datei

  1. Wählen Sie im Menü Datei die Option Ausgabedatei festlegen aus, und geben Sie einen Dateinamen ein.
  2. Wählen Sie im Menü Graphmodus eine DV in den Dateimodus aus (geben Sie 1 oder 2 ein, mit oder ohne Vorschau).
  3. Klicken Sie auf Datensatz.
  4. Wenn sich der Camcorder im VTR-Modus befindet, klicken Sie auf Wiedergabe.
  5. Klicken Sie zum Beenden der Erfassung auf Beenden.

So übertragen Sie von einer Datei an den Camcorder:

  1. Klicken Sie im Menü Datei auf Eingabedatei festlegen , und wählen Sie eine DV-Datei aus. Die Datei muss mit dem ausgewählten Modus (Typ 1 oder Typ 2) übereinstimmen.
  2. Wählen Sie im Menü Graphmodus den Modus Datei in DV aus (geben Sie 1 oder 2 ein, mit oder ohne Vorschau).
  3. Klicken Sie auf Wiedergabe.
  4. Um die Daten auf Band aufzuzeichnen, klicken Sie auf Aufzeichnen.
  5. Klicken Sie zum Beenden der Übertragung auf Beenden.

Wenn sich der Camcorder im VTR-Modus befindet, kann der Benutzer den Transportmechanismus über die VcR-Tasten der Anwendung steuern. Um das Band zu suchen, geben Sie den Zielzeitcode ein, und klicken Sie auf die Schaltfläche Suchen.

Um die Anzahl der von der Anwendung erfassten Daten zu begrenzen, wählen Sie im Menü Datei die Option Erfassungsgröße aus.

Um das Bandformat (NTSC oder PAL) zu überprüfen, wählen Sie im Menü Optionen die Option Band überprüfen aus.

Um die Größe des Vorschaufensters zu ändern, wählen Sie im Menü Optionen die Option Decodierungsgröße ändern aus.

Programmieranmerkungen

Der Standard Zweck dieser Anwendung besteht darin, zu zeigen, wie verschiedene DV-Aufzeichnungs- und Übertragungsdiagramme erstellt werden.

Geräteeingang und -entfernung

Die Anwendung verarbeitet die Geräteein- und -entfernung mithilfe von zwei verschiedenen Techniken. Beim Geräteeingang antwortet die Nachrichtenschleife der Anwendung auf WM_DEVICECHANGE Nachrichten. Beim Entfernen des Geräts reagiert die Anwendung auf EC_DEVICE_LOST Ereignisse aus dem Filterdiagramm-Manager. Beide Ansätze funktionieren, obwohl das EC_DEVICE_LOST-Ereignis von der Existenz des Geräts im Filterdiagramm abhängt.

Die Anwendung verarbeitet jeweils nur ein Gerät. Wenn das aktuelle Gerät entfernt wird, sucht die Anwendung nach einem anderen DV-Gerät im System.

Bei einigen DV-Camcordern muss der Benutzer das Gerät ausschalten, wenn er zwischen Kameramodus und VTR-Modus wechselt, wodurch eine Nachricht ausgelöst wird, die verloren geht. Die Anwendung reagiert, indem sie die entsprechenden Menübefehle aktiviert oder deaktiviert. Wenn der Benutzer jedoch schnell zwischen den Modi umschaltt, generiert der Camcorder möglicherweise keine Nachricht, die vom Gerät verloren geht. Sie können die Aktualisierung der Menüs erzwingen, indem Sie im Menü Optionen die Option Aktualisierungsmodus auswählen. Einige DV-Camcorder können Modi umschalten, ohne dass sie ausgeschaltet werden, senden jedoch nur beim Wechsel in den VTR-Modus eine Verlorene Nachricht.

Gerätesteuerung

Die Funktionalität der Schaltfläche " Wiedergeben " und "Aufzeichnen " hängt vom aktuellen Modus ab:

  • Vorschau: Das Filterdiagramm wird automatisch ausgeführt. Mit der Schaltfläche "Wiedergabe " wird der Transport gestartet.
  • Erfassen in Datei: Die Schaltfläche Aufzeichnen führt das Diagramm aus, und die Schaltfläche Wiedergabe startet den Transport.
  • An Gerät übertragen: Die Schaltfläche "Wiedergeben " führt das Diagramm aus, und die Schaltfläche "Aufzeichnen " startet den Transport.

Die Beispielanwendung führt keine framegenaue Erfassung durch. An verschiedenen Stellen ruft die Anwendung die Standbyfunktion auf, um zu warten, bis das Gerät reagiert. Neuere DV-Camcorder senden eine Benachrichtigung, wenn sich der Zustand des Geräts ändert. Ältere Geräte unterstützen möglicherweise keine Benachrichtigung; Für die Zwecke eines Beispiels ist das Aufrufen von Ruhezustand eine einfachere Lösung.

Herunterladen des Beispiels

Um die DirectShow SDK-Beispiele herunterzuladen, installieren Sie die neueste Version des Windows SDK.

Dieses Beispiel wird unter dem folgenden Pfad installiert: [SDK Root]\Samples\Multimedia\DirectShow\Capture\DVApp.

Steuern eines DV-Camcorders

Digitales Video in DirectShow

DirectShow-Beispiele