Видео AVI (.avi)
Microsoft СтандартAudio Video Interleave (AVI) е знаков мултимедиен контейнер, въведен от Microsoft през 1992 г., който редува аудио и видео потоци за синхронизирано възпроизвеждане.
Проверка и метаданни
Операционните системи и файловите анализатори идентифицират AVI файлове чрез проверка на началната двоична байтова последователност:
Байтов подпис на заглавката (сигнатурни байтове)
Операционните системи и файловите анализатори идентифицират AVI файлове чрез проверка на началната двоична байтова последователност:
HEX ПОДПИС (ОФСЕТ 0):
52 49 46 46 ?? ?? ?? ?? 41 56 49 20ASCII ПРЕДСТАВЯНЕ: RIFF????AVI
Стандартизация: Microsoft RIFF Specification / OpenDML Extension
Технически спецификации
| Контейнерна архитектура | Контейнер от преплетени блокове във формата за обмен на ресурси (RIFF). |
| Компресия | Преплетени потоци с DivX, Xvid, Motion JPEG, некомпресирано видео и аудио MP3. |
| Поредност на байтовете (Endianness) | Ред от младшия към старшия байт (Little-Endian, байтов ред на Intel x86). |
| Цветови пространства | YUV 4:2:0, RGB и палитрови цветове. |
| Канали и структура | Стерео и многоканални аудиопотоци. |
| Максимални размери | Без фиксирано ограничение; разширението OpenDML AVI поддържа 4K и потоци с размер няколко гигабайта. |
| Прозрачност | Поддържа се чрез некомпресирани видеопотоци RGBA. |
| Поточно предаване и прогресивно зареждане | Индексният блок е в края на файла; форматът не е подходящ за прогресивно предаване в уеб. |
Техническа сравнителна матрица: AVI спрямо конкуренти
| Технически атрибут | AVI (Текущ) | MP4 | MKV | MOV |
|---|---|---|---|---|
| Пригодност за стрийминг | Лоша; за превъртане е необходимо да се изтегли целият файл | Отлична (FastStart / HLS / DASH) | Добра (сегментиран EBML) | Отлична (FastStart) |
| HTML5 уеб възпроизвеждане | Не се поддържа по подразбиране от съвременните браузъри | Поддържа се от много актуални браузъри; наличността зависи от версията и платформата. | Частична поддръжка (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 файловете съдържат сложни йерархии от блокове и поддържат безброй малко познати стари видеокодеци, което прави декодерите, работещи извън изолирана среда, уязвими към атаки срещу парсерите.
Известни вектори на атака
- Препълване на буфера в динамичната памет (heap buffer overflow) при анализиране на блока 'strh' (заглавка на потока) в стари медийни плейъри за Windows.
- Цялостно препълване (integer overflow) по време на заделяне на индексен масив за умишлено създадени злонамерени заглавни части с голям брой кадри.
- Четене извън границите на масива (out-of-bounds read) при декомпресия на Motion JPEG в стари DirectShow филтри.
Най-добри практики за защита: Преди обработка прекодирайте ненадеждните AVI файлове в съвременни MP4 контейнери в изолирана среда (sandbox).
Исторически произход и етапи
Основни предимства
- Изключително широка съвместимост със стари настолни системи, софтуер за мултимедия под Windows и видеоредактори.
- Поддържа некомпресирани сурови кадри за архивно сканиране на филми и научен видеоанализ.
- Проста архитектура за редуване на потоци с малко допълнително натоварване от контейнера.
Технически ограничения и минуси
- Липсва вградена поддръжка на съвременни функции на видео контейнерите, като променлива кадрова честота (VFR) и глави.
- Слабо подходящ за уеб стрийминг, тъй като главният индексен блок ('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.app Video Converter възстановява възможността за свободно придвижване по времевата скала.
Каква е разликата между AVI и MP4?
AVI е стар контейнер от 1992 г., предназначен за локално възпроизвеждане на настолен компютър. MP4 е съвременен стандарт от 2001 г., който поддържа уеб стрийминг, глави, променлива кадрова честота, субтитри и по-добра компресия.