Audio Video Interleave | это... Что такое Audio Video Interleave? (original) (raw)

Audio Video Interleave

Расширение .avi
MIME video/avi, video/msvideo, video/x-, msvideo
Разработан Microsoft
Тип формата медиаконтейнер
Содержит Аудио, Видео

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

Индекс

Ссылки

Просмотр этого шаблона Медиаконтейнеры
Видео/аудио 3GPASFAVIBink • DMF • DPX • EVO • FLVMatroska (MKV) • WebM • MPEG-PS • MPEG-TSMP4MXF • NUT • OggOgg MediaQuickTimeRealMediaSmackerRIFFVOBсравнениесжатие
Аудио AIFFAPE • AU • DSDDXDMLPMP3FLAC • SHN (англ.) WAVWMAсравнениесжатие
Графические форматы (сжатие)
Растровые Без потерь: BMPFPXGIFICOILBMJBIGPCXPNGPNMPSDRAWTGAWBMPXCFВключая сжатие с потерями: EXRICERJBIG2JPEG / JP2 / JPEG-LSJPEG XR (HD Photo) • PGF (англ.) • TIFFWebPАнимационные: APNGGIFMNG
Векторные AICDREMFEPSPSSVGWMFXPSАнимационные: SVGSWF3D: 3DSVRMLX3D
Комплексные CGMDjVuPDF