FFmpeg Codec and Libraries
How to Compile FFmpeg from source Ubuntu 14.10
Compiling ffmpeg from source is pretty simple for Ubuntu 14.10, but this should work on most distros. Grab the latest stable tarball for FFmpeg, install yasm and configure, make and make install ffmpeg.
apt-get install yasm wget http://ffmpeg.org/releases/ffmpeg-2.5.3.tar.bz2 tar xvf ffmpeg-2.5.3.tar.bz2 cd ffmpeg-2.5.3/ ./configure make make install
FFmpeg Example server config file and Info Links
FFmpeg Codec Library List and Explanations
FFmpeg has the same libraries that libav does, but in addition it also has some ffmpeg specific utilities. If you install the full version of ffmpeg then you do not need to have libav since it appears to have the same set of opensource libraries. I chose to install the full version of ffmpeg when I configured PotPlayer's Audio Decoder to use the full version of ffmpeg, by default PotPlayer uses "FFmpegMinimum.dll" but I went with "FFmpeg.dll", which I would assume is the non-minimal version? I'm not exactly clear on that, but the point is FFmpeg does a damn fine job at improving audio quality. Since I don't know a ton of stuff about FFmpeg right now, I suggest you check out the official documentation below. As I bring myself up to speed I will add in other sections.
If you install the full version of FFmpeg then you do not need to have libav, or other open source codecs since it appears a lot of codec packs include the same opensource libraries.
FFmpeg contains the following libraries which can be used by most applications that deal with media files.
- libavcodec library contains the decoders and encoders for audio and video codecs -- http://ffmpeg.org/libavcodec.html
- libavutil library contains functions such as random number generators, data structures and some core utilities -- http://ffmpeg.org/libavutil.html
- libavformat library contains demuxers as well as muxers for container formats -- http://ffmpeg.org/libavformat.html
- libavfilter library contains media filters -- http://ffmpeg.org/libavfilter.html
- libavdevice library contains the I/O (input and output) devices that take from, and render to most common software frameworks -- http://ffmpeg.org/libavdevice.html
- libswscale library handles image scaling and color / pixel format conversion. -- http://ffmpeg.org/libswscale.html
- libswresample library handles audio resampling, rematrixing and over sample format conversion things -- http://ffmpeg.org/libswresample.html
FFmpeg also contains the following, which can be used for transcoding, streaming and playing audio and video files.
- ffmpeg A command line tool that converts media to various formats -- http://ffmpeg.org/ffmpeg.html
- ffserver A server that streams multimedia / live stream broadcasts -- http://ffmpeg.org/ffserver.html
- ffplay A simple media player that uses ffmpeg libraries -- http://ffmpeg.org/ffplay.html
- ffprobe A multimedia stream analyzer -- http://ffmpeg.org/ffprobe.html