fbpx
Wikipedia

Flash Video

Flash Video is a container file format used to deliver digital video content (e.g., TV shows, movies, etc.) over the Internet using Adobe Flash Player version 6 and newer. Flash Video content may also be embedded within SWF files. There are two different Flash Video file formats: FLV and F4V. The audio and video data within FLV files are encoded in the same way as SWF files. The F4V file format is based on the ISO base media file format, starting with Flash Player 9 update 3.[1][2] Both formats are supported in Adobe Flash Player and developed by Adobe Systems. FLV was originally developed by Macromedia. In the early 2000s, Flash Video was the de facto standard for web-based streaming video (over RTMP). Users include Hulu, VEVO, Yahoo! Video, metacafe, Reuters.com, and many other news providers.

Flash Video
Filename extension
.flv, .f4v, .f4p, .f4a, .f4b
Internet media type
video/x-flv, video/mp4, audio/mp4
Developed byAdobe Systems (originally developed by Macromedia)
Initial releaseFLV: 10 September 2003; 19 years ago (2003-09-10)
F4V: 3 December 2007; 15 years ago (2007-12-03)
Latest release
10.1.2.01
August 2010; 12 years ago (2010-08)
Type of formatContainer format
Container forAudio, video, text, data
Extended fromFLV: SWF
F4V: MPEG-4 Part 12
Open format?Yes
Free format?No

Flash Video FLV files usually contain material encoded with codecs following the Sorenson Spark or VP6 video compression formats. As of 2010 public releases of Flash Player (collaboration between Adobe Systems and MainConcept) also support H.264 video and HE-AAC audio.[3] All of these compression formats are restricted by patents. Flash Video is viewable on most operating systems via the Adobe Flash Player and web browser plugin or one of several third-party programs. Apple's iOS devices, along with almost all other mobile devices, do not support the Flash Player plugin and so require other delivery methods such as provided by the Adobe Flash Media Server.[4]

History

The 2002 release of Flash Player 6 added support for video in the SWF file format. The 2003 release of Flash Player 7 added direct support for the FLV file format. Because of restrictions in the FLV file format, Adobe Systems created new file formats in 2007, based on the ISO base media file format (MPEG-4 Part 12). In this way, the F4V format shares a common base with the MP4 format, which is why F4V is sometimes informally called "Flash MP4". Flash Player does not check the filename extension but instead examines the file to determine the format of the thing created.[5][6]

The new file formats are very different from the older FLV file format. For example, F4V does not support Screen video, Sorenson Spark, VP6 video compression formats and ADPCM, or Nellymoser audio compression formats.[1][6] Authors of Flash Player strongly encourage use of the new standard file format F4V (ISO base media file format) because it overcomes functional limits with the FLV structure when streaming H.264 or AAC, which is one reason Adobe Systems is moving away from the older FLV file structure.[6] Since 2002, the initial format is Flash Video and the file suffix is .flv with a MIME derived Internet media type of video/x-flv.

The Adobe-branded file suffix .f4v was extended from 2007 to support the ISO base media file format using the same MIME derived Internet media type of video/mp4 as the Apple file suffix of .m4v and the general file suffix of .mp4. Adobe-branded file suffixes exist for .f4p which relates to media encrypted with their Adobe Access DRM scheme; .f4a and .f4b relate respectively to .m4a and .m4b with the same MIME derived Internet media type of audio/mp4.

SWF files published for Flash Player 6 and later versions are able to exchange audio, video, and data over RTMP connections with the Adobe Flash Media Server. One way to feed data to Flash Media Server is from files in the FLV file format. Flash Player can play SWF files created for Flash Player 7 and later versions in FLV format directly (MIME type video/x-flv). Flash Player can also play the new F4V file format, beginning with SWF files created for Flash Player 9 Update 3.[1]

Support for audio and video compression formats in Flash Player and in Flash Video[1][7][8][9]
Flash Player version Released File format Video compression formats Audio compression formats
6 2002 SWF Sorenson Spark, Screen video MP3, ADPCM, Nellymoser
7 2003 SWF, FLV Sorenson Spark, Screen video MP3, ADPCM, Nellymoser
8 2005 SWF, FLV On2 VP6, Sorenson Spark, Screen video, Screen video 2 MP3, ADPCM, Nellymoser
9 2007 SWF, FLV On2 VP6, Sorenson Spark, Screen video, Screen video 2, H.264[*] MP3, ADPCM, Nellymoser, AAC
SWF, F4V, ISO base media file format H.264 AAC, MP3
10 2008 SWF, FLV On2 VP6, Sorenson Spark, Screen video, Screen video 2, H.264[*] MP3, ADPCM, Nellymoser, Speex, AAC
SWF, F4V, ISO base media file format H.264 AAC, MP3

  • Use of the H.264 compression format in the FLV file format has some limitations so authors of Flash Player strongly encourage use of the new standard F4V file format.[6]

Encoding

Commonly, Flash Video FLV files contain video bit streams which are a proprietary variant of the H.263 video standard,[10] under the name of Sorenson Spark (FourCC FLV1).[11][12] Sorenson Spark is an older codec for FLV files but it is also a widely available and compatible one, because it was the first video codec supported in Flash Player.[13] It is the required video compression format for Flash Player 6 and 7.[14][15] Flash Player 8 and newer revisions also support the playback of On2 TrueMotion VP6 video bit streams (FourCC VP6F or FLV4). On2 VP6 is the preferred video compression format for use with Flash Player 8 and higher.[7][11] On2 VP6 can provide a higher visual quality than Sorenson Spark, especially when using lower bit rates. On the other hand, it is computationally more complex and therefore will not run as well on certain older system configurations.[14][16]

