Видео Flash (.flv)
Спецификация СтандартFlash Video (FLV) - это формат контейнера, разработанный Macromedia и Adobe для доставки синхронизированного видео и аудио через интернет с помощью плагина браузера Adobe Flash Player.
Анализ и метаданные
Операционные системы и анализаторы файлов идентифицируют файлы FLV по начальной двоичной последовательности байтов:
Сигнатура заголовка на уровне байтов (Magic Bytes)
Операционные системы и анализаторы файлов идентифицируют файлы FLV по начальной двоичной последовательности байтов:
HEX-СИГНАТУРА (СМЕЩЕНИЕ 0):
46 4C 56 01ПРЕДСТАВЛЕНИЕ ASCII: FLV
Стандартизация: Спецификация формата файла Flash Video от Adobe Systems
Технические спецификации
| Архитектура контейнера | Потоковый контейнер на основе тегов с чередующимися тегами аудио-, видео- и скриптовых данных |
| Сжатие | Сжатие видео Sorenson Spark, VP6 или H.264 с аудио MP3 или AAC |
| Порядок байтов (Endianness) | Прямой порядок битов и байтов (Big-Endian) |
| Цветовые пространства | YUV 4:2:0 |
| Каналы и структура | Моно- и стереоаудио с видеопотоком |
| Макс. габариты | Обычно до 1080p |
| Прозрачность | Поддержка прозрачности альфа-канала в видеопотоках VP6 |
| Потоковая передача и прогрессивная загрузка | Встроенная поддержка прямой трансляции по протоколу RTMP (Real-Time Messaging Protocol) |
Техническая матрица сравнения: FLV против конкурентов
| Технический атрибут | FLV (Текущий) | MP4 | WEBM | MKV |
|---|---|---|---|---|
| Поддержка в браузере сегодня | 0% (полностью удалено из всех современных браузеров) | 100% универсальная во всех браузерах | 100% поддержка в современных браузерах | Требует настольного медиаплеера |
| Стандартизация | Проприетарная спецификация Adobe | Международный открытый стандарт ISO/IEC | Открытый стандарт W3C / WebM | Открытый стандарт Matroska |
| Воспроизведение на мобильных устройствах | Не поддерживается нативно на iOS и современном Android | Аппаратная поддержка на уровне ОС | Аппаратная поддержка на уровне ОС | Поддерживается через VLC / сторонние приложения |
| Альфа-прозрачность | Поддерживается с помощью кодека On2 VP6 | Ограниченная (требует canvas или WebCodecs) | Встроенная поддержка альфа-канала (VP9) | Поддерживается в потоках VP9/ProRes |
Типичные режимы повреждения и руководство по восстановлению в HEX
Загруженное видео FLV показывает общую длительность как «неизвестно» и не поддается перемотке.
Первопричина: Отсутствие тега скрипта 'onMetaData', содержащего таблицы временных меток ключевых кадров и размеров файлов.
Восстановление: Внедрите недостающие таблицы ключевых кадров с помощью 'yamdi' (Yet Another MetaData Injector) или конвертируйте в MP4 с помощью File2File.
Анализ безопасности и векторы атак на парсер
Плагин Flash Player исторически был одним из наиболее часто атакуемых программных компонентов из-за ошибок повреждения памяти в ActionScript и синтаксическом анализе FLV.
Известные векторы атак
- Использование после освобождения и переполнение кучи в механизме синтаксического анализа ActionScript 3 FLV (например, CVE-2015-5122).
- Специально сформированные пакеты метаданных AMF0/AMF3, вызывающие произвольное выполнение кода в памяти.
- Переполнение буфера в устаревших процедурах декомпрессии Sorenson Spark.
Защитные лучшие практики: Никогда не запускайте встроенные плагины Flash Player. Перекодируйте архивные файлы FLV напрямую в MP4 с помощью изолированного FFmpeg.
Исторические истоки и вехи
Ключевые преимущества и плюсы
- Исторический пионер повсеместного онлайн-видео: обеспечил воспроизведение веб-видео без автономных настольных проигрывателей.
- Поддерживал альфа-прозрачность в видеопотоках с помощью кодека On2 VP6.
- Низкие накладные расходы на пакеты, оптимизированные для видеотрансляций RTMP в реальном времени с малой задержкой.
Технические ограничения и минусы
- Полностью устарел и не поддерживается во всех современных веб-браузерах после отказа от Flash Player.
- Требует перекодирования или смены контейнера на MP4 для воспроизведения на iOS, Android и смарт-телевизорах.
- Отсутствуют современные функции контейнеров, такие как многодорожечный звук и адаптивная потоковая передача с переменным битрейтом.
Интересные технические факты
- Первое видео, когда-либо загруженное на YouTube («Я в зоопарке» в апреле 2005 года), было закодировано и передано в виде файла FLV.
- Последовательность магических байтов Flash Video '46 4C 56 01' образует ASCII-слово 'FLV', за которым следует версия контейнера 1.
- Стив Джобс опубликовал свое знаменитое открытое письмо «Мысли о Flash» в 2010 году, что ускорил переход индустрии с FLV на HTML5 MP4.
Часто задаваемые технические вопросы
Почему я больше не могу воспроизводить файлы FLV на своем компьютере?
Adobe и все основные веб-браузеры официально прекратили поддержку Flash Player в декабре 2020 года из-за уязвимостей безопасности. Чтобы воспроизвести файлы FLV сегодня, используйте медиаплеер VLC или конвертируйте их в MP4.
Могу ли я конвертировать FLV в MP4 без потери качества?
Если файл FLV содержит видео H.264 и аудио AAC, File2File может выполнить ремуксинг контейнера в MP4 за секунды без повторного сжатия видео.
Какой кодек изначально использовался в видео FLAC (FLV)?
Ранние файлы FLV использовали Sorenson Spark (вариант H.263), а затем On2 VP6, прежде чем Adobe добавила поддержку стандартного H.264 в 2007 году.