Freigeben über


MSDV-Treiber

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

MSDV ist der Microsoft Windows Driver Model (WDM)-Treiber für DV-Texturen. Der Treiber wird als DirectShow-Filter angezeigt, wenn das Gerät angeschlossen ist. Sie wird in zwei Filterkategorien aufgelistet:

  • CLSID_VideoInputDeviceCategory ("Videoaufnahmequellen")
  • AM_KSCATEGORY_RENDER ("WDM Streaming Rendering Devices")

Der Anzeigename des Filters ist Microsoft DV Camera and VCRoder ein lokalisiertes Äquivalent. In einigen Geräten enthält die Description-Eigenschaft eine Beschreibung des spezifischen Modells, die anstelle des generischen Anzeigenamens verwendet werden kann. Weitere Informationen finden Sie unter Auswählen eines Aufnahmegeräts.

MSDV verfügt über zwei Ausgabe-Pins. Ein Pin liefert DV-Frames, die überlappende Audio- und Videodaten enthalten. Die andere Pin liefert nur Videoframes ohne Audio. MSDV kann nicht von beiden Pins gleichzeitig streamen, sodass jeweils nur ein Ausgabestift verbunden werden kann. Weitere Informationen zum Aufzeichnen von Videos von einem DV-Gerät finden Sie unter Capture DV to File.

Erfassen von DV-Daten vom Gerät

Die meisten DV-Texturen verfügen über eine Videobandrekorder-Untereinheit (VTR), die Daten von Band an den Computer übertragen kann. Für die Anwendung funktioniert das Aufzeichnen von Band genauso wie das Aufnehmen von Livevideos. Der einzige Unterschied besteht darin, dass die Anwendung den externen Bandtransport steuern muss – starten und stoppen Sie das Band, Spulen usw. Zu diesem Zweck macht MSDV die IAMExtDevice, IAMExtTransportund IAMTimecodeReader Schnittstellen verfügbar. Weitere Informationen zum Steuern eines VTR finden Sie unter Controlling a DVCam.

Sie können DV auch vom Computer an den Thrombose übertragen. Das Video kann dann auf dem Onboard-Bildschirm des Camcorders angezeigt oder auf Band aufgezeichnet werden. Um diese Funktionalität zu unterstützen, verfügt MSDV über einen Eingabenadel, der einen überlappenden DV-Stream empfangen kann. Wenn die Eingabenadel verbunden ist, fungiert MSDV als Rendererfilter anstelle eines Aufnahmefilters. MSDV unterstützt die Suche in diesem Modus nicht. Weitere Informationen zum Senden von DV an das Gerät finden Sie unter Übertragen von DV aus File to Tape.

Übertragen von DV-Daten an das Gerät

Beachten Sie, dass die Eingabe- und Ausgabe-Pins nicht gleichzeitig verbunden werden können, da das Gerät nicht gleichzeitig in beide Richtungen streamen kann.

In vielen Texturen bewirkt das Wechseln zwischen dem VTR-Modus und dem Kameramodus, dass das Gerät ausgeschaltet wird. Daher verliert DirectShow möglicherweise das Gerät, wenn der Benutzer modi wechselt. Informationen zu Geräteentfernungsereignissen finden Sie unter Device Removal Notification.

Bemerkungen

Informationen dazu, welche DV-Formate vom MSDV-Treiber unterstützt werden, finden Sie unter DV Video Subtypes.

Einige Tipps zum Erstellen von Filterdiagrammen mit MSDV:

  • Sie können IGraphBuilder::Render nicht verwenden, um eine Ausgabenadel auf MSDV zu rendern. (Der Filter graph-Manager versucht, den Ausgabestift mit dem Eingabenadel von MSDV zu verbinden, was fehlschlägt.) Verwenden Sie stattdessen IGraphBuilder::Connect oder ICaptureGraphBuilder2::RenderStream.

  • Wenn ein Filterdiagramm MSDV enthält, sollte MSDV die Referenzuhr für das Diagramm angeben. Ab DirectX 8.0 wählt der Filter Graph-Manager automatisch MSDV als Referenzuhr aus. In früheren Versionen sollten Sie die IMediaFilter::SetSyncSource--Methode für den Filter Graph-Manager aufrufen. Weitere Informationen zu Uhren finden Sie unter Zeit und Uhren in DirectShow.

  • Je nach Gerät geben einige Methoden in IAMExtDevice, IAMExtTransport-und IAMTimeCodeReader- möglicherweise Windows-Fehlercodes anstelle von HRESULT--Werten zurück. Mögliche Fehlercodes sind die folgenden.

    Fehlercode Beschreibung
    ERROR_TIMEOUT Ein Externer Gerätebefehl hat ein Timeout erreicht.
    ERROR_REQ_NOT_ACCEP Das Gerät hat diesen externen Gerätebefehl nicht akzeptiert.
    ERROR_NOT_SUPPORTED Dieses externe Gerätebefehl wird vom Gerät nicht unterstützt.
    ERROR_REQUEST_ABORTED Ein externer Gerätebefehl wurde abgebrochen. Möglicherweise wurde das Gerät entfernt oder es ist ein Busrücksetzung aufgetreten.

     

Geräteschrift

In Windows Millennium Edition und Windows XP unterstützt der DV-Filter den Gerätemoniker eine Description Eigenschaft zusätzlich zur FriendlyName-eigenschaft. Diese Eigenschaft gibt eine Beschreibung des Geräts zurück, die aus der INF-Datei stammt, die normalerweise den Markennamen des Geräts enthält. Diese Eigenschaft wird jedoch für alle Gerätemodelle nicht unterstützt.

Weitere Informationen zu Gerätemonikern finden Sie unter Using the System Device Enumerator.

Uhrzeiten

Der MSDV-Treiber verwendet die 1394-Busuhr, die in den 1394-Datenpaketen enthalten ist, um die Uhr abzuleiten. Sie verwendet diese Werte zum Zeitstempeln der DV-Medienbeispiele. Da diese Quelluhr nicht die Computersystemuhr ist, werden die Zeiten schließlich von der Computersystemuhr driften. Wie oben erwähnt, wählt der Filter Graph-Manager standardmäßig MSDV als Diagrammverweisuhr aus.

Die IAMDroppedFrames Schnittstelle meldet das aktuelle Maß an verworfenen Frames des Fahrers; Dieser Wert kann nicht perfekt mit der tatsächlichen Anzahl der verworfenen Frames zu einem bestimmten Zeitpunkt synchronisiert werden. Wenn Frames verworfen werden, gibt es an, dass das System nicht ausgeglichen ist (die Datenproduktion überschreitet den Datenverbrauch). Beispielsweise ist die Festplatte des Benutzers möglicherweise nicht schnell genug, um DV-Aufnahmeraten zu unterstützen.

DirectShow-Filter

Digitales Video in DirectShow-