<?xml version="1.0" encoding="iso8859-1"?>
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
     "http://docbook.org/xml/4.1.2/docbookx.dtd" []>

<book id="vlc-user-guide">

<bookinfo>

<title>
VLC user guide

</title>

<authorgroup>
  <author>
    <firstname>Henri</firstname>
    <surname>Fallon</surname>
  </author>
  <author>
    <firstname>Alexis</firstname>
    <surname>de Lattre</surname>
  </author>
  <author>
    <firstname>Johan</firstname>
    <surname>Bilien</surname>
  </author>
  <author>
    <firstname>Anil</firstname>
    <surname>Daoud</surname>
  </author>
  <author>
    <firstname>Mathieu</firstname>
    <surname>Gautier</surname>
  </author>
  <author>
    <firstname>Clément</firstname>
    <surname>Stenac</surname>
  </author>
</authorgroup>

<copyright>
    <year>2002, 2003</year>
    <holder>
     the VideoLAN project
     </holder>
</copyright>

<legalnotice>

<para>Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.2 or
any later version published by the Free Software Foundation ; with no
Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
Texts. The text of the license can be found in the appendix
<xref linkend="gfdl" endterm="tgfdl"/>.</para>

</legalnotice>

<keywordset>
    <keyword>VideoLAN</keyword>
    <keyword>Client</keyword>
    <keyword>vlc</keyword>
    <keyword>vls</keyword>
    <keyword>vod</keyword>
    <keyword>vlcs</keyword>
    <keyword>stream</keyword>
    <keyword>multicast</keyword>
    <keyword>MPEG-1</keyword>
    <keyword>MPEG-2</keyword>
    <keyword>MPEG-4</keyword>
    <keyword>DVD</keyword>
    <keyword>DivX</keyword>
</keywordset>

<abstract>

<para>
This document is the complete user guide of VLC
.</para>

</abstract>


</bookinfo>


<toc/>


<chapter id="intro"><title id="tintro">Introduction</title>

<sect1><title>
What is the VideoLAN project ?

</title>

<sect2><title>
Overview

</title>


<para>VideoLAN is a complete software solution for video streaming, developed
by students of the <ulink url="http://www.ecp.fr">Ecole Centrale
Paris</ulink> and developers from all over the world, under the
<ulink url="http://www.gnu.org/copyleft/gpl.html">GNU General Public
License</ulink> (GPL). VideoLAN is designed to stream MPEG videos on high
bandwidth networks.</para>

<para>The VideoLAN solution includes :</para>






<itemizedlist>


<listitem><para>VLS (VideoLAN Server), which can stream MPEG-1, MPEG-2
and MPEG-4 files, DVDs, digital satellite channels, digital terrestial
television channels and live videos on the network in unicast or
multicast,</para></listitem>





<listitem><para>VLC (initially VideoLAN Client), which can be used as
a server to stream MPEG-1, MPEG-2 and MPEG-4 files, DVDs and live
videos on the network in unicast or multicast ; or used as a client
to receive, decode and display MPEG streams under multiple operating
systems.</para></listitem>




</itemizedlist>


<para>Here is an illustration of the complete VideoLAN solution :</para>




<figure><title>
Global VideoLAN solution
La solution VideoLAN globale
</title>

<mediaobject>
  <imageobject>
    <imagedata fileref="images/global-diagram.jpg" format="JPG" scalefit="1" scale="60"/>
  </imageobject>
</mediaobject>
</figure>


<para>More details about the project can be found on the <ulink url="http://www.videolan.org/">VideoLAN Web site</ulink>.</para>


</sect2>

<sect2><title>
VideoLAN software

</title>

<simplesect><title>VLC</title>


<para>VLC works on many platforms : Linux, Windows, Mac OS X, BeOS,
*BSD, Solaris, Familiar Linux, Yopy/Linupy and QNX. It can read :</para>




<itemizedlist>


<listitem><para>MPEG-1, MPEG-2 and MPEG-4 / DivX files from a hard disk, 
a CD-ROM drive, ...</para></listitem>




<listitem><para>DVDs and VCDs,</para></listitem>




<listitem><para>from a satellite card (DVB-S),</para></listitem>




<listitem><para>MPEG-1, MPEG-2 and MPEG-4 streams from the
network sent by VLS or VLC's stream output.</para></listitem>



</itemizedlist>

<para>
VLC can also be used as a server to stream :

</para>

<itemizedlist>


<listitem><para>MPEG-1, MPEG-2 and MPEG-4 / DivX files,</para></listitem>




<listitem><para>DVDs,</para></listitem>




<listitem><para>from an MPEG encoding card,</para></listitem>



</itemizedlist>

<para>
 to :
 </para>

<itemizedlist>


<listitem><para>one machine (i.e. to one IP address) : this is called
<emphasis>unicast</emphasis>,</para></listitem>




<listitem><para>a dynamic group of machines that the clients can
join or leave (i.e. to a multicast IP address) : this is called
<emphasis>multicast</emphasis>,</para></listitem>



</itemizedlist>

<para>in IPv4 or IPv6
      .</para>


<para>To get the complete list of VLC's possibilities
on each plateform supported, see the <ulink url="http://www.videolan.org/vlc/features.html">VLC features
page</ulink>.</para>





<note><para>
VLC doesn't work on Mac OS 9, and will
probably never do.

</para></note>

</simplesect>

<simplesect><title>VLS</title>

<para>
 VLS can stream :
 
</para>

<itemizedlist>

<listitem><para>
an MPEG-1, MPEG-2 or MPEG-4 files stored on a hard drive
or on a CD,

</para></listitem>

<listitem><para>
a DVD located in a local DVD drive or copied on a hard
disk,

</para></listitem>

<listitem><para>
a satellite card (DVB-S) or a digital terrestial
television card (DVB-T)

,</para></listitem>

<listitem><para>
an MPEG encoding card

 ;</para></listitem>

</itemizedlist>

<para>to:</para>

<itemizedlist>


<listitem><para>one machine (i.e. to one IP address) : this is called
<emphasis>unicast</emphasis>,</para></listitem>




<listitem><para>a dynamic group of machines that the clients can
join or leave (i.e. to a multicast IP address) : this is called
<emphasis>multicast</emphasis>,</para></listitem>



</itemizedlist>

<para>in IPv4 or IPv6
      .</para>


<para>A Pentium 100 MHz with 32 MB of memory should be enough to send one
stream on the network. When streaming a lot of videos stored on a
hard drive, the actual limitation is not the processor but the hard
drive and the network connection.</para>




<para>VLS works under Linux and Windows. To get the complete
list of VLS's possibilities on each plateform supported, see the <ulink url="http://www.videolan.org/streaming/features.html">streaming features
page</ulink>.</para>





</simplesect>

<simplesect><title>Mini-SAP-server</title>

<para>
You can add a channel information service based on the SAP/SDP
standard to the VideoLAN solution. The mini-SAP-server sends announces
about the multicast programs on the network in IPv4 or IPv6, and VLCs
receive these annouces and automatically add the programs announced to
their playlist.

</para>

<para>
The mini-SAP-server works under Linux and Mac OS X.

</para>

</simplesect>
</sect2>
</sect1>

<sect1><title>

What is a codec ?
</title>



<para>
To fully understand the VideoLAN solution, you must
understand the difference between a <emphasis>codec</emphasis> and a
<emphasis>container format</emphasis>

</para>

<itemizedlist>

<listitem><para>
A <emphasis>codec</emphasis> is a compression
algorithm, used to reduce the size of a stream. There are audio codecs
and video codecs. MPEG-1, MPEG-2, MPEG-4, Vorbis, DivX, ... are
codecs

</para></listitem>

<listitem><para>
A <emphasis>container format</emphasis> contains
one or several streams already encoded by codecs. Very often, there
is an audio stream and a video one. AVI, Ogg, MOV, ASF, ... are
container formats. The streams contained can be encoded using different
codecs. In a perfect world, you could put any codec in any container
format. Unfortunately, there are some incompatibilities. You can
find a matrix of possible codecs and container formats on the <ulink url="http://www.videolan.org/streaming/features.html">features
page</ulink>


</para></listitem>
</itemizedlist>

<para>
To decode a stream, VLC first
<emphasis>demuxes</emphasis> it. This means that it reads the container
format and separates audio, video, and subtitles, if any. Then, each of
these are passed <emphasis>decoders</emphasis> that do the mathematical
processing to decompress the streams

.</para>


<para>
There is a particular thing about MPEG:

</para>

<itemizedlist>

<listitem><para>
MPEG is a <emphasis>codec</emphasis>. There are
several versions of it, called MPEG-1, MPEG-2, MPEG-4, ...

</para></listitem>

<listitem>

<para>MPEG is also a container format, sometimes refered
to as <emphasis>MPEG System</emphasis>. There are several types of MPEG:
ES, PS, and TS</para>
<para>When you play an MPEG video from a DVD, for instance, the MPEG
stream is actually composed of several streams (called Elementary
Streams, ES): there is one stream for video, one for audio, another for
subtitles, and so on. These different streams are mixed together into a
single Program Stream (PS). So, the .VOB files you can find in a DVD are
actually MPEG-PS files. But this PS format is not adapted for streaming
video through a network or by satellite, for instance. So, another
format called Transport Stream (TS) was designed for streaming MPEG
videos through such channels.</para>



</listitem>
</itemizedlist>


</sect1>

<sect1><title>
How can I use VideoLAN ?

</title>

<sect2><title>Documentation</title>

<para>
The user documentation of VideoLAN is made up of 4 documents :


</para>

<itemizedlist>

<listitem><para>
the <emphasis>VideoLAN Quickstart</emphasis>. This
document will give you a quick overview of VLC, VLC's stream output,
the Video On Demand solution and the channel information service
system.

</para></listitem>

<listitem><para>
the <emphasis>VideoLAN HOWTO</emphasis>. This
document is the complete guide of the VideoLAN streaming
solution.

</para></listitem>

<listitem><para>
the <emphasis>VLC user guide</emphasis>. This document
is the complete guide for VLC.

</para></listitem>

<listitem><para>
the <emphasis>VLS user guide</emphasis>. This document
is the complete guide for VLS.

</para></listitem>

