Partager via


Pilote MSDV

[La fonctionnalité associée à cette page, DirectShow, est une fonctionnalité héritée. Il a été remplacé par MediaPlayer, IMFMediaEngineet audio/vidéo capture dans Media Foundation. Ces fonctionnalités ont été optimisées pour Windows 10 et Windows 11. Microsoft recommande vivement que le nouveau code utilise MediaPlayer, IMFMediaEngine et capture audio/vidéo dans Media Foundation au lieu de directShow, lorsque cela est possible. Microsoft suggère que le code existant qui utilise les API héritées soit réécrit pour utiliser les nouvelles API si possible.]

MSDV est le pilote Microsoft Windows Driver Model (WDM) pour les camcorders DV. Le pilote apparaît sous la forme d’un filtre DirectShow lorsque l’appareil est branché. Il est énuméré dans deux catégories de filtres :

  • CLSID_VideoInputDeviceCategory (« Sources de capture vidéo »)
  • AM_KSCATEGORY_RENDER (« Appareils de rendu de diffusion en continu WDM »)

Le nom convivial du filtre est Microsoft DV Camera and VCR, ou un équivalent localisé. Dans certains appareils, la propriété Description contient une description du modèle spécifique, qui peut être utilisée au lieu du nom convivial générique. Pour plus d’informations, consultez Sélection d’un appareil de capture.

MSDV a deux broches de sortie. Une broche fournit des images DV qui contiennent des données audio et vidéo entrelacées. L’autre épingle fournit des images vidéo uniquement sans audio. MSDV ne peut pas diffuser en continu les deux broches à la fois, de sorte qu’une seule broche de sortie peut être connectée à la fois. Pour plus d’informations sur la capture de vidéos à partir d’un appareil DV, consultez Capture DV vers File.

capturer des données dv à partir du de l’appareil

La plupart des caméscopes DV ont une sous-unité d’enregistreur de bandes vidéo (VTR), qui peut transmettre des données de bande à l’ordinateur. Pour l’application, la capture à partir d’une bande fonctionne de la même façon que la capture de vidéos en direct. La seule différence est que l’application doit contrôler le transport de bandes externes : démarrer et arrêter la bande, rembobiner, etc. À cet effet, MSDV expose les interfaces IAMExtDevice, IAMExtTransportet IAMTimecodeReader. Pour plus d’informations sur le contrôle d’un VTR, consultez Contrôle d’un camcordeur DV.

Vous pouvez également transmettre DV à partir de l’ordinateur au camcordeur. La vidéo peut ensuite être vue dans l’écran d’intégration du camcordeur ou enregistrée sur bande. Pour prendre en charge cette fonctionnalité, MSDV a une broche d’entrée qui peut recevoir un flux DV entrelacé. Lorsque la broche d’entrée est connectée, MSDV agit comme un filtre de convertisseur au lieu d’un filtre de capture. MSDV ne prend pas en charge la recherche dans ce mode. Pour plus d’informations sur l’envoi de DV à l’appareil, consultez Transmettre DV à partir d’un fichier à une bande.

transmettre des données dv à l’appareil

Notez que les broches d’entrée et de sortie ne peuvent pas être connectées en même temps, car l’appareil ne peut pas diffuser dans les deux sens en même temps.

Dans de nombreux caméscopes, le basculement entre le mode VTR et le mode caméra entraîne la désactivation de l’appareil. Par conséquent, DirectShow peut perdre l’appareil lorsque l’utilisateur change de mode. Pour plus d’informations sur les événements de suppression d’appareil, consultez notification de suppression d’appareil.

Remarques

Pour plus d’informations sur les formats DV pris en charge par le pilote MSDV, consultez sous-types vidéo DV.

Quelques conseils sur la création de graphiques de filtre avec MSDV :

  • Vous ne pouvez pas utiliser IGraphBuilder ::Render pour afficher une broche de sortie sur MSDV. (Le Gestionnaire de graphes de filtre tente de connecter la broche de sortie à la broche d’entrée de MSDV, ce qui échoue.) Utilisez plutôt IGraphBuilder ::Connect ou ICaptureGraphBuilder2 ::RenderStream.

  • Lorsqu’un graphique de filtre contient MSDV, MSDV doit fournir l’horloge de référence pour le graphique. À compter de DirectX 8.0, le Gestionnaire de graphes de filtre choisit automatiquement MSDV comme horloge de référence. Avec les versions antérieures, vous devez appeler la méthode IMediaFilter ::SetSyncSource sur le Gestionnaire de graphes de filtre. Pour plus d’informations sur les horloges, consultez Time and Clocks in DirectShow.

  • Selon l’appareil, certaines méthodes de IAMExtDevice, IAMExtTransportet IAMTimeCodeReader peuvent retourner des codes d’erreur Windows au lieu de valeurs HRESULT. Les codes d’erreur possibles sont les suivants.

    Code d’erreur Description
    ERROR_TIMEOUT Une commande d’appareil externe a expiré.
    ERROR_REQ_NOT_ACCEP L’appareil n’a pas accepté cette commande d’appareil externe.
    ERROR_NOT_SUPPORTED L’appareil ne prend pas en charge cette commande d’appareil externe.
    ERROR_REQUEST_ABORTED Une commande d’appareil externe a été abandonnée. Peut-être que l’appareil a été supprimé ou qu’une réinitialisation de bus s’est produite.

     

Informations sur l’appareil

Dans Windows Millennium Edition et Windows XP, le moniker d’appareil du filtre DV prend en charge une propriété Description en plus de la propriété FriendlyName. Cette propriété retourne une description de l’appareil, extraite du fichier INF, qui contient généralement le nom de marque de l’appareil. Toutefois, cette propriété n’est pas prise en charge pour tous les modèles d’appareil.

Pour plus d’informations sur les monikers d’appareil, consultez Using the System Device Enumerator.

Heures de l’horloge

Le pilote MSDV utilise l’horloge de bus 1394 contenue dans les paquets de données 1394 pour dériver l’horloge. Il utilise ces valeurs pour horodatager les exemples de supports DV. Étant donné que cette horloge source n’est pas l’horloge du système informatique, les heures vont finalement dériver de l’horloge système de l’ordinateur. Comme indiqué ci-dessus, toutefois, par défaut, le Gestionnaire de graphes de filtre sélectionne MSDV comme horloge de référence de graphique.

L’interface IAMDroppedFrames signale la mesure actuelle du pilote des images supprimées ; cette valeur peut ne pas être parfaitement synchronisée avec le nombre réel d’images supprimées à un moment donné. Si les images sont supprimées, cela indique que le système n’est pas équilibré (la production de données dépasse la consommation de données). Par exemple, le disque dur de l’utilisateur peut ne pas être assez rapide pour prendre en charge les taux de capture DV.

filtres DirectShow

vidéo numérique dans DirectShow