Видеоконтейнер Flash (FLV) (.flv)

Спецификация Стандарт

Flash Video (FLV): это формат контейнера, разработанный Macromedia и Adobe для доставки синхронизированного видео и аудио через интернет с помощью плагина браузера Adobe Flash Player.

Анализ и метаданные

Операционные системы и анализаторы файлов идентифицируют файлы FLV по начальной двоичной последовательности байтов:

Выберите или перетащите файлы сюда

Конфиденциально - файлы никогда не покидают ваше устройство

или вставьте Ctrl+V
Гарантия конфиденциальности без передачи по сети: 0 байт загружено на внешние серверы. Вся обработка выполнялась локально в песочнице Вашего браузера.

Сигнатура заголовка на уровне байтов (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 (Текущий)MP4WEBMMKV
Поддержка в браузере сегодня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.app.

Анализ безопасности и векторы атак на парсер

Плагин Flash Player исторически был одним из программных компонентов, чаще всего подвергавшихся атакам, из-за ошибок повреждения памяти в ActionScript и при разборе FLV.

Известные векторы атак

  • Использование после освобождения и переполнение кучи в механизме синтаксического анализа ActionScript 3 FLV (например, CVE-2015-5122).
  • Некорректные пакеты метаданных AMF0/AMF3 могут вызывать повреждение памяти в уязвимых парсерах.
  • Переполнение буфера в устаревших процедурах декомпрессии Sorenson Spark.

Лучшие практики защиты: Никогда не запускайте плагины Flash Player. Перекодируйте архивные файлы FLV напрямую в MP4 с помощью изолированного FFmpeg.

История происхождения и ключевые этапы

2020Adobe официально прекратила поддержку Flash Player 31 декабря 2020 года, положив конец активному использованию FLV.
2005При запуске YouTube FLV использовался как единственный формат доставки видео.
2003Macromedia представляет Flash Video вместе с Flash Player 7.

Ключевые преимущества и плюсы

  • FLV стал первопроходцем массового онлайн-видео: он позволил воспроизводить видео в браузере без отдельного настольного плеера.
  • Поддерживал альфа-прозрачность в видеопотоках с помощью кодека 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 без потери качества?

Совместимые потоки H.264 и AAC можно переместить из FLV в MP4 без повторного кодирования; время зависит от файла и устройства.

Какие кодеки изначально использовались в видео FLV?

Ранние файлы FLV использовали Sorenson Spark (вариант H.263), а затем On2 VP6, прежде чем Adobe добавила поддержку стандартного H.264 в 2007 году.