<listitem><para>
the <emphasis>VideoLAN FAQ</emphasis>.
This document contains Frequently Asked Questions about
VideoLAN.

</para></listitem>

</itemizedlist>

<para>

The latest version of these documents can be found on the <ulink url="http://www.videolan.org/doc/">documentation page</ulink>

.</para>

<para>

You can also have a look at the <ulink url="http://wiki.videolan.org">VideoLAN Wiki</ulink>. This is a website
that everyone can change. We use it to document everything that is not
in the &quot;official&quot; documentation: the tips and tricks for each O.S., the
graphical interfaces, etc...


</para>

</sect2>

<sect2><title>
User support

</title>

<para>

If you have problems using VideoLAN, and if you don't find the
answer to your problems in the documentation, please look at the <ulink url="http://www.via.ecp.fr/via/ml/videolan/index-en.html">online
archive of the mailing-lists</ulink>. There are two English-speaking
mailing-lists for the users :


</para>

<itemizedlist>

<listitem><para><emphasis>vlc@videolan.org</emphasis>
 for the questions on VLC
 
,</para></listitem>

<listitem><para><emphasis>streaming@videolan.org</emphasis> 
 for the questions on VLS, mini-SAP-server
    and the network
 
.</para></listitem>

</itemizedlist>

<para>

If you want to subscribe or unsubscribe to the mailing-lists,
please go to the <ulink url="http://www.videolan.org/support/lists.html">
mailing-list page</ulink>.


</para>

<para>
You can also talk with VideoLAN users and developers on IRC :
server <emphasis>irc.freenode.net</emphasis>, channel
<emphasis>#videolan</emphasis>

.</para>

<para>
If you find a bug, please follow the instructions on 
the <ulink url="http://www.videolan.org/support/bug-reporting.html">
bug reporting page</ulink>

.</para>

</sect2>
</sect1>

<sect1><title>
Command line usage

</title>

<itemizedlist>


<listitem><para>

VLC has many different graphical interfaces, that
are organized quite differently in order to be in harmony with the
guidelines of each operating system supported. Documenting the use
of each graphical interface is too long, and some features are only
available via the command line interface. Therefore we decided to
document only the command line interface, but in many cases it shoud
be easy to guess how to use the graphical interface for the same use
!


</para></listitem>

<listitem><para>
VLS has a command line and a telnet interface, but no
graphical interface !

</para></listitem>

</itemizedlist>

<para>

All the commands that show up in this document should be typed
inside a terminal.
.</para>

<sect2><title>
Open a terminal

</title>

<simplesect><title>Windows</title>

<para>
Click on <emphasis>Start</emphasis>,
<emphasis>Run</emphasis> and type :

</para>

<itemizedlist>

<listitem><para><command>cmd</command> <keycap>Enter</keycap>
(Windows 2000 / XP),</para></listitem>

<listitem><para><command>command</command> <keycap>Enter</keycap>
(Windows 95 / 98 / ME).</para></listitem>

</itemizedlist>

<para>
The terminal appears
Le terminal apparait
</para>

<figure><title>Windows terminal</title>
<mediaobject>
  <imageobject>
    <imagedata fileref="images/terminal-windows.jpg" format="JPG" scalefit="1" scale="60"/>
  </imageobject>
</mediaobject>
</figure>

<note><para>
Under Windows, you need to be in the directory where the
program is installed to run it.
</para></note>

</simplesect>

<simplesect><title>Linux / Unix</title>

<para>
Open a terminal

 :</para>

<figure><title>Linux X terminal</title>
<mediaobject>
  <imageobject>
    <imagedata fileref="images/terminal-linux.jpg" format="JPG" scalefit="1" scale="60"/>
  </imageobject>
</mediaobject>
</figure>

<para>
In the documentation, we adopt the following 
conventions for the Unix commands :

</para>

<itemizedlist>

<listitem><para>
commands that should be typed as
<emphasis>root</emphasis> have a <command>#</command> prompt :

</para>

<screen>
<prompt># </prompt><userinput>command_to_be_typed_as_root</userinput>
</screen>

</listitem>

<listitem><para>
commands that should be typed as a regular user have a
<command>%</command> prompt :

</para>

<screen>
<prompt>% </prompt><userinput>command_to_be_typed_as_regular_user</userinput>
</screen>

</listitem>

</itemizedlist>

</simplesect>

<simplesect><title>Mac OS X</title>

<para>

Go to <emphasis>Applications</emphasis>, open the
folder <emphasis>Utilities</emphasis> and double-click on
<emphasis>Terminal</emphasis>

 :</para>

<figure><title>Mac OS X terminal</title>
<mediaobject>
  <imageobject>
    <imagedata fileref="images/terminal-macosx.jpg" format="JPG" scalefit="1" scale="60"/>
  </imageobject>
</mediaobject>
</figure>

<note><para>
Under Mac OS X, you need to be in the directory where
the program is installed to run it, and start the command with
<command>./</command> 

.</para></note>

</simplesect>

<simplesect><title>BeOS</title>

<para>
In the deskbar, go to <emphasis>Application</emphasis> and then
<emphasis>Terminal</emphasis> :
</para>

<figure><title>BeOS terminal</title>
<mediaobject>
  <imageobject>
    <imagedata fileref="images/terminal-beos.jpg" format="JPG" scalefit="1" scale="60"/>
  </imageobject>
</mediaobject>
</figure>

<note><para>
Under BeOS, you need to be in the directory where
the program is installed to run it, and start the command with
<command>./</command>

.</para></note>

</simplesect>
</sect2>
</sect1>

</chapter>



<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. A few &quot;internal&quot; modules won't be explained here. For a 
complete list of all VLC modules, please have a look at the LIST file
 in the subdirectory &quot;modules&quot; of the VLC source tree.</para>
<para>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 VLC from sources.</para>
<para><emphasis>If you don't intend to compile 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>

<para>
Each VLC module has its own help and options. To see
what options are associated with a module, use :
</para>

<screen> <prompt>% </prompt><userinput>vlc -p
module_name</userinput> </screen>

<para>
or use the &quot;Preferences&quot; Panel of your favorite 
graphical interface
.</para>

</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 GNU/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 GNU/Linux</emphasis></para>
<para><emphasis>
For GNU/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>
<para><emphasis>
For GNU/Linux only

</emphasis></para>
<para>
This module provides hardware acceleration for Matrox
cards under GNU/Linux.
</para></sect2>

<sect2><title>ggi</title>
<para><emphasis>default: disabled</emphasis></para>
</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 GNU/Linux) to compile.

</para>
</sect2>

<sect2><title>svgalib</title>
<para><emphasis>default: disabled</emphasis></para>
<para><emphasis>
For GNU/Linux only

</emphasis></para><para>
This is a video output for the SVGAlib library.

</para></sect2>

<sect2><title>qte</title>
<para><emphasis>default: disabled</emphasis></para>
<para><emphasis>
For iPaq only

</emphasis></para><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>Always 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>Always 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.

</para>
</sect2>

<sect2><title>distort</title>
<para><emphasis>Always 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>Always enabled
</emphasis></para>
<para>
This filter allows to rotate the video in several ways
.
</para>
</sect2>

<sect2><title>invert</title>
<para><emphasis>Always enabled
</emphasis></para>
<para>
This filter inverses colors.
</para>
</sect2>

<sect2><title>adjust</title>
<para><emphasis>Always enabled
</emphasis></para>
<para>
This filter allows you to set image contrast, hue,
saturation and brightness

</para></sect2>

<sect2><title>clone</title>
<para><emphasis>Always enabled
</emphasis></para>
<para>

Ce filtre vous permet de dupliquer l'image.
</para></sect2>

<sect2><title>crop</title>
<para><emphasis>Always enabled
</emphasis></para>
<para>
This filter allows you to crop parts of the image.

</para></sect2>

<sect2><title>motionblur</title>
<para><emphasis>Always enabled
</emphasis></para>
<para>
This filter adds a &quot;motion blur&quot; effect to the image.
</para></sect2>


</sect1>


<sect1><title>
Audio 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 GNU/Linux</emphasis></para>
<para><emphasis>
For GNU/Linux and Unix only

</emphasis></para>
<para>
This is the audio output for OSS (Open Sound System)
output (<filename>/dev/dsp</filename>, for example, under Linux). It
requires that your kernel was compiled with support for your sound
card, or, if you use ALSA (Advanced Linux Sound System), the OSS emulation
layer must be active.

</para>
</sect2>

<sect2><title>alsa</title>
<para><emphasis>default: disabled</emphasis></para>
<para><emphasis>
For GNU/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 GNU/Linux &amp; Unix 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 GNU/Linux &amp; Unix 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 win</emphasis></para>
<para><emphasis>
For Windows only

</emphasis></para><para>
This is the Wave output, which is used by the win32 port.
</para></sect2>

<sect2><title>coreaudio</title>
<para><emphasis>default: enabled on Mac OS X</emphasis></para>
<para><emphasis>
For Mac OS X only

</emphasis></para><para>
This audio output uses CoreAudio under Mac OS X

</para></sect2>

<sect2><title>sdl</title>
<para><emphasis>default: enabled</emphasis></para>
<para>

This audio output uses SDL. Please refer to the 
video output.</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>dvd</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>cdda</title>
<para><emphasis>default: enabled</emphasis></para>
<para>This is the Audio CD input

.</para></sect2>

<sect2><title>http,ftp,udp,file,directory,mms</title>
<para><emphasis>Always enabled
</emphasis></para>
<para>
These are standard input modules.
The HTTP input can be used 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
GNU/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 GNU/Linux only

</emphasis></para>
<para>
This module allows to get Video4Linux streams

.</para></sect2>


<sect2><title>dvb</title>
<para><emphasis>default: disabled</emphasis></para>
<para><emphasis>
For GNU/Linux only

</emphasis></para>
<para>
This module allows to read from DVB-S, DVB-T,
and DBC-C satellite, digital terrestrial, or cable cards. It uses
the Video4Linux 2 API, that is only available in kernel 2.5.X and
2.6.X

.</para></sect2>

<sect2><title>pvr</title>
<para><emphasis>default: disabled</emphasis></para>
<para><emphasis>
For GNU/Linux only

</emphasis></para>
<para>
This module allows to read from Hauppauge PVR cards
.</para></sect2>



