Difference between revisions of "FFmpeg"

From CBLFS
Jump to navigationJump to search
m (Reverted edits by 217.87.39.10 (Talk); changed back to last version by Jciccone)
Line 2: Line 2:
 
|-
 
|-
 
!Download Source:
 
!Download Source:
| http://prdownloads.sourceforge.net/ffmpeg/ffmpeg-{{FFmpeg-Version}}-pre1.tar.gz
+
| Use SVN Snapshot
|-
 
!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
 
 
|}
 
|}
  
Line 17: Line 11:
 
== Using a SVN Snapshot ==
 
== Using a SVN Snapshot ==
  
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:
+
Make sure that you have [[Subversion]] installed before issuing the following commands:
  
 
  svn co svn://svn.mplayerhq.hu/ffmpeg/trunk ffmpeg
 
  svn co svn://svn.mplayerhq.hu/ffmpeg/trunk ffmpeg
Line 23: Line 17:
 
  tar cvjf ffmpeg-r$(svnversion ffmpeg).tar.bz2 ffmpeg
 
  tar cvjf ffmpeg-r$(svnversion ffmpeg).tar.bz2 ffmpeg
  
{{Note|If you are building with a SVN Snapshot the dependencies may not be the same.}}
+
{{Note|The dependencies may differ from one revision to another.}}
  
 
== Dependencies ==
 
== Dependencies ==

Revision as of 15:18, 8 December 2007

Download Source: Use SVN Snapshot

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.mplayerhq.hu/

Using a SVN Snapshot

Make sure that you have Subversion installed before issuing the following commands:

svn co svn://svn.mplayerhq.hu/ffmpeg/trunk ffmpeg
tar cvjf ffmpeg-r$(svnversion ffmpeg).tar.bz2 ffmpeg
Caution.png

Note

The dependencies may differ from one revision to another.

Dependencies

Optional

Configuring

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:

--enable-pp
--enable-liba52
--enable-libfaac
--enable-libfaad
--enable-libmp3lame
--enable-libogg
--enable-libtheora
--enable-libx264
--enable-libxvid
--enable-libvorbis

Non-Multilib

If you are not building a SVN Snapshot apply the following patches:

patch -Np1 -i ../ffmpeg-0.4.9-pre1-gcc4-1.patch &&
patch -Np1 -i ../ffmpeg-0.4.9-pre1-amr_fixes-1.patch

Compile the package:

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

Install the package

make install

Multilib

32Bit

If you are not building a SVN Snapshot apply the following patches:

patch -Np1 -i ../ffmpeg-0.4.9-pre1-gcc4-1.patch &&
patch -Np1 -i ../ffmpeg-0.4.9-pre1-amr_fixes-1.patch

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 &&
make

Install the package

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

N32

If you are not building a SVN Snapshot apply the following patches and sed:

patch -Np1 -i ../ffmpeg-0.4.9-pre1-gcc4-1.patch &&
patch -Np1 -i ../ffmpeg-0.4.9-pre1-amr_fixes-1.patch &&
sed -i 's:$(prefix)/lib:&32:g' $(grep -lr '$(prefix)/lib' *)

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 &&
make

Install the package

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

64Bit

If you are not building a SVN Snapshot apply the following patches and sed:

patch -Np1 -i ../ffmpeg-0.4.9-pre1-gcc4-1.patch &&
patch -Np1 -i ../ffmpeg-0.4.9-pre1-amr_fixes-1.patch &&
sed -i 's:$(prefix)/lib:&64:g' $(grep -lr '$(prefix)/lib' *)

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 &&
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.