%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. &lfs67_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 , , , , , , x264 (tested with the 20100615-2245 snapshot : x264 needs yasm unless you configure it with --disable-asm), Optional AMR narrowband (floating point), AMR wideband, , , GSM, , , libdc1394, libnut (SVN checkout), librtmp, libschroedinger, MediaLibrary, OpenJPEG, , , yasm, and or texi2html (to build HTML documentation) User Notes: Installation of FFmpeg Install FFmpeg by running the following commands: sed -i 's/-number//' Makefile && ./configure --prefix=/usr --enable-shared \ --enable-pthreads --enable-gpl \ --enable-swscale --enable-postproc \ --enable-libfaad --enable-libmp3lame \ --enable-libtheora --enable-libvorbis \ --enable-libvpx --enable-libx264 \ --enable-libxvid && make If you have teTeX or texi2html installed, the HTML documentation was built during the make process. If you wish to create additional formats of the documentation, you must have teTeX or installed, and issue the following commands: cd doc && for DOCNAME in faq ffmpeg-doc ffplay-doc ffprobe-doc ffserver-doc general libavfilter; do texi2dvi -b -p $DOCNAME.texi texi2dvi -b $DOCNAME.texi dvips -o $DOCNAME.ps $DOCNAME.dvi if [ $DOCNAME = ffserver-doc ] || [ $DOCNAME = ffplay-doc ] || [ $DOCNAME = ffprobe-doc ]; then \ continue fi makeinfo --plaintext --force -o $DOCNAME.txt $DOCNAME.texi done && cd .. && unset DOCNAME If you have installed and wish to create the API documentation (takes about 150 MB of space), issue doxygen. If you wish to run the tests, issue: make check - that will take about 0.9 SBU and use another 365 MB of space. Now, as the root user: make install && install -v -m755 -d /usr/share/doc/ffmpeg-&ffmpeg-version; && install -v -m644 doc/*.txt /usr/share/doc/ffmpeg-&ffmpeg-version; && texi2html --version >/dev/null 2>&1 || make install-man If you created additional formats of the documentation, install it by issuing the following commands as the root user: install -v -m644 doc/*.{html,dvi,pdf,ps} \ /usr/share/doc/ffmpeg-&ffmpeg-version; If you created the API documentation, install it by issuing the following commands as the root user: install -v -m755 -d /usr/share/doc/ffmpeg-&ffmpeg-version;/api && cp -v doxy/* /usr/share/doc/ffmpeg-&ffmpeg-version;/api Command Explanations sed -i 's/-number//' Makefile: Recent versions of gnu texi2html error out because -number is now ambiguous (for number-footnote or number-sections). Neither choice makes any difference to what is created here, and the same is true with older versions of texi2html, e.g. from application teTeX. --enable-shared: This switch is needed to build the shared libraries, otherwise only static libraries are built and installed. --enable-pthreads: This switch enables the build to link against the Posix threads library. --enable-gpl: This switch enables the use of GPL code and permits support for postprocessing, swscale, liba54, xvid, x264, libfaad2 and x11grab to be selected. --enable-swscale: This switch causes libswscale to be built. --enable-postprocessing: This switch causes libpostproc to be built. : Review the available options and codecs using the ./configure --help command. You must explicitly enable each optional codec. If you have not installed some of the recommended dependencies, do not enable those you have omitted. : Only installs the server part. Use this option if X is not installed. : This switch prevents the static libraries from being built. if [ $DOCNAME = ffserver-doc ] ... These three .texi files are rejected by makeinfo because of syntax errors. 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 (also doc/ffserver.conf in the source tree). Contents Installed Programs Installed Libraries Installed Directories ffmpeg, ffplay, ffprobe, and ffserver libavcodec.{so,a}, libavdevice.{so,a}, libavformat.{so,a}, libavutil.{so,a}, libpostproc.{so,a}, and libswscale.{so,a} /usr/include/libavcodec, /usr/include/libavdevice, /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 ffserver is a streaming server for everything that ffmpeg could use as input (files, streams, TV card input, webcam, etc.). ffserver libavcodec.{so,a} is a library containing the FFmpeg codecs (both encoding and decoding). libavcodec.{so,a} libavdevice.{so,a} is the FFmpeg device handling library. libavdevice.{so,a} libavformat.{so,a} 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,a} libavutil.{so,a} is the FFmpeg utility library. libavutil.{so,a} libpostproc.{so,a} is the FFmpeg post processing library. libpostproc.{so,a} libswscale.{so,a} is the FFmpeg image rescaling library. libswscale.{so,a}