Introducción a la arquitectura de Media Foundation

En este tema se describe el diseño general de Microsoft Media Foundation. Para obtener información sobre el uso de Media Foundation para tareas de programación específicas, consulte Guía de programación de Media Foundation.

En el diagrama siguiente se muestra una vista de alto nivel de la arquitectura de Media Foundation.

diagrama que muestra una vista de alto nivel de la arquitectura de la base multimedia.

Media Foundation proporciona dos modelos de programación distintos. El primer modelo, que se muestra en el lado izquierdo del diagrama, usa una canalización de un extremo a otro para los datos multimedia. La aplicación inicializa la canalización (por ejemplo, proporcionando la dirección URL de un archivo que se va a reproducir) y, a continuación, llama a métodos para controlar el streaming. En el segundo modelo, que se muestra en el lado derecho del diagrama, la aplicación extrae datos de un origen o los inserta en un destino (o ambos). Este modelo es especialmente útil si necesita procesar los datos, ya que la aplicación tiene acceso directo al flujo de datos.

Primitivos y plataforma

A partir de la parte inferior del diagrama, los primitivos son objetos auxiliares que se usan en media Foundation API:

  • Los atributos son una manera genérica de almacenar información dentro de un objeto, como una lista de pares clave-valor.
  • Los tipos de medios describen el formato de un flujo de datos multimedia.
  • Los búferes multimedia contienen fragmentos de datos multimedia, como fotogramas de vídeo y muestras de audio, y se usan para transportar datos entre objetos.
  • Los ejemplos multimedia son contenedores para búferes multimedia. También contienen metadatos sobre los búferes, como las marcas de tiempo.

Las API de media Foundation Platform proporcionan cierta funcionalidad básica que usa la canalización de Media Foundation, como devoluciones de llamada asincrónicas y colas de trabajo. Es posible que ciertas aplicaciones necesiten llamar directamente a estas API; además, los necesitará si implementa un origen, una transformación o un receptor personalizados para Media Foundation.

Canalización de medios

La canalización de medios contiene tres tipos de objeto que generan o procesan datos multimedia:

  • Los orígenes multimedia introducen datos en la canalización. Un origen multimedia puede obtener datos de un archivo local, como un archivo de vídeo; de una secuencia de red; o desde un dispositivo de captura de hardware.
  • Media Foundation Transforms (MFT) procesa datos de una secuencia. Los codificadores y descodificadores se implementan como MFT.
  • Los receptores multimedia consumen los datos; por ejemplo, mostrando vídeo en la pantalla, reproduciendo audio o escribiendo los datos en un archivo multimedia.

Los terceros pueden implementar sus propios orígenes, receptores y MFT personalizados; por ejemplo, para admitir nuevos formatos de archivo multimedia.

La sesión multimedia controla el flujo de datos a través de la canalización y controla tareas como el control de calidad, la sincronización de audio/vídeo y la respuesta a los cambios de formato.

Lector de origen y escritor receptor

El lector de origen y el sistema de escritura receptor proporcionan una manera alternativa de usar los componentes básicos de Media Foundation (orígenes de medios, transformaciones y receptores de medios). El lector de origen hospeda un origen multimedia y cero o más descodificadores, mientras que el escritor receptor hospeda un receptor multimedia y cero o más codificadores. Puede usar el lector de origen para comprimir o descomprimir datos de un origen multimedia y usar el escritor receptor para codificar los datos y enviar los datos a un receptor multimedia.

Nota:

El lector de origen y el sistema de escritura receptor están disponibles en Windows 7.

 

Este modelo de programación proporciona a la aplicación más control sobre el flujo de datos y también proporciona a la aplicación acceso directo a los datos del origen.

Media Foundation: conceptos esenciales

Arquitectura de Media Foundation