Introduction
- Historique
DirectShow est une librairie multimédia développée par Microsoft permettant la gestion de flux audio et vidéo.
Avec l’apparition de Windows 95, Microsoft initia un projet répondant au nom de Quartz. Celui-ci a été créé dans l’optique de fournir des APIs (Application Programming Interface) pour le support des vidéos MPEG dans un environnement 32 bits. Rapidement, en 1995, Quartz proposa un support complet pour le traitement audio et vidéo, devenant ainsi ActiveMovie, qui n’était alors qu’une composante du SDK de DirectX (package regroupant toutes les libraires pour le développement multimédia de Microsoft). Puis, en 1996, ActiveMovie devient DirectShow, afin de mettre en avant sa relation avec DirectX.
Dès 1998, DirectShow propose le support des DVDs, puis c’est finalement en 2000 que DirectShow devient une composante à part entière de DirectX, et est alors intégré à la version 8 de celui-ci. A partir de cette version, il est alors possible de faire du streaming ou de l’édition de vidéo. L’application Windows Movie Maker tire d’ailleurs partie de ces fonctionnalités. Actuellement la toute dernière version de DirectX est la 9.0c, dans laquelle il est désormais possible d’utiliser un flux vidéo en tant que texture sur on objet 3D créé avec Direct3D.
Vous pouvez télécharger les sources de cet Article ici :
DirectShow.zip.
Je remercie Paramanathan Mauran, Jamy Rousseau, Franklin KongBang, Pascal Wojciechowski et Vincent Bednarek, Loic Bouchard, Arnaud Bourat, Pierre-Henri Mercier et Renaud Thirion qui ont réalisé cet article avec moi.
- Configuration
Les fonctionnalités de DirectShow peuvent être regroupées en trois catégories principales : capture, transformation et rendu. Ces libraires se basent sur l’utilisation et la connexion des Graph et des GraphFilter, que nous détaillerons plus précisément dans la suite de l’article.
Pour travailler avec DirectShow sur de la vidéo, Microsoft conseille une machine avec un processeur d’1 Ghz minimum, 256 Mb de RAM, 30 Go, de disque dur et une carte graphique de type ATI Radeon 8500 All-In-Wonder.
Au niveau logiciel, il vous faudra, de préférence, Windows XP SP1 afin de profiter des toutes dernières implémentations de DirectShow, Visual Studio .Net (2000 ou 2003), et DirectX SDK version 9 installé.
Vous trouverez le SDK de DirectX à l’adresse suivante :
Note importante : L’exemple qui va suivre est réalisé en C#. Les librairies DirectShow pour C# n’ayant pas encore été portées par Microsoft, nous utilisons les librairies traduites du C++ vers le C# par une personne que vous pouvez contacter sur
netmaster@swissonline.ch. Vous trouverez la dll correspondant à son travail en cliquant ici.