- FFmpeg
infobox software
name = FFmpeg
developer = FFmpeg team
programming_language = C
operating_system =Cross-platform
genre =Multimedia framework
latest_release_version = 0.4.9-pre1
latest_release_date =2004-07-10
license =GNU Lesser General Public License
website = http://ffmpeg.mplayerhq.hu/FFmpeg is a computer program that can record, convert and stream digital audio and
video in numerous formats. [ [http://ffmpeg.mplayerhq.hu/ffmpeg-doc.html FFmpeg Documentation ] ] FFmpeg is a command line tool that is composed of a collection offree software / open source libraries. It includes "libavcodec ", an audio/videocodec library used by several other projects, and libavformat, an audio/video container mux and demux library. The name of the project comes from theMPEG video standards group, together with "FF" for "fast forward". [ cite web | title = FFmpeg naming and logo | url = http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/2006-February/007707.html | first = Fabrice | last = Bellard | work = FFmpeg developer mailing list | publisher = Mplayer website | date =18 February 2006 | accessdate = 2007-03-29 ]The project was started by
Fabrice Bellard (using thepseudonym “Gerard Lantau”), and is now maintained by Michael Niedermayer. Many FFmpeg developers are also part of theMPlayer project, and FFmpeg is hosted at the MPlayer project server.FFmpeg is developed under
Linux , but it can be compiled under mostoperating system s, includingApple Mac OS X ,Microsoft Windows andAmigaOS . There are no releases. Instead, FFmpeg developers recommend using the latest Subversion snapshot as development attempts to maintain a stable trunk. [ cite web | title = FFmpeg Download and SVN | url = http://ffmpeg.mplayerhq.hu/download.html | work = FFmpeg website | accessdate = 2008-03-22 ] Released under theGNU Lesser General Public License orGNU General Public License (depending on which sub-libraries one would include), FFmpeg isfree software .There are two
video codec s invented in the FFmpeg project during its development. They are the losslessFFV1 , and the lossless or lossy Snow codec, for which a version 1.0 is still in development.Design
Components
The project is made of several components:
* "ffmpeg" is a command line tool to convert one video file format to another. It also supports grabbing and encoding in real time from a TV card.
* "ffserver" is an HTTP (RTSP is being developed) multimedia streaming server for live broadcasts. Time shifting of live broadcast is also supported.
* "ffplay" is a simple media player based on SDL and on the FFmpeg libraries.
* "libavcodec " is a library containing all the FFmpeg audio/video encoders and decoders. Most codecs were developed from scratch to ensure best performance and high code reusability.
* "libavformat" is a library containing demuxers and muxers for audio/video container formats.
* "libavutil" is a helper library containing routines common to different parts of FFmpeg. This library include adler32, crc, md5, sha1, lzo decompressor,Base64 encoder/decoder, des encrypter/decrypter, rc4 encrypter/decrypter and aes encrypter/decrypter.
* "libpostproc" is a library containingvideo postprocessing routines.
* "libswscale" is a library containing videoimage scaling routines.
* "libavfilter" is the substitute for vhook which allows the video to be modified or examined between the decoder and the encoder.Codecs and formats supported
Codecs
Codecs with the origin in the project:
* Snow
*FFV1 The FFmpeg developers have implemented among others:
* ATRAC3cite web | author = banan | url = http://svn.mplayerhq.hu/ffmpeg/trunk/Changelog?revision=8747&view=marku | title = Changelog | publisher = FFmpeg website | work = FFmpeg trunk SVN | date =
17 April 2007 | accessdate = 2007-04-26]
*H.261 ,H.263 andH.264/MPEG-4 AVC
*Indeo 2 and 3
*QDesign Music Codec 2, used by many QuickTime movies prior to QuickTime 7.
*Smacker video
*Sorenson 3 Codec used by manyQuickTime movies
*Theora (together withVorbis makes a base for the .ogg format)
*Truespeech
* TXDcite web | author = banan | url = http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/2007-May/028761.html | title = FFmpeg development mailing list | publisher = FFmpeg website | work = FFmpeg development | date =7 May 2007 | accessdate = 2007-06-01]
*VP5 andVP6
*Vorbis
*Windows Media Audio
* SomeWindows Media Video codecs, including WMV1, WMV2 and WMV3The default
MPEG-4 codec used by FFmpeg for encoding has theFourCC of FMP4.Formats
* ASF
* AVI
* BFIcite web | author = vitor | url = https://lists.mplayerhq.hu/pipermail/ffmpeg-cvslog/2008-April/013231.html | title = FFmpeg development mailing list | publisher = FFmpeg website | work = FFmpeg development | date =2008-04-13 | accessdate = 2008-04-14]
* IFFcite web | author = vitor | url = https://lists.mplayerhq.hu/pipermail/ffmpeg-cvslog/2008-March/012963.html | title = FFmpeg development mailing list | publisher = FFmpeg website | work = FFmpeg development | date =2008-03-30 | accessdate = 2008-03-30]
* RL2cite web | author = faust3 | url = http://lists.mplayerhq.hu/pipermail/ffmpeg-cvslog/2008-March/012799.html | title = FFmpeg development mailing list | publisher = FFmpeg website | work = FFmpeg development | date =2008-03-21 | accessdate = 2008-03-21]
*FLV
*Material Exchange Format
*Matroska
* Maxis XAcite web | author = benoit | url = https://lists.mplayerhq.hu/pipermail/ffmpeg-cvslog/2008-April/013245.html | title = FFmpeg development mailing list | publisher = FFmpeg website | work = FFmpeg development | date =2008-04-14 | accessdate = 2008-04-14]
* MSN Webcam streamcite web | author = ramiro | url = http://lists.mplayerhq.hu/pipermail/ffmpeg-cvslog/2008-March/012708.html | title = FFmpeg development mailing list | publisher = FFmpeg website | work = FFmpeg development | date =2008-03-18 | accessdate = 2008-03-18]
*MPEG transport stream
* TXD
* OMAcite web | author = banan | url = http://lists.mplayerhq.hu/pipermail/ffmpeg-cvslog/2008-June/014417.html | title = FFmpeg development mailing list | publisher = FFmpeg website | work = FFmpeg development | date =2008-06-08 | accessdate = 2008-06-08]Legal status
FFmpeg's legal status varies by country. Some included codecs, (such as Sorenson 3), are claimed by patent holders. Such claims may be enforceable in countries like the United States which have implemented
software patent s, but are considered unenforceable or void in countries that have not implemented software patents. Furthermore, many of these codecs are only released under terms that forbid reverse engineering, even for purposes of interoperability. However, these terms of use are forbidden in certain countries. For example, someEuropean Union nations have not implemented software patents and/or have laws expressly allowingreverse engineering for purposes of interoperability. [cite encyclopedia |publisher=Council Directive 91/250/EEC of 14 May 1991 on the legal protection of computer programs] In any case, many Linux distributions do not include FFmpeg to avoid legal complications. [ cite web | title = Information about this on FFmpeg's website | url = http://ffmpeg.mplayerhq.hu/legal.html ]See also
*
MPlayer , the media player that takes much of itssource code from FFmpeg
*MEncoder , the encoder variant of MPlayer, which is similar to FFmpeg
*MediaCoder , a media transcoding application for Windows OSs, also related to MPlayer
*Open source codecs and containers
*ffdshow References
External links
* [http://ffmpeg.mplayerhq.hu/ FFmpeg homepage]
* [http://linux.die.net/man/1/ffmpeg FFmpeg man page]
* [http://ffmpeg.mplayerhq.hu/general.html#SEC3 list of supported formats]
Wikimedia Foundation. 2010.