jb, 24y

Keyword - Building

Entries feed - Comments feed

Monday, February 4 2008

VLC: misc and builds

Just some miscellaneous news about VLC and build systems:

  • Tree Cleaning: we decided to clean the tree of all the not really necessaries folder that are around now. See the wiki.
  • There is some experiments to build VLC using CMake inside the main tree. Checkout the latest VLC to test it.
  • Windows nightly builds are back after the big changes in the building and in the config.h changes.
  • New contribs with updated 3rd party libraries are done for windows.
  • Windows CE and Symbian port are advancing... Not yet released, and ETA is really unknown.
  • Roadmap are changing, more about that soon.

Friday, December 14 2007

Configure-step in VLC building.

Idea

VLC can be built with a classical process: ./bootstrap; ./configure --options; make

However, since VLC is very modular, not everyone wants the same modules built so the configure line can be very long.

Therefore, I'll try to explain a bit the main configure options and give a few examples.

Configure

./configure

General and Developers options

--prefix=/usr \
--host= \
--build= \

--enable-debug | --enable-release # Choose the mode you want

--enable-optimizations            # Optimisations are good idea
--enable-sse --enable-mmx         # for releases

--enable-optimize-memory          # Smaller memory for less perf

--enable-cprof --enable-gprof     # Profiling
--enable-fast-install             # Libtool

--enable-testsuite                # If you want the tests to be built

--enable-static                   # Static libraries
--enable-shared                   # Shared libraries
--with-words                      # Endianess

Main VLC options

--enable-vlm                      # VLC Manager
--enable-visual                   # Visualisations
--enable-update-check             # Check the updates?
--enable-sout                     # Streaming Server
--enable-snapshot                 # Create VIdeo Snapshots
--enable-lua                      # Script VLC

--enable-freetype --enable-fribidi # No Need to disable this
--enable-nls --enable-libxml2      # or that.

Codecs

--enable-a52 [--with-a52-fixed]   # AC-3
--enable-dirac
--enable-faad                     # MPEG-4 Audio
--enable-fluidsynth               # Midi
--enable-mpc                      # Musepack Audio
--enable-real                     # Real Audio
--enable-loader                   # DirectMediaObject support for WMV
--enable-theora
--enable-twolame                  # MPGA Encoding
--enable-tremor
--enable-x264                     # H.264 Encoding
--enable-vorbis
--enable-speex
--enable-tarkin
--enable-zvbi | --enable-telx     # Teletext support
--enable-dca                      # DTS
--enable-flac
--enable-ffmpeg                   # lots of codecs
[--with-ffmpeg-a52 --with-ffmpeg-mp3lame --with-ffmpeg-zlib --with-ffmpeg-amrnb --with-ffmpeg-amrwb --with-ffmpeg-faac --with-ffmpeg-theora --with-ffmpeg-vorbis ]
--enable-libmpeg2
--enable-mad                      # Mpga decoding

--enable-png
--enable-svg
--enable-sdl-image

Video Outputs

--enable-xvideo                     # Linux
--enable-xinerama
--enable-x11
--enable-glx
--enable-directfb

--enable-wingdi                     # Win32
--enable-directx

--enable-opengl                     # All
--enable-sdl
--enable-caca
--enable-aa

Audio outputs

--enable-alsa                       # Unix
--enable-arts
--enable-esd
--enable-jack
--enable-portaudio
--enable-hd1000a
--enable-oss

--enable-waveout                    # Windows

Access

--enable-screen                     # Desktop record

--enable-bda                        # DVB for windows
--enable-dshow                      # DirectShow device

--enable-v4l                        # video 4 linux
--enable-v4l2                       # video 4 linux 2
--enable-dvb                        # DVB for Linux
--enable-pvr                        # PVR/IVTV
--enable-dv                         # DV support

--enable-gnutls                     # Encrypted streams
--enable-gnomevfs                   # Gnome VFS-
--enable-smb                        # Samba/Windows shares
--enable-cdda | --enable-cddax      # CD Audio
--enable-dvdnav                     # DVD video
--enable-vcd | --enable-vcdx        # VCD
--enable-dc1394                     # 1394 support
--enable-hal
--enable-live555 --enable-realrtsp  # RTSP

--enable-bonjour --enable-cyberlink # Various Service discoveries
--enable-upnp                       #

demux

--enable-mkv                        # Matroska
--enable-mod                        # ModPlug (instruments)
--enable-ogg                        # Ogg
--enable-gme                        # GME videogames

interface

--enable-qnx                        # QNX platform
--enable-qt4                        # Default interface in Qt4
--enable-qte                        # QTE/Opie interface
--enable-skins2                     # skins2
--enable-wxwidgets                  # Old default interface in wxWidgets
--enable-xosd                       # OSD interface
--enable-ncurses                    # Ncurses interface
--enable-fbosd                      # FrameBuffer interface
--enable-pda                        # Small gtk interface
--enable-httpd                      # HTTP daemon and interface

--enable-mozilla                    # Mozilla integration
--enable-activex                    # IE and ActiveX integration
--enable-dbus                       # D-Bus control
--enable-dbus-control
--enable-lirc                       # InfraRed Remotes
--enable-java-bindings
--enable-python-bindings

Visualisations

--enable-galaktos --enable-goom

Metadata support

--enable-id3tag                     # metadata using id3tag
--enable-taglib                     # metadata using taglib
--enable-musicbrainz                # Musicbrainz
--enable-libcddb                    # CDDB/FreeDB integration
--enable-libcdio                    # CD-Text

Thursday, October 4 2007

Build vlc under a fresh sid

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

Jean-Baptiste KEMPF | jean-baptiste.kempf _(at)_ via.ecp.fr | Powered by Chaussure | xHtml et CSS valide