<sect2><title>slp</title>
<para><emphasis>default: enabled</emphasis></para>
<para>
This module allows to get the names and addresses
for streams announced using the SLP protocol

</para></sect2>

</sect1>


<sect1><title>
Demuxers
</title>

<para>
In a video stream, the video signal and the audio
one are always into &quot;containers&quot; formats. Demuxers extract the streams
from it and pass it to the decoders

.</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>Always enabled
</emphasis></para>
<para>
This module allows you to read
<filename>.avi</filename> files

.</para></sect2>

<sect2><title>asf</title>
<para><emphasis>Always enabled
</emphasis></para>
<para>
This module allows you to read
<filename>.asf</filename> files

</para></sect2>

<sect2><title>aac</title>
<para><emphasis>Always enabled
</emphasis></para>
<para>
This module allows you to read 
AAC files

</para></sect2>

<sect2><title>ogg</title>
<para><emphasis>default: enabled</emphasis></para>
<para>
This module allows you to read
<filename>.ogg</filename> files

</para></sect2>

<sect2><title>rawdv</title>
<para><emphasis>Always enabled
</emphasis></para>
<para>
This module allows you to 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>Always enabled
</emphasis></para>
<para>
This module allows you to read
<filename>.mp4</filename> files

</para></sect2>

<sect2><title>mkv</title>
<para><emphasis>default: enabled</emphasis></para>
<para>
This module allows you to read files that use the
Matroska free format

.</para></sect2>

<sect2><title>ps,ts</title>
<para><emphasis>Always enabled
</emphasis></para>
<para>
These modules allow you to read MPEG2 Program Stream
or Transport Tream files

.</para></sect2>

<sect2><title>id3,m3u</title>
<para><emphasis>Always enabled
</emphasis></para>
<para>
These modules allow you to read M3U, B4S, PLS, and
ASX playlists, and ID3 tags

.</para></sect2>

</sect1>



<sect1><title>
Interface modules

</title>

<para>
These modules allow you to choose the interface
or interfaces you want to use (whether graphical or control
interfaces).

</para>

<sect2><title>wxwindows</title>
<para><emphasis>default: enabled</emphasis></para>
<para>
The wxWindows interface is a portable interface that
is currently working under GNU/Linux and Windows. It is now the best
graphical interface available under both Windows and GNU/Linux

.</para></sect2>


<sect2><title>skins</title>
<para><emphasis>default: enabled on win32</emphasis></para>
<para>
This skinnable interface module works under Win32
and X11. You can create your own skins very easily with XML files

.</para></sect2>

<sect2><title>gtk</title>
<para><emphasis>default: enabled</emphasis></para>
<para>
This is the GTK+ interface. It needs gtk libraries
and headers files if you are compiling it. Note that it can also be used
under Windows

.</para></sect2>

<sect2><title>gnome</title>
<para><emphasis>default: disabled</emphasis></para>
<para><emphasis>
For GNU/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>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><emphasis>
For GNU/Linux only

</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>Always 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. This interface is
text-based, so you should use it when you are in console mode

.</para></sect2>


<sect2><title>http</title>
<para><emphasis>Always enabled
</emphasis></para>
<para>
This module allows you to remote control your VLC
via a web browser. You can create custom web pages.
<ulink url="http://wiki.videolan.org/index.php/HTTP">More info here</ulink>


.</para></sect2>

<sect2><title>ncurses</title>
<para><emphasis>default: disabled</emphasis></para>
<para><emphasis>
For GNU/Linux only

</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><emphasis>
For GNU/Linux only

</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>opie</title>
<para><emphasis>default: disabled</emphasis></para>
<para>
This is an interface plugin for the Qt Embedded
library (iPaq graphical library)

.</para></sect2>

<sect2><title>gestures</title>
<para><emphasis>Always enabled
</emphasis></para>
<para>
This module allows you to control VLC via mouse
gestures

.</para></sect2>

<sect2><title>joystick</title>
<para><emphasis>default: disabled</emphasis></para>
<para><emphasis>
For GNU/Linux only

</emphasis></para>
<para>
This module allows you to control VLC via a joystick
with many options. More information can be found 
<ulink url="http://wiki.videolan.org/index.php/Joystick">here</ulink>

.</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: enabled</emphasis></para>
<para>
This decoder uses liba52 (see the <ulink url="http://liba52.sourceforge.net/">liba52 web site</ulink>

.</para></sect2>

<sect2><title>ffmpeg</title>
<para><emphasis>default: enabled</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 Vorbis (audio)
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: enabled</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 example)

.</para>
</sect2>

<sect2><title>libmpeg2</title>
<para><emphasis>default: enabled</emphasis></para>
<para>
This codec allows to read MPEG2 files

.</para></sect2>

<sect2><title>faad</title>
<para><emphasis>default: disabled</emphasis></para>
<para>
Faad is an MPEG-4 audio decoder

.</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 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>cinepak</title>
<para><emphasis>default: enabled</emphasis></para>
<para>
This codec decodes 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</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>
This is the MacOS X support module, including a native
interface
.</para></sect2>

<sect2><title>qnx</title>
<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="cmdline" endterm="tcmdline"/> section

.</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>xosd</title>
<para><emphasis>default: disabled</emphasis></para>

<para><emphasis>
For Unix only

</emphasis></para>

<para>

This plugin outputs the current stream to an &quot;OSD&quot; (On Screen
Display)

.</para>

</sect2>
</sect1>


<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>



<chapter id="install"><title id="tinstall">
Installing VLC

</title>

<sect1><title>
Installing VLC

</title>


<para>

There are VLC binaries available for the many OSes, but not for
all supported OSes. If there are no binaries for your OS or if you want
to change the default settings, you can compile VLC from sources.


</para>

<sect2><title>Windows</title>

<para>

VLC works under Windows 95/98/ME/2000/XP.
Download the self-extracting file from the <ulink url="http://www.videolan.org/vlc/download-windows.html">VLC Windows
download page</ulink>. Launch the <filename>.exe</filename> to install
VLC.


</para>

</sect2>

<sect2><title>BeOS</title>

<para>

Download the Zip file from the <ulink url="http://www.videolan.org/vlc/download-beos.html">VLC BeOS download
page</ulink>. Unzip the file in a directory to install VLC.


</para>

</sect2>

<sect2><title>Mac OS X</title>
<para>

Download the Mac OS X package from the <ulink url="http://www.videolan.org/vlc/download-macosx.html">VLC
MacOS X download page</ulink> . Double-click on the icon of the
package : an icon will appear on your Desktop, right beside your
drive(s). Open it and drag the VLC application from the resulting
window to the place where you want to install it (it should be
<filename>/Applications</filename>).

</para>

</sect2>

<sect2><title>Debian GNU/Linux</title>

<simplesect><title>Debian stable (woody)</title>

<para>Add the following lines to your 

<filename>/etc/apt/sources.list</filename>:</para>

<programlisting>
deb http://www.videolan.org/pub/videolan/debian $(ARCH)/
deb-src http://www.videolan.org/pub/videolan/debian sources/
</programlisting>

<para>
Then, for a normal install, do:

</para>

<screen>
<prompt># </prompt><userinput>apt-get update</userinput>
<prompt># </prompt><userinput>apt-get install gnome-vlc libdvdcss2</userinput>
</screen>

</simplesect>

<simplesect><title>Debian unstable (sid)</title>

<para>Add the following lines to your 

<filename>/etc/apt/sources.list</filename>:</para>

<programlisting>
deb http://www.videolan.org/pub/videolan/debian $(ARCH)/
deb-src http://www.videolan.org/pub/videolan/debian sources/
</programlisting>

<para>
Then, for a normal install, do:

</para>

<screen>
<prompt># </prompt><userinput>apt-get update</userinput>
<prompt># </prompt><userinput>apt-get install wxvlc libdvdcss2</userinput>
</screen>

</simplesect>

<simplesect><title>Debian testing (sarge)</title>

<para>

You should not be using Debian testing unless you perfectly know
what you are doing. It is almost impossible to support Debian testing
and there are no plans to do it.
For more informations on Debian testing, please look:
<ulink url="http://www.debian.org/devel/testing">testing page</ulink>

</para>

</simplesect>

</sect2>

<sect2><title>Linux Mandrake</title>

<para>

There are VLC packages for Mandrake 9.1 and cooker.
</para>

<para>

To install them, add the following
sources for either Mandrake 9.1 or Cooker (you can use <ulink url="http://plf.zarb.org/~nanardon/">Easy urpmi</ulink> for that):
<emphasis>contrib</emphasis> from the core distribution and
<emphasis>plf</emphasis> (Penguin Liberation Front) from the external
add-ons.



</para>

<para>
Then install the required packages with

<command>urpmi</command>:</para>

<screen>
<prompt># </prompt><userinput>urpmi libdvdcss2 libdvdplay0 wxvlc vlc-plugin-a52 vlc-plugin-ogg vlc-plugin-mad</userinput>
</screen>

</sect2>

<sect2><title>Linux Redhat</title>


<para>
Download the RPM package <emphasis>vlc</emphasis> and the packages
listed in the <emphasis>required libraries and codecs</emphasis>
section (the other packages are just optional) from the <ulink url="http://www.videolan.org/vlc/download-redhat.html">VLC Red Hat
download page</ulink> and put them all into the same directory.</para>
<para>Then install the RPM packages you have downloaded:</para>



<screen>
<prompt># </prompt><userinput>rpm -U *.rpm</userinput>
</screen>

<para>

If you have not installed all the RPM packages included with your
distribution, you may be asked to install a few of them first.

</para>

</sect2>

<sect2><title>

  Compile the sources by yourself (for every other OS)

</title>


<para>The method below is for any Unix system supported by VLC, for
which there is no packages available. It explains how to compile and
install VLC and the needed libraries from their source code.</para>

<para>You can also compile VLC under Linux this way if you want to
modify the default supported modules.</para>


<sect3><title>Install the libraries
</title>

<para>Many libraries are needed :
</para>

<itemizedlist>

<listitem><para><emphasis>libdvbpsi</emphasis>
(compulsory)
,</para></listitem>

<listitem><para><emphasis>mpeg2dec</emphasis>
(compulsory)
,</para></listitem>