The Flash Video FLV file format supports two versions of a so-called 'screenshare' (Screen video) codec which is an encoding format designed for screencasts. Both these formats are bitmap tile based, can be lossy by reducing color depths and are compressed using zlib. The second version is only playable in Flash Player 8 and newer. Audio in Flash Video files is usually encoded as MP3. However, audio in Flash Video FLV files recorded from the user's microphone use the proprietary Nellymoser Asao Codec.[8] (Flash Player 10 released in 2008 also supports the open source Speex codec.[17]) FLV files also support uncompressed audio or ADPCM format audio. Recent versions of Flash Player 9 support AAC (HE-AAC/AAC SBR, AAC Main Profile, and AAC-LC). Support for encoding Flash Video files is provided by an encoding tool included with Adobe's Flash Professional and Creative Suite products, On2's Flix encoding tools, Sorenson Squeeze, FFmpeg and other third-party tools.

Media type support

Supported media types in both the Flash Video and ISO base media file formats:[1]

Supported media types in just the Flash Video file format:[1]

  • General video
    • RGB (supported by same type code SWF uses)
    • run-length (supported by same type code SWF uses)
    • Sorenson's H.263 (native to Flash Video)
    • On2 TrueMotion VP6 with and without alpha channel (added to Flash Video)
  • Animated video are the zlib based Screen 1 and 2 (native to SWF).
  • General audio are PCM and ADPCM (native to SWF).
  • Vocal audio
    • Nellymoser's Asao @ 16 or 8 or 5 kHz (native to SWF)
    • a-law and μ-law (native to SWF)
    • Speex (added to FLV)
  • Timed text requires ActionScript specific commands for loading captioning, which is only supported by external text files in either JSON or W3C XML formats.

Supported media types in just the ISO base media file format:[1]

  • Animated video are QuickTime types for GIF, PNG and JPEG, which replace the Screen 1 and 2 encodings.
  • Timed text requires ActionScript specific commands for loading captions embedded as either EIA-608 or QuickTime mac based styled text with the 3GPP derived version that supports Unicode.

FLV converters

An FLV converter is a type of video conversion software that is used for turning videos from different formats into FLV. Below is a list of popular free video converters which support conversion to FLV.

These programs run under Microsoft Windows. HandBrake, FFmpeg and VLC also run under Mac OS X and Linux.

Flash Video Structure

Header

FLV files start with a standard header which is shown below:[19]

Field Data Type Default Details
Signature byte[3] "FLV" Always "FLV"
Version uint8 1 Only 0x01 is valid
Flags uint8 bitmask 0x05 Bitmask: 0x04 is audio, 0x01 is video (so 0x05 is audio+video)
Header Size uint32_be 9 Used to skip a newer expanded header

Packets

After the header, the file is split into packets called "FLV tags", which have 15-byte packet headers. The first four bytes denote the size of the previous packet/tag (including the header without the first field), and aid in seeking backward.

Field Data Type Default Details
Size of previous packet uint32_be 0 For first packet set to NULL
Packet Type uint8 18 For first packet set to AMF Metadata
Payload Size uint24_be varies Size of packet data only
Timestamp Lower uint24_be 0 For first packet set to NULL
Timestamp Upper uint8 0 Extension to create a uint32_be value
Stream ID uint24_be 0 For first stream of same type set to NULL
Payload Data freeform varies Data as defined by packet type

The Packet Type byte of a packet/tag header is based on the RTMP message ID byte with the AMF metadata value of 18 (0x12), video payload value of 9 (0x09) and audio payload value of 8 (0x08) being the only valid types used. The third bit indicates the payload is encrypted using the same mechanism as RTMP uses, however this is rarely used due to encrypted transports such as RTMP being used instead. The FLV packet encryption is generally inherited from a MP4 file that is stored on an Adobe Flash Media Server.

  • Packet types enumerated as 1 is a RTMP set packet size.
  • Packet types enumerated from 3 are RTMP bytes read report, RTMP ping, RTMP server bandwidth, RTMP client bandwidth.
  • Packet types enumerated from 8 are Audio payload, Video payload.
  • Packet types enumerated from 15 are RTMP flex stream send, RTMP flex shared object, RTMP flex message, AMF metadata, shared object, RTMP invoke.
  • Packet type enumerated as 24 is an encapsulated flash video.
 
FLV Tag Structure

Following that, there are three bytes for the Payload Size denoting length of the Payload Data, then four bytes for the Timestamp in milliseconds (with the last byte used to extend the first three bytes), the next 3 bytes for the Stream ID (incremented for multiple streams of the same type), and finally followed by the actual payload data. There is a direct relation between the fields encountered in an FLV Tag and those found in a RTMP packet, as for example the FLV Packet Type field uses the same numeric values as the RTMP Chunk Type field (ex. 0x08 for audio and 0x09 for video). FLV tags are thus converted into RTMP packets when the file is streamed through a Flash Media Server or equivalent RTMP Server.

The first packet encountered is usually a metadata packet which contains information such as:

  • "duration" - 64-bit IEEE floating point value in seconds
  • "width" and "height" – 64-bit IEEE floating point value in pixels
  • "framerate" – 64-bit IEEE floating point value in frames per second
  • "keyframes" – an array with the positions of p-frames, needed when random access is sought.
  • "|AdditionalHeader" - an array of required stream decoding informational pairs
    • "Encryption" - an array of required encryption informational pairs
    • "Metadata" - Base64 encoded string of a signed X.509 certificate containing the Adobe Access AES decryption key required

When streamed using an Actionscript built player, the metadata values above are passed as arguments on the onMetaData callback function. Audio packets have the first byte of the payload defining the decoding details with the first four bits for the encoding used and the last four bits for the parameters required to process the encoding. Video packets have this order reversed.

Video encodings enumerated from 0 are:

