- Audio Video Interleave
-
Audio Video Interleave Расширение .avi
MIME video/avi, video/msvideo, video/x-, msvideo
Разработан Тип формата Содержит Аудио, Видео
Audio Video Interleave (сокращённо AVI; букв. «чередование аудио и видео») — RIFF-медиаконтейнер, впервые использованный Microsoft в 1992 году в пакете Video for Windows.
Формат файлов с расширением AVI может содержать видео и аудио данные, сжатые с использованием разных комбинаций кодеков, что позволяет синхронно воспроизводить видео со звуком. AVI файл может содержать различные виды компрессированных данных (например, DivX — видео + WMA — аудио или Indeo — видео + PCM — аудио), в зависимости от того, какой кодек используется для кодирования/декодирования. Как и DVD, AVI файлы поддерживают многопотоковое аудиовидео.
Содержание
Формат файла
Все AVI файлы включают в себя два обязательных LIST chunk’а, которые определяют формат и данные потока. AVI файлы могут также включать индекс chunk. Этот дополнительный chunk определяет расположение видеоданных в файле. Типичная структура AVI-файла:
RIFF ('AVI ' LIST ('hdrl' <заголовок>) LIST ('movi' <видео>) ['idx1' <индекс>])
LIST hdrl
Chunk, содержащий заголовок AVI файла и заголовки потоков данных. Типичная структура:
LIST ('hrdl' 'avih' (<заголовок AVI файла>) LIST ('strl' <заголовок потока 1>) LIST ('strl' <заголовок потока 2>) LIST ('odml' <расширенный заголовок AVI файла>))
Основной заголовок файла
Файл начинается с основного заголовка. В AVI файлах, этот заголовок определяется chunk’ом с FOURCC 'avih'. Заголовок содержит глобальную информацию для всего файла, такую как число потоков в файле, ширина и высота видеопотока. Основной заголовок имеет следующую структуру:
typedef struct { DWORD dwMicroSecPerFrame; DWORD dwMaxBytesPerSec; DWORD dwReserved1; DWORD dwFlags; DWORD dwTotalFrames; DWORD dwInitialFrames; DWORD dwStreams; DWORD dwSuggestedBufferSize; DWORD dwWidth; DWORD dwHeight; DWORD dwReserved[4]; } MainAVIHeader;
dwMicroSecPerFrame — определяет количество микросекунд между кадрами. Это значение общее для всего файла.
dwMaxBytesPerSec — указывает примерную максимальную скорость передачи данных файла. Это значение указывает количество байт в секунду, которые система должна обрабатывать.
dwFlags — cодержит перечень свойств видеофайла. Допустимы следующие значения:
Флаг Описание AVIF_HASINDEX В файле присутствует 'idx1' chunk. AVIF_MUSTUSEINDEX Указывает, что индекс, а не физическое расположение блоков в файле, должны быть использованы, чтобы определить порядок представления данных. AVIF_ISINTERLEAVED Указывает на чередование аудио и видео данных. AVIF_WASCAPTUREFILE AVIF_COPYRIGHTED Указывает, что файл содержит защищенные авторскими правами данные и программное обеспечение. Заголовки потоков
Заголовок потока имеет следующую структуру:
typedef struct { FOURCC fccType; FOURCC fccHandler; DWORD dwFlags; DWORD dwPriority; DWORD dwInitialFrames; DWORD dwScale; DWORD dwRate; DWORD dwStart; DWORD dwLength; DWORD dwSuggestedBufferSize; DWORD dwQuality; DWORD dwSampleSize; RECT rcFrame; } AVIStreamHeader;
Расширенный заголовок файла
Расширенный заголовок файла имеет следующую структуру:
typedef struct { DWORD dwTotalFrames; } ODMLExtendedAVIHeader;
LIST movi
Индекс
Ссылки
- Описание технологии AVI авторства John’a P. McGowan’a
- Документация формата RIFF-AVI
- Список кодеков FourCC
Медиаконтейнеры Видео/аудио Аудио Графические форматы (сжатие) Растровые Векторные Комплексные Категории:- Форматы файлов
- Медиаконтейнеры
- Видеостандарты
Wikimedia Foundation. 2010.