Share via


Archiviazione di supporti compressi in file AVI (Microsoft Media Foundation)

Tutti i contenuti compressi usando i codec Audio e Video di Windows Media devono essere inseriti in un formato contenitore. Uno dei formati più diffusi è Audio Video Interleave o AVI. È possibile usare Microsoft Video per Windows (VfW) o Microsoft DirectShow per creare file AVI. Per altre informazioni sull'uso di Video per Windows o DirectShow, vedere la documentazione del prodotto su MSDN.

I codec Windows Media Audio e Video sono stati sviluppati per usare le proprietà di Advanced Systems Format (ASF), che è il contenitore usato da Windows Media. Poiché AVI e ASF archiviano il contenuto in modo diverso, alcune difficoltà si verificano quando si archiviano contenuti compressi con i codec Audio e Video di Windows Media in un file AVI.

I codec Windows Media Audio comprimono il contenuto audio in modo che non possa essere decompresso correttamente senza timestamp per i singoli campioni. Ciò consente un'ottimizzazione nel supporto compresso. Poiché il contenitore ASF mantiene i timestamp con tutti i campioni, questa caratteristica degli algoritmi audio ha sempre funzionato correttamente.

I file AVI, tuttavia, non mantengono i timestamp con esempi. Ciò significa che il contenuto audio di Windows Media non può essere decompresso correttamente quando è archiviato in un file AVI. Il contenuto di Windows Media Video non ha questa limitazione e può essere incluso nei file AVI. Per codificare il contenuto di Windows Media Video in un file AVI con audio sincronizzato, è necessario usare un altro codec audio.

L'altro problema relativo all'uso di un file AVI come contenitore per Windows Media riguarda il video a bassa velocità in bit. Uno dei modi in cui i codec di Windows Media Video producono contenuto video per frequenze di bit basse consiste nell'eliminare fotogrammi duplicati. Se si desidera inserire contenuto di Windows Media Video in un file ASF, è necessario impostare il codificatore per distribuire fotogrammi fittizi per fotogrammi duplicati (impostare MFPKEY_PRODUCEDUMMYFRAMES su VARIANT_TRUE) in modo che ogni fotogramma sia rappresentato nel file. I fotogrammi fittizi prodotti dal codec sono di 8 byte di dimensioni. Tuttavia, il fotogramma scritto nel file dal multiplexer AVI può essere di centinaia di byte maggiori e riempito con dati casuali. Un file AVI creato in questo modo sarà ancora riproducibile, ma sarà molto più grande del previsto. È possibile evitare questo problema usando frequenze di bit più elevate durante la codifica dei video per l'archiviazione nei file AVI.

Codec Windows Media