Id Video encoding
0 RGB
1 run-length
2 Sorenson's H.263
3 Screen 1
4 On2 TrueMotion VP6
5 VP6 with alpha
6 Screen 2
7 MP4 H.264
8 ITU H.263
9 MPEG-4 ASP.

Video processing parameters enumerated from 1 are:

Id Video processing parameters
1 key frame
2 non-key frame
3 H.263 disposable frame
4 generated key frame
5 one byte frame seeking instruction

MPEG-4 encodings such as H.264, MPEG-4 ASP and AAC add a one byte value with a NULL value indicating that the payload contains MPEG-4 configuration details. MPEG-4 video encodings also add three bytes for composition timestamp offset which is required for encodings that use B-frames.

Audio encodings enumerated from 0 are:

Id Audio encoding
0 native PCM
1 ADPCM
2 MPEG layer 3
3 PCM - little endian
4 Asao 16 kHz
5 Asao 8 kHz
6 Asao parameter rate
7 a-law
8 μ-law

Audio encodings enumerated from 10 are:

Id Audio encoding
10 MP4 AAC
11 Speex

Audio encodings enumerated from 14 are MPEG layer 3 8 kHz, Device specific such as MIDI.

Audio processing parameters with the first two bits for the sampling rate, next bit flags 16-bit sample size on with off indicating 8-bit sample size, and the final bit flags stereophonic channels on with off indicating monaural only. Sampling rates enumerated from 0 are 5.5 kHz, 11.025 kHz quarter, 22.05 kHz half, 44.1 kHz full.

Encrypted packets have an additional 31 or 24 byte header before the AES-CBC encrypted payload as follows:

Field Data Type Default Details
NumFilters uint8 1 always only 1
FilterName C string "Encryption" if only selected payloads are encrypted then is "SE"
Length uint24_be 16 or 17 initialization vector length
EncryptedAU uint8 bitmask 0x80 or 0x00 only if FilterName is "SE", then 0x80 mean encrypted payload
IV uint128 varies initialization vector for AES decryption
Content freeform varies encrypted payload
Padding freeform 0x10 encryption padding

FLV players

An FLV player is a type of media player that is used for playing Flash video from PC as well as from Internet websites. An FLV player can be used standalone, without the need of the Adobe Flash authoring or developmental tools. It can also be embedded in the website using Flash component or embeddable version of FLV player.

Adobe Flash Player is a multimedia and application player originally developed by Macromedia and acquired by Adobe Systems. It plays SWF files, which can be created by Adobe Flash Professional, Apache Flex, or a number of other Adobe Systems and 3rd party tools. It has support for a scripting language called ActionScript, which can be used to display Flash Video from an SWF file. Because the Flash Player runs as a browser plug-in, it is possible to embed Flash Video in web pages and view the video within a web browser. Flash Player supported display of Flash Video files since version 6, with the Sorenson Spark and On VP6 video codecs. Support was recently added for H.264 video content as well.

H.264

Flash Player 9 Update 3, released on 3 December 2007,[20] also includes support for the new Flash Video file format F4V and H.264 video standard (also known as MPEG-4 part 10, or AVC) which is even more computationally demanding, but offers significantly better quality/bitrate ratio.[1] Specifically, Flash Player now supports video compressed in H.264 (MPEG-4 Part 10), audio compressed using AAC (MPEG-4 Part 3), the F4V, MP4 (MPEG-4 Part 14), M4V, M4A, 3GP and MOV multimedia container formats, 3GPP Timed Text specification (MPEG-4 Part 17) which is a standardized subtitle format and partial parsing support for the 'ilst' atom which is the ID3 equivalent iTunes uses to store metadata. MPEG-4 Part 2 video (e.g. created with DivX or Xvid) is not supported.[5] In an interview with BBC News, the main programmer of Flash Jonathan Gay said that the company had wanted to use H.264 when video support was originally added to Flash, but had been deterred by the patent licensing fees of around $5 million (£3.5 million) per year.[21]

Playback

Flash Player supports two distinct modes of video playback:

  • Software Rendered Video : Flash Player supports software rendered video since version 6. Such video supports vector animations displayed above the video content. Such content is typically rendered using software decoding.[22]
  • Hardware Accelerated Video : Flash Player supports hardware accelerated video playback since version 10.2, for H.264, F4V, and FLV video formats. Such video is displayed above all Flash content, and takes advantage of video codec chipsets installed on the user's device. Developers must specifically use the "StageVideo" technology within Flash Player in order for hardware decoding to be enabled. Flash Player internally uses technologies such as DirectX Video Acceleration and OpenGL to do so.

Desktop-based

Microsoft Windows, Mac OS X, Unix-based

Mac OS devices can play flash videos in QuickTime with the help of additional software (such as the open source Perian component.)

PDA-based and smartphone-based

Windows Mobile, Palm OS–based

The iPhone and Android devices can play flash videos with the help of additional software (such as the Skyfire web browser application.) Apple iOS has never supported Flash. Android versions above 2.1 through 4.0 supported Flash; Adobe has discontinued Flash Player for Android.[23] On 29 June 2012, Adobe announced that, as they were discontinuing development of the mobile version of Flash, they would prevent the Flash player from installing from the Google Play Store on any Android devices that do not already have the Flash player installed, and that they would not be releasing a version of Flash certified for use with Android version 4.1, codenamed Jelly Bean.[24]

Delivery options

