| This article needs references that appear in reliable third-party publications. Primary sources or sources affiliated with the subject are generally not sufficient for a Wikipedia article. Please add more appropriate citations from reliable sources. (July 2009) |
| It has been suggested that libavcodec be merged into this article or section. (Discuss) |
|
|
This article is in need of attention from an expert on the subject. WikiProject Computing or the Computing Portal may be able to help recruit one. (April 2009) |
| Developer(s) | FFmpeg team |
|---|---|
| Stable release | 0.5 / 2009-03-10 |
| Written in | C |
| Operating system | Cross-platform |
| Platform | Multi-platform |
| Development status | active |
| Type | Multimedia framework |
| License | GNU Lesser General Public License |
| Website | http://ffmpeg.org/ |
FFmpeg is a computer program that can record, convert and stream digital audio and video in numerous formats.[1] FFmpeg is a command line tool that is composed of a collection of free software / open source libraries. It includes libavcodec, an audio/video codec library used by several other projects, and libavformat, an audio/video container mux and demux library. The name of the project comes from the MPEG video standards group, together with "FF" for "fast forward".[2] The logo uses a zigzag pattern that shows how MPEG video codecs handle entropy encoding.
The project was started by Fabrice Bellard[citation needed] (using the pseudonym “Gerard Lantau”), and is now maintained by Michael Niedermayer. Many FFmpeg developers are also part of the MPlayer project, and FFmpeg is hosted at the MPlayer project server.
FFmpeg is developed under GNU/Linux, but it can be compiled under most operating systems, including Apple Inc. Mac OS X, Microsoft Windows and AmigaOS. Most computing platforms and microprocessor instruction set architecture are also supported, like x86 (IA-32 and x86-64), PPC (PowerPC), ARM, DEC Alpha, SPARC, and MIPS architecture.[3]
Recently version .5 of FFmpeg was released, although previously FFmpeg developers have always recommended using the latest neutral build from their source code Subversion version control system as development attempts to maintain a stable trunk.[4] Published under the GNU Lesser General Public License or GNU General Public License (depending on which sub-libraries one would include), FFmpeg is free software.
There are two video codecs and one video container invented in the FFmpeg project during its development. The two video codecs are the lossless "FFV1", and the lossless or lossy "Snow codec", for which a version 1.0 is still in development, and the video container is "NUT" which is also currently being actively developed.
Contents |
Design
| This section requires expansion. |
Components
The project is made of several components:
- ffmpeg is a command line tool to convert one video file format to another. It can also grab and encode in real time from a TV card.
- ffserver is an HTTP and RTSP multimedia streaming server for live broadcasts. It can also time shift live broadcast.
- 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 containing video postprocessing routines.
- libswscale is a library containing video image scaling routines.
- libavfilter is the substitute for vhook which allows the video to be modified or examined between the decoder and the encoder.
Codecs, formats and protocols supported
Formats
| Format | Description | Encoding | Decoding |
|---|---|---|---|
| 3g2 | 3GP2 format | Yes | Yes |
| 3gp | 3GP format | Yes | Yes |
| 4xm | 4X Technologies format | No | Yes |
| IFF | IFF format | No | Yes |
| MTV | MTV format | No | Yes |
| RoQ | id RoQ format | Yes | Yes |
| aac | ADTS AAC | Yes | Yes |
| ac3 | raw AC-3 | Yes | Yes |
| adts | ADTS AAC | Yes | Yes |
| aiff | Audio IFF | Yes | Yes |
| alaw | PCM A-law format | Yes | Yes |
| amr | 3GPP AMR file format | Yes | Yes |
| apc | CRYO APC format | No | Yes |
| ape | Monkey's Audio | No | Yes |
| asf | ASF format | Yes | Yes |
| asf_stream | ASF format | Yes | No |
| ass | SSA/ASS format | Yes | Yes |
| au | SUN AU format | Yes | Yes |
| avi | AVI format | Yes | Yes |
| avm2 | Flash 9 (AVM2) format | Yes | Yes |
| avs | AVISynth | No | Yes |
| bethsoftvid | Bethesda Softworks VID format | No | Yes |
| bfi | Brute Force & Ignorance | No | Yes |
| c93 | Interplay C93 | No | Yes |
| crc | CRC testing format | Yes | No |
| daud | D-Cinema audio format | Yes | Yes |
| dirac | raw Dirac | Yes | Yes |
| dnxhd | raw DNxHD (SMPTE VC-3) | Yes | Yes |
| dsicin | Delphine Software International CIN format | No | Yes |
| dts | raw DTS | Yes | Yes |
| dv | DV video format | Yes | Yes |
| dvd | MPEG-2 PS format (DVD VOB) | Yes | Yes |
| dxa | DXA | No | Yes |
| ea | Electronic Arts Multimedia Format | No | Yes |
| ea_cdata | Electronic Arts cdata | No | Yes |
| eac3 | raw E-AC-3 | Yes | Yes |
| f32be | PCM 32 bit floating-point big-endian format | Yes | Yes |
| f32le | PCM 32 bit floating-point little-endian format | Yes | Yes |
| f64be | PCM 64 bit floating-point big-endian format | Yes | Yes |
| f64le | PCM 64 bit floating-point little-endian format | Yes | Yes |
| ffm | FFM (FFserver live feed) format | Yes | Yes |
| film_cpk | Sega FILM/CPK format | No | Yes |
| flac | raw FLAC | Yes | Yes |
| flic | FLI/FLC/FLX animation format | No | Yes |
| flv | FLV format | Yes | Yes |
| framecrc | framecrc testing format | Yes | No |
| gif | GIF Animation | Yes | No |
| gsm | GSM | No | Yes |
| gxf | GXF format | Yes | Yes |
| h261 | raw H.261 | Yes | Yes |
| h263 | raw H.263 | Yes | Yes |
| h264 | raw H.264 video format | Yes | Yes |
| idcin | id CIN format | No | Yes |
| image2 | image2 sequence | Yes | Yes |
| image2pipe | piped image2 sequence | Yes | Yes |
| ingenient | Ingenient MJPEG | No | Yes |
| ipmovie | Interplay MVE format | No | Yes |
| ipod | iPod H.264 MP4 format | Yes | Yes |
| lmlm4 | lmlm4 raw format | No | Yes |
| m4v | raw MPEG-4 video format | Yes | Yes |
| matroska | Matroska file format | Yes | Yes |
| mjpeg | MJPEG video | Yes | Yes |
| mlp | raw MLP | No | Yes |
| mm | American Laser Games MM format | No | Yes |
| mmf | mmf format | Yes | Yes |
| mov | MOV format | Yes | Yes |
| mov,mp4,m4a,3gp,3g2,mj2 | QuickTime/MPEG-4/Motion JPEG 2000 format | Yes | Yes |
| mp2 | MPEG audio layer 2 | Yes | Yes |
| mp3 | MPEG audio layer 3 | Yes | Yes |
| mp4 | MP4 format | Yes | Yes |
| mpc | Musepack | No | Yes |
| mpc8 | Musepack SV8 | No | Yes |
| mpeg | MPEG-1 System format | Yes | Yes |
| mpeg1video | MPEG video | Yes | Yes |
| mpeg2video | MPEG-2 video | Yes | Yes |
| mpegts | MPEG-2 transport stream format | Yes | Yes |
| mpegtsraw | MPEG-2 raw transport stream format | No | Yes |
| mpegvideo | MPEG video | Yes | Yes |
| mpjpeg | Mime multipart JPEG format | Yes | No |
| msnwctcp | MSN TCP Webcam stream | No | Yes |
| mulaw | PCM mu-law format | Yes | Yes |
| mvi | Motion Pixels MVI format | No | Yes |
| mxf | Material eXchange Format | Yes | Yes |
| nsv | NullSoft Video format | No | Yes |
| null | null video format | Yes | No |
| nut | NUT format | Yes | Yes |
| nuv | NuppelVideo format | No | Yes |
| ogg | Ogg | Yes | Yes |
| oma | Sony OpenMG audio | No | Yes |
| psp | PSP MP4 format | Yes | Yes |
| psxstr | Sony Playstation STR format | No | Yes |
| pva | TechnoTrend PVA file and stream format | No | Yes |
| rawvideo | raw video format | Yes | Yes |
| rcv | VC-1 test bitstream | Yes | No |
| redir | Redirector format | No | Yes |
| rl2 | rl2 format | No | Yes |
| rm | RM format | Yes | Yes |
| rpl | RPL/ARMovie format | No | Yes |
| rtp | RTP output format | Yes | No |
| rtsp | RTSP input format | No | Yes |
| s16be | PCM signed 16 bit big-endian format | Yes | Yes |
| s16le | PCM signed 16 bit little-endian format | Yes | Yes |
| s24be | PCM signed 24 bit big-endian format | Yes | Yes |
| s24le | PCM signed 24 bit little-endian format | Yes | Yes |
| s32be | PCM signed 32 bit big-endian format | Yes | Yes |
| s32le | PCM signed 32 bit little-endian format | Yes | Yes |
| s8 | PCM signed 8 bit format | Yes | Yes |
| sdp | SDP | No | Yes |
| shn | raw Shorten | No | Yes |
| siff | Beam Software SIFF | No | Yes |
| smk | Smacker video | No | Yes |
| sol | Sierra SOL format | No | Yes |
| svcd | MPEG-2 PS format (VOB) | Yes | Yes |
| swf | Flash format | Yes | Yes |
| thp | THP | No | Yes |
| tiertexseq | Tiertex Limited SEQ format | No | Yes |
| tta | True Audio | No | Yes |
| txd | txd format | No | Yes |
| u16be | PCM unsigned 16 bit big-endian format | Yes | Yes |
| u16le | PCM unsigned 16 bit little-endian format | Yes | Yes |
| u24be | PCM unsigned 24 bit big-endian format | Yes | Yes |
| u24le | PCM unsigned 24 bit little-endian format | Yes | Yes |
| u32be | PCM unsigned 32 bit big-endian format | Yes | Yes |
| u32le | PCM unsigned 32 bit little-endian format | Yes | Yes |
| u8 | PCM unsigned 8 bit format | Yes | Yes |
| vc1 | raw VC-1 | No | Yes |
| vc1test | VC-1 test bitstream format | No | Yes |
| vcd | MPEG-1 System format (VCD) | Yes | Yes |
| vfwcap | VFW video capture | No | Yes |
| vmd | Sierra VMD format | No | Yes |
| vob | MPEG-2 PS format (VOB) | Yes | Yes |
| voc | Creative Voice file format | Yes | Yes |
| vqf | TwinVQ format | No | Yes |
| wav | WAV format | Yes | Yes |
| wc3movie | Wing Commander III movie format | No | Yes |
| wsaud | Westwood Studios audio format | No | Yes |
| wsvqa | Westwood Studios VQA format | No | Yes |
| wv | WavPack | No | Yes |
| xa | Maxis XA File Format | No | Yes |
| yuv4mpegpipe | YUV4MPEG pipe format | Yes | Yes |
Codecs
| Format | Description | Type | Encode | Decode | Slice | Direct-Render | Truncated Input |
|---|---|---|---|---|---|---|---|
| 4xm | 4X Movie | Video | No | Yes | No | No | No |
| 8bps | QuickTime 8BPS video | Video | No | Yes | No | Yes | No |
| 8svx_exp | 8SVX exponential | Audio | No | Yes | No | No | No |
| 8svx_fib | 8SVX fibonacci | Audio | No | Yes | No | No | No |
| aac | Advanced Audio Coding | Audio | No | Yes | No | No | No |
| aasc | Autodesk RLE | Video | No | Yes | No | Yes | No |
| ac3 | ATSC A/52A (AC-3) | Audio | Yes | Yes | No | No | No |
| adpcm_4xm | 4X Movie ADPCM | Audio | No | Yes | No | No | No |
| adpcm_adx | SEGA CRI ADX | Audio | Yes | Yes | No | No | No |
| adpcm_ct | Creative Technology ADPCM | Audio | No | Yes | No | No | No |
| adpcm_ea | Electronic Arts ADPCM | Audio | No | Yes | No | No | No |
| adpcm_ea_maxis_xa | Electronic Arts Maxis CDROM XA ADPCM | Audio | No | Yes | No | No | No |
| adpcm_ea_r1 | Electronic Arts R1 ADPCM | Audio | No | Yes | No | No | No |
| adpcm_ea_r2 | Electronic Arts R2 ADPCM | Audio | No | Yes | No | No | No |
| adpcm_ea_r3 | Electronic Arts R3 ADPCM | Audio | No | Yes | No | No | No |
| adpcm_ea_xas | Electronic Arts XAS ADPCM | Audio | No | Yes | No | No | No |
| adpcm_ima_amv | IMA AMV ADPCM | Audio | No | Yes | No | No | No |
| adpcm_ima_dk3 | IMA Duck DK3 ADPCM | Audio | No | Yes | No | No | No |
| adpcm_ima_dk4 | IMA Duck DK4 ADPCM | Audio | No | Yes | No | No | No |
| adpcm_ima_ea_eacs | IMA Electronic Arts EACS ADPCM | Audio | No | Yes | No | No | No |
| adpcm_ima_ea_sead | IMA Electronic Arts SEAD ADPCM | Audio | No | Yes | No | No | No |
| adpcm_ima_qt | IMA QuickTime ADPCM | Audio | Yes | Yes | No | No | No |
| adpcm_ima_smjpeg | IMA Loki SDL MJPEG ADPCM | Audio | No | Yes | No | No | No |
| adpcm_ima_wav | IMA Wav ADPCM | Audio | Yes | Yes | No | No | No |
| adpcm_ima_ws | IMA Westwood ADPCM | Audio | No | Yes | No | No | No |
| adpcm_ms | Microsoft ADPCM | Audio | Yes | Yes | No | No | No |
| adpcm_sbpro_2 | Sound Blaster Pro 2-bit ADPCM | Audio | No | Yes | No | No | No |
| adpcm_sbpro_3 | Sound Blaster Pro 2.6-bit ADPCM | Audio | No | Yes | No | No | No |
| adpcm_sbpro_4 | Sound Blaster Pro 4-bit ADPCM | Audio | No | Yes | No | No | No |
| adpcm_swf | Shockwave Flash ADPCM | Audio | Yes | Yes | No | No | No |
| adpcm_thp | Nintendo Gamecube THP ADPCM | Audio | No | Yes | No | No | No |
| adpcm_xa | CDROM XA ADPCM | Audio | No | Yes | No | No | No |
| adpcm_yamaha | Yamaha ADPCM | Audio | Yes | Yes | No | No | No |
| alac | ALAC (Apple Lossless Audio Codec) | Audio | Yes | Yes | No | No | No |
| amv | AMV Video | Video | No | Yes | No | No | No |
| ape | Monkey's Audio | Audio | No | Yes | No | No | No |
| asv1 | ASUS V1 | Video | Yes | Yes | No | Yes | No |
| asv2 | ASUS V2 | Video | Yes | Yes | No | Yes | No |
| atrac3 | Atrac 3 (Adaptive TRansform Acoustic Coding 3) | Audio | No | Yes | No | No | No |
| avs | AVS (Audio Video Standard) video | Video | No | Yes | No | Yes | No |
| bethsoftvid | Bethesda VID video | Video | No | Yes | No | No | No |
| bfi | Brute Force & Ignorance | Video | No | Yes | No | No | No |
| bmp | BMP image | Video | Yes | Yes | No | No | No |
| c93 | Interplay C93 | Video | No | Yes | No | Yes | No |
| camstudio | CamStudio | Video | No | Yes | No | Yes | No |
| camtasia | TechSmith Screen Capture Codec | Video | No | Yes | No | Yes | No |
| cavs | Chinese AVS video (AVS1-P2, JiZhun profile) | Video | No | Yes | No | Yes | No |
| cinepak | Cinepak | Video | No | Yes | No | Yes | No |
| cljr | Cirrus Logic AccuPak | Video | No | Yes | No | Yes | No |
| cook | COOK | Audio | No | Yes | No | No | No |
| cyuv | Creative YUV (CYUV) | Video | No | Yes | No | Yes | No |
| dca | DCA (DTS Coherent Acoustics) | Audio | No | Yes | No | No | No |
| dnxhd | VC3/DNxHD | Video | Yes | Yes | No | Yes | No |
| dsicinaudio | Delphine Software International CIN audio | Audio | No | Yes | No | No | No |
| dsicinvideo | Delphine Software International CIN video | Video | No | Yes | No | Yes | No |
| dvbsub | DVB subtitles | Subtitle | Yes | Yes | No | No | No |
| dvdsub | DVD subtitles | Subtitle | Yes | Yes | No | No | No |
| dvvideo | DV (Digital Video) | Video | Yes | Yes | No | Yes | No |
| dxa | Feeble Files/ScummVM DXA | Video | No | Yes | No | No | No |
| eac3 | ATSC A/52B (AC-3, E-AC-3) | Audio | No | Yes | No | No | No |
| eacmv | Electronic Arts CMV Video | Video | No | Yes | No | Yes | No |
| eatgq | Electronic Arts TGQ Video | Video | No | Yes | No | Yes | No |
| eatgv | Electronic Arts TGV Video | Video | No | Yes | No | No | No |
| escape124 | Escape 124 | Video | No | Yes | No | Yes | No |
| ffv1 | FFmpeg codec #1 | Video | Yes | Yes | No | Yes | No |
| ffvhuff | Huffyuv FFmpeg variant | Video | Yes | Yes | Yes | Yes | No |
| flac | FLAC (Free Lossless Audio Codec) | Audio | Yes | Yes | No | No | No |
| flashsv | Flash Screen Video | Video | Yes | Yes | No | Yes | No |
| flic | Autodesk Animator Flic video | Video | No | Yes | No | Yes | No |
| flv | Flash Video | Video | Yes | Yes | Yes | Yes | No |
| fraps | Fraps | Video | No | Yes | No | Yes | No |
| g726 | G.726 ADPCM | Audio | Yes | Yes | No | No | No |
| gif | GIF (Graphics Interchange Format) | Video | Yes | Yes | No | No | No |
| h261 | H.261 | Video | Yes | Yes | No | Yes | No |
| h263 | H.263 | Video | Yes | Yes | Yes | Yes | Yes |
| h263i | H.263i | Video | No | Yes | Yes | Yes | No |
| h263p | H.263+ / H.263 version 2 | Video | Yes | No | No | No | No |
| h264 | H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10 | Video | No | Yes | No | Yes | No |
| huffyuv | Huffyuv / HuffYUV | Video | Yes | Yes | Yes | Yes | No |
| idcinvideo | id Quake II CIN video | Video | No | Yes | No | Yes | No |
| imc | IMC (Intel Music Coder) | Audio | No | Yes | No | No | No |
| indeo2 | Intel Indeo 2 | Video | No | Yes | No | Yes | No |
| indeo3 | Intel Indeo 3 | Video | No | Yes | No | No | No |
| interplay_dpcm | Interplay DPCM | Audio | No | Yes | No | No | No |
| interplayvideo | Interplay MVE Video | Video | No | Yes | No | Yes | No |
| jpegls | JPEG-LS | Video | Yes | Yes | No | Yes | No |
| kmvc | Karl Morton's video codec | Video | No | Yes | No | No | No |
| libfaac | libfaac AAC (Advanced Audio Codec) | Audio | Yes | No | No | No | No |
| libgsm | libgsm GSM | Audio | Yes | Yes | No | No | No |
| libgsm_ms | libgsm GSM Microsoft variant | Audio | Yes | Yes | No | No | No |
| libmp3lame | libmp3lame MP3 (MPEG audio layer 3) | Audio | Yes | No | No | No | No |
| libschroedinger | libschroedinger Dirac 2.2 | Video | Yes | Yes | No | No | No |
| libspeex | libspeex | Audio | No | Yes | No | No | No |
| libtheora | libtheora Theora | Video | Yes | No | No | No | No |
| libvorbis | libvorbis Vorbis | Audio | Yes | No | No | No | No |
| libx264 | libx264 H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10 | Video | Yes | No | No | No | No |
| libxvid | libxvidcore MPEG-4 part 2 | Video | Yes | No | No | No | No |
| ljpeg | Lossless JPEG | Video | Yes | No | No | No | No |
| loco | LOCO | Video | No | Yes | No | Yes | No |
| mace3 | MACE (Macintosh Audio Compression/Expansion) 3:1 | Audio | No | Yes | No | No | No |
| mace6 | MACE (Macintosh Audio Compression/Expansion) 6:1 | Audio | No | Yes | No | No | No |
| mdec | Sony PlayStation MDEC (Motion DECoder) | Video | No | Yes | No | Yes | No |
| mimic | Mimic | Video | No | Yes | No | Yes | No |
| mjpeg | MJPEG (Motion JPEG) | Video | Yes | Yes | No | Yes | No |
| mjpegb | Apple MJPEG-B | Video | No | Yes | No | Yes | No |
| mlp | Meridian Lossless Packing | Audio | No | Yes | No | No | No |
| mmvideo | American Laser Games MM Video | Video | No | Yes | No | Yes | No |
| motionpixels | Motion Pixels Video | Video | No | Yes | No | Yes | No |
| mp2 | MP2 (MPEG audio layer 2) | Audio | Yes | Yes | No | No | No |
| mp3 | MP3 (MPEG audio layer 3) | Audio | No | Yes | No | No | No |
| mp3adu | ADU (Application Data Unit) MP3 (MPEG audio layer 3) | Audio | No | Yes | No | No | No |
| mp3on4 | MP3onMP4 | Audio | No | Yes | No | No | No |
| mpc7 | Musepack SV7 | Audio | No | Yes | No | No | No |
| mpc8 | Musepack SV8 | Audio | No | Yes | No | No | No |
| mpeg1video | MPEG-1 video | Video | Yes | Yes | Yes | Yes | Yes |
| mpeg2video | MPEG-2 video | Video | Yes | Yes | Yes | Yes | Yes |
| mpeg4 | MPEG-4 part 2 | Video | Yes | Yes | Yes | Yes | Yes |
| mpegvideo | MPEG-1 video | Video | No | Yes | Yes | Yes | Yes |
| msmpeg4 | MPEG-4 part 2 Microsoft variant version 3 | Video | Yes | Yes | Yes | Yes | No |
| msmpeg4v1 | MPEG-4 part 2 Microsoft variant version 1 | Video | Yes | Yes | Yes | Yes | No |
| msmpeg4v2 | MPEG-4 part 2 Microsoft variant version 2 | Video | Yes | Yes | Yes | Yes | No |
| msrle | Microsoft RLE | Video | No | Yes | No | Yes | No |
| msvideo1 | Microsoft Video 1 | Video | No | Yes | No | Yes | No |
| mszh | LCL (LossLess Codec Library) MSZH | Video | No | Yes | No | Yes | No |
| nellymoser | Nellymoser Asao Codec | Audio | Yes | Yes | No | No | No |
| nuv | NuppelVideo | Video | No | Yes | No | Yes | No |
| pam | PAM (Portable AnyMap) image | Video | Yes | Yes | No | No | No |
| pbm | PBM (Portable BitMap) image | Video | Yes | Yes | No | No | No |
| pcm_alaw | A-law PCM | Audio | Yes | Yes | No | No | No |
| pcm_dvd | 24-bit big-endian PCM | Audio | No | Yes | No | No | No |
| pcm_f32be | 32-bit floating point big-endian PCM | Audio | Yes | Yes | No | No | No |
| pcm_f32le | 32-bit floating point little-endian PCM | Audio | Yes | Yes | No | No | No |
| pcm_f64be | 64-bit floating point big-endian PCM | Audio | Yes | Yes | No | No | No |
| pcm_f64le | 64-bit floating point little-endian PCM | Audio | Yes | Yes | No | No | No |
| pcm_mulaw | mu-law PCM | Audio | Yes | Yes | No | No | No |
| pcm_s16be | signed 16-bit big-endian PCM | Audio | Yes | Yes | No | No | No |
| pcm_s16le | signed 16-bit little-endian PCM | Audio | Yes | Yes | No | No | No |
| pcm_s16le_planar | 16-bit little-endian planar PCM | Audio | No | Yes | No | No | No |
| pcm_s24be | signed 24-bit big-endian PCM | Audio | Yes | Yes | No | No | No |
| pcm_s24daud | D-Cinema audio signed 24-bit PCM | Audio | Yes | Yes | No | No | No |
| pcm_s24le | signed 24-bit little-endian PCM | Audio | Yes | Yes | No | No | No |
| pcm_s32be | signed 32-bit big-endian PCM | Audio | Yes | Yes | No | No | No |
| pcm_s32le | signed 32-bit little-endian PCM | Audio | Yes | Yes | No | No | No |
| pcm_s8 | signed 8-bit PCM | Audio | Yes | Yes | No | No | No |
| pcm_u16be | unsigned 16-bit big-endian PCM | Audio | Yes | Yes | No | No | No |
| pcm_u16le | unsigned 16-bit little-endian PCM | Audio | Yes | Yes | No | No | No |
| pcm_u24be | unsigned 24-bit big-endian PCM | Audio | Yes | Yes | No | No | No |
| pcm_u24le | unsigned 24-bit little-endian PCM | Audio | Yes | Yes | No | No | No |
| pcm_u32be | unsigned 32-bit big-endian PCM | Audio | Yes | Yes | No | No | No |
| pcm_u32le | unsigned 32-bit little-endian PCM | Audio | Yes | Yes | No | No | No |
| pcm_u8 | unsigned 8-bit PCM | Audio | Yes | Yes | No | No | No |
| pcm_zork | Zork PCM | Audio | Yes | Yes | No | No | No |
| pcx | PC Paintbrush PCX image | Video | No | Yes | No | No | No |
| pgm | PGM (Portable GrayMap) image | Video | Yes | Yes | No | No | No |
| pgmyuv | PGMYUV (Portable GrayMap YUV) image | Video | Yes | Yes | No | No | No |
| png | PNG image | Video | Yes | Yes | No | No | No |
| ppm | PPM (Portable PixelMap) image | Video | Yes | Yes | No | No | No |
| ptx | V.Flash PTX image | Video | No | Yes | No | No | No |
| qcelp | QCELP / PureVoice | Audio | No | Yes | No | No | No |
| qdm2 | QDesign Music Codec 2 | Audio | No | Yes | No | No | No |
| qdraw | Apple QuickDraw | Video | No | Yes | No | Yes | No |
| qpeg | Q-team QPEG | Video | No | Yes | No | Yes | No |
| qtrle | QuickTime Animation (RLE) video | Video | Yes | Yes | No | Yes | No |
| rawvideo | raw video | Video | Yes | Yes | No | No | No |
| real_144 | RealAudio 1.0 (14.4K) | Audio | No | Yes | No | No | No |
| real_288 | RealAudio 2.0 (28.8K) | Audio | No | Yes | No | No | No |
| rl2 | RL2 video | Video | No | Yes | No | Yes | No |
| roq_dpcm | id RoQ DPCM | Audio | Yes | Yes | No | No | No |
| roqvideo | id RoQ video | Video | Yes | Yes | No | Yes | No |
| rpza | QuickTime video (RPZA) | Video | No | Yes | No | Yes | No |
| rv10 | RealVideo 1.0 | Video | Yes | Yes | No | Yes | No |
| rv20 | RealVideo 2.0 | Video | Yes | Yes | No | Yes | No |
| rv30 | RealVideo 3.0 | Video | No | Yes | No | Yes | No |
| rv40 | RealVideo 4.0 | Video | No | Yes | No | Yes | No |
| sgi | SGI image | Video | Yes | Yes | No | No | No |
| shorten | Shorten | Audio | No | Yes | No | No | No |
| smackaud | Smacker audio | Audio | No | Yes | No | No | No |
| smackvid | Smacker video | Video | No | Yes | No | No | No |
| smc | QuickTime Graphics (SMC) | Video | No | Yes | No | Yes | No |
| snow | Snow | Video | Yes | Yes | No | No | No |
| sol_dpcm | Sol DPCM | Audio | No | Yes | No | No | No |
| sonic | Sonic | Audio | Yes | Yes | No | No | No |
| sonicls | Sonic lossless | Audio | Yes | No | No | No | No |
| sp5x | Sunplus JPEG (SP5X) | Video | No | Yes | No | Yes | No |
| sunrast | Sun Rasterfile image | Video | No | Yes | No | No | No |
| svq1 | Sorenson Vector Quantizer 1 | Video | Yes | Yes | No | Yes | No |
| svq3 | Sorenson Vector Quantizer 3 | Video | No | Yes | Yes | Yes | No |
| targa | Truevision Targa image | Video | Yes | Yes | No | No | No |
| theora | Theora | Video | No | Yes | No | No | No |
| thp | Nintendo Gamecube THP video | Video | No | Yes | No | Yes | No |
| tiertexseqvideo | Tiertex Limited SEQ video | Video | No | Yes | No | Yes | No |
| tiff | TIFF image | Video | Yes | Yes | No | No | No |
| truemotion1 | Duck TrueMotion 1.0 | Video | No | Yes | No | Yes | No |
| truemotion2 | Duck TrueMotion 2.0 | Video | No | Yes | No | Yes | No |
| truespeech | DSP Group TrueSpeech | Audio | No | Yes | No | No | No |
| tta | True Audio | Audio | No | Yes | No | No | No |
| txd | Renderware TXD (TeXture Dictionary) image | Video | No | Yes | No | No | No |
| ultimotion | IBM UltiMotion | Video | No | Yes | No | Yes | No |
| vb | Beam Software VB | Video | No | Yes | No | No | No |
| vc1 | SMPTE VC-1 | Video | No | Yes | No | No | No |
| vcr1 | ATI VCR1 | Video | No | Yes | No | Yes | No |
| vmdaudio | Sierra VMD audio | Audio | No | Yes | No | No | No |
| vmdvideo | Sierra VMD video | Video | No | Yes | No | Yes | No |
| vmnc | VMware Screen Codec / VMware Video | Video | No | Yes | No | No | No |
| vorbis | Vorbis | Audio | Yes | Yes | No | No | No |
| vp3 | On2 VP3 | Video | No | Yes | No | No | No |
| vp5 | On2 VP5 | Video | No | Yes | No | Yes | No |
| vp6 | On2 VP6 | Video | No | Yes | No | Yes | No |
| vp6a | On2 VP6 (Flash version, with alpha channel) | Video | No | Yes | No | Yes | No |
| vp6f | On2 VP6 (Flash version) | Video | No | Yes | No | Yes | No |
| vqavideo | Westwood Studios VQA (Vector Quantized Animation) video | Video | No | Yes | No | Yes | No |
| wavpack | WavPack | Audio | No | Yes | No | No | No |
| wmav1 | Windows Media Audio 1 | Audio | Yes | Yes | No | No | No |
| wmav2 | Windows Media Audio 2 | Audio | Yes | Yes | No | No | No |
| wmv1 | Windows Media Video 7 | Video | Yes | Yes | Yes | Yes | No |
| wmv2 | Windows Media Video 8 | Video | Yes | Yes | Yes | Yes | No |
| wmv3 | Windows Media Video 9 | Video | No | Yes | No | No | No |
| wnv1 | Winnov WNV1 | Video | No | Yes | No | Yes | No |
| ws_snd1 | Westwood Audio (SND1) | Audio | No | Yes | No | No | No |
| xan_dpcm | Xan DPCM | Audio | No | Yes | No | No | No |
| xan_wc3 | Wing Commander III / Xan | Video | No | Yes | No | Yes | No |
| xl | Miro VideoXL | Video | No | Yes | No | Yes | No |
| xsub | XSUB | Subtitle | No | Yes | No | No | No |
| zlib | LCL (LossLess Codec Library) ZLIB | Video | Yes | Yes | No | Yes | No |
| zmbv | Zip Motion Blocks Video | Video | Yes | Yes | No | No | No |
| Format | Description | Type | Encode | Decode | Slice | Direct-Render | Truncated Input |
Codecs with the origin in the project:
- Snow
- FFV1
The FFmpeg developers have implemented among others:
- ATRAC3[5]
- H.261,[5] H.263[5] and H.264/MPEG-4 AVC[5]
- Indeo 2 and 3[5]
- QDesign Music Codec 2, used by many QuickTime movies prior to QuickTime 7.
- Smacker video
- Sorenson 3 Codec used by many QuickTime movies
- Theora (together with Vorbis makes a base for the .ogg format)
- Truespeech
- TXD[6]
- VP5[5] and VP6[5]
- Vorbis
- Windows Media Audio
- Some Windows Media Video codecs, including WMV1, WMV2 and WMV3
- AVID DNxHD
The default MPEG-4 codec used by FFmpeg for encoding has the FourCC of FMP4.
Formats
- ASF
- AVI
- BFI[7]
- IFF[8]
- RL2[9]
- FLV
- MXF, Material eXchange Format, SMPTE 377M
- Matroska
- Maxis XA[10]
- MSN Webcam stream[11]
- MPEG transport stream
- TXD[6]
- OMA[12]
- GXF, General eXchange Format, SMPTE 360M
Protocols
Projects using FFmpeg
FFmpeg is used by many open source projects, including ffmpeg2theora, VLC, MPlayer, Handbrake, Blender, Google Chrome and others.[13]
Multimedia frameworks using FFmpeg
- DirectShow/VFW
- ffdshow (external project)
- QuickTime
- Perian (external project)
- GStreamer
- GStreamer FFmpeg plug-in (external project)
Legal status of codecs
FFmpeg contains more than 100 codecs [14] most of which do not just store uncompressed data. At least all codecs that compress information could be claimed by patent holders.[15] Such claims may be enforceable in countries like the United States which have implemented software patents, 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, some European Union nations have not implemented software patents and/or have laws expressly allowing reverse engineering for purposes of interoperability.[16]
Most GNU/Linux distributions include a stripped version of FFmpeg only including certain codecs to avoid legal complications, instead providing such software at unofficial repositories.[citation needed]
See also
- MPlayer, the media player that takes much of its source 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
- VLC media player uses FFmpeg at codec base, adds other codecs, cross platform
- RetroCode, an open source encoder/decoder for proprietary mobile content formats, based in parts on FFmpeg
- Open source codecs and containers
References
- ^ FFmpeg Documentation
- ^ Bellard, Fabrice (18 February 2006). "FFmpeg naming and logo". FFmpeg developer mailing list. Mplayer website. http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/2006-February/007707.html. Retrieved 2007-03-29.
- ^ FFmpeg Automated Testing Environment
- ^ "FFmpeg Download and SVN". FFmpeg website. http://ffmpeg.org/download.html. Retrieved 2008-03-22.
- ^ a b c d e f g banan (17 April 2007). "Changelog". FFmpeg trunk SVN. FFmpeg website. http://svn.mplayerhq.hu/ffmpeg/trunk/Changelog?revision=8747&view=marku. Retrieved 2007-04-26.
- ^ a b banan (7 May 2007). "FFmpeg development mailing list". FFmpeg development. FFmpeg website. http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/2007-May/028761.html. Retrieved 2007-06-01.
- ^ vitor (2008-04-13). "FFmpeg development mailing list". FFmpeg development. FFmpeg website. https://lists.mplayerhq.hu/pipermail/ffmpeg-cvslog/2008-April/013231.html. Retrieved 2008-04-14.
- ^ vitor (2008-03-30). "FFmpeg development mailing list". FFmpeg development. FFmpeg website. https://lists.mplayerhq.hu/pipermail/ffmpeg-cvslog/2008-March/012963.html. Retrieved 2008-03-30.
- ^ faust3 (2008-03-21). "FFmpeg development mailing list". FFmpeg development. FFmpeg website. http://lists.mplayerhq.hu/pipermail/ffmpeg-cvslog/2008-March/012799.html. Retrieved 2008-03-21.
- ^ benoit (2008-04-14). "FFmpeg development mailing list". FFmpeg development. FFmpeg website. https://lists.mplayerhq.hu/pipermail/ffmpeg-cvslog/2008-April/013245.html. Retrieved 2008-04-14.
- ^ ramiro (2008-03-18). "FFmpeg development mailing list". FFmpeg development. FFmpeg website. http://lists.mplayerhq.hu/pipermail/ffmpeg-cvslog/2008-March/012708.html. Retrieved 2008-03-18.
- ^ banan (2008-06-08). "FFmpeg development mailing list". FFmpeg development. FFmpeg website. http://lists.mplayerhq.hu/pipermail/ffmpeg-cvslog/2008-June/014417.html. Retrieved 2008-06-08.
- ^ http://ffmpeg.org/projects.html
- ^ "Codecs list". http://ffmpeg.org/general.html#SEC8.
- ^ "Legal information on FFmpeg's website". http://ffmpeg.org/legal.html.
- ^ . Council Directive 91/250/EEC of 14 May 1991 on the legal protection of computer programs.
External links
This entry is from Wikipedia, the leading user-contributed encyclopedia. It may not have been reviewed by professional editors (see full disclaimer)




