Panoramica di Windows Media Format SDK
[La funzionalità associata a questa pagina, Windows Media Format 11 SDK, è una funzionalità legacy. È stata sostituita da Lettore di origine e Writer sink. Lettore di origine e Writer sink sono stati ottimizzati per Windows 10 e Windows 11. Microsoft consiglia vivamente che il nuovo codice usi Lettore di origine e Writer sink anziché Windows Media Format 11 SDK, quando possibile. Microsoft suggerisce che il codice esistente che usa le API legacy venga riscritto per usare le nuove API, se possibile.
Windows Media Format SDK contiene oggetti per eseguire attività in tre punti nella vita di un file ASF: creazione, modifica e riproduzione. Alcune applicazioni, in particolare quelle per la modifica video, useranno la funzionalità generale di Windows Media Format SDK per leggere il contenuto dei file ASF, modificare tale contenuto e scrivere i risultati in un nuovo file. Tuttavia, è più semplice pensare a questo SDK nelle tre fasi di creazione, modifica e riproduzione dei file.
Creazione di file ASF con Windows Media Format SDK
Il processo di scrittura di file ASF con Windows Media Format SDK è, ad alto livello, abbastanza semplice. La creazione di file viene gestita da un oggetto writer. Si indica all'oggetto writer quale tipo di file si vuole creare specificando un oggetto profilo da usare. Ogni oggetto profilo contiene le impostazioni per un file ASF. Alcuni profili sono inclusi in questo SDK e il supporto per la modifica dei profili viene fornito da un numero di oggetti. Quando si imposta un profilo per l'oggetto writer da usare, è possibile iniziare a passare esempi al writer per l'elaborazione. Nella maggior parte dei casi, un esempio è un pezzo di audio o video non compresso, ma un esempio può essere qualsiasi tipo di dati.
Internamente, il writer esegue tre attività principali. Prima di tutto, se il flusso a cui appartiene un campione deve essere compresso, il writer comunica con la parte di codifica del codec (compressore/decompressor) per comprimere l'esempio. Una volta che gli esempi sono nel formato specificato dal profilo, il writer interrompe gli esempi in pacchetti di dimensioni appropriate da trasmettere su una rete. Infine, i dati dei vari flussi vengono multipli o interleaved in modo che gli esempi con tempi di presentazione simili in tutti i flussi siano vicini tra loro nella sezione dati del file ASF.
L'oggetto writer non scrive effettivamente un file stesso. Comunica con uno o più oggetti denominati sink, che forniscono i dati dal writer alla destinazione. Nel caso dei file locali, un sink di file gestisce la scrittura dei dati nel file. È anche possibile configurare i sink di rete per distribuire i dati ASF in una rete. Comunemente viene usato più sink. Ad esempio, un'applicazione può trasmettere un file in una rete e salvare una copia come file in un disco locale contemporaneamente. Usando un sink push, è possibile trasmettere contenuto dall'applicazione di scrittura a uno o più server che eseguono Servizi multimediali Windows, che quindi distribuiranno il contenuto agli utenti.
Modifica file ASF con Windows Media Format SDK (modifica dei metadati)
La modifica del contenuto della sezione dati di un file ASF comporta la riscrittura del file. Windows Media Format SDK non fornisce oggetti che modificano la sezione dati sul posto. Per modifiche semplici, ad esempio la concatenazione di due file o il taglio del contenuto da un file, è possibile leggere esempi senza decomprimerli e quindi scriverli in un nuovo file usando le stesse informazioni sull'intestazione. Le modifiche più complesse comportano modifiche apportate al profilo usato per il nuovo file.
Windows Media Format SDK supporta la modifica delle parti della sezione di intestazione senza riscrivere il file. L'intestazione di un file ASF contiene molti tipi di dati diversi. I metadati più comunemente modificati sono attributi di metadati, che sono coppie nome/valore che descrivono gli aspetti del contenuto e le persone coinvolte nel renderlo. È possibile modificare i metadati usando l'oggetto editor di metadati di Windows Media Format SDK. Questo oggetto aprirà un file ASF, consente di modificare alcuni dei contenuti dell'intestazione, scrivere le modifiche al file e chiudere il file. La modifica dei metadati è molto semplice, con chiamate di metodo semplici per recuperare e impostare i valori.
Lettura file ASF con Windows Media Format SDK
Windows Media Format SDK fornisce due oggetti distinti per la lettura dei file ASF: l'oggetto lettore e l'oggetto lettore sincrono. L'oggetto lettore è disponibile in tutte le versioni dell'SDK, mentre l'oggetto lettore sincrono richiede Windows Media Format 9 Series SDK o una versione successiva. La differenza principale tra i due è che l'oggetto lettore fornisce esempi all'applicazione eseguendo l'attivazione di eventi a un metodo di callback, mentre il lettore sincrono fornisce singoli esempi in risposta alle chiamate al metodo.
Per usare l'oggetto lettore, è necessario implementare diversi metodi di callback per reagire allo stato e ai messaggi di esempio dall'oggetto reader. Si configura il lettore per recapitare il contenuto come si vuole, avviare il lettore e attendere i messaggi di esempio. Il processo di recupero di campioni da un file ASF è fondamentalmente il contrario del processo di scrittura. L'oggetto lettore comunica con i codec necessari per decodificare i flussi compressi e recapita dati non compressi all'applicazione. È anche possibile configurare l'oggetto lettore per distribuire esempi nello stato compresso, in modo che sia possibile includere un flusso con codifica precedente in un nuovo file.
L'oggetto lettore sincrono funziona in modo analogo all'oggetto lettore. Invece di configurare i callback, è necessario richiedere ogni esempio dal lettore sincrono singolarmente. L'uso del lettore sincrono richiede solo un singolo thread, mentre l'uso del lettore richiede più thread. L'oggetto lettore sincrono presenta diversi vantaggi rispetto all'oggetto lettore in determinate circostanze, principalmente per le applicazioni di modifica dei contenuti che devono accedere rapidamente a parti diverse di un file e copiare i dati tra file. L'oggetto lettore sincrono è molto più semplice da usare e rende più semplice cercare posizioni specifiche nella sezione dati. Tuttavia, il lettore sincrono non supporta la lettura dei file in una rete e non supporta la gestione dei diritti digitali.
Altre operazioni con Windows Media Format SDK
Oltre alle tre aree funzionali principali appena descritte, Windows Media Format SDK ha oggetti per eseguire altre operazioni relative ai file ASF. L'oggetto profile manager viene usato per creare e accedere ai profili e salvarli. L'oggetto indicizzatore crea oggetti indice nei file ASF che consentono la ricerca in file video. Infine, l'oggetto lettore e l'oggetto writer supportano la gestione dei diritti digitali per proteggere i diritti intellettuali dei creatori di contenuti.
Nota L'intenzione della struttura di file ASF e questo SDK in generale consiste nel produrre file multimediali digitali contenenti audio e video e questa documentazione viene scritta con tale fine. Tuttavia, la struttura di file ASF funzionerà anche per altri tipi di contenuto. È possibile trovare molte applicazioni per i file ASF che non sono correlati all'audio e al video.
Argomenti correlati