FFmpeg-svn_20070606
      
      
        
          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 create or distribute
          package tarballs any longer. BLFS created the tarball for this
          package by checking out from upstream SVN the FFmpeg code dated June 6, 2007.
        
        
          Package Information
        
        
        
          FFmpeg Dependencies
        
        
          Optional
        
        
          AMR
          narrowband (floating point), AMR wideband, FAAC-1.26, FAAD2-2.6.1, FreeType-2.3.7, GSM, Imlib2-1.4.0, LAME-3.97, liba52-0.7.4, libdc1394,
          libnut (SVN checkout),
          libvorbis-1.2.0, MediaLibrary, SDL-1.2.11, Theora, X Window
          System, x264, XviD-1.1.3, and
          teTeX-3.0 (to build HTML documentation)
        
        
          User Notes: http://wiki.linuxfromscratch.org/blfs/wiki/ffmpeg
        
       
      
        
          Installation of FFmpeg
        
        
          Review the doc/optimization.txt file
          in the source tree for information about optimizing the build.
          Additionally, you may want to build the postprocessing library as
          other packages such as MPlayer-1.0rc1 and Transcode-1.0.3 can
          utilize it, and xine Libraries-1.1.12 depends on it.
          See the “Command
          Explanations” section for additional information.
        
        
          Install FFmpeg by running the
          following commands:
        
        
./configure --prefix=/usr \
            --enable-shared \
            --enable-pthreads \
            --disable-ffplay &&
sed -i 's|/man|/share/man|' config.mak &&
make &&
texi2html --version >/dev/null 2>&1 || make doc/ff{mpeg,play,server}.1
        
          If you have teTeX installed, the
          HTML documentation was built during the make process. If you wish to
          create additional formats of the documentation, you must have
          teTeX installed, then issue
          following commands:
        
        
cd doc &&
for DOCNAME in faq ffmpeg-doc hooks ffserver-doc ffplay-doc; do
    texi2dvi -b -p $DOCNAME.texi
    texi2dvi -b    $DOCNAME.texi
    dvips -o $DOCNAME.ps $DOCNAME.dvi
    if [ $DOCNAME = ffserver-doc ] || [ $DOCNAME = ffplay-doc ]; then \
        continue
    fi
    makeinfo --plaintext --force -o $DOCNAME.txt $DOCNAME.texi
done &&
cd .. &&
unset DOCNAME
        
          If you have Doxygen-1.5.2 installed and wish to create the
          API documentation (takes about 100 MB of space), issue doxygen.
        
        
          This package does not come with a test suite that works.
        
        
          Now, as the root user:
        
        
make install &&
install -v -m755 -d        /usr/share/doc/ffmpeg-svn_20070606 &&
install -v -m644 doc/*.txt /usr/share/doc/ffmpeg-svn_20070606 &&
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-svn_20070606
        
          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-svn_20070606/api &&
cp -v doxy/*        /usr/share/doc/ffmpeg-svn_20070606/api
       
      
        
          Command Explanations
        
        
          --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.
        
        
          --disable-ffplay: Only
          installs the server part. ffplay requires X for building. Remove this option if
          X is installed.
        
        
          --enable-<codec>: Review the
          available options and codecs using the ./configure --help command. You
          must explicitly enable each optional codec. Note that if you wish
          to build support for postprocessing, liba52, xvid, x264, libfaad2,
          x11grab or swscaler, you must pass --enable-gpl to the configure script.
        
        
          --enable-pp: This switch
          enables postprocessing support.
        
        
          --enable-gpl: This switch
          enables the use of GPL code for postprocessing support.
        
        
          texi2html --version
          ...: These commands are used to check the presence
          of the teTeX package, and
          builds/installs the man pages if it is not found.
        
       
      
      
        
          Contents
        
        
          
            
              Installed Programs:
              ffmpeg, ffserver, and optionally,
              ffplay
            
            
              Installed Libraries:
              libavcodec.{so,a}, libavformat.{so,a},
              libavutil.{so,a}, video hook modules and optionally,
              libpostproc.{so,a}
            
            
              Installed Directories:
              /usr/include/ffmpeg,
              /usr/include/postproc, /usr/lib/vhook, and
              /usr/share/doc/ffmpeg-svn_20070606
            
           
         
        
          
            Short Descriptions
          
          
            
            
              
                | 
                   
                    ffmpeg
                   
                 | 
                
                   
                    is a command-line tool to convert video files, network
                    streams and input from a TV card to several video
                    formats.
                   
                 | 
              
              
                | 
                   
                    ffplay
                   
                 | 
                
                   
                    is a very simple and portable media player using the
                    ffmpeg libraries and the
                    SDL library.
                   
                 | 
              
              
                | 
                   
                    ffserver
                   
                 | 
                
                   
                    is a streaming server for everything that ffmpeg could use as
                    input (files, streams, TV card input, webcam, etc.).
                   
                 | 
              
              
                | 
                   
                    libavcodec.so
                   
                 | 
                
                   
                    is a library containing the FFmpeg codecs (both encoding and
                    decoding).
                   
                 | 
              
              
                | 
                   
                    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.
                   
                 | 
              
            
          
         
       
      
        Last updated on 2008-05-09 08:00:42 -0500