Видео AVI (.avi)

Microsoft Стандарт

Audio Video Interleave (AVI) е знаков мултимедиен контейнер, въведен от Microsoft през 1992 г., който редува аудио и видео потоци за синхронизирано възпроизвеждане.

Проверка и метаданни

Операционните системи и файловите анализатори идентифицират AVI файлове чрез проверка на началната двоична байтова последователност:

Изберете или пуснете файлове тук

Поверително - файловете никога не напускат устройството ви

или поставете Ctrl+V
Гаранция за поверителност с нулево мрежово предаване: 0 байта са качени на външни сървъри. Цялата обработка се извършва локално в пясъчниците на вашия браузър.

Байтов подпис на заглавката (сигнатурни байтове)

Операционните системи и файловите анализатори идентифицират AVI файлове чрез проверка на началната двоична байтова последователност:

HEX ПОДПИС (ОФСЕТ 0):

52 49 46 46 ?? ?? ?? ?? 41 56 49 20

ASCII ПРЕДСТАВЯНЕ: 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 (Текущ)MP4MKVMOV
Пригодност за стриймингЛоша; за превъртане е необходимо да се изтегли целият файлОтлична (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).

Исторически произход и етапи

1999DivX компресията превръща AVI в доминиращия формат за споделяне на филми в Интернет.
1996Консорциумът OpenDML пуска AVI 2.0, премахвайки ограничителния лимит на файла от 2 GB.
1992Microsoft представя AVI заедно с Video for Windows като част от Windows 3.1.

Основни предимства

  • Изключително широка съвместимост със стари настолни системи, софтуер за мултимедия под 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 г., който поддържа уеб стрийминг, глави, променлива кадрова честота, субтитри и по-добра компресия.