Condividi tramite


Panoramica dell'architettura di Media Foundation

Questo argomento descrive la progettazione generale di Microsoft Media Foundation. Per informazioni sull'uso di Media Foundation per attività di programmazione specifiche, vedere Media Foundation Programming Guide.

Il diagramma seguente mostra una panoramica generale dell'architettura di Media Foundation.

diagramma che mostra una panoramica generale dell'architettura di base multimediale.

Media Foundation fornisce due modelli di programmazione distinti. Il primo modello, mostrato sul lato sinistro del diagramma, usa una pipeline end-to-end per i dati multimediali. L'applicazione inizializza la pipeline, ad esempio fornendo l'URL di un file da riprodurre, e quindi chiama i metodi per controllare lo streaming. Nel secondo modello, visualizzato sul lato destro del diagramma, l'applicazione recupera i dati da un'origine oppure li trasferisce a una destinazione (o entrambi). Questo modello è particolarmente utile se è necessario elaborare i dati, perché l'applicazione ha accesso diretto al flusso di dati.

Primitive e piattaforma

A partire dalla parte inferiore del diagramma, le primitive sono oggetti helper usati nell'API Media Foundation:

  • attributi sono un modo generico per archiviare le informazioni all'interno di un oggetto, come elenco di coppie chiave/valore.
  • tipi di media descrive il formato di un flusso di dati multimediali.
  • I buffer multimediali contengono blocchi di dati multimediali, come fotogrammi video e campioni audio, e vengono utilizzati per trasportare dati tra oggetti.
  • esempi di supporti sono contenitori per i buffer multimediali. Contengono anche metadati relativi ai buffer, ad esempio timestamp.

Le API Media Foundation Platform forniscono alcune funzionalità di base usate dalla pipeline di Media Foundation, ad esempio callback asincroni e code di lavoro. Alcune applicazioni potrebbero dover chiamare direttamente queste API; inoltre, saranno necessari se si implementa un'origine personalizzata, una trasformazione o un sink per Media Foundation.

Pipeline multimediale

La pipeline multimediale contiene tre tipi di oggetto che generano o elaborano dati multimediali:

  • Fonti multimediali introducono dati nella pipeline. Un'origine multimediale potrebbe ottenere dati da un file locale, ad esempio un file video; da un flusso di rete; o da un dispositivo di acquisizione hardware.
  • Media Foundation Transforms (MFT) elaborano i dati da un flusso. I codificatori e i decodificatori vengono implementati come MFP.
  • sink multimediali utilizzare i dati; ad esempio, mostrando il video sullo schermo, riproducendo audio o scrivendo i dati in un file multimediale.

Terze parti possono implementare le proprie fonti personalizzate, sink e MFT; ad esempio, al fine di supportare nuovi formati di file multimediali.

La sessione multimediale controlla il flusso di dati attraverso la pipeline e gestisce attività quali controllo qualità, sincronizzazione audio/video e risposta alle modifiche del formato.

Lettore di origine e scrittore di destinazione

Il lettore di origine e lo scrittore di destinazione offrono un modo alternativo per usare i componenti di base di Media Foundation (origini multimediali, trasformazioni e sink multimediali). Il lettore di origine ospita un'origine multimediale e zero o più decodificatori, mentre lo scrittore di sink ospita un sink multimediale e zero o più codificatori. È possibile usare il lettore di origine per ottenere dati compressi o non compressi da un'origine multimediale e usare il writer sink per codificare i dati e inviare i dati a un sink multimediale.

Nota

Il lettore di origine e il writer sink sono disponibili in Windows 7.

 

Questo modello di programmazione offre all'applicazione un maggiore controllo sul flusso di dati e fornisce all'applicazione l'accesso diretto ai dati dall'origine.

Media Foundation: Concetti fondamentali

architettura di Media Foundation