Flash Video — это формат файла-контейнера, используемый для доставки цифрового видеоконтента (например, телешоу , фильмов и т. д.) через Интернет с помощью Adobe Flash Player версии 6 и более поздних версий. Содержимое Flash Video также может быть встроено в файлы SWF . Существует два различных формата файлов Flash Video: FLV и F4V . Аудио- и видеоданные в файлах FLV кодируются так же, как и в файлах SWF. Формат файла F4V основан на базовом формате медиафайлов ISO , начиная с Flash Player 9 update 3. [1] [2] Оба формата поддерживаются в Adobe Flash Player и разработаны Adobe Systems. FLV изначально был разработан Macromedia . В начале 2000-х Flash Video был фактическим стандартом для потокового видео через Интернет (по протоколу RTMP ). Среди пользователей — Hulu , VEVO , Yahoo! Video , metacafe , Reuters.com и многие другие поставщики новостей.
Файлы Flash Video FLV обычно содержат материал, закодированный с помощью кодеков , следующих за форматами сжатия видео Sorenson Spark или VP6 . По состоянию на 2010 год публичные выпуски Flash Player (совместная работа Adobe Systems и MainConcept ) также поддерживают видео H.264 и аудио HE-AAC . [3] Все эти форматы сжатия ограничены патентами. Flash Video можно просматривать в большинстве операционных систем через Adobe Flash Player и плагин веб-браузера или одну из нескольких сторонних программ. Устройства iOS от Apple , как и почти все другие мобильные устройства, не поддерживают плагин Flash Player и поэтому требуют других методов доставки, таких как предоставляемые Adobe Flash Media Server . [4][обновлять]
В выпуске Flash Player 6 2002 года была добавлена поддержка видео в формате SWF. В выпуске Flash Player 7 2003 года была добавлена прямая поддержка формата файла FLV. Из-за ограничений в формате файла FLV компания Adobe Systems в 2007 году создала новые форматы файлов на основе базового формата медиафайлов ISO (MPEG-4 Часть 12). Таким образом, формат F4V имеет общую основу с форматом MP4 , поэтому F4V иногда неофициально называют «Flash MP4». Flash Player не проверяет расширение имени файла, а вместо этого проверяет файл, чтобы определить формат созданного объекта. [5] [6]
Новые форматы файлов сильно отличаются от старого формата файлов FLV. Например, F4V не поддерживает форматы сжатия видео Screen, Sorenson Spark, VP6 и ADPCM, а также форматы сжатия аудио Nellymoser. [1] [6] Авторы Flash Player настоятельно рекомендуют использовать новый стандартный формат файлов F4V (базовый формат медиафайлов ISO), поскольку он преодолевает функциональные ограничения со структурой FLV при потоковой передаче H.264 или AAC, что является одной из причин, по которой Adobe Systems отходит от старой структуры файлов FLV. [6] С 2002 года первоначальным форматом является Flash Video, а суффиксом файла является .flv с производным от MIME типом интернет-медиа video/x-flv.
Суффикс файла под брендом Adobe .f4v был расширен с 2007 года для поддержки базового формата медиафайлов ISO с использованием того же производного MIME- типа интернет-медиа video/mp4, что и суффикс файла Apple .m4v и общий суффикс файла .mp4. Суффиксы файла под брендом Adobe существуют для .f4p, который относится к медиафайлам, зашифрованным с помощью их схемы Adobe Access DRM; .f4a и .f4b относятся соответственно к .m4a и .m4b с тем же производным MIME- типом интернет-медиа audio/mp4.
Файлы SWF, опубликованные для Flash Player 6 и более поздних версий, могут обмениваться аудио, видео и данными по соединениям RTMP с Adobe Flash Media Server. Один из способов передачи данных на Flash Media Server — из файлов в формате FLV. Flash Player может воспроизводить файлы SWF, созданные для Flash Player 7 и более поздних версий, напрямую в формате FLV (MIME-тип video/x-flv). Flash Player также может воспроизводить новый формат файлов F4V, начиная с файлов SWF, созданных для Flash Player 9 Update 3. [1]
Обычно файлы Flash Video FLV содержат потоки видеобитов , которые являются фирменным вариантом видеостандарта H.263 [ 10] под названием Sorenson Spark ( FourCC FLV1). [11] [12] Sorenson Spark — это старый кодек для файлов FLV, но он также широко доступен и совместим, поскольку это был первый видеокодек, поддерживаемый Flash Player. [13] Это требуемый формат сжатия видео для Flash Player 6 и 7. [14] [15] Flash Player 8 и более новые версии также поддерживают воспроизведение потоков видеобитов On2 TrueMotion VP6 (FourCC VP6F или FLV4). On2 VP6 — предпочтительный формат сжатия видео для использования с Flash Player 8 и выше. [7] [11] On2 VP6 может обеспечить более высокое визуальное качество, чем Sorenson Spark, особенно при использовании более низких скоростей передачи данных . С другой стороны, он вычислительно более сложен и поэтому не будет работать так же хорошо на некоторых старых конфигурациях системы. [14] [16]
Формат файла Flash Video FLV поддерживает две версии так называемого кодека «screenshare» (видео экрана), который является форматом кодирования, разработанным для скринкастов . Оба эти формата основаны на растровой плитке, могут быть с потерями из -за уменьшения глубины цвета и сжимаются с помощью zlib . Вторая версия воспроизводится только в Flash Player 8 и более поздних версиях. Звук в файлах Flash Video обычно кодируется как MP3. Однако звук в файлах Flash Video FLV, записанный с микрофона пользователя, использует фирменный кодек Nellymoser Asao . [8] (Flash Player 10, выпущенный в 2008 году, также поддерживает кодек с открытым исходным кодом Speex . [17] ) Файлы FLV также поддерживают несжатое аудио или аудио в формате ADPCM . Последние версии Flash Player 9 поддерживают AAC ( HE-AAC / AAC SBR , AAC Main Profile и AAC-LC). Поддержка кодирования файлов Flash Video обеспечивается инструментом кодирования, входящим в состав продуктов Adobe Flash Professional и Creative Suite, инструментами кодирования Flix компании On2 , Sorenson Squeeze , FFmpeg и другими сторонними инструментами.
Поддерживаемые типы медиафайлов в форматах Flash Video и ISO: [1]
Поддерживаемые типы медиа только в формате файла Flash Video: [1]
Поддерживаемые типы носителей только в базовом формате файлов носителей ISO: [1]
FLV-конвертер — это тип программного обеспечения для конвертации видео , которое используется для преобразования видео из разных форматов в FLV. Ниже приведен список популярных бесплатных видеоконвертеров, которые поддерживают конвертацию в FLV.
Эти программы работают под управлением Microsoft Windows . HandBrake, FFmpeg и VLC также работают под управлением Mac OS X и Linux .
Файлы FLV начинаются со стандартного заголовка, который показан ниже: [19]
После заголовка файл разбивается на пакеты, называемые "тегами FLV", которые имеют 15-байтовые заголовки пакетов. Первые четыре байта обозначают размер предыдущего пакета/тега (включая заголовок без первого поля) и помогают в обратном поиске.
Байт типа пакета заголовка пакета/тега основан на байте идентификатора сообщения RTMP, причем единственными допустимыми типами являются значение метаданных AMF 18 (0x12), значение видеополезной нагрузки 9 (0x09) и значение аудиополезной нагрузки 8 (0x08). Третий бит указывает, что полезная нагрузка зашифрована с использованием того же механизма, что и RTMP, однако это используется редко из-за использования зашифрованных транспортов, таких как RTMP. Шифрование пакета FLV обычно наследуется от файла MP4, который хранится на Adobe Flash Media Server .
Далее следуют три байта для размера полезной нагрузки, обозначающие длину данных полезной нагрузки , затем четыре байта для временной метки в миллисекундах (последний байт используется для расширения первых трех байтов), следующие 3 байта для идентификатора потока (увеличивается для нескольких потоков одного типа) и, наконец, следуют фактические данные полезной нагрузки. Существует прямая связь между полями, встречающимися в теге FLV, и полями, встречающимися в пакете RTMP , например, поле типа пакета FLV использует те же числовые значения, что и поле типа фрагмента RTMP (например, 0x08 для аудио и 0x09 для видео). Таким образом, теги FLV преобразуются в пакеты RTMP, когда файл транслируется через Flash Media Server или эквивалентный сервер RTMP.
Первый обнаруженный пакет обычно представляет собой пакет метаданных, содержащий такую информацию, как:
При потоковой передаче с использованием проигрывателя, созданного на Actionscript , значения метаданных, указанные выше, передаются в качестве аргументов функции обратного вызова onMetaData. Аудиопакеты имеют первый байт полезной нагрузки, определяющий детали декодирования, с первыми четырьмя битами для используемого кодирования и последними четырьмя битами для параметров, необходимых для обработки кодирования. Видеопакеты имеют обратный порядок.
Видеокодировки, перечисленные с 0, следующие:
Параметры обработки видео, перечисленные начиная с 1:
Кодировки MPEG-4, такие как H.264, MPEG-4 ASP и AAC, добавляют однобайтовое значение со значением NULL, указывающим, что полезная нагрузка содержит сведения о конфигурации MPEG-4. Кодировки видео MPEG-4 также добавляют три байта для смещения временной метки композиции , что требуется для кодировок, использующих B-кадры.
Аудиокодировки, пронумерованные от 0, следующие:
Аудиокодировки, перечисленные из 10, следующие:
Перечисленные из 14 аудиокодеков — это MPEG layer 3 8 кГц, зависящие от устройства, например MIDI .
Параметры обработки звука с первыми двумя битами для частоты дискретизации, следующий бит указывает на 16-битный размер выборки, а последний бит указывает на 8-битный размер выборки, а последний бит указывает на стереофонические каналы, а затем на монофонические. Частоты дискретизации, перечисленные от 0, составляют 5,5 кГц, 11,025 кГц четверть, 22,05 кГц половина, 44,1 кГц полная.
Зашифрованные пакеты имеют дополнительный заголовок размером 31 или 24 байта перед зашифрованной полезной нагрузкой AES -CBC следующим образом:
FLV-плеер — это тип медиаплеера, который используется для воспроизведения Flash-видео с ПК, а также с веб-сайтов в Интернете. FLV-плеер может использоваться автономно, без необходимости использования инструментов разработки или создания Adobe Flash. Его также можно встроить в веб-сайт с помощью компонента Flash или встраиваемой версии FLV-плеера.
Adobe Flash Player — это проигрыватель мультимедиа и приложений, изначально разработанный Macromedia и приобретенный Adobe Systems . Он воспроизводит файлы SWF , которые могут быть созданы Adobe Flash Professional , Apache Flex или рядом других инструментов Adobe Systems и сторонних производителей. Он поддерживает язык сценариев ActionScript , который может использоваться для отображения Flash Video из файла SWF. Поскольку Flash Player работает как подключаемый модуль браузера , можно встраивать Flash Video в веб-страницы и просматривать видео в веб-браузере. Flash Player поддерживает отображение файлов Flash Video с версии 6 с видеокодеками Sorenson Spark и On VP6 . Недавно была добавлена поддержка видеоконтента H.264 .
Flash Player 9 Update 3, выпущенный 3 декабря 2007 г., [20] также включает поддержку нового формата файла Flash Video F4V и видеостандарта H.264 (также известного как MPEG-4 part 10 или AVC), который еще более требователен к вычислительным ресурсам, но обеспечивает значительно лучшее соотношение качества и битрейта. [1] В частности, Flash Player теперь поддерживает видео, сжатое в H.264 (MPEG-4 part 10), аудио, сжатое с использованием AAC (MPEG-4 part 3), форматы контейнеров мультимедиа F4V, MP4 (MPEG-4 part 14), M4V, M4A, 3GP и MOV , спецификацию 3GPP Timed Text (MPEG-4 part 17), которая является стандартизированным форматом субтитров, и частичную поддержку анализа для атома ilst, который является эквивалентом ID3, используемым iTunes для хранения метаданных . Видео MPEG-4 part 2 (например, созданное с помощью DivX или Xvid) не поддерживается. [5] В интервью BBC News главный программист Flash Джонатан Гей сказал, что компания хотела использовать H.264, когда поддержка видео была изначально добавлена во Flash, но ее остановили сборы за патентную лицензию в размере около 5 миллионов долларов (3,5 миллиона фунтов стерлингов) в год. [21]
Flash Player поддерживает два различных режима воспроизведения видео:
Microsoft Windows, Mac OS X, на базе Unix
Устройства Mac OS могут воспроизводить флэш-видео в QuickTime с помощью дополнительного программного обеспечения (например, компонента Perian с открытым исходным кодом ).
Windows Mobile, на базе Palm OS
Устройства iPhone и Android могут воспроизводить флэш-видео с помощью дополнительного программного обеспечения (например, веб-браузерного приложения Skyfire ). Apple iOS никогда не поддерживала Flash. Версии Android выше 2.1–4.0 поддерживали Flash; Adobe прекратила поддержку Flash Player для Android. [23] 29 июня 2012 года Adobe объявила, что, поскольку они прекращают разработку мобильной версии Flash, они не позволят устанавливать Flash Player из Google Play Store на любые устройства Android, на которых он еще не установлен, и что они не будут выпускать версию Flash, сертифицированную для использования с версией Android 4.1, под кодовым названием Jelly Bean . [24]
Файлы Flash Video могут быть доставлены несколькими способами:
Записывать флеш-видео онлайн можно с помощью потоковых рекордеров и программного обеспечения для захвата видео с экрана . Первое дает результаты без потерь, а второе позволяет записывать любое видео даже при использовании мер по борьбе с утечкой данных .
{{cite journal}}
: Цитировать журнал требует |journal=
( помощь )поддержки более качественного видео при той же скорости передачи данных кодек On2 VP6 заметно медленнее кодирует и требует больше процессорной мощности на клиентском компьютере для декодирования и воспроизведения. По этой причине внимательно рассмотрите наименьший общий знаменатель компьютера, который ваша аудитория будет использовать при доступе к вашему Flash Video контенту. Если вы ожидаете большую базу пользователей, которые используют старые компьютеры, рассмотрите возможность кодирования ваших FLV-файлов с помощью кодека Sorenson Spark.