Видео Flash (.flv)
Adobe СтандартFlash Video (FLV) е контейнерен формат, разработен от Macromedia и Adobe за доставяне на синхронизирани видео и аудио данни в мрежата чрез плъгина за браузър Adobe Flash Player.
Инспектиране и метаданни
Операционните системи и файловите анализатори идентифицират FLV файлове чрез проверка на началната двоична байтова последователност:
Байтов подпис на хедъра (Magic Bytes)
Операционните системи и файловите анализатори идентифицират FLV файлове чрез проверка на началната двоична байтова последователност:
HEX ПОДПИС (ОФСЕТ 0):
46 4C 56 01ASCII ПРЕДСТАВЯНЕ: FLV
Стандартизация: Adobe Systems Flash Video File Format Specification
Технически спецификации
| Контейнерна архитектура | Tag-based streaming container with interleaved audio, video, and script data tags |
| Компресия | Sorenson Spark, VP6, or H.264 video with MP3 or AAC audio |
| Поредност на байтовете (Endianness) | Big-Endian bit and byte ordering |
| Цветови пространства | YUV 4:2:0 |
| Канали и структура | Mono and Stereo audio with video stream |
| Максимални размери | Commonly up to 1080p |
| Прозрачност | Alpha channel transparency supported in VP6 video streams |
| Стрийминг и прогресивно зареждане | Native support for RTMP (Real-Time Messaging Protocol) live streaming |
Техническа сравнителна матрица: FLV спрямо конкуренти
| Технически атрибут | FLV (Текущ) | MP4 | WEBM | MKV |
|---|---|---|---|---|
| Поддръжка от браузъри днес | 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.
Анализ на сигурността и вектори на атака към парсера
Плъгинът Flash Player беше исторически един от най-експлоатираните софтуерни компоненти в компютърната история поради грешки при повреда на паметта в ActionScript и FLV анализа.
Известни вектори на атака
- Използване след освобождаване (use-after-free) и препълване на динамичната памет в механизма за анализ на ActionScript 3 FLV (напр. CVE-2015-5122).
- Създадени AMF0/AMF3 метаданни пакети, задействащи произволно изпълнение на паметта.
- Препълване на буфера в стари рутинни процедури за декомпресия на Sorenson Spark.
Защитни добри практики:
Исторически произход и етапи
Основни предимства и плюсове
- Исторически пионер на повсеместното онлайн видео: даде възможност за възпроизвеждане на уеб видео без отделни настолни плеъри.
- Поддържаше алфа прозрачност във видеопотоците чрез използване на кодека On2 VP6.
- Нисък пакетен овърхед, оптимизиран за RTMP стрийминг на живо с ниска латентност.
Технически ограничения и минуси
- Напълно остарял и неподдържан в нито един съвременен уеб браузър след преустановяването на Flash Player.
- Изисква прекодиране или смяна на контейнера в MP4 за възпроизвеждане на iOS, Android и смарт телевизори.
- Липсват модерни функции на контейнерите като многопистово аудио и адаптивен стрийминг с променлив битрейт.
Интересни технически факти
- Първото видео, качено някога в YouTube ('Me at the zoo' през април 2005 г.), беше кодирано и доставено като FLV файл.
- Магическата байтова последователност на Flash Video '46 4C 56 01' изписва в ASCII 'FLV', последвано от версия 1 на контейнера.
- Стив Джобс публикува известното си отворено писмо 'Мисли за Flash' през 2010 г., което ускори прехода на индустрията от FLV към HTML5 MP4.
Често задавани технически въпроси
Защо вече не мога да възпроизвеждам FLV файлове на моя компютър?
Adobe и всички основни уеб браузъри официално спряха поддръжката на Flash Player през декември 2020 г. поради уязвимости в сигурността. За да възпроизвеждате FLV файлове днес, използвайте VLC media player или ги конвертирайте в MP4.
Мога ли да конвертирам FLV в MP4 без загуба на качество?
Ако FLV файлът съдържа H.264 видео и AAC аудио, File2File може да извърши ремуксиране на контейнера без загуби в MP4 за секунди без повторно компресиране на видеото.
Какъв кодек са използвали първоначално FLAC видеата?
Ранните FLV файлове са използвали Sorenson Spark (вариант на H.263) и по-късно On2 VP6, преди Adobe да добави поддръжка за стандартния H.264 през 2007 г.