Відео AVI (.avi)
Специфікація СтандартAudio Video Interleave (AVI) - це знаковий мультимедійний контейнер, представлений Microsoft у 1992 році, який чергує аудіо- та відеопотоки для синхронізованого відтворення.
Аналіз та метадані
Операційні системи та аналізатори файлів ідентифікують файли AVI, перевіряючи початкову послідовність бінарних байтів:
Сигнатура заголовка на байтовому рівні (Magic Bytes)
Операційні системи та аналізатори файлів ідентифікують файли AVI, перевіряючи початкову послідовність бінарних байтів:
ШІСТНАДЦЯТКОВА СИГНАТУРА (ЗСУВ 0):
52 49 46 46 00 00 00 00 41 56 49 20ASCII-УЯВЛЕННЯ: RIFF....AVI
Стандартизація: Специфікація Microsoft RIFF / Розширення OpenDML
Технічні характеристики
| Архітектура контейнера | Контейнер чередованих блоків Resource Interchange File Format (RIFF) |
| Стиснення | Чередовані потоки з підтримкою DivX, Xvid, Motion JPEG, без стиснення та аудіо MP3 |
| Порядок байтів (Endianness) | Від молодшого до старшого байта (порядок байтів 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 відновлює повне перемотування шкали часу.
У чому різниця між AVI та MP4?
AVI - це застарілий контейнер 1992 року, розроблений для локального відтворення на робочому столі. MP4 - це сучасний стандарт 2001 року, що підтримує вебстрімінг, розділи, змінну частоту кадрів, субтитри та вище стиснення.