FLV
From Wikipedia, the free encyclopedia
FLV | |
File extension: | .flv |
---|---|
MIME type: | video/x-flv |
Developed by: | Adobe Systems (originally developed by Macromedia) |
Type of format: | media container |
FLV (Flash Video) is a proprietary file format used to deliver video over the Internet using Adobe Flash Player (formerly known as Macromedia Flash Player) version 6, 7, 8, or 9. FLV content may also be embedded within SWF files. Notable users of the FLV format include YouTube, Google Video, Reuters.com, Yahoo! Video and MySpace.
Flash Video is viewable on most operating systems, via the widely available Adobe Flash Player and web browser plugin, or one of several third-party programs such as MPlayer, VLC media player, or any player which uses DirectShow filters (such as Media Player Classic, Windows Media Player, and Windows Media Center) with ffdshow .
Contents |
[edit] Flash Player
- Main article: Adobe Flash Player
The Adobe Flash Player is a multimedia and application player created and distributed by Adobe Systems. It plays SWF files which can be created by the Adobe Flash authoring tool, Adobe Flex or a number of other Adobe Systems and third party tools. It has support for a programming 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.
[edit] Video format
Commonly FLV files contain video bit streams which are a variant of the H.263 video standard, under the name of Sorenson Spark. Flash Player 8 and newer revisions support the playback of On2 TrueMotion VP6 video bit streams. 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.
An optional alpha channel which represents per pixel transparency is supported by including a second simultaneous video stream which encodes the alpha channel only, dropping any chromatic information. The implementation makes the assumption that the YUV data of the main On2 VP6 video stream is always converted to RGB by the client before compositing occurs as the resulting RGB values are alpha premultiplied and clamped accordingly. This option is only available for On2 VP6 encoded video streams.
The FLV file format supports two versions of a so called 'screenshare' 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.
Support for encoding FLV files is provided by an encoding tool included with Adobe's Macromedia Flash Professional 8 product, On2's Flix encoding tools, Sorenson Squeeze, FFmpeg and other third party tools.
[edit] Audio format
Audio in FLV files is usually encoded as MP3. However, FLV files recorded from the user's microphone use the proprietary Nellymoser codec. There is currently no open source product available that can decode the nellymoser codec. FLV files also support uncompressed audio or ADPCM format audio.
[edit] FLV Players
There are currently few players able to play the FLV format. Some available players include:
- BitComet FLV Player
- Flash Video Player
- FLV Player
- SWF & FLV Player for Mac OS X
- GOM Player
- MPlayer
- Perian
- VLC media player
- Xine
- Any Player which uses DirectShow, used with ffdshow
- Media Player Classic
- Windows Media Player
- Windows Media Center (with registry hack)
[edit] Delivery options
FLV files can be delivered in several different ways:
- As a standalone .FLV file. Although FLV files are normally delivered using a Flash player for control, the .FLV file itself is fully-functional on its own and can be played or converted to other formats from local storage such as a hard disk or a CD.
- 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 Action Script to include an externally hosted FLV 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 FLV 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 FLV metadata containing the exact starting position in bytes and timecode of each keyframe. Using this specific information, a custom FLV player can request any part of the FLV file starting at a specified keyframe. For example, Google Video supports progressive download and can seek to any part of the video before buffering is complete, whereas YouTube cannot. The server-side part of this "HTTP pseudo-streaming" method is fairly simple to implement, for example in PHP or as an Apache HTTPD module.
- Streamed via RTMP to the Flash Player using the Flash Media Server (formerly called Flash Communication Server), VCS or the open source Red5 server. As of February 2007, there's only one (Microsoft Windows-only) stream recorder available for this protocol, re-encoding screencast software excluded.
[edit] External links
- Flash Developer Center - Flash Video Articles
- Macromedia Flash (SWF) and Flash Video (FLV) File Format Specification Licensing Page (adobe.com)
- Macromedia Flash FLV Video File Format (Library of Congress)
Macromedia Flash | |
---|---|
Flash-specific file formats | .swf (Shockwave Flash) • .as (ActionScript) • .flv (Flash Video) |
Other versions | FutureSplash Animator • Adobe Flash Lite |
Miscellaneous | ActionScript • Adobe Flash Player • Local Shared Object • Flash animation |
Multimedia compression formats | ||||
---|---|---|---|---|
Video compression formats |
|
|||
Audio compression formats |
|
|||
Image compression formats |
|
|||
Media container formats |
|