Flash Video

Эта статья находится на начальном уровне проработки, в одной из её версий выборочно используется текст из источника, распространяемого под свободной лицензией
Материал из энциклопедии Руниверсалис
Flash Video
FlashVideo.png
Разработчик Adobe Systems (разработано Macromedia)
Тип формата медиаконтейнер

Flash Video — формат файлов, медиаконтейнер, используемый для передачи видео через Интернет. Использовался такими сервисами видеохостинга, как YouTube, Google Video, Вконтакте, RuTube и другими[1]. Хотя описание формата контейнера было открыто, кодеки защищены патентами и остаются собственническими[2].

Видеоформат

Изначально FLV-файл — это битовый поток, который является вариантом видеостандарта H.263 под названием Sorenson Spark[2]. Был введен в Flash с версии 6[3].

Flash Player 8 и более новые редакции поддерживают потоковое видео On2 TrueMotion VP6.[2] On2 VP6 обеспечивает более качественное изображение, особенно при использовании низкого битрейта. С другой стороны, этот формат более сложен, что может создать трудности при просмотре на устаревших машинах. Опциональный альфа-канал, представляющий собой попиксельную прозрачность, поддерживается с помощью дополнительного видеопотока, который кодирует только альфа-канал. Реализация предполагает, что YUV-данные основного On2 VP6 видеопотока всегда конвертируются клиентом в RGB. Эта возможность доступна только для видео On2 VP6.

Начиная с Flash Player 9 Update 3 поддерживается новый формат мультимедиа-файла ISO Base MPEG-4 Part 12, с новым видеокодеком — H.264[2]. Этот стандарт видеосжатия при том же низком битрейте выдаёт значительно более детализированное и «ясное» изображение, особенно в динамических сценах. Недостатками являются, опять-таки, повышение требований к вычислительным ресурсам и платные патенты.

F4V-файлы предоставляют лучшее качество изображения по сравнению с FLV, однако требуют более новой версии Flash (9.0.115 и выше) и наличия более быстрого процессора. Помимо этого, F4V-файлы не поддерживают альфа-каналы[4]. Формат-контейнер, при создании которого использовали формат ISO Media File Format, изначально в своей работе использовал формат Quick Time Container Format от компании Apple. В отличие от старого формата FLV, формат F4V полностью совместим с форматами H.264 и AAC, что позволяет воспользоваться также и другими форматами-контейнерами.[5].

Аудиоформат

Звук в FLV, как правило, закодирован в MP3[2], однако иногда могут использоваться Nellymoser codec, несжатое аудио или ADPCM-аудиоформат. В версии Flash Player 9 Update 3, в соответствии с внедрением Adobe формата ISO Base (MPEG-4 Part 12), добавлена поддержка AAC-аудио[2] (профили AAC-LC, Main Profile, и HE-AAC). В версии Flash Player 10 Beta добавлен открытый кодек SPEEX.

Проигрыватели FLV

Формат FLV предназначен для потокового видео, однако существует возможность использовать его для локального хранения и воспроизведения видео. FLV используется в Adobe Flash Player, который распространяется в качестве плагина для различных браузеров и различных операционных систем. Также формат поддерживается многими мультимедиа проигрывателями, например mplayer или Light Alloy.

Популярные проигрыватели, поддерживающие FLV:

Так как FLV — это медиаконтейнер, а не формат, некоторые проигрыватели могут некорректно воспроизводить видео или звуковой поток при отсутствии кодеков, использованных при создании файла.

Конвертеры из FLV

Формат файла

Заголовок

FLV-файлы начинаются со стандартного заголовка, который показан ниже:[6]

Поле Тип данных По умолчанию Детали
Signature byte[3] «FLV» Всегда «FLV», признак формата
Version uint8 1 Только 0x01 если действительно
Flags uint8 bitmask 0x05 Битовая маска: 0x04 — аудио, 0x01 — видео (0x05 — аудио+видео)
Header Size uint32_be 9 Используется для пропуска новых расширенных заголовков в будущем

Пакеты

После заголовка файл делится на пакеты под названием «теги FLV», которые имеют 15-байтные заголовки. Первые четыре байта обозначают размер предыдущего пакета/тега (включая заголовок) и помогают при поиске назад.

Поле Тип данных По умолчанию Детали
Size of previous packet uint32_be 0 Для первого пакета установлено в NULL
Packet Type uint8 18 Для первого пакета установлено в метаданные AMF
Payload Size uint24_be Варьируется Размер только пакета данных
Timestamp Lower uint24_be 0 Для первого пакета установлено в NULL
Timestamp Upper uint8 0 Расширение для получения значения uint32_be
Stream ID uint24_be 0 Для первого потока одного и того же типа установлено в NULL
Payload Data freeform Варьируются Данные, которые определены в Packet Type

См. также

Примечания

  1. Who Still Uses Flash Video? Just About Everybody — Streaming Media Magazine. Дата обращения: 17 июля 2013. Архивировано 20 марта 2013 года.
  2. 2,0 2,1 2,2 2,3 2,4 2,5 http://www.boutell.com/innards/audio_and_video_in_html.html Архивная копия от 15 ноября 2013 на Wayback Machine 2007: «Flash Video Formats .. Flash has historically supported two proprietary video formats known as Sorenson Spark (a variant of H.263) and On2 TrueMotion VP6. … updates of Flash player also support H.264 video, .. patent licensing fees are still involved. … Flash Audio Formats … MP3 audio was the only useful compressed audio format supported by Flash. .. it potentially involves patent licensing fees… latest versions of Flash also support AAC, … AAC is also patented»
  3. Flash Video / Professional Web 2.0 Programming Архивная копия от 1 декабря 2017 на Wayback Machine, 2007 ISBN 9780470121054, page 452
  4. ActionScript 3.0 for Adobe Flash CS4 Professional Classroom in a Book - Adobe Creative Team - Google Книги. books.google.com.ua. Дата обращения: 8 января 2018. Архивировано 8 января 2018 года.
  5. Расширение файлов F4V. online convert. online-convert.com. Дата обращения: 11 ноября 2017. Архивировано 11 ноября 2017 года.
  6. Open Source Flash (2011) Flash Video (FLV) [online] Available from (link already dead): http://osflash.org/flv#flv_format Архивная копия от 23 марта 2017 на Wayback Machine

Ссылки