Формат Audio Video Interleave (AVI) (.avi)
Спецификация СтандартAudio Video Interleave (AVI): это знаковый мультимедийный контейнер, представленный Microsoft в 1992 году, который чередует аудио- и видеопотоки для синхронизированного воспроизведения.
Анализ и метаданные
Операционные системы и анализаторы файлов идентифицируют файлы AVI по начальной двоичной последовательности байтов:
Сигнатура заголовка на уровне байтов (Magic Bytes)
Операционные системы и анализаторы файлов идентифицируют файлы AVI по начальной двоичной последовательности байтов:
HEX-СИГНАТУРА (СМЕЩЕНИЕ 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) | Обратный порядок байтов (порядок байтов 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 |
Распространенные сценарии повреждения и руководство по восстановлению в HEX
Медиаплеер может воспроизводить видео, но не может перематывать его или сообщает об ошибке «Поврежденный индекс».
Первопричина: Завершающий индексный блок 'idx1' был обрезан или удален во время прерванной загрузки.
Восстановление: Восстановите индекс с помощью DivFix++, VLC («Создать индекс, затем воспроизвести») или команды 'ffmpeg -i broken.avi -c copy fixed.avi'.
Анализ безопасности и векторы атак на парсер
Файлы AVI содержат сложные иерархии блоков и поддерживают множество малоизвестных устаревших видеокодеков, поэтому декодеры без изолированной среды уязвимы для атак через ошибки разбора.
Известные векторы атак
- Переполнение буфера кучи при разборе блока заголовка потока 'strh' в устаревших медиаплеерах Windows.
- Переполнение целых чисел при выделении памяти под индексный массив для специально созданных заголовков с большим количеством кадров.
- Чтение за пределами буфера при декомпрессии Motion JPEG в устаревших фильтрах DirectShow.
Лучшие практики защиты: Перед обработкой перекодируйте ненадежные файлы AVI в современные контейнеры MP4 в изолированной среде.
История происхождения и ключевые этапы
Ключевые преимущества и плюсы
- Очень широкая поддержка AVI в устаревшем медиапрограммном обеспечении Windows и видеоредакторах.
- Поддержка несжатых «сырых» кадров для архивного сканирования кинопленки и научного видеоанализа.
- Простая архитектура чередования потоков с низкими накладными расходами контейнера.
Технические ограничения и минусы
- Отсутствует встроенная поддержка современных функций видеоконтейнеров, таких как переменная частота кадров (VFR) и главы.
- Плохо подходит для веб-трансляции, поскольку основной индексный блок («idx1») хранится в конце файла.
- Нет встроенной поддержки HTML5-видео в браузерах без перекодирования в MP4 или WebM.
Интересные технические факты
- В начале 2000-х годов файлы AVI с кодеками DivX и Xvid были основным форматом в пиринговых сетях обмена файлами.
- Файлы 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 года с поддержкой потокового воспроизведения в интернете, глав, переменной частоты кадров, субтитров и более эффективного сжатия.