<listitem><para><emphasis>libdvdcss</emphasis>
if you want to be able to read encrypted DVDs
,</para></listitem>

<listitem><para><emphasis>libdvdplay</emphasis>
if you want to have DVD menu navigation

,</para></listitem>

<listitem><para><emphasis>a52dec</emphasis>
if you want to be able to decode the AC3 (i.e. A52)
  sound format often used in DVDs
,</para></listitem>

<listitem><para><emphasis>ffmpeg</emphasis>, <emphasis>libmad</emphasis>,
 <emphasis>faad2</emphasis>
if you want to read MPEG 4 / DivX files

,</para></listitem>

<listitem><para><emphasis>libogg</emphasis> &amp;
<emphasis>libvorbis</emphasis>
if you want to read Ogg Vorbis files
.</para></listitem>

</itemizedlist>

<para>
Download the libraries from the <ulink url="http://www.videolan.org/vlc/download-sources.html">VLC sources
download page</ulink>.
</para>

<para>
For each library :
</para>

<itemizedlist>

<listitem><para>
uncompress :

</para>

<screen>
<prompt>% </prompt><userinput>tar xvzf library.tar.gz</userinput>
</screen>

<para>or</para>

<screen>
<prompt>% </prompt><userinput>tar xvjf library.tar.bz2</userinput>
</screen>

</listitem>

<listitem><para>
configure :

</para>

<screen>
<prompt>% </prompt><userinput>cd library</userinput>
<prompt>% </prompt><userinput>./configure</userinput>
</screen>

</listitem>

<listitem><para>
compile and install :

</para>

<screen>
<prompt>% </prompt><userinput>make</userinput>
<prompt># </prompt><userinput>make install</userinput>
</screen>

</listitem>

</itemizedlist>

<para>

Check that the configuration file <filename>/etc/ld.so.conf</filename>
contains the following line :
</para>

<programlisting>
/usr/local/lib
</programlisting>

<para>

If the line is not present, add-it and then run (as root):

</para>

<screen>
<prompt># </prompt><userinput>ldconfig</userinput>
</screen>

</sect3>

<sect3><title>
Install VLC
</title>

<para>

Download the sources of the lastest release : get the
file <filename>vlc-version.tar.gz</filename> from the <ulink url="http://www.videolan.org/vlc/download-sources.html">VLC sources
download page</ulink>. Uncompress-it :


</para>

<screen>
<prompt>% </prompt><userinput>tar xvzf vlc-version.tar.gz</userinput>
<prompt>% </prompt><userinput>cd vlc-version</userinput>
</screen>



<para>

To get the list of configuration options, do :

</para>

<screen>
<prompt>% </prompt><userinput>./configure --help</userinput>
</screen>

<para>
Please note that all the modules are described in
the <emphasis>Modules</emphasis> section of the <ulink url="http://www.videolan.org/doc/vlc-user-guide/">VLC User
Guide</ulink>
.</para>


<para>
Examples of very simple configurations:

</para>

<itemizedlist>

<listitem><para>
if you want a basic VLC, do 

: </para>

<screen>
<prompt>% </prompt><userinput>./configure</userinput>
</screen>

</listitem>

<listitem><para>

if you want the Gnome interface instead of the GTK
interface (you will need the developement packages of Gnome) :
</para>

<screen>
<prompt>% </prompt><userinput>./configure --enable-gnome</userinput>
</screen>

</listitem>

</itemizedlist>

<para>
Then, compile and install :
</para>

<screen>
<prompt>% </prompt><userinput>make</userinput>
<prompt>% </prompt><userinput>su</userinput>
<prompt>Password: </prompt><userinput> [Root Password]</userinput>
<prompt># </prompt><userinput>make install</userinput>
</screen>

<para>

Please note that the installation (<command>make install</command>
command) is not mandatory. You can execute VLC from where you compiled
it.

</para>

</sect3>
</sect2>

</sect1>

<sect1><title>
Uninstalling VLC

</title>


<sect2><title>Windows</title>

<para>
 Click on the <emphasis>Uninstall VLC</emphasis>
icon that was created during installation

.</para>

</sect2>

<sect2><title>BeOS</title>

<para>
Delete the <filename>vlc-version</filename>
directory. You can also remove the configuration file
<filename>/boot/home/config/settings/vlcrc</filename>

.</para>

</sect2>

<sect2><title>Mac OS X</title>

<para>
Drag the VLC application to your trash can

.</para>

</sect2>

<sect2><title>Debian GNU/Linux</title>

<para>
Remove the packages that you installed

 :</para>

<screen>
<prompt># </prompt><userinput>apt-get remove --purge vlc-gnome vlc-mad libdvdcss2 libdvbpsi1</userinput>
</screen>

</sect2>

<sect2><title>GNU/Linux Redhat, Mandrake and SuSE</title>

<para>
Uninstall the RPM packages that you installed

 :</para>

<screen>
<prompt># </prompt><userinput>rpm -e vlc-version vlc-mad-version vlc-gnome-version
libdvdcss2-version libdvdpsi1-version</userinput>
</screen>

</sect2>

<sect2><title>
If you compiled VLC from sources

</title>

<para>
Go to the directory containing VLC sources and
execute

 :</para>

<screen>
<prompt># </prompt><userinput>make uninstall</userinput>
</screen>

<para>
Then you can remove the VLC sources

.</para>

</sect2>

</sect1>

</chapter>



<chapter id="cmdline"><title id="tcmdline">
The command line interface

</title>

<sect1><title>Introduction</title>

<para>
Many options are only available through command
line. They are detailed here

.</para>

</sect1>

<sect1><title>
Opening streams

</title>

<para>
The following commands start VLC and add the first
element to the playlist

.</para>

<sect2><title>
Opening a file

</title>

<para>
Start VLC with 

:</para>

<screen>
<prompt>% </prompt><userinput>vlc -vvv my_file.mpg</userinput>
</screen>

<para>
Although VLC should be able to recognize the file
type, you may tell VLC what codec to use with the
<emphasis>--codec</emphasis> option. For example to play
my_file.mpg using ffmpeg audo/video decoder do 

:</para>

<screen>
<prompt>% </prompt><userinput>vlc -vvv --codec ffmpeg my_file.mpg</userinput> 
</screen>

<para>
 A list of all video and audio
codecs supported by VLC is available on the <ulink url="http://www.videolan.org/vlc/features.html">VLC features
list</ulink>

.</para>

</sect2>

<sect2><title>
Opening a DVD or VCD, or an audio CD

</title>

<para>
Start VLC with 
</para>


<screen>
<prompt>% </prompt><userinput>vlc -vvv dvd:[device][@raw_device][@[title][,[chapter][,angle]]]
</userinput>
</screen>

<para>
or
 (VCD):</para>


