Écriture de filtres de transformation

[La fonctionnalité associée à cette page, DirectShow, est une fonctionnalité héritée. Il a été remplacé par MediaPlayer, IMFMediaEngine et Audio/Video Capture in 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 Audio/Video Capture dans Media Foundation au lieu de DirectShow, si 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.]

Cette section explique comment écrire un filtre de transformation, défini comme un filtre qui a exactement une broche d’entrée et une broche de sortie. Pour illustrer les étapes, cette section décrit un filtre de transformation hypothétique qui génère une vidéo encodée en longueur d’exécution (RLE). Il ne décrit pas l’algorithme d’encodage RLE lui-même, mais uniquement les tâches spécifiques à DirectShow. (DirectShow fournit déjà un codec RLE via le filtre AVI Compressor .)

Cette section suppose que vous allez utiliser la bibliothèque de classes de base DirectShow pour créer des filtres. Bien que vous puissiez écrire un filtre sans celui-ci, la bibliothèque de classes de base est fortement recommandée.

Notes

Avant d’écrire un filtre de transformation, déterminez si un objet multimédia DirectX (DMO) répond à vos besoins. Les DMO peuvent effectuer la plupart des mêmes opérations que les filtres, et le modèle de programmation pour les DMO est plus simple. Les DMO sont hébergés dans DirectShow via le filtre wrapper DMO , mais peuvent également être utilisés en dehors de DirectShow. Les DMO sont désormais la solution recommandée pour les encodeurs et les décodeurs.

 

Cette section comprend les rubriques suivantes :

Génération de filtres DirectShow

DirectShow Base Classes

Écriture de filtres DirectShow