Intercalado de audio y video | |
---|---|
Extensión | .avi[una] |
tipo MIME | video/vnd.avi [2] [3] |
Desarrollador | Microsoft [4] |
publicado | 1992 [5] |
Tipo de formato | contenedor de medios |
Contiene | Audio Video |
Expandido desde | RIF [6] |
Audio Video Interleave (abreviado como AVI ; lit. "audio and video interleaving") es un contenedor de medios RIFF utilizado por primera vez por Microsoft en 1992 en el paquete Video for Windows .
Los archivos con la extensión AVI pueden contener datos de video y audio comprimidos usando diferentes combinaciones de códecs, lo que permite la reproducción sincronizada de video con audio. Un archivo AVI puede contener diferentes tipos de datos comprimidos (por ejemplo, video DivX + audio WMA o video Indeo + audio PCM ) según el códec que se use para codificar/descodificar. Al igual que los DVD, los archivos AVI admiten audio y video de transmisión múltiple.
Todos los archivos AVI incluyen dos bloques LIST obligatorios que definen el formato y la transmisión de datos. Los archivos AVI también pueden incluir un bloque de índice. Este bloque opcional define la ubicación de los datos de video en el archivo. Estructura típica de archivos AVI:
RIFF ('AVI ' LIST ('hdrl' <título>) LIST ('movi' <video>) ['idx1' <índice>])
Un bloque que contiene el encabezado del archivo AVI y los encabezados del flujo de datos. Estructura típica:
LIST ('hdrl' 'avih' (<encabezado de archivo AVI>) LIST ('strl' <encabezado de flujo 1>) LIST ('strl' <encabezado de flujo 2>) LIST ('odml' <encabezado extendido de archivo AVI>))
Encabezado del archivo principalEl archivo comienza con un encabezado principal. En los archivos AVI, este encabezado está definido por un bloque FOURCC 'avih'. El encabezado contiene información global para todo el archivo, como la cantidad de transmisiones en el archivo, el ancho y la altura de la transmisión de video. El encabezado principal tiene la siguiente estructura:
estructura typedef { DWORD dwMicroSecPerFrame ; DWORD dwMaxBytesPerSec ; DWORD dwReservado1 ; DWORD dwFlags ; DWORD dwTotalFrames ; DWORD dwInitialFrames ; DWORD dwStreams ; DWORD dwSuggestedBufferSize ; DWORD dwWidth ; DWORD dwAltura ; DWORD dwReservado [ 4 ]; } PrincipalAVIHeader ;dwMicroSecPerFrame : especifica el número de microsegundos entre fotogramas. Este valor es común a todo el archivo.
dwMaxBytesPerSec Indica la velocidad máxima aproximada de transferencia de archivos. Este valor especifica el número de bytes por segundo que debe procesar el sistema.
dwFlags : contiene una lista de propiedades de archivos de video. Los valores válidos son:
Bandera | Descripción |
---|---|
AVIF_HASINDEX | Hay un bloque 'idx1' en el archivo. |
AVIF_MUSTUSEINDEX | Especifica que se debe usar un índice, en lugar de la disposición física de los bloques en el archivo, para determinar el orden en que se presentan los datos. |
AVIF_ISINTERLEAVED | Indica la intercalación de datos de audio y video. |
AVIF_WASCAPTUREFILE | |
AVIF_CON DERECHOS DE AUTOR | Indica que el archivo contiene datos y software protegidos por derechos de autor. |
dwTotalFrames Indica el número total de fotogramas del archivo.
dwStreams Indica el número de flujos en el archivo. Por ejemplo, un archivo con audio y video tiene 2 flujos.
dwSuggestedBufferSize Especifica el tamaño de búfer recomendado para leer el archivo. Este tamaño debe ser lo suficientemente grande para contener el bloque de datos de firma y encabezado más grande. Si el valor establecido es cero o demasiado bajo, el programa de reproducción de archivos reasignará la memoria durante la operación, lo que reducirá el rendimiento.
dwWidth : establece el ancho del archivo AVI.
dwHeight [7] : establece la altura del archivo AVI.
Encabezados de flujoEl encabezado de flujo tiene la siguiente estructura:
estructura typedef { CUATROCC tipo fcc ; FOURCC fccHandler ; DWORD dwFlags ; DWORD dwPrioridad ; DWORD dwInitialFrames ; DWORD dwEscala ; DWORD dwRate ; DWORD dwStart ; DWORD dwLength ; DWORD dwSuggestedBufferSize ; DWORD dwCalidad ; DWORD dwTamañoMuestra ; RECT rcFrame ; } AVIStreamHeader ; Encabezado de archivo extendidoEl encabezado del archivo extendido tiene la siguiente estructura:
estructura typedef { DWORD dwTotalFrames ; } ODMLExtendedAVIHeader ;contenedores de medios | |
---|---|
Audio video | |
Audio | |
Música | |
Ráster | |
Vector | |
Complejo |