Відео Flash (.flv)

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

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

Аналіз та метадані

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

Виберіть або перетягніть файли сюди

Приватно - файли ніколи не залишають ваш пристрій

або вставте Ctrl+V
Гарантія конфіденційності без передавання даних мережею: Жодного байта не передано на зовнішні сервери. Уся обробка відбувалася локально в ізольованому середовищі браузера.

Сигнатура заголовка на байтовому рівні (Magic Bytes)

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

ШІСТНАДЦЯТКОВА СИГНАТУРА (ЗСУВ 0):

46 4C 56 01

ПОДАННЯ В ASCII: FLV

Стандартизація: Специфікація формату файлу Adobe Systems Flash Video

Технічні характеристики

Архітектура контейнераПотоковий контейнер на основі тегів з чергованими тегами аудіо, відео та даних сценарію
СтисненняВідео 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

Типові режими пошкодження та посібник з відновлення в шістнадцятковому форматі

Для завантаженого FLV невідома загальна тривалість, і перейти до потрібного місця неможливо.

Першопричина: Відсутність тегу сценарію 'onMetaData', що містить таблиці міток часу опорних кадрів та розміру файлу.

Відновлення: Додайте відсутні таблиці ключових кадрів за допомогою 'yamdi' (Yet Another MetaData Injector) або перетворіть файл на MP4 за допомогою File2File.app.

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

Через помилки пошкодження пам'яті в ActionScript і засобах розбору FLV плагін Flash Player історично був одним із найчастіше атакованих програмних компонентів.

Відомі вектори атак

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

Рекомендації щодо захисту: Не запускайте плагін Flash Player. Перекодовуйте архівні файли FLV безпосередньо у формат MP4 за допомогою FFmpeg в ізольованому середовищі.

Історичне походження та віхи

2020Adobe офіційно припинила підтримку Flash Player 31 грудня 2020 року, завершивши активне використання FLV.
2005YouTube запускає свою платформу, використовуючи 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 році.