VLC 0.9.9 was released a few days ago, so here's an updated version of my
popular tutorial on how to build it from source on Ubuntu. As always, all comments welcome!
First of all, you need to build the latest
ffmpeg and
x264: please refer to
this tutorial, which is still up to date.
Once you've done that, there are additional dependencies to take care of.
1) Installing libmadMAD is a high-quality MPEG audio decoder. At the time of this writing, the latest version is 0.15.1b. Let's get the source, build it and install it:
ubuntu% wget http://ovh.dl.sourceforge.net/sourceforge/mad/libmad-0.15.1b.tar.gz
ubuntu% tar xvfz libmad-0.15.1b.tar.gz
ubuntu% cd libmad-0.15.1b
ubuntu% ./configure --prefix=/usr/local
ubuntu% make
ubuntu% sudo make install
[Updated on 2009/01/04] If you try to compile libmad with gcc 4.3, you will get the following error: cc1: error: unrecognized command line option "-fforce-mem". To correct this, just remove the -fforce-mem flags from the CFLAGS list in the Makefile.
2) Installing libdcalibdca is a free library for DTS audio. At the time of this writing, the latest version is 0.0.5. Let's get the source, build it and install it:
ubuntu% wget http://download.videolan.org/pub/videolan/libdca/0.0.5/libdca-0.0.5.tar.bz2
ubuntu% bzip2 -d
libdca-0.0.5.tar.bz2
ubuntu%
tar
xvf
libdca-0.0.5.tar
ubuntu% cd
libdca-0.0.5
ubuntu% ./configure --prefix=/usr/local
ubuntu% make
ubuntu% sudo make install
3) Installing libmpeg2libmpeg2 is a free library for MPEG streams. At the time of this writing, the latest version is 2.0.5.1. Let's get the source, build it and install it:
ubuntu% wget http://libmpeg2.sourceforge.net/files/libmpeg2-0.5.1.tar.gz
ubuntu% tar xvfz
libmpeg2-0.5.1.tar.gz
ubuntu% cd
libmpeg2-0.5.1
ubuntu% ./configure --prefix=/usr/local
ubuntu% make
ubuntu% sudo make install
4) Installing TagLibTagLib is is a library for reading and editing the meta-data of several popular audio formats (MP3, FLAC, etc). At the time of this writing, the latest version is 1.5. Let's get the source, build it and install it:
ubuntu% wget http://developer.kde.org/~wheeler/files/src/taglib-1.5.tar.gz
ubuntu% tar xvfz taglib-1.5.tar.gz
ubuntu% ./configure --prefix=/usr/local
ubuntu% make
ubuntu% sudo make install
5) Installing live555
live555 is a set of libraries for multimedia streaming (RTP/RTCP, RTSP, SIP).
ubuntu% wget http://www.live555.com/liveMedia/public/live555-latest.tar.gz
ubuntu% tar xvfz live555-latest.tar.gz
ubuntu% cd live
ubuntu% ./genMakefiles linux
ubuntu% make
There is no installation procedure for
live555. You have to copy the full directory somewhere safe, like /usr/lib.
ubuntu% sudo cp -r live /usr/lib
6) Installing everything elseNow, let's use APT to fetch all the remaining libraries needed by
VLC, as well as the
Qt4 packages required by the GUI:
ubuntu% sudo apt-get install libavc1394-dev
libraw1394-dev libdc1394-dev
libdvdread-dev
libdvdnav-dev libdvdcss2-dev
libfaad-dev libtwolame-dev liba52-dev libvcdinfo-dev libiso9660-dev libcddb2-dev libflac-dev libschroedinger-dev liba52-dev libogg-dev libvorbis-dev liblua5.1-0-dev libgnomevfs2-dev libtag1-dev libqt4-dev
That should really be it...
7) Fetching VLCStable sources can be downloaded as a tarball from the
VLC download page. At the time of this writing, the latest version is
VLC 0.9.9. If you want to try development snapshots, be my guest but YMMV!
ubuntu% wget http://download.videolan.org/pub/videolan/vlc/0.9.9/vlc-0.9.9.tar.bz2
ubuntu% bzip2 -d vlc-0.9.9.tar.bz2
ubuntu% tar xvf vlc-0.9.9.tar
8) Adding x264 and live555 to the mix
For the sake of convenience, let's copy the directories into the VLC tree:
ubuntu% cd vlc-0.9.9
ubuntu% cp -r $YOUR_X264_BUILD_DIR extras
ubuntu% cp -r $YOUR_LIVE555_BUILD_DIR extras
ubuntu% ls extras
analyser buildsystem contrib live misc package x264
9) Building VLC
Let's go! Don't forget to check your
configure output for possible errors.
ubuntu%
./configure --prefix=/usr/local --with-x264-tree=extras/x264 --with-live555-tree=extras/live --enable-release --enable-switcher --enable-shout --enable-dc1394 --enable-dv --enable-dvdread --enable-v4l --enable-pvr --enable-gnomevfs --enable-vcdx --enable-faad --enable-twolame --enable-real --enable-realrtsp --enable-flac --enable-tremor --enable-tarkin --enable-theora --enable-ogg --enable-vorbis --enable-a52 --enable-gnomevfs
--enable-dca
Lots of output removed
You can tune the compiler flags in vlc-config.
To build vlc and its plugins, type `./compile' or `make'.
All right, let's run
make and get some coffee while
VLC is building:
ubuntu% make
lots of output removed
make[2]: Leaving directory `/home/julien/tmp/vlc-0.9.9'
make[1]: Leaving directory `/home/julien/tmp/vlc-0.9.9.'
We're done! Let's check our new
VLC before we install it.
7) Checking VLC
ubuntu% ./vlc --version
VLC media player 0.9.9 Grishenko
[00000001] main libvlc debug: VLC media player - version 0.9.9 Grishenko - (c) 1996-2009 the VideoLAN team
[00000001] main libvlc debug: libvlc was configured with ./configure '--prefix=/usr/local' '--with-x264-tree=extras/x264' '--with-live555-tree=extras/live' '--enable-release' '--enable-switcher' '--enable-shout' '--enable-dc1394' '--enable-dv' '--enable-dvdread' '--enable-v4l' '--enable-pvr' '--enable-vcdx' '--enable-faad' '--enable-twolame' '--enable-real' '--enable-realrtsp' '--enable-flac' '--enable-tremor' '--enable-tarkin' '--enable-theora' '--enable-ogg' '--enable-vorbis' '--enable-a52' '--enable-gnomevfs' '--enable-dca'
[00000001] main libvlc debug: translation test: code is "C"
VLC version 0.9.9 Grishenko
Compiled by julien@ubuntu.
Compiler: gcc version 4.3.2 (Ubuntu 4.3.2-1ubuntu12)
This program comes with NO WARRANTY, to the extent permitted by law.
You may redistribute it under the terms of the GNU General Public License;
see the file named COPYING for details.
Written by the VideoLAN team; see the AUTHORS file.
Looks good. You can verify that your favorite codecs are supported with '
vlc --list'. I now declare this a good build :) Let's install it:
ubuntu% sudo make install
We're done. Now you can enjoy all your media files with a single player!