<screen>
<prompt>% </prompt><userinput>vlc -vvv vcd:[device][@[title][,[chapter][peripherique][@[titre][,chapitre]]</userinput>
</screen>

<para>
or
 (Audio CD):</para>


<screen>
<prompt>% </prompt><userinput>vlc -vvv cdda:[device][@[title]][peripherique][@[titre]]</userinput>
</screen>


<para>
where device is the complete path to your DVD or
CD-ROM drive

.</para>

</sect2>

<sect2><title>
Start a network stream

</title>

<para>
To receive an unicast UDP stream (sent by VLS or
VLC's stream output), start VLC with 

:</para>

<screen>
<prompt>% </prompt><userinput>vlc -vvv udp:[@:server_port]</userinput>
</screen>

<para>
To receive an multicast UDP stream (sent by VLS or
VLC's stream output), start VLC with 

 :</para>


<screen>
<prompt>% </prompt><userinput>vlc -vvv udp:@multicast_address[:server_port]</userinput>
</screen>

<para>
To receive a HTTP stream, start VLC with

 :</para>

<screen>
<prompt>% </prompt><userinput>vlc -vvv http://www.example.org/your_file.mpg</userinput>
</screen>

</sect2>
</sect1>

<sect1><title>
Modules selection

</title>

<para>
 VLC tries to select the most appropriate interface,
input and output modules, among the ones available on the system,
according to the stream it is given to read. However, you may wish
to force the use of a specific module with the following options
(for the complete list of modules, see the <xref linkend="modules" endterm="tmodules"/> section)
)
:</para>

<itemizedlist>
<listitem><para><emphasis>--intf  &lt;module&gt;</emphasis>
allows you to select the interface module

.</para></listitem>
<listitem><para><emphasis>--extraintf  &lt;module&gt;</emphasis>
allows you to select extra interface modules that
will be launched in addition to the main one

.</para></listitem>
<listitem><para><emphasis>--aout  &lt;module&gt;</emphasis>
allows you to select the audio output module

.</para></listitem>
<listitem><para><emphasis>--vout  &lt;module&gt;</emphasis>
allows you to select the video output module

.</para></listitem>
<listitem><para><emphasis>--filter  &lt;module&gt;</emphasis>
allows you to add a video filter module

.</para></listitem>
<listitem><para><emphasis>--memcpy  &lt;module&gt;</emphasis>
allows you to choose a memory copy module
.</para></listitem>
</itemizedlist>

</sect1>

<sect1><title>Stream Output</title>



<sect2><title>Description 
of the
stream output</title>

<para>
VLC's stream output allows VLC to be used as
a streaming server instead of a client ! It has very extended
capabilities

:</para>

<itemizedlist>

<listitem><para>
stream in unicast and multicast on an IPv4 or
IPv6 network everything that VLC is able to read, via UDP, RTP or
HTTP

;</para></listitem>

<listitem><para>
save the input stream to a file in AVI, PS, TS or
OGG format

;</para></listitem>

<listitem><para>
transcode an input stream, and then, send it, to the
network or to a file

.</para></listitem>

</itemizedlist>

<para>
To know about the full possibilities of VLC's stream
output, see the <ulink url="http://www.videolan.org/streaming/features.html">
streaming features page</ulink>

.</para>

</sect2>

<sect2><title>
Architecture and syntax

</title>

<para>
the stream output has a powerful architecture
that uses modules. Each module has capabilities, and you
can <emphasis>chain</emphasis> the modules to enhance the
possibilities

.</para>

<para>
Here is the list of the modules currently available

:</para>

<itemizedlist>

<listitem><para><emphasis>standard</emphasis>
&quot;sends&quot; the stream via an <emphasis>access
output</emphasis> module: for example, UDP, file, HTTP, ... You will
probably want to use this module at the end of your chains

.</para></listitem>

<listitem><para><emphasis>transcode</emphasis>

 allows you to transcode
the audio and the video of the input stream &quot;on the fly&quot; (if your
computer is powerful enough)


.</para></listitem>

<listitem><para><emphasis>duplicate</emphasis>
 allows you to create a second chain, where the
stream will be handled in an independant way

.</para></listitem>

<listitem><para><emphasis>display</emphasis> 

allows you to
display the input stream, as VLC would normally do. Used with the
<emphasis>duplicate</emphasis> module, this allows you to view the
stream as you send it


.</para></listitem>

<listitem><para><emphasis>es</emphasis> 
allows you to make separate Elementary Etreams (ES)
out of an input stream

.</para></listitem>

</itemizedlist>

<para>
Each of these modules may take options. Here is the
syntax that you must use

:</para>

<screen>
<prompt>% </prompt><userinput>vlc input_stream --sout '#module1{option1=...,option2=...}:#module2{option1=...,option2=...}:...'</userinput>
</screen>

<para>
For example, to transcode a stream and send it, use

:</para>

<screen>
<prompt>% </prompt><userinput>vlc input_stream --sout '#transcode{options}:#standard{options}'</userinput>
</screen>

</sect2>

<sect2><title>
Description of the modules

</title>

<sect3><title>standard (alias std)</title>

<para>
Sends a stream

.</para>

<para>Options:</para>

<itemizedlist>

<listitem><para><emphasis>access</emphasis>: 
how to send
 :
<emphasis>file</emphasis>, <emphasis>udp</emphasis>,
<emphasis>rtp</emphasis>, <emphasis>http</emphasis>.</para></listitem>

<listitem><para><emphasis>mux</emphasis>: 
which muxer (ie, which format) will be used. It can
be one of 

<emphasis>avi</emphasis>
  (for AVI format)
  ,
<emphasis>ogg</emphasis> 
  (for OGG format)
  ,
<emphasis>ps</emphasis>
  (for MPEG2-PS format)
   ,
<emphasis>ts</emphasis> 
   (for MPEG2-TS format)
   
.</para></listitem>

<listitem><para><emphasis>url</emphasis>: 
if you use the
<emphasis>file</emphasis> access, it will be the location where to
store the stream; if you use another access, it will be the unicast or
multicast IP address where you want to stream

.</para></listitem>

<listitem><para><emphasis>sap</emphasis>: 
if you use the <emphasis>udp</emphasis> or
<emphasis>rtp</emphasis> accesses, use this option to announce your
stream, using SAP/SDP. This option contains the name under which you
want to announce the program

.</para></listitem>

<listitem><para><emphasis>slp</emphasis>: 
like sap, but use the SLP protocol. You need
to have libslp on your system

.</para></listitem>

<listitem><para><emphasis>sap_ipv</emphasis>: 
if you use the <emphasis>sap</emphasis> option,
use this option to specify if you want to send the SAP announces in
IPv4 or IPv6. The value of this option is <emphasis>4</emphasis> or
<emphasis>6</emphasis>
si vous utilisez <emphasis>sap</emphasis>, utilisez
ceci pour spécifier si vous désirez envoyer les annonces SAP en IPv4
-défaut- ou IPv6. La valeur à utiliser est <emphasis>4</emphasis> ou
<emphasis>6</emphasis>
.</para></listitem>

</itemizedlist>

<note><para>
If you are streaming in multicast, you may want to
use the global option <command>--ttl 12</command> to set the TTL to a
value superior to 1.

</para></note>

</sect3>

<sect3><title>display</title>

<para>
Displays the stream

.</para>

<para>Options:</para>

<itemizedlist>

<listitem><para><emphasis>noaudio</emphasis>:
Ignore audio

.</para></listitem>

<listitem><para><emphasis>novideo</emphasis>:
Ignore video

.</para></listitem>

</itemizedlist>

</sect3>

<sect3><title>duplicate</title>

<para>
Duplicates the stream to a new stream output chain

.</para>

<para>Options:</para>

<itemizedlist>

<listitem><para><emphasis>dst</emphasis>: 
A new stream output chain of modules, as described
earlier

.</para></listitem>

</itemizedlist>

</sect3>

<sect3><title>transcode</title>

<para>
Changes the codec and/or bitrates for a stream

.</para>

<para>Options:</para>

<itemizedlist>

<listitem><para><emphasis>acodec</emphasis>: 
the new audio codec. It can be one of
<emphasis>mpga</emphasis> (MPEG audio layer 2), <emphasis>a52</emphasis>
or <emphasis>ac3</emphasis> (AC3 sound) or <emphasis>vorb</emphasis>
(Vorbis)

</para>
</listitem>

<listitem><para><emphasis>ab</emphasis>: 
audio bitrate in Kbps

.</para></listitem>





<listitem><para><emphasis>vcodec</emphasis>: 
the new video codec. It can be one of
<emphasis>mp4v</emphasis> (MPEG4), <emphasis>mpgv</emphasis>
(MPEG1), <emphasis>DIV1</emphasis>, <emphasis>DIV2</emphasis>,
<emphasis>DIV3</emphasis> (DivX 1,2,3), <emphasis>H263</emphasis>
(H263), <emphasis>I263</emphasis> (H263I), <emphasis>WMV1</emphasis>
or <emphasis>WMV2</emphasis> (Windows Media Video 1 or 2),
<emphasis>MJPG</emphasis> (MJPEG), <emphasis>MJPB</emphasis>
(MJPEGB)

.</para></listitem>

<listitem><para><emphasis>width</emphasis>:
video width

.</para></listitem>

<listitem><para><emphasis>height</emphasis>:
video height

.</para></listitem>

<listitem><para><emphasis>vb</emphasis>: 
video bitrate in kbps

.</para></listitem>

<listitem><para><emphasis>vt</emphasis>: 
video bitrate tolerance in bps

.</para></listitem>

<listitem><para><emphasis>deinterlace</emphasis>: 
deinterlace the stream

.</para></listitem>

<listitem><para><emphasis>croptop</emphasis>: 
number of pixels removed from the top of the video

.</para></listitem>

<listitem><para><emphasis>cropbottom</emphasis>: 
number of pixel removed from the bottom of the video

.</para></listitem>

<listitem><para><emphasis>cropleft</emphasis>: 
number of pixels removed from the left of the video

.</para></listitem>

<listitem><para><emphasis>cropright</emphasis>: 
number of pixels removed from the right of the video

.</para></listitem>

<listitem><para><emphasis>hq</emphasis>: 
 high quality transcoding (uses more CPU)

.</para></listitem>

<listitem><para><emphasis>qmin</emphasis>: 
minimum video quantiser scale (VBR)

</para></listitem>

<listitem><para><emphasis>qmax</emphasis>:
maximum video quantiser scale (VBR)

.</para></listitem>

</itemizedlist>

</sect3>

<sect3><title>es</title>

<para>
Make separate Elementary Streams

.</para>

<para>Options:</para>

<itemizedlist>

<listitem><para><emphasis>access_audio</emphasis>:
how to send the audio track:
<emphasis>file</emphasis>, <emphasis>udp</emphasis>,
<emphasis>rtp</emphasis> or <emphasis>http</emphasis>

.</para></listitem>

<listitem><para><emphasis>access_video</emphasis>: 
how to send the vidéo track:
<emphasis>file</emphasis>, <emphasis>udp</emphasis>,
<emphasis>rtp</emphasis> or <emphasis>http</emphasis>

.</para></listitem>

<listitem><para><emphasis>access</emphasis>:
 if you want the audio and the video tracks to use
the same access, use this option instead of the two above

.</para></listitem>


<listitem><para><emphasis>mux_audio</emphasis>: 
which muxer (ie, which format) will be used for the
audio track. It can be one of <emphasis>avi</emphasis> (for AVI format),
<emphasis>ogg</emphasis> (for OGG format), <emphasis>ps</emphasis> (for
MPEG2-PS format), <emphasis>ts</emphasis> (for MPEG2-TS format)

.</para></listitem>

<listitem><para><emphasis>mux_video</emphasis>:
which muxer (ie, which format) will be used for the
video track. It can be one of <emphasis>avi</emphasis> (for AVI format),
<emphasis>ogg</emphasis> (for OGG format), <emphasis>ps</emphasis> (for
MPEG2-PS format), <emphasis>ts</emphasis> (for MPEG2-TS format)

.</para></listitem>

<listitem><para><emphasis>mux</emphasis>: 
 if you want the audio and the video tracks to use
the same muxer, use this option instead of the two above

.</para></listitem>


<listitem><para><emphasis>url_audio</emphasis>: 
if you use the <emphasis>file</emphasis> access, it
will be the location where to store the audio track; if you use another
access, it will be the unicast or multicast IP address where you want to
stream

.</para></listitem>

<listitem><para><emphasis>url_video</emphasis>: 
if you use the <emphasis>file</emphasis> access, it
will be the location where to store the vidéo track; if you use another
access, it will be the unicast or multicast IP address where you want to
stream

.</para></listitem>

<listitem><para><emphasis>url</emphasis>:
 if you want the audio and the video tracks to use
the same url, use this option instead of the two above

.</para></listitem>

</itemizedlist>

<note><para>
In the <emphasis>url</emphasis> options, if you use
the <emphasis>file</emphasis> access, you can use the following macros
in the filename:

</para>

<itemizedlist>

<listitem><para><emphasis>%n</emphasis> = 
stream number
 ;</para></listitem>
<listitem><para><emphasis>%c</emphasis> = FOURCC ;</para></listitem>
<listitem><para><emphasis>%m</emphasis> =
muxer
 ;</para></listitem>
<listitem><para><emphasis>%a</emphasis> = access.</para></listitem>

</itemizedlist>

</note>

</sect3>

<sect3><title>
Miscellaneous

</title>

<para>
Here are a few additional global options

</para>

<itemizedlist>

<listitem><para><emphasis>--no-sout-audio</emphasis>
disables audio stream output

.</para></listitem>

<listitem><para><emphasis>--no-sout-video</emphasis> 
disables video stream output

.</para></listitem>

</itemizedlist>

<para>
 The stream output also offers a simplified syntax,
with which you can only you use the <emphasis>standard</emphasis> module
main options

:</para>

<screen>
<prompt>% </prompt><userinput>vlc input_stream --sout access/mux:url</userinput>
</screen>

<para>
 where <emphasis>access</emphasis>,
<emphasis>mux</emphasis> and <emphasis>url</emphasis> are as defined in
the options of the standard module

.</para>

</sect3>

</sect2>

<sect2><title>
Examples

</title>

<para>
To understand fully the complex syntax of VLC's
stream output, please look at the use cases of the VideoLAN HOWTO

.</para>

</sect2>


</sect1>

<sect1><title>
Other Options
</title>

<sect2><title>
Audio options
</title>

<itemizedlist>
<listitem><para><emphasis>--noaudio</emphasis> 
disables audio output

.</para></listitem>
<listitem><para><emphasis>--mono</emphasis>
forces VLC to treat the stream in mono audio

.</para></listitem>
<listitem><para><emphasis>--volume  &lt;integer&gt;</emphasis> 
sets the level of audio output

.</para></listitem>
<listitem><para><emphasis>--aout-rate  &lt;integer&gt;</emphasis>
sets the audio output frequency (Hz)

.</para></listitem>
<listitem><para><emphasis>--desync  &lt;integer&gt;</emphasis>
compensates desynchronization of audio (ms)

.</para></listitem>
<listitem><para><emphasis>--headphone</emphasis>
 activates headphone virtual spatialization effect
.</para></listitem>
<listitem><para><emphasis>--headphone-dim</emphasis>
 sets headphone characteristic dimension

.</para></listitem>
</itemizedlist>

</sect2>

<sect2><title>
Video options

</title>

<itemizedlist>

<listitem><para><emphasis>--novideo</emphasis> 
disables video output

.</para></listitem>

<listitem><para><emphasis>--greyscale</emphasis>
turns video output into greyscale mode

.</para></listitem>

<listitem><para><emphasis>--fullscreen</emphasis>
sets fullscreen video

.</para></listitem>

<listitem><para><emphasis>--nooverlay</emphasis>
disables hardware acceleration for the video output

.</para></listitem>

<listitem><para><emphasis>--width, --height &lt;integer&gt;</emphasis>
sets the video window dimensions

.</para></listitem>

<listitem><para><emphasis>--zoom &lt;float&gt;</emphasis>
adds a zoom factor

.</para></listitem>

<listitem><para><emphasis>--aspect-ratio &lt;mode&gt;</emphasis>
forces source aspect ratio
.</para></listitem>

<listitem><para><emphasis>--spumargin  &lt;integer&gt;</emphasis> 
forces SPU subtitles postion

.</para></listitem>

</itemizedlist>

</sect2>

<sect2><title>
Playlist options

</title>

<itemizedlist>

<listitem><para><emphasis>--playlist</emphasis>
launches playlist on startup

.</para></listitem>

<listitem><para><emphasis>--random</emphasis>
plays files randomly forever

.</para></listitem>

<listitem><para><emphasis>--enqueue</emphasis>
enqueues items in playlist

.</para></listitem>

<listitem><para><emphasis>--loop</emphasis>
loops playlist on end

.</para></listitem>

</itemizedlist>

</sect2>

<sect2><title>
Network options

</title>

<itemizedlist>

<listitem><para><emphasis>--server-port  &lt;integer&gt;</emphasis>
sets server port

.</para></listitem>

<listitem><para><emphasis>--iface  &lt;string&gt;</emphasis> 
specifies the network interface to use

.</para></listitem>

<listitem><para><emphasis>--iface-addr  &lt;string&gt;</emphasis>
specifies your network interface IP address

.</para></listitem>

<listitem><para><emphasis>--mtu  &lt;integer&gt;</emphasis>
specifies the MTU of the network interface

.</para></listitem>

<listitem><para><emphasis>--ipv6</emphasis>
forces IPv6

.</para></listitem>

<listitem><para><emphasis>--ipv4</emphasis>
forces IPv4

.</para></listitem>

</itemizedlist>

</sect2>

<sect2><title>
CPU options

</title>

<itemizedlist>

<listitem><para><emphasis>--nommx</emphasis>
disables the use of MMX CPU extensions

.</para></listitem>

<listitem><para><emphasis>--no3dn</emphasis>
disables the use of 3D Now! CPU extensions

.</para></listitem>

<listitem><para><emphasis>--nommxext</emphasis>
disables the use of MMX Ext CPU extensions

.</para></listitem>

<listitem><para><emphasis>--nosse</emphasis> 
disables the use of SSE CPU extensions

.</para></listitem>

</itemizedlist>

</sect2>

<sect2><title>
Miscellaneous options

</title>

<itemizedlist>

<listitem><para><emphasis>--quiet</emphasis>
 be quiet

.</para></listitem>

<listitem><para><emphasis>--color</emphasis>
 displays color messages

.</para></listitem>

<listitem><para><emphasis>--search-path  &lt;string&gt;</emphasis>
specifies interface default search path

.</para></listitem>

<listitem><para><emphasis>--plugin-path  &lt;string&gt;</emphasis>
specifies plugin search path

.</para></listitem>

<listitem><para><emphasis>--dvd  &lt;string&gt;</emphasis> 
specifies the default VCD device

.</para></listitem>

<listitem><para><emphasis>--vcd  &lt;string&gt;</emphasis>
specifies the default VCD device

.</para></listitem>

<listitem><para><emphasis>--program  &lt;;integer&gt;</emphasis>
specifies program (SID) (for streams with several programs, like satellite ones)

.</para></listitem>

<listitem><para><emphasis>--audio-type  &lt;integer&gt;</emphasis>
specifies the default audio type to use with dvds

.</para></listitem>

<listitem><para><emphasis>--audio-channel  &lt;integer&gt;</emphasis>
specifies the default audio channel to use with dvds

.</para></listitem>

<listitem><para><emphasis>--spu-channel  &lt;integer&gt;</emphasis>
specifies the default subtitle channel to use with dvds

.</para></listitem>

</itemizedlist>

</sect2>

<sect2><title>
Help options

</title>

<itemizedlist>

<listitem><para><emphasis>--verbose  &lt;verbosity&gt;</emphasis>
specifies verbosity level

.</para></listitem>

<listitem><para><emphasis>--help</emphasis>
gives you all available options

.</para></listitem>

<listitem><para><emphasis>--longhelp</emphasis> 
gives you a detailled version of the available 
options
.</para></listitem>

<listitem><para><emphasis>--version</emphasis> 
gives you information about the current VLC version

.</para></listitem>

<listitem><para><emphasis>--list</emphasis> 
displays a list of available plugins

.</para></listitem>

<listitem><para><emphasis>--module  &lt;module&gt;</emphasis> 
displays help about specified module

.</para></listitem>

</itemizedlist>

</sect2>
</sect1>
</chapter>


<chapter id="webbrowser-plugin"><title id="twebbrowser-plugin">
The Mozilla plugin

</title>

<para>
VLC can also be embeded in a web browser
! For the moment, this function is only available with <ulink url="http://www.mozilla.org/">Mozilla</ulink> under GNU/Linux
.</para>

<sect1><title>
Install the plugin
</title>

<sect2><title>GNU/Linux Debian</title>

<para>
You should already have the following lines in your

<filename>/etc/apt/sources.list</filename>
 file :
</para>

<programlisting>
deb http://www.videolan.org/pub/videolan/debian $(ARCH)/
deb-src http://www.videolan.org/pub/videolan/debian sources/
</programlisting>

<para>
Install the

<emphasis>mozilla-plugin-vlc</emphasis> package :</para>

<screen>
<prompt># </prompt><userinput>apt-get update</userinput>
<prompt># </prompt><userinput>apt-get install mozilla-plugin-vlc</userinput>
</screen>

</sect2>

<sect2><title>
Compile the sources yourself

</title>

<para> Install the Mozilla development package
(<emphasis>mozilla-dev</emphasis> under Debian)
.</para>

<para>

Install the required librairies like for a normal VLC install
(from the sources, or from the packages with the development
packages).</para>

<para>

Download the sources of the lastest release : get the
file <filename>vlc-version.tar.gz</filename> from the <ulink url="http://www.videolan.org/vlc/download-sources.html">VLC sources
download page</ulink>. Uncompress-it, configure-it, compile and install

 Téléchargez les sources de la dernière version :
récupérez le fichier <filename>vlc-version.tar.gz</filename> depuis la
<ulink url="http://www.videolan.org/vlc/download-sources.html">page
de téléchargement des sources de VLC</ulink>. Décompressez-le,
configurez-le, compilez et installez
:</para>

<screen>
<prompt>% </prompt><userinput>tar xvzf vlc-version.tar.gz</userinput>
<prompt>% </prompt><userinput>cd vlc-version</userinput>
<prompt>% </prompt><userinput>./configure --enable-mozilla</userinput>
<prompt>% </prompt><userinput>make</userinput>
<prompt>% </prompt><userinput>su</userinput>
<prompt>Password: </prompt><userinput> [Root Password]</userinput>
<prompt># </prompt><userinput>make install</userinput>
</screen>

</sect2>
</sect1>

<sect1><title>
Build HTML pages that use the plugin

</title>

<para>
Here are a few examples of HTML pages that use the
Mozilla plugin

.</para>

<simplesect><title>Example 1</title>

<para>
In this example, the plugin will read an HTTP stream
inside the web page. If the user goes fullscreen, he will have to press
<keycap>f</keycap> to go back in normal view

.</para>

<programlisting>
&lt;html&gt;
&lt;head&gt;&lt;title&gt;Demo of VLC mozilla plugin&lt;/title&gt;&lt;/head&gt;

&lt;body&gt;

&lt;h1&gt;Demo of VLC mozilla plugin - Example 1&lt;/h1&gt;

&lt;embed type=&quot;application/x-vlc-plugin&quot;
         name=&quot;video1&quot;
         autoplay=&quot;no&quot; loop=&quot;yes&quot; width=&quot;400&quot; height=&quot;300&quot;
         target=&quot;http://server.example.org/video1.vob&quot; /&gt;
&lt;br /&gt;
  &lt;a href=&quot;javascript:;&quot; onclick='document.video1.play()'&gt;Play video1&lt;/a&gt;
  &lt;a href=&quot;javascript:;&quot; onclick='document.video1.pause()'&gt;Pause video1&lt;/a&gt;
  &lt;a href=&quot;javascript:;&quot; onclick='document.video1.stop()'&gt;Stop video1&lt;/a&gt;
  &lt;a href=&quot;javascript:;&quot; onclick='document.video1.fullscreen()'&gt;Fullscreen&lt;/a&gt;

&lt;/body&gt;
&lt;/html&gt;
</programlisting>

</simplesect>

<simplesect><title>Example 2</title>

<para>  In this example, the plugin will read a
multicast UDP stream in a dedicated video output window
.</para>

<programlisting>
&lt;html&gt;
&lt;head&gt;&lt;title&gt;Demo of VLC mozilla plugin&lt;/title&gt;&lt;/head&gt;

&lt;body&gt;

&lt;h1&gt;Demo of VLC mozilla plugin - Example 2&lt;/h1&gt;

&lt;embed type=&quot;application/x-vlc-plugin&quot;
         name=&quot;video2&quot;
         autoplay=&quot;no&quot; loop=&quot;no&quot; hidden=&quot;yes&quot;
         target=&quot;udp:@239.255.12.42&quot; /&gt;
&lt;br /&gt;
  &lt;a href=&quot;javascript:;&quot; onclick='document.video2.play()'&gt;Play video2&lt;/a&gt;
  &lt;a href=&quot;javascript:;&quot; onclick='document.video2.stop()'&gt;Stop video2&lt;/a&gt;
  &lt;a href=&quot;javascript:;&quot; onclick='document.video2.fullscreen()'&gt;Fullscreen&lt;/a&gt;

&lt;/body&gt;
&lt;/html&gt;
</programlisting>

</simplesect>
</sect1>
</chapter>

<appendix id="gfdl">
<title id="tgfdl">GNU Free Documentation License</title>
<subtitle>Version 1.2, November 2002</subtitle>

<blockquote id="fsf-copyright">
 <para>Copyright (C) 2000,2001,2002  Free Software Foundation, Inc.
59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.</para>
</blockquote>

<sect1 id="gfdl-0"><title>PREAMBLE</title>

<para>The purpose of this License is to make a manual, textbook, or
other functional and useful document &quot;free&quot; in the sense of freedom: to
assure everyone the effective freedom to copy and redistribute it, with
or without modifying it, either commercially or noncommercially.
Secondarily, this License preserves for the author and publisher a way
to get credit for their work, while not being considered responsible for
modifications made by others.</para>

<para>This License is a kind of &quot;copyleft&quot;, which means that derivative
works of the document must themselves be free in the same sense.  It
complements the GNU General Public License, which is a copyleft license
designed for free software.</para>

<para>We have designed this License in order to use it for manuals for
free software, because free software needs free documentation: a free
program should come with manuals providing the same freedoms that the
software does.  But this License is not limited to software manuals; it
can be used for any textual work, regardless of subject matter or
whether it is published as a printed book.  We recommend this License
principally for works whose purpose is instruction or reference.</para>
</sect1>

<sect1 id="gfdl-1"><title>APPLICABILITY AND DEFINITIONS</title>

<para id="gfdl-doc">This License applies to any manual or other work, in
any medium, that contains a notice placed by the copyright holder saying
it can be distributed under the terms of this License.  Such a notice
grants a world-wide, royalty-free license, unlimited in duration, to use
that work under the conditions stated herein.  The &quot;Document&quot;, below,
refers to any such manual or work.  Any member of the public is a
licensee, and is addressed as &quot;you&quot;.  You accept the license if you
copy, modify or distribute the work in a way requiring permission under
copyright law.</para>

<para id="gfdl-mod-ver">A &quot;Modified Version&quot; of the Document means any
work containing the Document or a portion of it, either copied verbatim,
or with modifications and/or translated into another language.</para>

<para id="gfdl-secnd-sect">A &quot;Secondary Section&quot; is a named appendix or
a front-matter section of the Document that deals exclusively with the
relationship of the publishers or authors of the Document to the
Document's overall subject (or to related matters) and contains nothing
that could fall directly within that overall subject.  (Thus, if the
Document is in part a textbook of mathematics, a Secondary Section may
not explain any mathematics.)  The relationship could be a matter of
historical connection with the subject or with related matters, or of
legal, commercial, philosophical, ethical or political position
regarding them.</para>

<para id="gfdl-inv-sect">The &quot;Invariant Sections&quot; are certain Secondary
Sections whose titles are designated, as being those of Invariant
Sections, in the notice that says that the Document is released under
this License.  If a section does not fit the above definition of
Secondary then it is not allowed to be designated as Invariant.  The
Document may contain zero Invariant Sections.  If the Document does not
identify any Invariant Sections then there are none.</para>

<para id="gfdl-cov-text">The &quot;Cover Texts&quot; are certain short passages of
text that are listed, as Front-Cover Texts or Back-Cover Texts, in the
notice that says that the Document is released under this License.  A
Front-Cover Text may be at most 5 words, and a Back-Cover Text may be at
most 25 words.</para>

<para id="gfdl-transparent">A &quot;Transparent&quot; copy of the Document means a
machine-readable copy, represented in a format whose specification is
available to the general public, that is suitable for revising the
document straightforwardly with generic text editors or (for images
composed of pixels) generic paint programs or (for drawings) some widely
available drawing editor, and that is suitable for input to text
formatters or for automatic translation to a variety of formats suitable
for input to text formatters.  A copy made in an otherwise Transparent
file format whose markup, or absence of markup, has been arranged to
thwart or discourage subsequent modification by readers is not
Transparent.  An image format is not Transparent if used for any
substantial amount of text.  A copy that is not &quot;Transparent&quot; is called
&quot;Opaque&quot;.</para>

<para>Examples of suitable formats for Transparent copies include plain
ASCII without markup, Texinfo input format, LaTeX input format, SGML or
XML using a publicly available DTD, and standard-conforming simple HTML,
PostScript or PDF designed for human modification.  Examples of
transparent image formats include PNG, XCF and JPG.  Opaque formats
include proprietary formats that can be read and edited only by
proprietary word processors, SGML or XML for which the DTD and/or
processing tools are not generally available, and the machine-generated
HTML, PostScript or PDF produced by some word processors for output
purposes only.</para>

<para id="gfdl-title-page">The &quot;Title Page&quot; means, for a printed book,
the title page itself, plus such following pages as are needed to hold,
legibly, the material this License requires to appear in the title page.
For works in formats which do not have any title page as such, &quot;Title
Page&quot; means the text near the most prominent appearance of the work's
title, preceding the beginning of the body of the text.</para>

<para id="gfdl-entitled">A section &quot;Entitled XYZ&quot; means a named subunit
of the Document whose title either is precisely XYZ or contains XYZ in
parentheses following text that translates XYZ in another language.
(Here XYZ stands for a specific section name mentioned below, such as
&quot;Acknowledgements&quot;, &quot;Dedications&quot;, &quot;Endorsements&quot;, or &quot;History&quot;.)  To
&quot;Preserve the Title&quot; of such a section when you modify the Document
means that it remains a section &quot;Entitled XYZ&quot; according to this
definition.</para>

<para>The Document may include Warranty Disclaimers next to the notice
which states that this License applies to the Document.  These Warranty
Disclaimers are considered to be included by reference in this License,
but only as regards disclaiming warranties: any other implication that
these Warranty Disclaimers may have is void and has no effect on the
meaning of this License.</para>
</sect1>

<sect1 id="gfdl-2"><title>VERBATIM COPYING</title>

<para>You may copy and distribute the Document in any medium, either
commercially or noncommercially, provided that this License, the
copyright notices, and the license notice saying this License applies to
the Document are reproduced in all copies, and that you add no other
conditions whatsoever to those of this License.  You may not use
technical measures to obstruct or control the reading or further copying
of the copies you make or distribute.  However, you may accept
compensation in exchange for copies.  If you distribute a large enough
number of copies you must also follow the conditions in section 3.
</para>

<para>You may also lend copies, under the same conditions stated above,
and you may publicly display copies.</para>
</sect1>

<sect1 id="gfdl-3"><title>COPYING IN QUANTITY</title>

<para>If you publish printed copies (or copies in media that commonly
have printed covers) of the Document, numbering more than 100, and the
Document's license notice requires Cover Texts, you must enclose the
copies in covers that carry, clearly and legibly, all these Cover Texts:
Front-Cover Texts on the front cover, and Back-Cover Texts on the back
cover.  Both covers must also clearly and legibly identify you as the
publisher of these copies.  The front cover must present the full title
with all words of the title equally prominent and visible.  You may add
other material on the covers in addition.  Copying with changes limited
to the covers, as long as they preserve the title of the Document and
satisfy these conditions, can be treated as verbatim copying in other
respects.</para>

<para>If the required texts for either cover are too voluminous to fit
legibly, you should put the first ones listed (as many as fit
reasonably) on the actual cover, and continue the rest onto adjacent
pages.</para>

<para>If you publish or distribute Opaque copies of the Document
numbering more than 100, you must either include a machine-readable
Transparent copy along with each Opaque copy, or state in or with each
Opaque copy a computer-network location from which the general
network-using public has access to download using public-standard
network protocols a complete Transparent copy of the Document, free of
added material.  If you use the latter option, you must take reasonably
prudent steps, when you begin distribution of Opaque copies in quantity,
to ensure that this Transparent copy will remain thus accessible at the
stated location until at least one year after the last time you
distribute an Opaque copy (directly or through your agents or retailers)
of that edition to the public.</para>

<para>It is requested, but not required, that you contact the authors of
the Document well before redistributing any large number of copies, to
give them a chance to provide you with an updated version of the
Document.</para>
</sect1>

<sect1 id="gfdl-4"><title>MODIFICATIONS</title>

<para>You may copy and distribute a Modified Version of the Document
under the conditions of sections 2 and 3 above, provided that you
release the Modified Version under precisely this License, with the
Modified Version filling the role of the Document, thus licensing
distribution and modification of the Modified Version to whoever
possesses a copy of it.  In addition, you must do these things in the
Modified Version:</para>

<orderedlist id="gfdl-modif-cond" numeration="upperalpha">
<listitem><simpara>Use in the Title Page (and on the covers, if any) a
  title distinct from that of the Document, and from those of previous
  versions (which should, if there were any, be listed in the History
  section of the Document).  You may use the same title as a previous
  version if the original publisher of that version gives permission.
</simpara></listitem>
<listitem><simpara>List on the Title Page, as authors, one or more
  persons or entities responsible for authorship of the modifications in
  the Modified Version, together with at least five of the principal
  authors of the Document (all of its principal authors, if it has fewer
  than five), unless they release you from this requirement.
</simpara></listitem>
<listitem><simpara>State on the Title page the name of the publisher of
  the Modified Version, as the publisher.</simpara></listitem>
<listitem><simpara>Preserve all the copyright notices of the Document.
</simpara></listitem>
<listitem><simpara>Add an appropriate copyright notice for your
  modifications adjacent to the other copyright notices.
</simpara></listitem>
<listitem><simpara>Include, immediately after the copyright notices, a
  license notice giving the public permission to use the Modified
  Version under the terms of this License, in the form shown in the
  <link linkend="gfdl-addendum">Addendum</link> below.
</simpara></listitem>
<listitem><simpara>Preserve in that license notice the full lists of
  Invariant Sections and required Cover Texts given in the Document's
  license notice.</simpara></listitem>
<listitem><simpara>Include an unaltered copy of this License.
</simpara></listitem>
<listitem><simpara>Preserve the section Entitled &quot;History&quot;, Preserve its
  Title, and add to it an item stating at least the title, year, new
  authors, and publisher of the Modified Version as given on the Title
  Page.  If there is no section Entitled &quot;History&quot; in the Document,
  create one stating the title, year, authors, and publisher of the
  Document as given on its Title Page, then add an item describing the
  Modified Version as stated in the previous sentence.
</simpara></listitem>
<listitem><simpara>Preserve the network location, if any, given in the
  Document for public access to a Transparent copy of the Document, and
  likewise the network locations given in the Document for previous
  versions it was based on.  These may be placed in the &quot;History&quot;
  section.  You may omit a network location for a work that was
  published at least four years before the Document itself, or if the
  original publisher of the version it refers to gives permission.
</simpara></listitem>
<listitem><simpara>For any section Entitled &quot;Acknowledgements&quot; or
  &quot;Dedications&quot;, Preserve the Title of the section, and preserve in the
  section all the substance and tone of each of the contributor
  acknowledgements and/or dedications given therein.
</simpara></listitem>
<listitem><simpara>Preserve all the Invariant Sections of the Document,
  unaltered in their text and in their titles.  Section numbers or the
  equivalent are not considered part of the section titles.
</simpara></listitem>
<listitem><simpara>Delete any section Entitled &quot;Endorsements&quot;.
  Such a section may not be included in the Modified Version.
</simpara></listitem>
<listitem><simpara>Do not retitle any existing section to be Entitled
  &quot;Endorsements&quot; or to conflict in title with any Invariant Section.
</simpara></listitem>
<listitem><simpara>Preserve any Warranty Disclaimers.
</simpara></listitem>
</orderedlist>

<para>If the Modified Version includes new front-matter sections or
appendices that qualify as Secondary Sections and contain no material
copied from the Document, you may at your option designate some or all
of these sections as invariant.  To do this, add their titles to the
list of Invariant Sections in the Modified Version's license notice.
These titles must be distinct from any other section titles.</para>

<para>You may add a section Entitled &quot;Endorsements&quot;, provided it
contains nothing but endorsements of your Modified Version by various
parties--for example, statements of peer review or that the text has
been approved by an organization as the authoritative definition of a
standard.</para>

<para>You may add a passage of up to five words as a Front-Cover Text,
and a passage of up to 25 words as a Back-Cover Text, to the end of the
list of Cover Texts in the Modified Version.  Only one passage of
Front-Cover Text and one of Back-Cover Text may be added by (or through
arrangements made by) any one entity.  If the Document already includes
a cover text for the same cover, previously added by you or by
arrangement made by the same entity you are acting on behalf of, you may
not add another; but you may replace the old one, on explicit permission
from the previous publisher that added the old one.</para>

<para>The author(s) and publisher(s) of the Document do not by this
License give permission to use their names for publicity for or to
assert or imply endorsement of any Modified Version.</para>
</sect1>

<sect1 id="gfdl-5"><title>COMBINING DOCUMENTS</title>

<para>You may combine the Document with other documents released under
this License, under the terms defined in <link linkend="gfdl-4">section
4</link> above for modified versions, provided that you include in the
combination all of the Invariant Sections of all of the original
documents, unmodified, and list them all as Invariant Sections of your
combined work in its license notice, and that you preserve all their
Warranty Disclaimers.</para>

<para>The combined work need only contain one copy of this License, and
multiple identical Invariant Sections may be replaced with a single
copy.  If there are multiple Invariant Sections with the same name but
different contents, make the title of each such section unique by adding
at the end of it, in parentheses, the name of the original author or
publisher of that section if known, or else a unique number.  Make the
same adjustment to the section titles in the list of Invariant Sections
in the license notice of the combined work.</para>

<para>In the combination, you must combine any sections Entitled
&quot;History&quot; in the various original documents, forming one section
Entitled &quot;History&quot;; likewise combine any sections Entitled
&quot;Acknowledgements&quot;, and any sections Entitled &quot;Dedications&quot;.  You must
delete all sections Entitled &quot;Endorsements&quot;.</para>
</sect1>

<sect1 id="gfdl-6"><title>COLLECTIONS OF DOCUMENTS</title>

<para>You may make a collection consisting of the Document and other
documents released under this License, and replace the individual copies
of this License in the various documents with a single copy that is
included in the collection, provided that you follow the rules of this
License for verbatim copying of each of the documents in all other
respects.</para>

<para>You may extract a single document from such a collection, and
distribute it individually under this License, provided you insert a
copy of this License into the extracted document, and follow this
License in all other respects regarding verbatim copying of that
document.</para>
</sect1>

<sect1 id="gfdl-7"><title>AGGREGATION WITH INDEPENDENT WORKS</title>

<para>A compilation of the Document or its derivatives with other
separate and independent documents or works, in or on a volume of a
storage or distribution medium, is called an &quot;aggregate&quot; if the
copyright resulting from the compilation is not used to limit the legal
rights of the compilation's users beyond what the individual works
permit.  When the Document is included an aggregate, this License does
not apply to the other works in the aggregate which are not themselves
derivative works of the Document.</para>

<para>If the Cover Text requirement of section 3 is applicable to these
copies of the Document, then if the Document is less than one half of
the entire aggregate, the Document's Cover Texts may be placed on covers
that bracket the Document within the aggregate, or the electronic
equivalent of covers if the Document is in electronic form.  Otherwise
they must appear on printed covers that bracket the whole
aggregate.</para>
</sect1>

<sect1 id="gfdl-8"><title>TRANSLATION</title>

<para>Translation is considered a kind of modification, so you may
distribute translations of the Document under the terms of section 4.
Replacing Invariant Sections with translations requires special
permission from their copyright holders, but you may include
translations of some or all Invariant Sections in addition to the
original versions of these Invariant Sections.  You may include a
translation of this License, and all the license notices in the
Document, and any Warrany Disclaimers, provided that you also include
the original English version of this License and the original versions
of those notices and disclaimers.  In case of a disagreement between the
translation and the original version of this License or a notice or
disclaimer, the original version will prevail.</para>

<para>If a section in the Document is Entitled &quot;Acknowledgements&quot;,
&quot;Dedications&quot;, or &quot;History&quot;, the requirement (section 4) to Preserve its
Title (section 1) will typically require changing the actual
title.</para>
</sect1>

<sect1 id="gfdl-9"><title>TERMINATION</title>

<para>You may not copy, modify, sublicense, or distribute the Document
except as expressly provided for under this License.  Any other attempt
to copy, modify, sublicense or distribute the Document is void, and will
automatically terminate your rights under this License.  However,
parties who have received copies, or rights, from you under this License
will not have their licenses terminated so long as such parties remain
in full compliance.</para>
</sect1>

<sect1 id="gfdl-10"><title>FUTURE REVISIONS OF THIS LICENSE</title>

<para>The Free Software Foundation may publish new, revised versions of
the GNU Free Documentation License from time to time.  Such new versions
will be similar in spirit to the present version, but may differ in
detail to address new problems or concerns.  See
http://www.gnu.org/copyleft/.</para>

<para>Each version of the License is given a distinguishing version
number.  If the Document specifies that a particular numbered version of
this License &quot;or any later version&quot; applies to it, you have the option
of following the terms and conditions either of that specified version
or of any later version that has been published (not as a draft) by the
Free Software Foundation.  If the Document does not specify a version
number of this License, you may choose any version ever published (not
as a draft) by the Free Software Foundation.</para>
</sect1>

<sect1 id="gfdl-addendum"><title>ADDENDUM: How to use this License for
  your documents</title>

<para>To use this License in a document you have written, include a copy
of the License in the document and put the following copyright and
license notices just after the title page:</para>

<blockquote id="copyright-sample"><para>
    Copyright (c)  YEAR  YOUR NAME.
    Permission is granted to copy, distribute and/or modify this document
    under the terms of the GNU Free Documentation License, Version 1.2
    or any later version published by the Free Software Foundation;
    with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.
    A copy of the license is included in the section entitled &quot;GNU
    Free Documentation License&quot;.
</para></blockquote>

<para>If you have Invariant Sections, Front-Cover Texts and Back-Cover
Texts, replace the &quot;with...Texts.&quot; line with this:</para>

<blockquote id="inv-cover-sample"><para>
    with the Invariant Sections being LIST THEIR TITLES, with the
    Front-Cover Texts being LIST, and with the Back-Cover Texts being LIST.
</para></blockquote>

<para>If you have Invariant Sections without Cover Texts, or some other
combination of the three, merge those two alternatives to suit the
situation.</para>

<para>If your document contains nontrivial examples of program code, we
recommend releasing these examples in parallel under your choice of free
software license, such as the GNU General Public License, to permit
their use in free software.</para>
</sect1>
</appendix>


</book>