Flash Video files can be delivered in several different ways:

  • As a standalone .FLV file. Although Flash Video files are normally delivered using a Flash player for control, the .FLV file itself is only playable with an FLV player. There are several third party players available.
  • Embedded in an SWF file using the Flash authoring tool (supported in Flash Player 6 and later). The entire file must be transferred before playback can begin. Changing the video requires rebuilding the SWF file.
  • Progressive download via HTTP (supported in Flash Player 7 and later). This method uses ActionScript to include an externally hosted Flash Video file client-side for playback. Progressive download has several advantages, including buffering, use of generic HTTP servers, and the ability to reuse a single SWF player for multiple Flash Video sources. Flash Player 8 includes support for random access within video files using the partial download functionality of HTTP, sometimes this is referred to as streaming. However, unlike streaming using RTMP, HTTP "streaming" does not support real-time broadcasting. Streaming via HTTP requires a custom player and the injection of specific Flash Video metadata containing the exact starting position in bytes and timecode of each keyframe. Using this specific information, a custom Flash Video player can request any part of the Flash Video file starting at a specified keyframe. For example, Google Video, YouTube, and Bitgravity support progressive downloading and can seek to any part of the video before buffering is complete.
  • Streamed via RTMP to the Flash Player using the Flash Media Server (formerly called Flash Communication Server), free C++ RTMP Server,[25] VCS, ElectroServer, Helix Universal Server, Wowza Media Server, Unified Streaming Platform WebORB for .NET, WebORB for Java, erlyvideo (in erlang), or the open source Red5 server. As of April 2008, there are stream recorders available for this protocol, re-encoding screencast software excluded.
  • Flash Media Server 4.5 allows Flash video streaming to iPhones and iPads. It achieves this by delivering the content in an MPEG-2 stream using the HTTP Live Streaming format.[26]

Flash video recording

It is possible to record online flash videos using stream recorders and screen video capture software. The former gives lossless results, while the latter allows recording any video even when anti-leeching measures are used.

See also

References

  1. ^ a b c d e f g h Adobe Systems Incorporated (August 2010). "Adobe Flash Video File Format Specification, Version 10.1" (PDF). Adobe Systems Incorporated. (PDF) from the original on 13 December 2021. {{cite journal}}: Cite journal requires |journal= (help)
  2. ^ . Google Knol. 7 December 2008. Archived from the original on 13 February 2009. Retrieved 3 August 2009.
  3. ^ . MainConcept. Archived from the original on 18 November 2010. Retrieved 24 September 2010.
  4. ^ Adobe Flash Media Server
  5. ^ a b Kaourantin.net (20 August 2007). . Archived from the original on 6 January 2010. Retrieved 12 August 2009.
  6. ^ a b c d Kaourantin.net (31 October 2007) Tinic Uro New File Extensions and MIME Types 6 July 2010 at the Wayback Machine, Retrieved on 2009-08-03
  7. ^ a b Adobe Flash CS4 Professional Documentation – Digital video and Flash, Retrieved on 2009-08-09
  8. ^ a b MultimediaWiki Nelly Moser, Retrieved on 2009-08-11
  9. ^ Adobe (3 December 2007) List of codecs supported by Adobe Flash Player, Retrieved on 2009-08-10
  10. ^ Benjamin Larsson (17 March 2009). . FFmpeg-devel (Mailing list). Archived from the original on 17 August 2009. Retrieved 9 August 2009.
  11. ^ a b . Kaourantin.net. 13 August 2005. Archived from the original on 6 February 2009. Retrieved 10 August 2009.
  12. ^ "Sorenson Spark". MultimediaWiki. Retrieved 3 November 2009.
  13. ^ Sorenson Media Difference Between Flash 6 and Flash 8 video 25 August 2009 at the Wayback Machine, Retrieved on 2009-08-09
  14. ^ a b Adobe LiveDocs (2005) Flash 8 Documentation – About the On2 VP6 and Sorenson Spark video codecs 11 February 2009 at the Wayback Machine, Retrieved on 2009-08-09
  15. ^ . Archived from the original on 14 February 2011. Retrieved 4 February 2011. To support better quality video at the same data rate, the On2 VP6 codec is noticeably slower to encode and requires more processor power on the client computer to decode and play back. For this reason, carefully consider the lowest common denominator of computer you intend your viewing audience to use when accessing your Flash Video content. If you anticipate a large user base that uses older computers, consider encoding your FLV files using the Sorenson Spark codec.
  16. ^ Adobe LiveDocs (2005) Flash 8 Documentation – Comparing the On2 VP6 and Sorenson Spark video codecs 2 December 2008 at the Wayback Machine, Retrieved on 2009-08-09
  17. ^ AskMeFlash.com (10 May 2009) Speex vs Nellymoser 15 April 2009 at the Wayback Machine, Retrieved on 2009-08-12
  18. ^ . Archived from the original on 24 March 2017. Retrieved 17 December 2019.
  19. ^ Open Source Flash (2011) Flash Video (FLV) [online] Available from (link already dead): http://osflash.org/flv#flv_format
  20. ^ "Adobe Flash Player 9 Downloads". Adobe. 3 December 2007. Retrieved 31 January 2008.
  21. ^ Frewin, Jonathan (18 May 2010). "Flash creator wades into Apple debate". BBC News. Retrieved 1 June 2010.
  22. ^ Melanson, Mike (27 January 2010). "Solving Different Problems". Penguin.SWF. Retrieved 15 November 2014.
  23. ^ "An Update on Flash Player and Android". Adobe. Retrieved 31 March 2016.
  24. ^ Arthur, Charles (29 June 2012). "Flash Player for Android: Adobe calls time, declares it dead". The Guardian. Retrieved 30 June 2012.
  25. ^ "Rtmpd – Outside of the Box Thinking".
  26. ^ Apple iPads and iPhones finally get Flash video 9 September 2011. Retrieved 10 September 2011.

External links

  • Flash Developer Center – Flash Video Articles
  • Flash Video (FLV) File Format Specification (adobe.com)
  • List of codecs supported by Adobe Flash Player versions from 6 to 9 (adobe.com)
  • Macromedia Flash FLV Video File Format (Library of Congress)

