Partager via


Vue d’ensemble de l’architecture Media Foundation

Cette rubrique décrit la conception générale de Microsoft Media Foundation. Pour plus d’informations sur l’utilisation de Media Foundation pour des tâches de programmation spécifiques, consultez Guide de programmation Media Foundation.

Le diagramme suivant montre une vue d’ensemble de l’architecture Media Foundation.

diagramme montrant une vue d’ensemble de l’architecture media foundation.

Media Foundation fournit deux modèles de programmation distincts. Le premier modèle, affiché à gauche du diagramme, utilise un pipeline de bout en bout pour les données multimédias. L’application initialise le pipeline(par exemple, en fournissant l’URL d’un fichier à lire), puis appelle des méthodes pour contrôler la diffusion en continu. Dans le deuxième modèle, affiché à droite du diagramme, l’application extrait les données d’une source ou les envoie vers une destination (ou les deux). Ce modèle est particulièrement utile si vous devez traiter les données, car l’application dispose d’un accès direct au flux de données.

Primitives et plateforme

À partir du bas du diagramme, les primitives sont des objets d’assistance utilisés dans l’API Media Foundation :

  • Les attributs sont un moyen générique de stocker des informations à l’intérieur d’un objet, sous la forme d’une liste de paires clé/valeur.
  • Les types de médias décrivent le format d’un flux de données multimédia.
  • Les mémoires tampons multimédias contiennent des blocs de données multimédias, telles que des images vidéo et des exemples audio, et sont utilisées pour transporter des données entre des objets.
  • Les exemples multimédias sont des conteneurs pour les mémoires tampons multimédias. Elles contiennent également des métadonnées sur les tampons, telles que les horodatages.

Les API Media Foundation Platform fournissent certaines fonctionnalités de base utilisées par le pipeline Media Foundation, telles que les rappels asynchrones et les files d’attente de travail. Certaines applications peuvent avoir besoin d’appeler ces API directement ; vous en aurez également besoin si vous implémentez une source, une transformation ou un récepteur personnalisé pour Media Foundation.

Pipeline multimédia

Le pipeline multimédia contient trois types d’objets qui génèrent ou traitent des données multimédias :

  • Les sources multimédias introduisent des données dans le pipeline. Une source multimédia peut obtenir des données à partir d’un fichier local, tel qu’un fichier vidéo ; à partir d’un flux réseau ; ou à partir d’un appareil de capture matérielle.
  • Media Foundation Transforms (MFT) traite les données d’un flux. Les encodeurs et les décodeurs sont implémentés en tant que MFT.
  • Les récepteurs multimédias consomment les données ; par exemple, en affichant une vidéo sur l’écran, en lisant de l’audio ou en écrivant les données dans un fichier multimédia.

Les tiers peuvent implémenter leurs propres sources, récepteurs et MFT personnalisés ; par exemple, pour prendre en charge de nouveaux formats de fichiers multimédias.

La session multimédia contrôle le flux de données via le pipeline et gère des tâches telles que le contrôle de la qualité, la synchronisation audio/vidéo et la réponse aux modifications de format.

Lecteur source et enregistreur récepteur

Le lecteur source et l’enregistreur récepteur offrent une autre façon d’utiliser les composants Media Foundation de base (sources multimédias, transformations et récepteurs multimédias). Le lecteur source héberge une source multimédia et aucun décodeur ou plus, tandis que l’enregistreur récepteur héberge un récepteur multimédia et aucun encodeur ou plus. Vous pouvez utiliser le lecteur source pour obtenir des données compressées ou non compressées à partir d’une source multimédia, et utiliser l’enregistreur récepteur pour encoder des données et envoyer les données à un récepteur multimédia.

Notes

Le lecteur source et l’enregistreur récepteur sont disponibles dans Windows 7.

 

Ce modèle de programmation donne à l’application plus de contrôle sur le flux de données et donne également à l’application un accès direct aux données à partir de la source.

Media Foundation : notions essentielles

Architecture Media Foundation