Flash Video

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск
Flash Video

FLV file Icon from Adobe Systems

Разработчик

Adobe Systems (разработано Macromedia)

Тип формата

медиаконтейнер

Flash Video (FLV) — формат файлов, медиаконтейнер, используемый для передачи видео через Интернет. Используется такими сервисами видеохостинга как 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]. Этот стандарт видеосжатия при том же низком битрейте выдаёт значительно более детализированное и «ясное» изображение, особенно в динамических сценах. Недостатками являются, опять-таки, повышение требований к вычислительным ресурсам и платные патенты.

FourCC[en] Формат видео
FLV1 H.263
FLV4 VP6
FLV5 H.264

Аудиоформат[править | править вики-текст]

Звук в 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-файлы начинаются со стандартного заголовка, который показан ниже:[4]

Поле Тип данных По умолчанию Детали
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
  2. 1 2 3 4 5 6 http://www.boutell.com/innards/audio_and_video_in_html.html 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, 2007 ISBN 9780470121054, page 452
  4. Open Source Flash (2011) Flash Video (FLV) [online] Available from (link already dead): http://osflash.org/flv#flv_format

Ссылки[править | править вики-текст]