FLV це Flash Video, формат, який Flash Player від Adobe використовував для показу відео в браузері. Його створила Macromedia, компанія, що розробила Flash, а до Adobe він перейшов, коли Adobe придбала Macromedia у 2005 році. Приблизно десятиліття це був основний спосіб відтворення відео онлайн: кліп, який ви дивилися в браузері в той період, дуже ймовірно був у форматі FLV. Adobe припинила підтримку Flash Player в останній день 2020 року, а браузери його видалили, тож у вебсторінках FLV більше не відтворюється. Однак файли не зникли. Вони досі лежать у папках завантажень та архівах і все ще відтворюються в настільних медіаплеєрах.
Як влаштований файл FLV
FLV має напрочуд просту структуру, оскільки його створювали для потокового передавання, а не зберігання. Короткий заголовок ідентифікує файл і вказує, чи містить він аудіо, відео або і те, й інше. Далі файл складається лише з ланцюжка тегів, кожен з яких є невеликим пакетом із типом, часовою міткою та вмістом. Аудіотеги, відеотеги та скриптові теги йдуть упереміш у часовому порядку, і плеєр просто читає їх послідовно. Центрального індексу немає, тому перемотування у файлі FLV може бути незручним.
Контейнер сам по собі нічого не стискає. У ранніх файлах FLV для відео використовувався Sorenson Spark, у пізніших кодек On2 VP6, а коли Flash Player отримав таку можливість, зʼявилося відео H.264 з аудіо AAC, усі вони з втратами якості. Зрештою Adobe представила F4V як заміну, побудовану на тій самій структурі MP4, яка використовується всюди.
Які метадані містить файл FLV
Метадані FLV майже повністю зберігаються в одному скриптовому тегу близько початку файлу, який зазвичай називається onMetaData. Це список назв і значень, записаних у форматі даних, який Flash використовував для взаємодії зі скриптами, і плеєр читав його перед відтворенням, щоб налаштуватися. Найчастіше там трапляються такі записи:
- тривалість, ширина та висота, а також частота кадрів;
- швидкість передавання відеоданих і аудіоданих та числові ідентифікатори відео- й аудіокодеків;
- частота дискретизації аудіо, розмір вибірки та ознака, чи є звук стерео;
- розмір файлу та прапорець, що вказує, чи можна перемотати файл до кінця;
- список позицій ключових кадрів і їхніх часових міток, завдяки якому перемотування взагалі можливе;
- назва застосунку, який записав або додав метадані, оскільки існували окремі програми, створені виключно для додавання цього блоку до файлів, що його не мали.
У деяких файлах є також другий скриптовий тег із пакетом XMP, структурованим текстовим форматом, який Adobe використовує у своїх продуктах. У ньому можуть зберігатися заголовок, автор, опис і повідомлення про авторські права, введені людиною.
Чого в FLV зовсім немає, так це метаданих камери. Немає блока EXIF, немає виробника чи моделі камери, даних про обʼєктив або експозицію і немає поля GPS. Місцерозташування ніколи не було тим, що файл Flash Video мав фіксувати. Єдині сліди походження це назва застосунку, який записав файл, і вміст XMP-пакета.
Є ще одна поширена особливість, про яку варто знати. Тривалість і розмір файлу записуються лише після того, як відомий весь файл, тому в записах, зроблених із живих трансляцій, їх часто немає або вони дорівнюють нулю. Саме тому деякі плеєри показують FLV без шкали часу й не дозволяють перемотувати вперед: інформацію, потрібну для плеєра, просто ніколи не було заповнено.
Що сьогодні робити з файлом FLV
Сприймайте FLV як архівний формат, а не робочий. У ньому не слід створювати нічого нового, оскільки платформи, для яких він існував, більше немає.
MP4 є повноцінною заміною: він відтворюється в браузерах і на телефонах, коректно перемотується і містить значно більше метаданих. Важливо, як саме ви конвертуєте. FLV, який уже містить відео H.264 та аудіо AAC, зазвичай можна просто ремультиплексувати в MP4, тобто лише перепакувати контейнер, зберігши зображення побітово. Старіший файл із Sorenson Spark або VP6 потрібно перекодувати, а це означає другий цикл стиснення з втратами, тому, якщо кадри для вас важливі, зберігайте оригінал поряд із копією.