%general-entities; ]> $LastChangedBy$ $Date$ FFmpeg-&ffmpeg-version; FFmpeg Introduction to FFmpeg FFmpeg is a solution to record, convert and stream audio and video. It is a very fast video and audio converter and it can also acquire from a live audio/video source. Designed to be intuitive, the command-line interface (ffmpeg) tries to figure out all the parameters, when possible. FFmpeg can also convert from any sample rate to any other, and resize video on the fly with a high quality polyphase filter. FFmpeg can use a video4linux compatible video source and any Open Sound System audio source. The developers of this package do not make releases very often, so you may wish to use a snapshot instead of this release. If you do that, you must expect the acceptable configure switches, and the dependencies, to change. &lfs70_checked; Package Information Download (HTTP): Download (FTP): Download MD5 sum: &ffmpeg-md5sum; Download size: &ffmpeg-size; Estimated disk space required: &ffmpeg-buildsize; Estimated build time: &ffmpeg-time; FFmpeg Dependencies Recommended Optional , , , , , , x264 , AMR narrowband (floating point), AMR wideband, , , GSM, , libdc1394, libnut (SVN checkout), librtmp, libschroedinger, MediaLibrary, OpenJPEG (FFmpeg includes code for it's own jpeg2000 encoder and decoder which is enabled by default), , and texi2html (to build HTML documentation). User Notes: Installation of FFmpeg Install FFmpeg by running the following commands: mkdir build && cd build && ../configure --prefix=/usr --enable-shared --disable-static --enable-gpl && make The FFmpeg source contains a tool called qt-faststart that can modify QuickTime formatted movies (mov or mp4) so that the header information is located at the beginning of the file instead of the end. This allows video players to begin playing the content before the entire file has been downloaded. An example of where this is useful for preparing videos before uploading them to YouTube. If need qt-faststart, you can compile it with gcc: gcc ../tools/qt-faststart.c -o qt-faststart If you have installed and wish to create the API documentation (takes about 150 MB of space), issue the command doxygen. This package does not come with a working test suite. Now, as the root user: make install && make install-man && mkdir /usr/share/doc/ffmpeg-&ffmpeg-version; && cp ../doc/*.txt /usr/share/doc/ffmpeg-&ffmpeg-version; If you used doxygen to create the API documentation, install it by issuing the following commands as the root user: mkdir /usr/share/doc/ffmpeg-&ffmpeg-version;/api && cp -v doxy/* /usr/share/doc/ffmpeg-&ffmpeg-version;/api If you compiled qt-faststart install it as the root user: cp qt-faststart /usr/bin Command Explanations mkdir build and cd build: This ensures that we compile the FFmpeg object files in a separate directory to the source files. : This switch is needed to build the shared libraries, otherwise only static libraries are built and installed. : This switch prevents the static libraries from being built. : This switch enables the use of GPL code and permits support for postprocessing, swscale and many other features. : FFmpeg comes with code to compile decoders for almost every codec you could think of. The only reason to enable a specific codec (and make FFmpeg link to the prerequisite shared library installed on your system) is to make ffmpeg compile an encoder for that codec. Encoding video is a specialist job. If that is what you want to do with ffmpeg, study the output of configure --help. Remember, the dependencies all install their own encoders (that are often better than FFmpeg's). FFmpeg is an excellent collection of decoders. If you just want to use FFmpeg to watch video or listen to music (via other applications like Gstreamer) then you will not benefit from linking it to another library. : use this option if you've not installed yasm and you want what configure describes as "a crippled build". Configuring FFmpeg Config Files /etc/ffserver.conf and ~/.ffmpeg/ffserver-config ~/.ffmpeg/ffserver-config /etc/ffserver.conf You'll find a sample ffserver configuration file at doc/ffserver.conf in the source tree. Contents Installed Programs Installed Libraries Installed Directories ffmpeg, ffplay, ffprobe, ffserver and qt-faststart libavcodec.so, libavdevice.so, libavfilter.so, libavformat.so, libavutil.so, libpostproc.so, and libswscale.so /usr/include/libavcodec, /usr/include/libavdevice, /usr/include/libavfilter, /usr/include/libavformat, /usr/include/libavutil, /usr/include/postproc, /usr/include/libswscale, /usr/share/ffmpeg, and /usr/share/doc/ffmpeg-&ffmpeg-version; Short Descriptions ffmpeg is a command-line tool to convert video files, network streams and input from a TV card to several video formats. ffmpeg ffplay is a very simple and portable media player using the ffmpeg libraries and the SDL library. ffplay ffprobe gathers information from multimedia streams and prints it in a human and machine-readable fashion. ffprobe ffserver is a streaming server for everything that ffmpeg could use as input (files, streams, TV card input, webcam, etc.). ffserver qt-faststart moves the index file to the front of quicktime (mov/mp4) videos. qt-faststart libavcodec.so is a library containing the FFmpeg codecs (both encoding and decoding). libavcodec.so libavdevice.so is the FFmpeg device handling library. libavdevice.so libavfilter.so is a library of filters that can alter video or audio between the decoder and the encoder (or output). libavfilter.so libavformat.so is a library containing the file formats handling (mux and demux code for several formats) used by ffplay as well as allowing the generation of audio or video streams. libavformat.so libavutil.so is the FFmpeg utility library. libavutil.so libpostproc.so is the FFmpeg post processing library. libpostproc.so libswscale.so is the FFmpeg image rescaling library. libswscale.so