Видео AVI (.avi)
Microsoft СтандартAudio Video Interleave (AVI) е емблематичен мултимедиен контейнер, въведен от Microsoft през 1992 г., който редува (интерлиава) аудио и видео потоци за синхронизирано възпроизвеждане.
Инспектиране и метаданни
Операционните системи и файловите анализатори идентифицират AVI файлове чрез проверка на началната двоична байтова последователност:
Байтов подпис на хедъра (Magic Bytes)
Операционните системи и файловите анализатори идентифицират AVI файлове чрез проверка на началната двоична байтова последователност:
HEX ПОДПИС (ОФСЕТ 0):
52 49 46 46 00 00 00 00 41 56 49 20ASCII ПРЕДСТАВЯНЕ: RIFF....AVI
Стандартизация: Microsoft RIFF Specification / OpenDML Extension
Технически спецификации
| Контейнерна архитектура | Resource Interchange File Format (RIFF) interleaved chunk container |
| Компресия | Interleaved streams supporting DivX, Xvid, Motion JPEG, raw uncompressed, and MP3 audio |
| Поредност на байтовете (Endianness) | Little-Endian (Intel x86 byte order) |
| Цветови пространства | YUV 4:2:0, RGB, and palette colors |
| Канали и структура | Stereo and multichannel audio streams |
| Максимални размери | Unrestricted; OpenDML AVI extension supports 4K and multi-gigabyte streams |
| Прозрачност | Supported via RGBA uncompressed video streams |
| Стрийминг и прогресивно зареждане | Index chunk placed at end of file; poorly suited for progressive web streaming |
Техническа сравнителна матрица: AVI спрямо конкуренти
| Технически атрибут | AVI (Текущ) | MP4 | MKV | MOV |
|---|---|---|---|---|
| Пригодност за стрийминг | Слаба; изисква изтегляне на целия файл преди превъртане | Отлична (FastStart / HLS / DASH) | Добра (сегментиран EBML) | Отлична (FastStart) |
| HTML5 уеб възпроизвеждане | Не се поддържа нативно от съвременните браузъри | 100% универсална във всички браузъри | Частична (Edge / Chrome) | Поддържа се на Safari / Apple устройства |
| Вграждане на субтитри | Зависи от заобиколни решения (изисква външни .srt файлове) | Нативен текстов тайминг (tx3g / VTT) | Пълна нативна поддръжка за ASS/SSA/SRT | Нативни Apple QuickTime субтитри |
| Променлива кадрова честота | Строго постоянна кадрова честота (CFR) | Нативна поддръжка на VFR | Нативна поддръжка на VFR | Нативна поддръжка на VFR |
Често срещани режими на повреда и ръководство за хекс възстановяване
Мултимедийният плеър може да възпроизвежда видеото, но не може да превърта или да дава напред, или докладва 'Повреден индекс' (Corrupt index).
Първопричина: Опашният индексен блок 'idx1' е бил съкратен или изтрит по време на прекъснато изтегляне.
Възстановяване: Възстановете индекса с помощта на DivFix++, VLC ('Build index then play') или 'ffmpeg -i broken.avi -c copy fixed.avi'.
Анализ на сигурността и вектори на атака към парсера
AVI файловете съдържат сложни йерархии от блокове и поддържат безброй неясни стари видеокодеци, което прави декодерите без пясъчни кутии (sandboxing) податливи на експлойти в парсерите.
Известни вектори на атака
- Препълване на динамичната памет (heap buffer overflow) при анализа на блока 'strh' (stream header) в стари медийни плеъри за Windows.
- Цялостно препълване (integer overflow) по време на заделяне на индексен масив за злонамерено създадени заглавни части с голям брой кадри.
- Четене извън границите на масива (out-of-bounds read) при декомпресия на Motion JPEG в стари DirectShow филтри.
Защитни добри практики:
Исторически произход и етапи
Основни предимства и плюсове
- Изключително широка наследена настолна поддръжка в софтуера за мултимедия под Windows и видеоредакторите.
- Поддържа неспиране на сурови (raw) кадри за архивно сканиране на филми и научен видеоанализ.
- Проста архитектура за редуване на потоци с ниски надхвърлящи разходи на контейнера (container overhead).
Технически ограничения и минуси
- Липсва вградена поддръжка за модерни функции на видео контейнери като променлива кадрова честота (VFR) и глави (chapters).
- Слабо подходящ за уеб стрийминг, тъй като главният индексен блок ('idx1') се съхранява в края на файла.
- Няма вградена поддръжка за HTML5 видео в браузърите без прекодиране в MP4 или WebM.
Интересни технически факти
- В началото на 2000-те години DivX и Xvid AVI файловете бяха основният формат, използван от мрежите за споделяне на файлове от равноправен тип (peer-to-peer).
- Оригиналната спецификация на AVI от 1992 г. не можеше да надвишава 2 GB поради 32-битови указатели за отместване във файла.
- Блокът 'idx1' в края на AVI файла описва байтовото отместване на всеки един кадър за целите на превъртането.
Често задавани технически въпроси
Защо не мога да възпроизвеждам AVI видеа директно в уеб браузъри?
Съвременните браузъри стандартизират на MP4 (H.264/AV1) и WebM (VP9/AV1), защото техните формати на контейнери са оптимизирани за прогресивен стрийминг. AVI няма вградени функции за уеб стрийминг и не се поддържа в HTML5 <video>.
Как мога да поправя AVI файл, който не се превърта или търси коректно?
AVI файловете разчитат на индексна таблица в края на файла. Ако е непълна, плейърите не могат да търсят. Транскодирането или преиндексирането на файла с File2File Video Converter възстановява пълното търсене по времевата скала.
Каква е разликата между AVI и MP4?
AVI е заветен (legacy) контейнер от 1992 г., предназначен за локално възпроизвеждане на десктоп. MP4 е модерен стандарт от 2001 г., поддържащ уеб стрийминг, глави, променливи кадрови честоти, субтитри и превъзходна компресия.