Build and Install FFMPEG and x264 on Debian Squeeze – The Dumb Guide

That took some time to figure out… I’ve tried at least 6 different articles from the top Google results, none worked and most were outdated.

Anyways, no commitment here either, it worked for me, but I’m no Debian expert.. so use at your own risk.

First – Add the new multimedia packages –

vi /etc/apt/sources.list

Add the following lines:

deb http://www.deb-multimedia.org squeeze main non-free
deb http://www.deb-multimedia.org squeeze-backports main

Install all the dependancies and build tools –

apt-get install build-essential subversion git-core yasm libgpac-dev libdirac-dev libgsm1-dev libschroedinger-dev libspeex-dev libvorbis-dev libopenjpeg-dev libdc1394-22-dev libsdl1.2-dev zlib1g-dev texi2html libfaac-dev libfaad-dev libmp3lame-dev libtheora-dev libxvidcore4-dev libopencore-amrnb-dev libopencore-amrwb-dev libvpx-dev libfreetype6-dev frei0r-plugins-dev librtmp-dev libaacplus-dev libx264-dev libavdevice-dev libavfilter-dev libavformat-dev libavutil-dev

Build and Install x264 –

git clone git://git.videolan.org/x264.git
cd x264
./configure --enable-shared
make
make install
cd ..

Install libxavs

svn co https://xavs.svn.sourceforge.net/svnroot/xavs/trunk xavs
cd xavs
./configure --enable-shared --disable-asm
make
make install
cd ..

Build and Install FFMPEG

git clone --depth 1 git://source.ffmpeg.org/ffmpeg
cd ffmpeg
./configure --enable-shared --enable-libx264 --enable-gpl
make
make install

Install qt-faststart –

make tools/qt-faststart
make install tools/qt-faststart

Add lavf support to x264 –

cd ../x264
make distclean
./configure --enable-static
make
make install

Finish by calling ldconfig.

Test by calling ffmpeg -version which should output something like below:

ffmpeg version 0.7.13, Copyright (c) 2000-2011 the FFmpeg developers
  built on Jun 13 2012 14:01:54 with gcc 4.4.5
  configuration: --enable-libdc1394 --prefix=/usr --extra-cflags='-Wall -g ' --cc='ccache cc' --enable-shared --enable-libmp3lame --enable-gpl --enable-libvorbis --enable-pthreads --enable-libfaac --enable-libxvid --enable-postproc --enable-x11grab --enable-libgsm --enable-libtheora --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libx264 --enable-libspeex --enable-nonfree --disable-stripping --enable-avfilter --enable-libdirac --disable-decoder=libdirac --enable-libfreetype --enable-libschroedinger --disable-encoder=libschroedinger --enable-version3 --enable-libopenjpeg --enable-libvpx --enable-librtmp --extra-libs=-lgcrypt --disable-altivec --disable-armv5te --disable-armv6 --disable-vis
  libavutil    50. 43. 0 / 50. 43. 0
  libavcodec   52.123. 0 / 52.123. 0
  libavformat  52.111. 0 / 52.111. 0
  libavdevice  52.  5. 0 / 52.  5. 0
  libavfilter   1. 80. 0 /  1. 80. 0
  libswscale    0. 14. 1 /  0. 14. 1
  libpostproc  51.  2. 0 / 51.  2. 0
ffmpeg 0.7.13
libavutil    50. 43. 0 / 50. 43. 0
libavcodec   52.123. 0 / 52.123. 0
libavformat  52.111. 0 / 52.111. 0
libavdevice  52.  5. 0 / 52.  5. 0
libavfilter   1. 80. 0 /  1. 80. 0
libswscale    0. 14. 1 /  0. 14. 1
libpostproc  51.  2. 0 / 51.  2. 0