Partager via


Vue d’ensemble du système DirectShow

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

Le défi du multimédia

L’utilisation du multimédia présente plusieurs défis majeurs :

  • Les flux multimédias contiennent de grandes quantités de données, qui doivent être traitées très rapidement.
  • L’audio et la vidéo doivent être synchronisés afin qu’ils démarrent et s’arrêtent en même temps, et qu'ils soient lus à la même vitesse.
  • Les données peuvent provenir de nombreuses sources, notamment des fichiers locaux, des réseaux informatiques, des diffusions de télévision et des caméras vidéo.
  • Les données sont disponibles dans divers formats, tels que Audio-Video Interleaved (AVI), Advanced Streaming Format (ASF), Motion Picture Experts Group (MPEG) et Digital Video (DV).
  • Le programmeur ne sait pas à l’avance quels appareils matériels seront présents sur le système de l’utilisateur final.

La Solution DirectShow

DirectShow est conçu pour relever chacun de ces défis. Son principal objectif de conception est de simplifier la création d’applications multimédias numériques sur la plateforme Windows, en isolant les applications des complexités des transports de données, des différences matérielles et de la synchronisation.

Pour obtenir le débit nécessaire pour diffuser en continu la vidéo et l’audio, DirectShow utilise Direct3D et DirectSound dans la mesure du possible. Ces technologies restituent efficacement les données aux cartes audio et graphiques de l’utilisateur. DirectShow synchronise la lecture en encapsulant des données multimédias dans des exemples horodatés. Pour gérer la variété des sources, des formats et des appareils matériels, DirectShow utilise une architecture modulaire, dans laquelle l’application combine et associe différents composants logiciels appelés filtres.

DirectShow fournit des filtres qui prennent en charge les périphériques de capture et de réglage basés sur le modèle de pilote Windows (WDM), ainsi que les filtres qui prennent en charge les anciennes cartes de capture Vidéo pour Windows (VfW), ainsi que les codecs écrits pour les interfaces ACM (Audio Compression Manager) et Video Compression Manager (VCM).

Le diagramme suivant montre la relation entre une application, les composants DirectShow et certains composants matériels et logiciels pris en charge par DirectShow.

architecture générale

Comme illustré ici, les filtres DirectShow communiquent avec, et contrôlent, un large éventail d’appareils, notamment le système de fichiers local, le tuner TV et les cartes de capture vidéo, les codecs VfW, l’affichage vidéo (via DirectDraw ou GDI) et la carte audio (via DirectSound). Par conséquent, DirectShow isole l’application de la plupart des complexités de ces appareils. DirectShow fournit également des filtres de compression et de décompression natifs pour certains formats de fichier.

à propos de directShow