LDP/LDP/ref/docbook/VLC-User-Guide/modules.sgml

741 lines
19 KiB
Plaintext

<chapter id="modules"><title id="tmodules">Modules and options for VLC</title>
<sect1><title>The modules</title>
<para>VLC uses a modular system, which allows to add easily new fonctions
and formats. Here is a description of nearly all the VLC
modules. If you installed VLC through a binary file, you will get
the default modules. If, however, you want to customize VLC to your
needs, you will have to compile the VLC from sources.</para>
<para><emphasis>If you don't intend to compile the VLC and
want only the regular functions, reading this part is not very
useful</emphasis>.</para>
<para> The compilation itself is explained in the next chapter.</para>
<para>If you wish to compile a module which is stated <emphasis>disabled
by default</emphasis>, you have to launch the configure script with :
</para>
<screen>
<prompt>% </prompt><userinput>./configure --enable-module_name </userinput>
</screen>
<para>On the other hand, if you would like to disable a module that is
<emphasis>enabled by default</emphasis>, you would have to use :</para>
<screen>
<prompt>% </prompt><userinput>./configure --disable-module_name </userinput>
</screen>
</sect1>
<sect1><title>Video outputs</title>
<para>Video outputs are the modules that enable the support of some
systems to display the video on your screen.</para>
<sect2><title>x11</title>
<para><emphasis>default: enabled</emphasis></para>
<para><emphasis>For Unix with X11 servers only</emphasis></para>
<para>This is the basic x11 video output. It only requires a
working X11 server. You will need xlibs headers to compile it
(<emphasis>xlibs-dev</emphasis> package on Debian systems).</para>
</sect2>
<sect2><title>xvideo</title>
<para><emphasis>default: enabled</emphasis></para>
<para><emphasis>For Linux only</emphasis></para>
<para>It requires an xvideo compliant graphic card (it is the case for
nearly all modern cards). It uses hardware acceleration for YUV
transformation and rescaling.</para>
</sect2>
<sect2><title>sdl</title>
<para><emphasis>default: enabled</emphasis></para>
<para>This video output uses sdl libraries. You need at least version
1.1.6 of this libraries.</para>
<para> You may indicate the path to the <emphasis>sdl-config</emphasis>
program with the <command> --with-sdl-config-path=PATH </command>
switch, when running the configre script.</para>
</sect2>
<sect2><title>directx</title>
<para><emphasis>default: enabled on win32</emphasis></para>
<para><emphasis>For Windows only</emphasis></para>
<para>This video output uses Microsoft Direct X libraries. It is
recommended for the win32 port.</para>
<para>You may indicate the path to directX libraries and headers with
the <command>--with-directx=PATH</command> switch, when running the
configure script.</para>
</sect2>
<sect2><title>wingdi</title>
<para><emphasis>default: enabled on win32</emphasis></para>
<para><emphasis>For Windows only</emphasis></para>
<para>This video output uses GDI. It is designed for users who don't
have Direct X, but the perfs are very low. If you have DirectX, do not
use it.</para>
</sect2>
<sect2><title>fb</title>
<para><emphasis>default: enabled on Linux</emphasis></para>
<para><emphasis>For Linux only</emphasis></para>
<para>This is the frame buffer video output. It requires that your
kernel was compiled with frame buffer support.</para>
</sect2>
<sect2><title>glide</title>
<para><emphasis>default: disabled</emphasis></para>
<para>This video output uses Glide libraries (hardware acceleration for
3Dfx cards).</para>
<para>You may indicate the path to the library with the
<command>--with-glide=PATH</command> configure option. /para></sect2>
<sect2><title>mga</title>
<para><emphasis>default: disabled</emphasis>
<para><emphasis>For Linux only</emphasis></para>
<para>This module provides hardware acceleration for Matrox cards under
Linux.</para></sect2>
<sect2><title>ggi</title>
<para><emphasis>default: disabled</emphasis>
</sect2>
<sect2><title>aa</title>
<para><emphasis>default: disabled</emphasis></para>
<para>This is the ASCII Art Video Output. This video output uses the
aalib library to display video through ASCII art. It requires aalib
headers (<emphasis>aalib1-dev</emphasis> package under Debian) to
compile.</para>
</sect2>
<sect2><title>svgalib</title>
<para><emphasis>default: disabled</emphasis>
<para><emphasis>For Linux only</emphasis>
<para>This is a video output for the SVGAlib library.</para>
</sect2>
<sect2><title>qte</title>
<para><emphasis>default: disabled</emphasis>
<para><emphasis>For iPaq only</emphasis>
<para>This is a video output for QT Embedded, an iPaq-specifiq graphical
library.</para>
</sect2>
</sect1>
<sect1><title>Video filters modules</title>
<para>These modules allow you to perform modifications on the rendered
image.</para>
<sect2><title>deinterlace</title>
<para><emphasis>default: enabled</emphasis></para>
<para>This filter deinterlaces video. It is useful with streams coming
from a digital satellite channel or digital terrestial television
channels.</para>
</sect2>
<sect2><title>wall</title>
<para><emphasis>default: enabled</emphasis></para>
<para>This filter allows you to have the video cut in pieces in several
windows, which you can order as you wish. It can be used to generate
image walls with several sources. Start it with :</para>
<screen>
<prompt>% </prompt><userinput>vlc --filter wall:XxY ....</userinput>
</screen>
<para>in order to have the video cut in <emphasis>X</emphasis> rows and
<emphasis>Y</emphasis> columns</para>
</sect2>
<sect2><title>distort</title>
<para><emphasis>default: enabled</emphasis></para>
<para>This filter adds a distortion effect to the video. Who said it was
useless ? :-)</para>
</sect2>
<sect2><title>transform</title>
<para><emphasis>default: enable</emphasis></para>
<para>This filter rotates the video window of 90 degrees.</para>
</sect2>
<sect2><title>invert</title>
<para><emphasis>default: enabled</emphasis></para>
<para>This filter inverses colors.</para>
</sect2>
</sect1>
<sect1><title>Sound outputs</title>
<para>These modules allow you to choose the way the sound will be output
to your audio system.</para>
<sect2><title>oss</title>
<para><emphasis>default: enabled on Linux</emphasis></para>
<para><emphasis>For Unix/Linux only</emphasis></para>
<para>This is the audio output for OSS (Open Sound System) output
(<filename>/dev/dsp</filename>, for exemple, under Linux). It requires
that your kernel was compiled with support for your sound card.</para>
</sect2>
<sect2><title>alsa</title>
<para><emphasis>default: disabled</emphasis></para>
<para><emphasis>For Linux only</emphasis></para>
<para>This is the sound output for ALSA (Advanced Linux Sound
Architecture). It only works under Linux, and it requires that you
installed the ALSA drivers and libraries.</para>
</sect2>
<sect2><title>esd</title>
<para><emphasis>default: disabled</emphasis></para>
<para><emphasis>For Unix/Linux only</emphasis></para>
<para>This sound output has ESD (Enlightened Sound Daemon) support
(usually used with Gnome). You must have the daemon and its libraries
installed.</para>
</sect2>
<sect2><title>arts</title>
<para><emphasis>default: disabled</emphasis></para>
<para><emphasis>For Unix/Linux only</emphasis></para>
<para>This sound output has aRts (KDE's sound server) support. You must
have the daemon and its libraries installed.</para>
</sect2>
<sect2><title>waveout</title>
<para><emphasis>default: enabled on win32</emphasis></para>
<para>This is the Wave output, which is used by the win32 port.</para>
</sect2>
</sect1>
<sect1><title>Input modules</title>
<para>These modules allow VLC to read its streams from different
sources.</para>
<sect2><title>dvdplay</title>
<para><emphasis>default: enabled</emphasis></para>
<para>This is the regular DVD input module. It will need
<emphasis>libdvdcss</emphasis> for DVD decryption (see the <ulink
url="http://developers.videolan.org/libdvdcss/">libdvdcss page</ulink>)
and <emphasis>libdvdplay</emphasis> for DVD navigation (see the <ulink
url="http://developers.videolan.org/libdvdplay/">libdvdplay</ulink>
page).</para>
</sect2>
<sect2><title>dvdold</title>
<para><emphasis>default: enabled</emphasis></para>
<para>This is the old DVD input module. It uses
<emphasis>libdvdcss</emphasis> for DVD decryption (see the
<ulink url="http://developers.videolan.org/libdvdcss/">libdvdcss
page</ulink>).</para>
</sect2>
<sect2><title>dvdread</title>
<para><emphasis>default: disabled</emphasis></para>
<para>This is an alternative to the previous ones. It uses
<emphasis>libdvdread</emphasis> for DVD reading (see the <ulink
url="http://www.dtek.chalmers.se/groups/dvd/downloads.shtml">Ogle
download page</ulink>) and <emphasis>libdvdcss</emphasis>
for DVD decryption (see the <ulink
url="http://developers.videolan.org/libdvdcss/">libdvdcss
page</ulink>).</para>
</sect2>
<sect2><title>vcd</title>
<para><emphasis>default: enabled</emphasis></para>
<para>This is the VideoCD input.</para>
</sect2>
<sect2><title>http</title>
<para><emphasis>default: enabled</emphasis></para>
<para>This is the HTTP input. You can use it for Video On Demand.</para>
</sect2>
<sect2><title>satellite</title>
<para><emphasis>default: disabled</emphasis></para>
<para>This is an input module that allows to read
directly from a Hauppauge WinTV Nova card under Linux.
It requires drivers 0.9.4 available from <ulink
url="http://www.linuxtv.org/">linuxtv.org</ulink>.</para>
</sect2>
<sect2><title>v4l</title>
<para><emphasis>default: disabled</emphasis></para>
<para><emphasis>For Linux only</emphasis></para>
<para>This module allows to get Video4Linux streams.</para>
</sect2>
</sect1>
<sect1><title>Demuxers</title>
<para>Demuxers or demultiplexers allow VLC to extract the stream(s)
from the file or source where they are into.</para>
<para>For example, an AVI file can contain a MPEG-4 video, or an
uncompressed video. AVI is only a storing format, not a compression
format.</para>
<sect2><title>avi</title>
<para><emphasis>default: enabled</emphasis></para>
<para>This module allows you to read <filename>.avi</filename> files.</para>
</sect2>
<sect2><title>asf</title>
<para><emphasis>default: enabled</emphasis></para>
<para>This module allows you to read <filename>.asf</filename> files.</para>
</sect2>
<sect2><title>aac</title>
<para><emphasis>default: enabled</emphasis></para>
<para>This module allows to you read AAC files.</para>
</sect2>
<sect2><title>ogg</title>
<para><emphasis>default: enabled</emphasis></para>
<para>This module allows to you read OGG files.</para>
</sect2>
<sect2><title>rawdv</title>
<para><emphasis>default: enabled</emphasis></para>
<para>This module allows to you read DV files.</para>
</sect2>
<sect2><title>dvbpsi</title>
<para><emphasis>default: enabled</emphasis></para>
<para>This module allows to demux streams from a satellite card.</para>
</sect2>
<sect2><title>mp4</title>
<para><emphasis>default: enabled</emphasis></para>
<para>This module is the MPEG-4 demuxer.</para>
</sect2>
</sect1>
<sect1><title>Interface modules</title>
<para>These modules allow you to choose the interface you want to use.</para>
<sect2><title>gtk</title>
<para><emphasis>default: enabled</emphasis></para>
<para>This is the GTK+ interface. It needs gtk libraries
(<emphasis>libgtk1.2</emphasis> package on Debian) and headers files
if you are compiling it (<emphasis>libgtk1.2-dev</emphasis> package on
Debian). Note that it can also be used under Windows.</para>
</sect2>
<sect2><title>gnome</title>
<para><emphasis>default: disabled</emphasis></para>
<para><emphasis>For Linux only</emphasis></para>
<para>This is the Gnome interface. It needs gnome libraries
(<emphasis>libgnome32</emphasis> package under Debian) and headers
(<emphasis>libgnome-dev</emphasis> package under Debian) if you wish to
compile it.</para> </sect2>
<sect2><title>intfwin</title>
<para><emphasis>default: enabled on win32</emphasis></para>
<para><emphasis>For Windows only</emphasis></para>
<para>This is the Windows native interface. It requires
Borland C++ builder to compile. You may use the
<command>--with-bc-builder=PATH</command> option to specify the path to
this application.</para>
</sect2>
<sect2><title>qt</title>
<para><emphasis>default: disabled</emphasis></para>
<para>This is the QT interface module. You will need the libraries
(<emphasis>libqt2</emphasis> package on Debian) and headers
(<emphasis>libqt-dev</emphasis> package under Debian) if you wish to
compile it.</para>
</sect2>
<sect2><title>kde</title>
<para><emphasis>default: disabled</emphasis></para>
<para>This is the KDE interface module. You will need the libraries
(<emphasis>kdelibs3</emphasis> package on Debian) and headers
(<emphasis>kde-devel</emphasis> package under Debian) if you wish to
compile it.</para>
</sect2>
<sect2><title>rc</title>
<para><emphasis>default: enabled</emphasis></para>
<para>This is the Remote Control interface module. It allows you
to control VLC via commands, such as <emphasis>play</emphasis>,
<emphasis>stop</emphasis>, etc... or via a script.</para>
</sect2>
<sect2><title>ncurses</title>
<para><emphasis>default: disabled</emphasis></para>
<para>This is a text interface, using ncurses library.
You will need ncurses headers if you want to compile it
(<emphasis>libncurses5-dev</emphasis> package on Debian).</para>
</sect2>
<sect2><title>lirc</title>
<para><emphasis>default: disabled</emphasis></para>
<para>This interface module allows you to control VLC through a remote.
A lircrc example is provided to help you configure it to your remote
(see <filename>doc/lirc/example.lircrc</filename>).</para>
</sect2>
<sect2><title>wxwindows</title>
<para><emphasis>default: enabled</emphasis></para>
<para>The wxWindows interface is a portable interface meant to
replace win32, gnome and Gtk interface, but it is not completely
finished.</para>
</sect2>
<sect2><title>opie</title>
<para><emphasis>default: disabled</emphasis></para>
<para>This is an interface plugin for the Qt Embedded library (iPaq
graphical library).</para>
</sect2>
</sect1>
<sect1><title>Codec modules</title>
<para>The following modules add codec (ie, compression formats)
support.</para>
<sect2><title>a52</title>
<para><emphasis>default: disabled</emphasis></para>
<para>This is a better AC3/A52 decoder than the built-in one, based on
liba52 (see the <ulink url="http://liba52.sourceforge.net/">liba52 web
site</ulink>.<para>
</sect2>
<sect2><title>ffmpeg</title>
<para><emphasis>default: disabled</emphasis></para>
<para>This is a free MPEG-4/DivX/OpenDivX codec : ffmpeg (see the <ulink
url="http://ffmpeg.sourceforge.net/">ffmpeg web site</ulink>.</para>
</sect2>
<sect2><title>vorbis</title>
<para><emphasis>default: enabled</emphasis></para>
<para>This codec allows you to read the OGG/Vorbis files.</para>
</sect2>
<sect2><title>dv</title>
<para><emphasis>default: disabled</emphasis></para>
<para>This codec allows you to read DV-encoded files.</para>
</sect2>
<sect2><title>xvid</title>
<para><emphasis>default: disabled</emphasis></para>
<para>This codec allows you to read files encoded with Xvid (see <ulink url="http://www.xvid.org/">Xvid web site</ulink>).</para>
</sect2>
<sect2><title>mad</title>
<para><emphasis>default: disabled</emphasis></para>
<para>This codec is a very smart MP3 decoder, that only uses integers.
This allows its use for CPU which don't handle floating point numbers
(on PDA, for exemple).</para>
</sect2>
<sect2><title>faad</title>
<para><emphasis>default: disabled</emphasis></para>
<para>Faad is an MPEG-4 audio decoder (see the <ulink
url="http://faac.sourceforge.net/">FAAC web site</ulink>).</para>
</sect2>
<sect2><title>tarkin</title>
<para><emphasis>default: disabled</emphasis></para>
<para>tarkin is a new codec (experimental) by the Ogg Project (see the
<ulink url="http://www.vorbis.com">Ogg Vorbis web site</ulink>).</para>
</sect2>
<sect2><title>theora</title>
<para><emphasis>default: disabled</emphasis></para>
<para>theora is an experimental video codec by the Ogg Project (see the
<ulink url="http://www.vorbis.com">Ogg Vorbis web site</ulink>).</para>
</sect2>
<sect2><title>cinepak</title>
<para><emphasis>default: enabled</emphasis></para>
<para>This is the codec for the Cinepak format.</para>
</sect2>
<sect2><title>tremor</title>
<para><emphasis>default: disabled</emphasis></para>
<para>This is an Ogg/Vorbis codec that only makes integer calculus,
which allow its use on CPU which don't have floating point support
(see the <ulink url="http://www.vorbis.com">Ogg Vorbis web
site</ulink>).</para>
</sect2>
</sect1>
<sect1><title>OS support modules</title>
<para>The following modules add support for different OSs.</para>
<sect2><title>macosx</title>
<para><emphasis>default: enabled on MacOS X</emphasis></para>
<para><emphasis>For MacOS X only</emphasis></para>
<para>This is the MacOS X support module, including a native
interface.</para>
</sect2>
<sect2><title>qnx</title>
<para><emphasis>default: enabled on qnx</emphasis></para>
<para><emphasis>For QNX only</emphasis></para>
<para>This is the QNX RTOS support module.</para>
</sect2>
</sect1>
<sect1><title>Miscellaneous</title>
<para>This section describes a few more modules that don't belong to any
of the categories described before.</para>
<sect2><title>sout</title>
<para><emphasis>default: enabled</emphasis></para>
<para>Stream Output is a new feature of VLC that allows
it to stream an MPEG-1, MPEG-2 or MPEG-4/DivX file or a DVD.</para>
<para>For more details, please have a look at the <xref linkend="gui"
endterm="tgui"> or <xref linkend="cmdline" endterm="tcmdline">
sections.</para>
</sect2>
<sect2><title>test-suite</title>
<para><emphasis>default: disabled</emphasis></para>
<para>This builds a special VLC, for testing purposes only.</para>
</sect2>
<sect2><title>mozilla</title>
<para><emphasis>default: disabled</emphasis></para>
<para>This is not really a module. When enabled, a VLC-based Mozilla
plugin is built.</para>
</sect2>
<sect2><title>slp</title>
<para><emphasis>default: enabled</emphasis></para>
<para>This enables the SLP service discovery protocol.</para>
</sect2>
<sect2><title>xosd</title>
<para><emphasis>default: disabled</emphasis></para>
<para><emphasis>For Unix only</emphasis></para>
<para>This plugin outputs the current stream to an "OSD" (On Screen
Display).</para>
</sect2>
<sect1><title>Compilation Options</title>
<para>There are a few options that you can set when running the
configure script, which are not related to modules.</para>
<para>You can have a look at these options by typing :</para>
<screen>
<prompt>% </prompt><userinput>./configure --help</userinput>
</screen>
<para>You can for example control all the installation directories,
the system for which you want to build VLC for (if not guessed
correctly),...</para>
<para>You can also choose to enable or disable some optimizations.</para>
<sect2><title>--disable-plugins</title>
<para>If you select this option, no plugins will be enabled. This is
definitely not recommended, as you would get a very poor VLC, and should
only be used for testing purposes.</para>
</sect2>
</sect1>
</chapter>