Difference between revisions of "FFmpeg"

From CBLFS
Jump to navigationJump to search
 
(33 intermediate revisions by 8 users not shown)
Line 2: Line 2:
 
|-
 
|-
 
!Download Source:
 
!Download Source:
| http://prdownloads.sourceforge.net/ffmpeg/ffmpeg-{{FFmpeg-Version}}-pre1.tar.gz
+
| http://ffmpeg.org/releases/ffmpeg-snapshot.tar.bz2
|-
 
!Required Patch
 
| http://svn.cross-lfs.org/svn/repos/patches/ffmpeg/ffmpeg-{{FFmpeg-Version}}-pre1-gcc4-1.patch
 
|-
 
!Required Patch
 
| http://svn.cross-lfs.org/svn/repos/patches/ffmpeg/ffmpeg-{{FFmpeg-Version}}-pre1-amr_fixes-1.patch
 
 
|}
 
|}
  
 
----
 
----
  
{{Package-Introduction|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.}}
+
{{Package-Introduction|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.|http://ffmpeg.org/}}
  
== Using a SVN Snapshot ==
+
== Dependencies ==
  
If you would rather use a svn snapshot instead of the tarball above grab the source with [[Subversion]] and optionaly create a tarball for use at a later time:
+
=== Recommended ===
 +
* [[X Window System]]
 +
* [[FAAC]]
 +
* [[FAAD2]]
 +
* [[LAME]]
 +
* [[Speex]]
 +
* [[Theora]]
 +
* [[libvorbis]]
 +
* [[x264]]
 +
* [[XviD]]
  
svn co svn://svn.mplayerhq.hu/ffmpeg/trunk ffmpeg
+
=== Optional ===
 
+
* [[libdc1394]] ( --enable-libdc1394 )
tar cvjf ffmpeg-r$(svnversion ffmpeg).tar.bz2 ffmpeg
+
* [[gsm]] ( --enable-libgsm )
 
+
* [[libnut]] ( --enable-libnut )
''NOTE:'' If you are building with a SVN Snapshot the dependencies may not be the same.
+
* [[Schroedinger]] ( --enable-libschroedinger )
 +
* [[OpenJPEG]] ( --enable-libopenjpeg )
 +
* [[OpenCORE-AMR]] ( --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-version3 )
  
 
== Configuring ==
 
== Configuring ==
Line 29: Line 34:
 
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-libfaac --enable-libfaad \
--enable-liba52
+
  --enable-libmp3lame --enable-libspeex \
  --enable-libfaac
+
  --enable-libtheora --enable-libvorbis \
--enable-libfaad
+
  --enable-libx264 --enable-libxvid
  --enable-libmp3lame
 
--enable-libogg
 
  --enable-libtheora
 
--enable-x264
 
  --enable-xvid
 
--enable-libvorbis
 
 
 
== Dependencies ==
 
 
 
=== Optional ===
 
* [[libvorbis]]
 
* [[LAME]]
 
* [[Imlib2]]
 
* [[X Window System]]
 
* [[SDL]]
 
* [[FreeType]]
 
* [[MPlayer]]
 
* [[FAAC]]
 
* [[FAAD2]]
 
* [[TeTeX]]
 
* [[Liba52]]
 
  
 
== Non-Multilib ==
 
== Non-Multilib ==
 
If you are not building a SVN Snapshot apply the following patches:
 
 
patch -Np1 -i ../ffmpeg-{{FFmpeg-Version}}-pre1-gcc4-1.patch &&
 
patch -Np1 -i ../ffmpeg-{{FFmpeg-Version}}-pre1-amr_fixes-1.patch
 
  
 
Compile the package:
 
Compile the package:
Line 68: Line 47:
 
  ./configure --prefix=/usr --enable-shared \
 
  ./configure --prefix=/usr --enable-shared \
 
     --enable-pthreads --enable-gpl \
 
     --enable-pthreads --enable-gpl \
     --disable-ffplay &&
+
     --enable-postproc --enable-x11grab \
 +
    --enable-nonfree &&
 
  make
 
  make
  
Line 78: Line 58:
  
 
=== 32Bit ===
 
=== 32Bit ===
 
If you are not building a SVN Snapshot apply the following patches:
 
 
patch -Np1 -i ../ffmpeg-{{FFmpeg-Version}}-pre1-gcc4-1.patch &&
 
patch -Np1 -i ../ffmpeg-{{FFmpeg-Version}}-pre1-amr_fixes-1.patch
 
  
 
Compile the package:
 
Compile the package:
  
 
  export USE_ARCH=32 &&
 
  export USE_ARCH=32 &&
  CFLAGS="${BUILD32} -fPIC" \
+
  CFLAGS="${BUILD32} -fno-PIC" \
 
  ./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-gpl --enable-postproc \
 +
    --enable-x11grab --enable-nonfree &&
 
  make
 
  make
  
Line 100: Line 76:
  
 
=== N32 ===
 
=== N32 ===
 
If you are not building a SVN Snapshot apply the following patches and sed:
 
 
patch -Np1 -i ../ffmpeg-{{FFmpeg-Version}}-pre1-gcc4-1.patch &&
 
patch -Np1 -i ../ffmpeg-{{FFmpeg-Version}}-pre1-amr_fixes-1.patch &&
 
sed -i 's:$(prefix)/lib:&32:g' $(grep -lr '$(prefix)/lib' *)
 
  
 
Compile the package:
 
Compile the package:
Line 114: Line 84:
 
     --{,sh}libdir=/usr/lib32 \
 
     --{,sh}libdir=/usr/lib32 \
 
     --enable-shared  --enable-pthreads \
 
     --enable-shared  --enable-pthreads \
     --enable-gpl --disable-ffplay &&
+
     --enable-gpl --enable-postproc \
 +
    --enable-x11grab --enable-nonfree &&
 
  make
 
  make
  
Line 124: Line 95:
  
 
=== 64Bit ===
 
=== 64Bit ===
 
If you are not building a SVN Snapshot apply the following patches and sed:
 
 
patch -Np1 -i ../ffmpeg-{{FFmpeg-Version}}-pre1-gcc4-1.patch &&
 
patch -Np1 -i ../ffmpeg-{{FFmpeg-Version}}-pre1-amr_fixes-1.patch &&
 
sed -i 's:$(prefix)/lib:&64:g' $(grep -lr '$(prefix)/lib' *)
 
  
 
Compile the package:
 
Compile the package:
Line 138: Line 103:
 
     --{,sh}libdir=/usr/lib64 \
 
     --{,sh}libdir=/usr/lib64 \
 
     --enable-shared  --enable-pthreads \
 
     --enable-shared  --enable-pthreads \
     --enable-gpl --disable-ffplay &&
+
     --enable-gpl --enable-postproc \
 +
    --enable-x11grab --enable-nonfree &&
 
  make
 
  make
  
Line 147: Line 113:
 
  ln -sfv multiarch_wrapper /usr/bin/ffmpeg &&
 
  ln -sfv multiarch_wrapper /usr/bin/ffmpeg &&
 
  unset USE_ARCH
 
  unset USE_ARCH
 +
 +
== Contents ==
 +
 +
{|style="text-align: left"
 +
|-valign="top"
 +
!Installed Directories:
 +
|/usr/lib/vhook, /usr/include/ffmpeg
 +
|-valign="top"
 +
!Installed Programs:
 +
|ffmpeg, ffserver
 +
|-valign="top"
 +
!Installed Libraries:
 +
|libavcodec.so, libavformat.so,
 +
|-valign="top"
 +
!Symlinks:
 +
|None
 +
|}
 +
 +
=== Short Descriptions ===
 +
 +
{| style="text-align: left;"
 +
|-valign="top"
 +
!ffmpeg
 +
|is a hyper fast audio and video encoder.
 +
|-valign="top"
 +
!ffserver
 +
|is a hyper fast multi format audio and video streaming server.
 +
|-valign="top"
 +
!libavcodec
 +
|is a library containing all the FFmpeg audio/video encoders and decoders.
 +
|-valign="top"
 +
!libavformat
 +
|is a library containing parsers and generators for all common audio/video formats.
 +
|}
 +
 +
[[Category:Media Libraries]]

Latest revision as of 11:47, 10 March 2011

Download Source: http://ffmpeg.org/releases/ffmpeg-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

Recommended

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-libfaac --enable-libfaad  \
--enable-libmp3lame --enable-libspeex \
--enable-libtheora --enable-libvorbis \
--enable-libx264 --enable-libxvid

Non-Multilib

Compile the package:

./configure --prefix=/usr --enable-shared \
    --enable-pthreads --enable-gpl \
    --enable-postproc --enable-x11grab \
    --enable-nonfree &&
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 --enable-postproc \
    --enable-x11grab --enable-nonfree &&
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 --enable-postproc \
    --enable-x11grab --enable-nonfree &&
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 --enable-postproc \
    --enable-x11grab --enable-nonfree &&
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.