The project is made of several components:
- ffmpeg is a command line tool to convert multimedia files between formats.
- ffserver is a multimedia streaming server for live broadcasts.
- ffplay is a simple media player based on SDL and the FFmpeg libraries.
- libavutil is a library containing functions for simplifying programming, including random number generators, data structures, mathematics routines and much more.
- libavcodec is a library containing decoders and encoders for audio/video codecs.
- libavformat is a library containing demuxers and muxers for multimedia container formats.
- libavdevice is a library containing input and output devices for grabbing from and rendering to many common multimedia input/output software frameworks, including Video4Linux, Video4Linux2, VfW, and ALSA.
- libswscale is a library performing highly optimized image scaling and color space/pixel format conversion operations.
FFmpeg Download and SVN
Getting FFmpeg
FFmpeg has always been a very experimental and developer-driven project. It is a key component in many multimedia projects and has new features added constantly. SVN snapshots work really well 99% of the time so people are not afraid to use them.
FFmpeg SVN
In order to use the standard SVN client to check out the source code:
svn checkout svn://svn.ffmpeg.org/ffmpeg/trunk ffmpeg
If you cannot access the repository, you are being firewalled somewhere. Our Subversion setup does not work over HTTP/HTTPS, nor will it in the future. There is no point in asking for it, the decision is final.
We also provide nightly Subversion snapshots. You can choose between a full checkout that you can update with Subversion or bare sources that are smaller but don't come with Subversion metadata.
FFmpeg Git
There are Git repositories of FFmpeg and libswscale. Both are kept in sync with SVN automatically. To allow building FFmpeg with libswscale, the libswscale directory must be present inside the FFmpeg directory. They can be cloned with the commands:
git clone git://git.ffmpeg.org/ffmpeg/ cd ffmpeg git clone git://git.ffmpeg.org/libswscale/
Alternatively, you can browse it online.