flash, video, redirects, here, retrovirus, feline, leukemia, virus, airport, sherman, army, airfield, flash, movie, redirects, here, film, based, comics, character, flash, film, this, article, needs, additional, citations, verification, please, help, improve, . FLV redirects here For the retrovirus see feline leukemia virus For the airport see Sherman Army Airfield Flash movie redirects here For the film based on the DC Comics character see The Flash film This article needs additional citations for verification Please help improve this article by adding citations to reliable sources Unsourced material may be challenged and removed Find sources Flash Video news newspapers books scholar JSTOR August 2011 Learn how and when to remove this template message Flash Video is a container file format used to deliver digital video content e g TV shows movies etc over the Internet using Adobe Flash Player version 6 and newer Flash Video content may also be embedded within SWF files There are two different Flash Video file formats FLV and F4V The audio and video data within FLV files are encoded in the same way as SWF files The F4V file format is based on the ISO base media file format starting with Flash Player 9 update 3 1 2 Both formats are supported in Adobe Flash Player and developed by Adobe Systems FLV was originally developed by Macromedia In the early 2000s Flash Video was the de facto standard for web based streaming video over RTMP Users include Hulu VEVO Yahoo Video metacafe Reuters com and many other news providers Flash VideoFilename extension flv f4v f4p f4a f4bInternet media typevideo x flv video mp4 audio mp4Developed byAdobe Systems originally developed by Macromedia Initial releaseFLV 10 September 2003 19 years ago 2003 09 10 F4V 3 December 2007 15 years ago 2007 12 03 Latest release10 1 2 01August 2010 12 years ago 2010 08 Type of formatContainer formatContainer forAudio video text dataExtended fromFLV SWFF4V MPEG 4 Part 12Open format YesFree format NoFlash Video FLV files usually contain material encoded with codecs following the Sorenson Spark or VP6 video compression formats As of 2010 update public releases of Flash Player collaboration between Adobe Systems and MainConcept also support H 264 video and HE AAC audio 3 All of these compression formats are restricted by patents Flash Video is viewable on most operating systems via the Adobe Flash Player and web browser plugin or one of several third party programs Apple s iOS devices along with almost all other mobile devices do not support the Flash Player plugin and so require other delivery methods such as provided by the Adobe Flash Media Server 4 Contents 1 History 2 Encoding 2 1 Media type support 2 2 FLV converters 3 Flash Video Structure 3 1 Header 3 2 Packets 4 FLV players 4 1 H 264 4 2 Playback 4 3 Desktop based 4 4 PDA based and smartphone based 5 Delivery options 6 Flash video recording 7 See also 8 References 9 External linksHistory EditThe 2002 release of Flash Player 6 added support for video in the SWF file format The 2003 release of Flash Player 7 added direct support for the FLV file format Because of restrictions in the FLV file format Adobe Systems created new file formats in 2007 based on the ISO base media file format MPEG 4 Part 12 In this way the F4V format shares a common base with the MP4 format which is why F4V is sometimes informally called Flash MP4 Flash Player does not check the filename extension but instead examines the file to determine the format of the thing created 5 6 The new file formats are very different from the older FLV file format For example F4V does not support Screen video Sorenson Spark VP6 video compression formats and ADPCM or Nellymoser audio compression formats 1 6 Authors of Flash Player strongly encourage use of the new standard file format F4V ISO base media file format because it overcomes functional limits with the FLV structure when streaming H 264 or AAC which is one reason Adobe Systems is moving away from the older FLV file structure 6 Since 2002 the initial format is Flash Video and the file suffix is flv with a MIME derived Internet media type of video x flv The Adobe branded file suffix f4v was extended from 2007 to support the ISO base media file format using the same MIME derived Internet media type of video mp4 as the Apple file suffix of m4v and the general file suffix of mp4 Adobe branded file suffixes exist for f4p which relates to media encrypted with their Adobe Access DRM scheme f4a and f4b relate respectively to m4a and m4b with the same MIME derived Internet media type of audio mp4 SWF files published for Flash Player 6 and later versions are able to exchange audio video and data over RTMP connections with the Adobe Flash Media Server One way to feed data to Flash Media Server is from files in the FLV file format Flash Player can play SWF files created for Flash Player 7 and later versions in FLV format directly MIME type video x flv Flash Player can also play the new F4V file format beginning with SWF files created for Flash Player 9 Update 3 1 Support for audio and video compression formats in Flash Player and in Flash Video 1 7 8 9 Flash Player version Released File format Video compression formats Audio compression formats6 2002 SWF Sorenson Spark Screen video MP3 ADPCM Nellymoser7 2003 SWF FLV Sorenson Spark Screen video MP3 ADPCM Nellymoser8 2005 SWF FLV On2 VP6 Sorenson Spark Screen video Screen video 2 MP3 ADPCM Nellymoser9 2007 SWF FLV On2 VP6 Sorenson Spark Screen video Screen video 2 H 264 MP3 ADPCM Nellymoser AACSWF F4V ISO base media file format H 264 AAC MP310 2008 SWF FLV On2 VP6 Sorenson Spark Screen video Screen video 2 H 264 MP3 ADPCM Nellymoser Speex AACSWF F4V ISO base media file format H 264 AAC MP3Use of the H 264 compression format in the FLV file format has some limitations so authors of Flash Player strongly encourage use of the new standard F4V file format 6 Encoding EditCommonly Flash Video FLV files contain video bit streams which are a proprietary variant of the H 263 video standard 10 under the name of Sorenson Spark FourCC FLV1 11 12 Sorenson Spark is an older codec for FLV files but it is also a widely available and compatible one because it was the first video codec supported in Flash Player 13 It is the required video compression format for Flash Player 6 and 7 14 15 Flash Player 8 and newer revisions also support the playback of On2 TrueMotion VP6 video bit streams FourCC VP6F or FLV4 On2 VP6 is the preferred video compression format for use with Flash Player 8 and higher 7 11 On2 VP6 can provide a higher visual quality than Sorenson Spark especially when using lower bit rates On the other hand it is computationally more complex and therefore will not run as well on certain older system configurations 14 16 The Flash Video FLV file format supports two versions of a so called screenshare Screen video codec which is an encoding format designed for screencasts Both these formats are bitmap tile based can be lossy by reducing color depths and are compressed using zlib The second version is only playable in Flash Player 8 and newer Audio in Flash Video files is usually encoded as MP3 However audio in Flash Video FLV files recorded from the user s microphone use the proprietary Nellymoser Asao Codec 8 Flash Player 10 released in 2008 also supports the open source Speex codec 17 FLV files also support uncompressed audio or ADPCM format audio Recent versions of Flash Player 9 support AAC HE AAC AAC SBR AAC Main Profile and AAC LC Support for encoding Flash Video files is provided by an encoding tool included with Adobe s Flash Professional and Creative Suite products On2 s Flix encoding tools Sorenson Squeeze FFmpeg and other third party tools Media type support Edit Supported media types in both the Flash Video and ISO base media file formats 1 Video H 264 added to MP4 and FLV unofficial Google GPL FLV implementations for Android 18 MPEG 4 ASP native to MP4 ITU H 263 native to 3GPP MP4 Audio MPEG layer 3 native to Flash Video MPEG AAC added to Flash Video Supported media types in just the Flash Video file format 1 General video RGB supported by same type code SWF uses run length supported by same type code SWF uses Sorenson s H 263 native to Flash Video On2 TrueMotion VP6 with and without alpha channel added to Flash Video Animated video are the zlib based Screen 1 and 2 native to SWF General audio are PCM and ADPCM native to SWF Vocal audio Nellymoser s Asao 16 or 8 or 5 kHz native to SWF a law and m law native to SWF Speex added to FLV Timed text requires ActionScript specific commands for loading captioning which is only supported by external text files in either JSON or W3C XML formats Supported media types in just the ISO base media file format 1 Animated video are QuickTime types for GIF PNG and JPEG which replace the Screen 1 and 2 encodings Timed text requires ActionScript specific commands for loading captions embedded as either EIA 608 or QuickTime mac based styled text with the 3GPP derived version that supports Unicode FLV converters Edit An FLV converter is a type of video conversion software that is used for turning videos from different formats into FLV Below is a list of popular free video converters which support conversion to FLV SUPER freeware Free Studio freeware Freemake Video Converter freeware Format Factory freeware HandBrake Video Converter GPL licensed free software VLC Video Player GPL licensed free software Any Video Converter freeware and commercial FFmpeg GPL licensed free software Easy 7 Zip 7z Via Extraction of Audios MP3 and Videos no audio These programs run under Microsoft Windows HandBrake FFmpeg and VLC also run under Mac OS X and Linux Flash Video Structure EditHeader Edit FLV files start with a standard header which is shown below 19 Field Data Type Default DetailsSignature byte 3 FLV Always FLV Version uint8 1 Only 0x01 is validFlags uint8 bitmask 0x05 Bitmask 0x04 is audio 0x01 is video so 0x05 is audio video Header Size uint32 be 9 Used to skip a newer expanded headerPackets Edit After the header the file is split into packets called FLV tags which have 15 byte packet headers The first four bytes denote the size of the previous packet tag including the header without the first field and aid in seeking backward Field Data Type Default DetailsSize of previous packet uint32 be 0 For first packet set to NULLPacket Type uint8 18 For first packet set to AMF MetadataPayload Size uint24 be varies Size of packet data onlyTimestamp Lower uint24 be 0 For first packet set to NULLTimestamp Upper uint8 0 Extension to create a uint32 be valueStream ID uint24 be 0 For first stream of same type set to NULLPayload Data freeform varies Data as defined by packet typeThe Packet Type byte of a packet tag header is based on the RTMP message ID byte with the AMF metadata value of 18 0x12 video payload value of 9 0x09 and audio payload value of 8 0x08 being the only valid types used The third bit indicates the payload is encrypted using the same mechanism as RTMP uses however this is rarely used due to encrypted transports such as RTMP being used instead The FLV packet encryption is generally inherited from a MP4 file that is stored on an Adobe Flash Media Server Packet types enumerated as 1 is a RTMP set packet size Packet types enumerated from 3 are RTMP bytes read report RTMP ping RTMP server bandwidth RTMP client bandwidth Packet types enumerated from 8 are Audio payload Video payload Packet types enumerated from 15 are RTMP flex stream send RTMP flex shared object RTMP flex message AMF metadata shared object RTMP invoke Packet type enumerated as 24 is an encapsulated flash video FLV Tag Structure Following that there are three bytes for the Payload Size denoting length of the Payload Data then four bytes for the Timestamp in milliseconds with the last byte used to extend the first three bytes the next 3 bytes for the Stream ID incremented for multiple streams of the same type and finally followed by the actual payload data There is a direct relation between the fields encountered in an FLV Tag and those found in a RTMP packet as for example the FLV Packet Type field uses the same numeric values as the RTMP Chunk Type field ex 0x08 for audio and 0x09 for video FLV tags are thus converted into RTMP packets when the file is streamed through a Flash Media Server or equivalent RTMP Server The first packet encountered is usually a metadata packet which contains information such as duration 64 bit IEEE floating point value in seconds width and height 64 bit IEEE floating point value in pixels framerate 64 bit IEEE floating point value in frames per second keyframes an array with the positions of p frames needed when random access is sought AdditionalHeader an array of required stream decoding informational pairs Encryption an array of required encryption informational pairs Metadata Base64 encoded string of a signed X 509 certificate containing the Adobe Access AES decryption key requiredWhen streamed using an Actionscript built player the metadata values above are passed as arguments on the onMetaData callback function Audio packets have the first byte of the payload defining the decoding details with the first four bits for the encoding used and the last four bits for the parameters required to process the encoding Video packets have this order reversed Video encodings enumerated from 0 are Id Video encoding0 RGB1 run length2 Sorenson s H 2633 Screen 14 On2 TrueMotion VP65 VP6 with alpha6 Screen 27 MP4 H 2648 ITU H 2639 MPEG 4 ASP Video processing parameters enumerated from 1 are Id Video processing parameters1 key frame2 non key frame3 H 263 disposable frame4 generated key frame5 one byte frame seeking instructionMPEG 4 encodings such as H 264 MPEG 4 ASP and AAC add a one byte value with a NULL value indicating that the payload contains MPEG 4 configuration details MPEG 4 video encodings also add three bytes for composition timestamp offset which is required for encodings that use B frames Audio encodings enumerated from 0 are Id Audio encoding0 native PCM1 ADPCM2 MPEG layer 33 PCM little endian4 Asao 16 kHz5 Asao 8 kHz6 Asao parameter rate7 a law8 m lawAudio encodings enumerated from 10 are Id Audio encoding10 MP4 AAC11 SpeexAudio encodings enumerated from 14 are MPEG layer 3 8 kHz Device specific such as MIDI Audio processing parameters with the first two bits for the sampling rate next bit flags 16 bit sample size on with off indicating 8 bit sample size and the final bit flags stereophonic channels on with off indicating monaural only Sampling rates enumerated from 0 are 5 5 kHz 11 025 kHz quarter 22 05 kHz half 44 1 kHz full Encrypted packets have an additional 31 or 24 byte header before the AES CBC encrypted payload as follows Field Data Type Default DetailsNumFilters uint8 1 always only 1FilterName C string Encryption if only selected payloads are encrypted then is SE Length uint24 be 16 or 17 initialization vector lengthEncryptedAU uint8 bitmask 0x80 or 0x00 only if FilterName is SE then 0x80 mean encrypted payloadIV uint128 varies initialization vector for AES decryptionContent freeform varies encrypted payloadPadding freeform 0x10 encryption paddingFLV players EditAn FLV player is a type of media player that is used for playing Flash video from PC as well as from Internet websites An FLV player can be used standalone without the need of the Adobe Flash authoring or developmental tools It can also be embedded in the website using Flash component or embeddable version of FLV player Main article Adobe Flash Player Adobe Flash Player is a multimedia and application player originally developed by Macromedia and acquired by Adobe Systems It plays SWF files which can be created by Adobe Flash Professional Apache Flex or a number of other Adobe Systems and 3rd party tools It has support for a scripting language called ActionScript which can be used to display Flash Video from an SWF file Because the Flash Player runs as a browser plug in it is possible to embed Flash Video in web pages and view the video within a web browser Flash Player supported display of Flash Video files since version 6 with the Sorenson Spark and On VP6 video codecs Support was recently added for H 264 video content as well H 264 Edit Flash Player 9 Update 3 released on 3 December 2007 20 also includes support for the new Flash Video file format F4V and H 264 video standard also known as MPEG 4 part 10 or AVC which is even more computationally demanding but offers significantly better quality bitrate ratio 1 Specifically Flash Player now supports video compressed in H 264 MPEG 4 Part 10 audio compressed using AAC MPEG 4 Part 3 the F4V MP4 MPEG 4 Part 14 M4V M4A 3GP and MOV multimedia container formats 3GPP Timed Text specification MPEG 4 Part 17 which is a standardized subtitle format and partial parsing support for the ilst atom which is the ID3 equivalent iTunes uses to store metadata MPEG 4 Part 2 video e g created with DivX or Xvid is not supported 5 In an interview with BBC News the main programmer of Flash Jonathan Gay said that the company had wanted to use H 264 when video support was originally added to Flash but had been deterred by the patent licensing fees of around 5 million 3 5 million per year 21 Playback Edit Flash Player supports two distinct modes of video playback Software Rendered Video Flash Player supports software rendered video since version 6 Such video supports vector animations displayed above the video content Such content is typically rendered using software decoding 22 Hardware Accelerated Video Flash Player supports hardware accelerated video playback since version 10 2 for H 264 F4V and FLV video formats Such video is displayed above all Flash content and takes advantage of video codec chipsets installed on the user s device Developers must specifically use the StageVideo technology within Flash Player in order for hardware decoding to be enabled Flash Player internally uses technologies such as DirectX Video Acceleration and OpenGL to do so Desktop based Edit Main article Comparison of video player software Microsoft Windows Mac OS X Unix based Adobe Media Player freeware no longer published or supported by Adobe Media Player Classic free software MPlayer free software RealPlayer freeware VLC media player free software Winamp freeware Mac OS devices can play flash videos in QuickTime with the help of additional software such as the open source Perian component PDA based and smartphone based Edit Windows Mobile Palm OS based The Core Pocket Media Player open source software The iPhone and Android devices can play flash videos with the help of additional software such as the Skyfire web browser application Apple iOS has never supported Flash Android versions above 2 1 through 4 0 supported Flash Adobe has discontinued Flash Player for Android 23 On 29 June 2012 Adobe announced that as they were discontinuing development of the mobile version of Flash they would prevent the Flash player from installing from the Google Play Store on any Android devices that do not already have the Flash player installed and that they would not be releasing a version of Flash certified for use with Android version 4 1 codenamed Jelly Bean 24 Delivery options EditFlash Video files can be delivered in several different ways As a standalone FLV file Although Flash Video files are normally delivered using a Flash player for control the FLV file itself is only playable with an FLV player There are several third party players available Embedded in an SWF file using the Flash authoring tool supported in Flash Player 6 and later The entire file must be transferred before playback can begin Changing the video requires rebuilding the SWF file Progressive download via HTTP supported in Flash Player 7 and later This method uses ActionScript to include an externally hosted Flash Video file client side for playback Progressive download has several advantages including buffering use of generic HTTP servers and the ability to reuse a single SWF player for multiple Flash Video sources Flash Player 8 includes support for random access within video files using the partial download functionality of HTTP sometimes this is referred to as streaming However unlike streaming using RTMP HTTP streaming does not support real time broadcasting Streaming via HTTP requires a custom player and the injection of specific Flash Video metadata containing the exact starting position in bytes and timecode of each keyframe Using this specific information a custom Flash Video player can request any part of the Flash Video file starting at a specified keyframe For example Google Video YouTube and Bitgravity support progressive downloading and can seek to any part of the video before buffering is complete Streamed via RTMP to the Flash Player using the Flash Media Server formerly called Flash Communication Server free C RTMP Server 25 VCS ElectroServer Helix Universal Server Wowza Media Server Unified Streaming Platform WebORB for NET WebORB for Java erlyvideo in erlang or the open source Red5 server As of April 2008 there are stream recorders available for this protocol re encoding screencast software excluded Flash Media Server 4 5 allows Flash video streaming to iPhones and iPads It achieves this by delivering the content in an MPEG 2 stream using the HTTP Live Streaming format 26 Flash video recording EditIt is possible to record online flash videos using stream recorders and screen video capture software The former gives lossless results while the latter allows recording any video even when anti leeching measures are used See also Edit Internet portalLocal Shared Object SWFObjectReferences Edit a b c d e f g h Adobe Systems Incorporated August 2010 Adobe Flash Video File Format Specification Version 10 1 PDF Adobe Systems Incorporated Archived PDF from the original on 13 December 2021 a href Template Cite journal html title Template Cite journal cite journal a Cite journal requires journal help What is the difference between Flash Video FLV F4V and H 264 Google Knol 7 December 2008 Archived from the original on 13 February 2009 Retrieved 3 August 2009 Flash H 264 MainConcept Archived from the original on 18 November 2010 Retrieved 24 September 2010 Adobe Flash Media Server a b Kaourantin net 20 August 2007 What just happened to video on the web Archived from the original on 6 January 2010 Retrieved 12 August 2009 a b c d Kaourantin net 31 October 2007 Tinic Uro New File Extensions and MIME Types Archived 6 July 2010 at the Wayback Machine Retrieved on 2009 08 03 a b Adobe Flash CS4 Professional Documentation Digital video and Flash Retrieved on 2009 08 09 a b MultimediaWiki Nelly Moser Retrieved on 2009 08 11 Adobe 3 December 2007 List of codecs supported by Adobe Flash Player Retrieved on 2009 08 10 Benjamin Larsson 17 March 2009 h263 svq3 optimizations FFmpeg devel Mailing list Archived from the original on 17 August 2009 Retrieved 9 August 2009 a b The quest for a new video codec in Flash 8 Kaourantin net 13 August 2005 Archived from the original on 6 February 2009 Retrieved 10 August 2009 Sorenson Spark MultimediaWiki Retrieved 3 November 2009 Sorenson Media Difference Between Flash 6 and Flash 8 video Archived 25 August 2009 at the Wayback Machine Retrieved on 2009 08 09 a b Adobe LiveDocs 2005 Flash 8 Documentation About the On2 VP6 and Sorenson Spark video codecs Archived 11 February 2009 at the Wayback Machine Retrieved on 2009 08 09 Flash CS3 Comparing the On2 VP6 and Sorenson Spark video codecs Archived from the original on 14 February 2011 Retrieved 4 February 2011 To support better quality video at the same data rate the On2 VP6 codec is noticeably slower to encode and requires more processor power on the client computer to decode and play back For this reason carefully consider the lowest common denominator of computer you intend your viewing audience to use when accessing your Flash Video content If you anticipate a large user base that uses older computers consider encoding your FLV files using the Sorenson Spark codec Adobe LiveDocs 2005 Flash 8 Documentation Comparing the On2 VP6 and Sorenson Spark video codecs Archived 2 December 2008 at the Wayback Machine Retrieved on 2009 08 09 AskMeFlash com 10 May 2009 Speex vs Nellymoser Archived 15 April 2009 at the Wayback Machine Retrieved on 2009 08 12 Git videolan org Git ffmpeg git Blob libavformat Flvdec c Archived from the original on 24 March 2017 Retrieved 17 December 2019 Open Source Flash 2011 Flash Video FLV online Available from link already dead http osflash org flv flv format Adobe Flash Player 9 Downloads Adobe 3 December 2007 Retrieved 31 January 2008 Frewin Jonathan 18 May 2010 Flash creator wades into Apple debate BBC News Retrieved 1 June 2010 Melanson Mike 27 January 2010 Solving Different Problems Penguin SWF Retrieved 15 November 2014 An Update on Flash Player and Android Adobe Retrieved 31 March 2016 Arthur Charles 29 June 2012 Flash Player for Android Adobe calls time declares it dead The Guardian Retrieved 30 June 2012 Rtmpd Outside of the Box Thinking Apple iPads and iPhones finally get Flash video 9 September 2011 Retrieved 10 September 2011 External links EditFlash Developer Center Flash Video Articles Flash Video FLV File Format Specification adobe com List of codecs supported by Adobe Flash Player versions from 6 to 9 adobe com Macromedia Flash FLV Video File Format Library of Congress Retrieved from https en wikipedia org w index php title Flash Video amp oldid 1139031736, wikipedia, wiki, book, books, library,

article

, read, download, free, free download, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, picture, music, song, movie, book, game, games.