Відео AVI (.avi)
Специфікація СтандартAudio Video Interleave (AVI): це знаковий мультимедійний контейнер, представлений Microsoft у 1992 році, який чергує аудіо- та відеопотоки для синхронізованого відтворення.
Аналіз та метадані
Операційні системи та аналізатори файлів ідентифікують файли AVI, перевіряючи початкову послідовність бінарних байтів:
Сигнатура заголовка на байтовому рівні (Magic Bytes)
Операційні системи та аналізатори файлів ідентифікують файли AVI, перевіряючи початкову послідовність бінарних байтів:
ШІСТНАДЦЯТКОВА СИГНАТУРА (ЗСУВ 0):
52 49 46 46 ?? ?? ?? ?? 41 56 49 20ПОДАННЯ В ASCII: RIFF????AVI
Стандартизація: Специфікація Microsoft RIFF / Розширення OpenDML
Технічні характеристики
| Архітектура контейнера | Контейнер чергованих блоків Resource Interchange File Format (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 | Сучасні браузери не підтримують формат без додаткових засобів | 100% універсальна у всіх браузерах | Часткова (Edge / Chrome) | Підтримується на пристроях Safari / Apple |
| Вбудовування субтитрів | Залежить від нестандартних рішень (потребує зовнішніх файлів .srt) | Вбудований текст із часовими мітками (tx3g / VTT) | Повна вбудована підтримка ASS/SSA/SRT | Субтитри Apple QuickTime із вбудованою підтримкою |
| Змінна частота кадрів | Суворо постійна частота кадрів (CFR) | Вбудована підтримка VFR | Вбудована підтримка VFR | Вбудована підтримка VFR |
Типові режими пошкодження та посібник з відновлення в шістнадцятковому форматі
Медіаплеєр може відтворювати відео, але не може перемотувати вперед чи назад, або видає помилку 'Пошкоджений індекс'.
Першопричина: Кінцевий індексний блок 'idx1' було обрізано або видалено під час перерваного завантаження.
Відновлення: Відновіть індекс за допомогою DivFix++, VLC ('Створити індекс і відтворити') або 'ffmpeg -i broken.avi -c copy fixed.avi'.
Аналіз безпеки та векторів атак на парсери
Файли AVI містять складні ієрархії блоків і підтримують безліч малопоширених застарілих відеокодеків, тому декодери без ізольованого середовища вразливі до атак на засоби розбору.
Відомі вектори атак
- Переповнення буфера динамічної пам'яті під час розбору блока 'strh' (заголовка потоку) у застарілих медіапрогравачах Windows.
- Переповнення цілого числа під час виділення масиву індексів для спеціально сформованих заголовків із великою кількістю кадрів.
- Зчитування за межами буфера під час розпакування Motion JPEG у застарілих фільтрах DirectShow.
Рекомендації щодо захисту: Перекодовуйте неперевірені файли AVI в сучасні захищені контейнери MP4 перед обробкою.
Історичне походження та віхи
Основні переваги
- Дуже широка підтримка на застарілих настільних системах у медіапрограмах Windows та відеоредакторах.
- Підтримує нестиснуті сирі кадри для сканування архівних фільмів та наукового відеоаналізу.
- Проста архітектура чергування потоків з низькими накладними витратами контейнера.
Технічні обмеження та недоліки
- Бракує вбудованої підтримки сучасних функцій відеоконтейнерів, таких як змінна частота кадрів (VFR) та розділи.
- Погано підходить для вебстрімінгу, оскільки головний індексний блок ('idx1') зберігається в кінці файлу.
- Немає вбудованої підтримки відео в браузерах HTML5 без перекодування в MP4 або WebM.
Цікаві технічні факти
- На початку 2000-х років файли DivX та Xvid AVI були основним форматом, що використовувався піринговими мережами обміну файлами.
- Розмір файлу за оригінальною специфікацією AVI 1992 року не міг перевищувати 2 ГБ через 32-бітні покажчики зміщення.
- Блок 'idx1' у кінці файлу AVI перераховує байтове зміщення кожного окремого кадру для пошуку.
Поширені технічні запитання
Чому я не можу відтворювати відео у форматі AVI безпосередньо у вебпереглядачах?
Сучасні браузери використовують MP4 (H.264/AV1) та WebM (VP9/AV1) як стандарти, оскільки формати цих контейнерів оптимізовані для передавання під час завантаження. AVI не має вбудованих функцій потокового передавання через веб і не підтримується в HTML5 <video>.
Як виправити файл AVI, у якому не працює перемотування або перехід до потрібного місця?
Файли AVI покладаються на індексну таблицю в кінці файлу. Якщо вона неповна, програвачі не можуть перемотувати відео. Перекодування або переіндексація файлу за допомогою відеоконвертера File2File.app відновлює повне перемотування шкали часу.
У чому різниця між AVI та MP4?
AVI: це застарілий контейнер 1992 року, розроблений для локального відтворення на комп’ютері. MP4: це сучасний стандарт 2001 року, що підтримує вебстримінг, розділи, змінну частоту кадрів, субтитри та ефективніше стиснення.