Introduction

So we are going to build the latest VLC possible.

I already did it for ubuntu feisty and it had a huge success. I am going to do the same for debian/sid, which is the distro I use in normal time.

However, some steps did changed, and I compile more options here, because I can :D

Everything will be done in a console/terminal and should be straight-forward. Every question should be asked on the forum, or in the comments here.

Conventions

Every line beginning with a # should be done as root, or using the sudo command. Every line beginning witha % is a normal line.

Building VLC

Prepare your environment

# apt-get build-dep vlc
# apt-get install build-essential subversion tofrodos
# apt-get install portaudio-dev

Checkout it

% svn co svn://jb@svn.videolan.org/vlc/trunk vlc-trunk
% cd vlc-trunk;

Bootstrap it

% ./bootstrap

It has to finish with: Successfully bootstrapped

Build external libraries

x264

x264 is a library to encode movies in H.264.

% cd extras/
%
% svn co svn://svn.videolan.org/x264/trunk x264
% cd x264
% make
% cd ..

faac

faac is a library to encode audio in AAC/MP4A

% wget http://surfnet.dl.sourceforge.net/sourceforge/faac/faac-1.25.tar.gz
% tar xvf faac-1.25.tar.gz
% cd faac
% dos2unix *
% ./bootstrap
% ./configure
% make
# make install
% cd..

Lame

Lame is a library to encode MP3

% wget http://garr.dl.sourceforge.net/sourceforge/lame/lame-3.97.tar.gz
% tar xvf lame-3.97.tar.gz
% cd lame-3.97
% ./configure;
% make
# make install
% cd..

ffmpeg

ffmpeg is a multi-codec library

% svn co svn://svn.mplayerhq.hu/ffmpeg/trunk ffmpeg
% cd ffmpeg
% ./configure --enable-gpl --enable-pp \ 
               --enable-pthreads --enable-libmp3lame  \ 
               --enable-libfaac
% make
% cd ../..

live

Live is a streaming library. you'll need it to read some streams.

% wget http://live555.com/liveMedia/public/live555-latest.tar.gz
% tar xvf live555-latest.tar.gz
% cd live555
% ./genMakefiles linux
% make
% cd..

VLC

configure

% mkdir linux;
% cd linux
% ../configure --prefix=/usr --enable-snapshot \
--enable-debug --enable-dbus-control \
--enable-musicbrainz --enable-shared \
--enable-mozilla --enable-lirc \
--with-x509-ca-bundle=/etc/ssl/certs/ca-certificates.crt \
--with-live555-tree=../extras/live \
--with-ffmpeg-tree=../extras/ffmpeg \
--enable-shout --enable-taglib --enable-v4l \
--enable-cddax --enable-dvb --enable-vcdx \
--enable-realrtsp --enable-svg --enable-dvdread \
--enable-dv --enable-theora --enable-faad \
--enable-twolame --enable-real --enable-flac \
--enable-tremor --with-ffmpeg-mp3lame \
--with-ffmpeg-faac --enable-skins2 --enable-qt4 \
--enable-ncurses --enable-aa --enable-caca \
--enable-esd --enable-portaudio --enable-jack \
--enable-xosd --enable-galaktos --enable-goom \
--enable-ggi --disable-cddax --disable-vcdx \
--disable-dirac --enable-x264 \
--with-x264-tree=../extras/x264 \
--disable-xvmc --enable-wxwidgets \
--enable-lua --enable-pvr --enable-loader \
--enable-python-bindings --enable-audioscrobbler \
--enable-libcddb --enable-libcdio --enable-opencv  \
--enable-nls

build it

% make