Difference between revisions of "FFmpeg"

From CBLFS
Jump to navigationJump to search
Line 28: Line 28:
 
Look at the output of '''./configure --help''' and add the parameters for the optional dependencies you have installed.
 
Look at the output of '''./configure --help''' and add the parameters for the optional dependencies you have installed.
  
A few options you may want to use:
+
The following is a list of options you may want to pass:
  
  --enable-pp
+
  --enable-libdc1394 --enable-libfaac \
--enable-liba52
+
  --enable-libfaad --enable-libgsm \
  --enable-libfaac
+
  --enable-libmp3lame --enable-libnut \
--enable-libfaad
+
  --enable-libopenjpeg --enable-libschroedinger \
  --enable-libmp3lame
+
  --enable-libspeex --enable-libtheora \
  --enable-libogg
+
  --enable-libvorbis --enable-libx264 \
  --enable-libtheora
 
  --enable-libx264
 
 
  --enable-libxvid
 
  --enable-libxvid
--enable-libvorbis
 
  
 
== Non-Multilib ==
 
== Non-Multilib ==
Line 47: Line 44:
 
  ./configure --prefix=/usr --enable-shared \
 
  ./configure --prefix=/usr --enable-shared \
 
     --enable-pthreads --enable-gpl \
 
     --enable-pthreads --enable-gpl \
     --disable-ffplay --enable-postproc &&
+
     --disable-ffplay --enable-postproc \
 +
    --enable-x11grab &&
 
  make
 
  make
  
Line 64: Line 62:
 
  ./configure --prefix=/usr --cc="gcc ${BUILD32}" \
 
  ./configure --prefix=/usr --cc="gcc ${BUILD32}" \
 
     --enable-shared  --enable-pthreads \
 
     --enable-shared  --enable-pthreads \
     --enable-gpl --disable-ffplay --enable-postproc &&
+
     --enable-gpl --disable-ffplay --enable-postproc \
 +
    --enable-x11grab &&
 
  make
 
  make
  
Line 82: Line 81:
 
     --{,sh}libdir=/usr/lib32 \
 
     --{,sh}libdir=/usr/lib32 \
 
     --enable-shared  --enable-pthreads \
 
     --enable-shared  --enable-pthreads \
     --enable-gpl --disable-ffplay --enable-postproc &&
+
     --enable-gpl --disable-ffplay --enable-postproc \
 +
    --enable-x11grab &&
 
  make
 
  make
  
Line 100: Line 100:
 
     --{,sh}libdir=/usr/lib64 \
 
     --{,sh}libdir=/usr/lib64 \
 
     --enable-shared  --enable-pthreads \
 
     --enable-shared  --enable-pthreads \
     --enable-gpl --disable-ffplay --enable-postproc &&
+
     --enable-gpl --disable-ffplay --enable-postproc \
 +
    --enable-x11grab &&
 
  make
 
  make
  

Revision as of 14:34, 1 August 2009

Download Source: http://ffmpeg.org/releases/ffmpeg-export-snapshot.tar.bz2

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.

Project Homepage: http://ffmpeg.org/

Dependencies

Optional

Configuring

Look at the output of ./configure --help and add the parameters for the optional dependencies you have installed.

The following is a list of options you may want to pass:

--enable-libdc1394 --enable-libfaac \
--enable-libfaad --enable-libgsm \
--enable-libmp3lame --enable-libnut \
--enable-libopenjpeg --enable-libschroedinger \
--enable-libspeex --enable-libtheora \
--enable-libvorbis --enable-libx264 \
--enable-libxvid

Non-Multilib

Compile the package:

./configure --prefix=/usr --enable-shared \
    --enable-pthreads --enable-gpl \
    --disable-ffplay --enable-postproc \
    --enable-x11grab &&
make

Install the package

make install

Multilib

32Bit

Compile the package:

export USE_ARCH=32 &&
CFLAGS="${BUILD32} -fno-PIC" \
./configure --prefix=/usr --cc="gcc ${BUILD32}" \
    --enable-shared  --enable-pthreads \
    --enable-gpl --disable-ffplay --enable-postproc \
    --enable-x11grab &&
make

Install the package

make install &&
mv -v /usr/bin/ffmpeg{,-32} &&
unset USE_ARCH

N32

Compile the package:

export USE_ARCH=n32 &&
CFLAGS="${BUILDN32} -fPIC" \
./configure --prefix=/usr --cc="gcc ${BUILD32}" \
    --{,sh}libdir=/usr/lib32 \
    --enable-shared  --enable-pthreads \
    --enable-gpl --disable-ffplay --enable-postproc \
    --enable-x11grab &&
make

Install the package

make install &&
mv -v /usr/bin/ffmpeg{,-n32} &&
unset USE_ARCH

64Bit

Compile the package:

export USE_ARCH=64 &&
CFLAGS="${BUILD64} -fPIC" \
./configure --prefix=/usr --cc="gcc ${BUILD64}" \
    --{,sh}libdir=/usr/lib64 \
    --enable-shared  --enable-pthreads \
    --enable-gpl --disable-ffplay --enable-postproc \
    --enable-x11grab &&
make

Install the package

make install &&
mv -v /usr/bin/ffmpeg{,-64} &&
ln -sfv multiarch_wrapper /usr/bin/ffmpeg &&
unset USE_ARCH

Contents

Installed Directories: /usr/lib/vhook, /usr/include/ffmpeg
Installed Programs: ffmpeg, ffserver
Installed Libraries: libavcodec.so, libavformat.so,
Symlinks: None

Short Descriptions

ffmpeg is a hyper fast audio and video encoder.
ffserver is a hyper fast multi format audio and video streaming server.
libavcodec is a library containing all the FFmpeg audio/video encoders and decoders.
libavformat is a library containing parsers and generators for all common audio/video formats.