Almacenar archivos multimedia comprimidos en archivos AVI (Microsoft Media Foundation)
Cualquiera de los contenidos que comprima mediante los códecs de audio y de vídeo de Windows Media debe colocarse en algún formato de contenedor. Uno de los formatos más populares es Audio Video Interleave o AVI. Puede usar Microsoft Video para Windows (VfW) o Microsoft DirectShow para crear archivos AVI.
Los códecs de audio y vídeo de Windows Media se han desarrollado para usar las propiedades del formato de sistemas avanzados (ASF), que es el contenedor usado por Windows Media. Dado que AVI y ASF almacenan contenido de forma diferente, surgen algunas dificultades al almacenar contenido comprimido con los códecs de audio y vídeo de Windows Media en un archivo AVI.
Los códecs de audio de Windows Media comprimen el contenido de audio de tal manera que no se puede descomprimir correctamente sin las marcas de tiempo en cada una de las muestras. Esto permite realizar algunas optimizaciones en los elementos multimedia comprimidos. Dado que el contenedor de ASF mantiene las marcas de tiempo en todas las muestras, esta característica de algoritmos de audio siempre ha funcionado bien.
Sin embargo, los archivos AVI no mantienen las marcas de tiempo con las muestras. Esto quiere decir que el contenido de audio de Windows Media no se puede descomprimir correctamente cuando se almacena en un archivo AVI. El contenido de audio de Windows Media no tiene esta limitación y se puede incluir en archivos AVI. Para codificar contenido de vídeo de Windows Media en un archivo AVI con sonido sincronizado, debes usar otro códec de audio.
El otro problema con el uso de un archivo AVI como contenedor de Windows Media tiene que ver con los vídeos con baja velocidad de bits. Una de las formas en que los códecs de vídeo de Windows Media producen contenido de vídeo con velocidades de bits bajas es quitando fotogramas duplicados. Si desea colocar contenido de vídeo de Windows Media en un archivo ASF, debe elegir el codificador con el que usar fotogramas ficticios en fotogramas duplicados (en MFPKEY_PRODUCEDUMMYFRAMES use el valor VARIANT_TRUE) para que cada fotograma se reproduzca en el archivo. Los fotogramas ficticios generados por el códec tienen un tamaño de 8 bytes. Sin embargo, el fotograma escrito en el archivo a través del multiplexor de AVI puede ser cientos de bytes más grande e incluir datos aleatorios. Un archivo AVI creado de esta manera se podrá reproducir, pero será mucho más grande de lo esperado. Puede evitar este problema si usa velocidades de bits más altas al codificar el vídeo para almacenarlo en archivos AVI.
Temas relacionados