Видео AVI (.avi)
Спецификация СтандартAudio Video Interleave (AVI) - это знаковый мультимедийный контейнер, представленный Microsoft в 1992 году, который чередует аудио- и видеопотоки для синхронизированного воспроизведения.
Анализ и метаданные
Операционные системы и анализаторы файлов идентифицируют файлы AVI по начальной двоичной последовательности байтов:
Сигнатура заголовка на уровне байтов (Magic Bytes)
Операционные системы и анализаторы файлов идентифицируют файлы AVI по начальной двоичной последовательности байтов:
HEX-СИГНАТУРА (СМЕЩЕНИЕ 0):
52 49 46 46 00 00 00 00 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 в изолированной среде.
Исторические истоки и вехи
Ключевые преимущества и плюсы
- Чрезвычайно широкая поддержка на устаревших ПК в медиапрограммах и видеоредакторах.
- Поддержка несжатых «сырых» кадров для архивного сканирования кинопленки и научного видеоанализа.
- Простая архитектура чередования потоков с низкими накладными расходами контейнера.
Технические ограничения и минусы
- Отсутствует встроенная поддержка современных функций видеоконтейнеров, таких как переменная частота кадров (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 возвращает полноценную перемотку.
В чем разница между AVI и MP4?
AVI - это устаревший контейнер 1992 года, разработанный для локального воспроизведения на ПК. MP4 - это современный стандарт 2001 года, поддерживающий веб-трансляции, главы, переменную частоту кадров, субтитры и превосходное сжатие.