<!doctype linuxdoc system>
<linuxdoc><article>
<titlepag>
 <title>VLC HOWTO</title>
 <author>by the Videolan Team<tt><htmlurl url="mailto:videolan@videolan.org" name="videolan@videolan.org"></tt></author>
 <date>v0.0.9, 16 april 2002</date>

 <abstract>
  This document describes how to use the vlc (VideoLAN client) to read DVDs and mpeg files and DVDs.
 </abstract>
</titlepag>

<toc>

<sect>
 <heading>Introduction</heading>

 <sect1>
  <heading>What is VideoLAN ?</heading>
  <p>
   VideoLAN is a project of sudents of the École Centrale Paris which aims 
   to broadcast video on the campus, and provide the students with a MPEG2 
   software-only decoder. VideoLAN is an OpenSource project which will thus 
   allow anyone to watch DVD movies under Linux, BeOS, MacOS X, Windows 
   and most Unix 
   systems
  </p>
  <p>
    You may want to look at the port section on our website : 
    <htmlurl url="http://www.videolan.org" name="http://www.videolan.org/">.
  </p>
 </sect1>
 
 <sect1>
  <heading>What is the vlc</heading>
  <p>
   Vlc stands for VideoLAN client. It is the name of the program which is
   capable of decoding MPEG streams, and displaying them onto your screen,
   so you can watch you favourite movies, confortably sit in your armchair
   :-).
  </p>
 </sect1>

 <sect1>
  <heading>Translated versions of this document</heading>
  <p>
    No translation is currently available.
  </p>

  <p>
   The English version is maintained by Henri Fallon,
   Johan Bilien, and the VideoLAN team. It can be found at:
   <htmlurl url="http://www.videolan.org/doc/index.html"
   name="http://www.videolan.org/doc/index.html">.
  </p>
 </sect1>

 <sect1> 
  <heading>Disclaimer</heading> 
  <p> 
   This documentation is given "as is", and any comment and improvement
   are welcome. 
  </p>

  <p>
   In this HOWTO, we consider you already have a little knowledge about
   Linux, and you know how to use a DVD. If not, good howtos can be
   found on the Linux Documentation Projet.
  </p>
 </sect1>

 <sect1> 
  <heading>Legal</heading> 
  <p> 
   Copyright (©) 2001 by the VideoLAN project. This document may be
   distributed only subject to the terms and conditions set forth in
   <htmlurl url="http://metalab.unc.edu/LDP/LDP-COPYRIGHT.html" 
   name="the LDP license">.
  </p> 
 </sect1> 
</sect>

<sect>
 <heading>Quick start</heading>
  
  <p> This section will help you get, install and use vlc without giving you
  much details.
  </p>

 <sect1>
  <heading>Get and install vlc from binary packages</heading>
  <p>
   The first thing to do is to get an archive, on our web site 
   <htmlurl url="http://www.videolan.org/download.html" name="http://www.videolan.org/download.html">
  </p>
 
  <sect2>
   <heading>Which package to chose ?</heading>
   <p>
    There are different packages because vlc has "plugins" which provide 
    features but also enlarge the executable and require external libs. 
   </p>
   <p>
    SDL is a lib which allows you to have an accelerated video output.
    You will need libsdl > 1.1.6
   </p>
   <p>
    If you're using the enlightened sound daemon, you may want to try 
    the esd-aware vlc.
   </p>
   <p>
    Generally, when you don't know what a module name is, you don't 
    need/use it :-)
   </p>
  </sect2>
  
  <sect2>
   <heading>Debian package</heading>
   <p>
    Just use dpkg :
    <verb>
     dpkg -i vlc-x.x.x.deb
    </verb>
   </p>
   <p>
    Depending on the package you have downloaded, you may have dependency
    problems. You have to solve them, by installing the required libs.
   </p>
  </sect2>
   
  <sect2>
    <heading>RPM package</heading>
   <p>
    Install vlc just as you would install any rpm package : 
    <verb>
     rpm -i vlc-x.x.x.rpm
    </verb>
   </p>
   <p>
    You may have to install external libs to meet dependencies, depending on
    the package you downloaded (gnome, gtk, esd, ...).
   </p>
  </sect2>

  <sect2>
   <heading>BeOS users</heading>
   <p>
    Double-click on the archive. It should open your favorite archive extracter.
    You can then execute the vlc from there, or extract the archive to a 
    diretory and run it from there.
   </p>
  </sect2>
  
  <sect2>
   <heading>MacOS X users</heading>
   <p>
    To be completed
   </p>
  </sect2> 
  <sect2>
   <heading>Windows users</heading>
   <p>
    Decompress the archive with your favourite extracter in a directory of your
    choice.
   </p>
  </sect2>
 </sect1>
 
 <sect1>
  <heading>Get libdvdcss</heading>
  <p>
   In order to read CSSsrambled DVDs, you will need libdvdcss. 
   You can find binary
   packages for your distribution here : <htmlurl 
   name="http://www.videolan.org/libdvdcss/download/index.html" 
   url="http://www.videolan.org/libdvdcss/download/index.html">
  </p>
 </sect1>
 
 <sect1>
  <heading>Use the vlc for DVD reading</heading>
  <p>
  Launch the application simply by typing vlc in a terminal (or by 
  double-clicking on its icon in a graphical shell). You should see
  the graphical interface appear.
  </p>

  <p> 
  For reading a DVD (or a VCD), click on the "Disc" button. The new window 
  you must then enter the path to your DVD or VCD drive :

   <sect2>
    <heading>Linux users</heading>
    <p>
     Usually, you dvd device is /dev/hd? (if you have an ide drive).
     For instance, if you DVD player is master on the second IDE device,
     it will be /dev/hdc.
    </p>
    <p>
     It is very useful to create a symlink to this file, called /dev/dvd. 
     To do this, as root, type (if your dvd device is /dev/hdc for example) :
     <verb>
      ln -s /dev/hdc /dev/dvd
     </verb>
     Also make sure you have read AND write permission to the device 
     (otherwise dvd decryption won't work).
    </p>
   </sect2>
   <sect2>
    <heading>Windows users</heading>
    <p>
     The path to your DVD drive usually is D: or E:. You may have a look
     in "My Computer" and look to which letter your DVD drive is assigned.
    </p>
   </sect2>
   <sect2>
    <heading>BeOS users</heading>
    <p>
      Under BeOS, the dvd device looks like 
      "/dev/disk/ide/atapi/1/slave/0/raw" for example, if your dvd device is 
      slave on your first (not sure) ide device.
    </p>
   </sect2>
   <sect2>
    <heading>Other OS</heading>
    <p>
    To do ...
    </p>
   </sect2>
  <sect1>
   <heading>Use the vlc for network streaming</heading>
   <p>
    This is the vlc original usage. 
   </p>
   
   <p>
    Launch the vlc as you would have for DVD reading. Then click on the 
    "Network" button. 
    </p>
    <sect2>
     <heading>If using a VideoLAN Channel Server</heading>
     <p>
      The only thing you have to do is to check the "Channel server" box
      and to enter the IP address and port 
      of this channel
      server. Ask your administrator if you don't have it. Then click on OK.
     </p>
     <p>
      You will see a new "Channel" field in the interface. You may now
      enter the selected channel and click on OK. After a few seconds,
      if a program is being sent in this channel, you should see the program
      start.
     </p>
     <p>
      If nothing appears and you are sure that a program is broadcasted in
      this channel, you may try once again, because a problem of communication
      with the channel server could have occured (in you launched vlc from
      a terminal, you should see "Network error: no answer from vlcs").
     </p>
    </sect2>
    <sect2>
     <heading>Without VideoLAN Channel Server</heading>
     <p>
      Simply choose clicking on the network button, then on ok should be 
      sufficient in most cases.
     </p>
     <p>
      After clicking on OK, and if a program is being sent, you should see
      a window open with your program.
     </p>
    </sect2>
</sect>    
    
<sect>
 <heading>The graphical interface</heading>
 <p>
  Please note that the gnome, gtk and win32 interfaces are currently the most
  advanced. The following descriptions refer to them.
 </p>
 <sect1>
  <heading>Opening a stream</heading>
  <p>
   For opening streams through the graphical interface, click on either
   "File" for opening a file stored on your hard drive, "Disc" for 
   opening a DVD or a VCD, "Network" for reading a stream from a vls 
   or through http input, or "Satellite" for reading directly 
   from a satellite card.
  </p>
 <sect1>
  <heading>Basic stream control</heading>
  <p>
   You have at your disposal all the classical control of a video player.
   For example when playing local streams, you can do pauses, speed up or
   slow down the stream ... Just use the corresponding buttons.
  </p>
 <sect1>
  <heading>DVD and VCD navigation</heading>
  <p>
   When reading a DVD or a VCD, you can change chapter and title either 
   by using the 
   right-click menu or by using the dedicated bar that appears when reading
   from a disc.
  </p>
 </sect1>
 
 <sect1>
  <heading>Programs, audio and subtitles</heading>
  <p>
   When reading a multiprogram stream, you can change the current program
   by selecting it in the "View/Programs" submenu, or using the "right click"
   menu from the video output window.
  </p>
  <p>
   In DVDs, if different angles are availables, they will be treated as
   different programs.
  </p>
  <p>
   At any time you can change the audio/subtitles channel using either the 
   "setting" menu from the interface or using the "right click" menu from
   the video output window.
  </p>
 <sect1>
  <heading>Preferences window</heading>
  <p>
   By choosing "Preferences" in the "Settings" menu, you will open 
   the preferences window. This window is generated dynamically according
   to the modules that were compiled.
  </p>
  <p>
   In every tab, you may click on "Save" to store your settings in your
   ~/.videolan/vlrrc file.
  </p>
  <sect2>
   <heading>Interface tab</heading>
   <p>
    In that tab, you can select which interface you would like to use on next
    start. Click on the choosen interface, click on "Select" then on "Save".
   </p>
  </sect2>
  <sect2>
   <heading>Audio tab</heading>
   <p>
    In this tab, you can select the audio output you would like to use on 
    next start. You may also specify some other settings such as the output
    level, the audio frequency, ...
   </p>
  </sect2>
  <sect2>
   <heading>Video tab</heading>
   <p>
    In this tab, you can select which video output will be used on next start,
    and add a video filter module. You may also specify some video settings,
    such as the window size or if you would like fullscreen display.
   </p>
  </sect2>
  <sect2>
   <heading>Input tab</heading>
   <p>
    In this tab, you can enter the input method with options (for example
    <tt>udp:@239.255.255.42</tt>) that will be used on next start. You can 
    also add some settings, such as the channel server address ...
   </p>
  </sect2>
  <sect2>
   <heading>Decoders tab</heading>
   <p>
    In this tab, you can select which decoder you want to use for MPEG audio
    and AC3 streams.
   </p>
  </sect2>
  <sect2>
   <heading>CPU tab</heading>
   <p>
    In this tab, you may disable the use of some CPU extensions such as 
    MMX or SSE.
   </p>
  </sect2>
  <sect2>
   <heading>Playlist tab</heading>
   <p>
    In this tab, you can select some playlist options, such as looping the
    playlist.
   </p>
  </sect2>
  <sect2>
   <heading>Miscellanous tab</heading>
   <p>
    In this tab, you can select which memcpy version you want to use. Some 
    of them uses MMX 3Dnow! extensions.
   </p>
  </sect2>  
 </sect1>
</sect>
<sect>
 <heading>Command line options</heading>
 <p>
 Many options are only available through command line. They are detailled here.
 </p>
 <sect1>
  <heading>Opening streams</heading>
  <p> 
  The following commands start vlc and add a first element to the playlist.
  </p>
  <sect2>
   <heading>Opening a file</heading>
   <p>
    Simply start vlc with <tt>vlc my_file.mpg</tt>. 
   </p>
   <p>
    You may tell vlc what input to use, for example add <tt>--input ts</tt>
    when playing a ts MPEG, although vlc should be able to recognize the type
    of MPEG.
   </p>
  </sect2>
  <sect2>
   <heading>Opening a DVD or VCD</heading>
   <p>
    Simply start vlc with <tt>vlc dvd:DVDDRIVE</tt> or <tt> vlc vcd:CDROMDRIVE
    </tt>, where DVDDRIVE/CDROMDRIVE is the complete
    path to your dvd/cdrom drive.
   </p>
   <p>
    You may add <tt>-t X -T Y</tt> to start directly from the Xth chapter, Yth
    title.
   </p>
  </sect2>
  <sect2>
  <heading>Start a network stream</heading>
   <p>
    To receive an UDP stream (being sent from a VLS), start vlc with 
    <tt> vlc udpstream:[@&lt;bind address&gt;[:&lt;server port&gt;]] </tt>.
   </p>
   <p>
    Please note that bind address refers to the destination address, for 
    example your broadcast address. If the stream is being broadcasted, 
    <verb> vlc udpstream:</verb> should be sufficient. If the stream
    is multicasted, you must specify the multicast address, for example 
    <verb> vlc udpstream:@239.255.255.42  </verb>

   
   </p>
  </sect2>
 </sect1>
 
 <sect1>
  <heading>Modules selection</heading>
  <p>
   The vlc tries to select the most appropriate interface, input and output
   modules, among the ones available on the system, according to
   the stream he is given to read. However, you may wish to force
   the use of a specific module with the following options:
   
   <p> <verb>--intf &lt;interface module&gt;</verb>
   allows you to select the interface module </p>

   <p> <verb>--input &lt;input module&gt;</verb>
   allows you to select the input module.</p>

   <p> <verb>--vout &lt;video output module&gt;</verb>
   allows you to select the video output.</p>

   <p> <verb>--aout &lt;audio output module&gt;</verb>
   allows you to select the audio output.</p>

   <p> <verb>--filter &lt;video filter module&gt;</verb>
   allows you to add a video filter module.</p>

   <p> <verb>--mpeg_adec &lt;MPEG audio decoder module&gt;</verb>
   allows you to select the audio MPEG decoder.</p>

   <p> <verb>--ac3_adec &lt;AC3 audio decoder module&gt;</verb>
   allows you to select the audio AC3 decoder.</p>
  
 </sect1>
 <sect1>
  <heading>Other options</heading>
  <sect2>
   <heading>Help options:</heading>
   
   <p> <verb>--help</verb>
   gives you all the available options.</p>  
   <p> <verb>--longhelp</verb>
   gives you a more detailled version of the available options.</p>  
   <p> <verb>--version</verb>
   gives you information about the current version.</p>  
   <p> <verb>--list</verb>
   gives you the list of all available plugins.</p>
   <p> <verb>--warning X or -vvvv (X times)</verb>
   set the level of warning messages.</p>
   <p> <verb>--stat</verb>
   gives statistic outputs.</p>
  </sect2>
  
  <sect2>
   <heading>Audio options:</heading>
   

   <p> <verb>--noaudio</verb>
   disables the audio output</p>
   <p> <verb>--mono</verb>
   forces the vlc to treat the stream in mono audio.</p>
   <p> <verb>--volume &lt;integer&gt;</verb>
   set the level of audio output.</p>
   <p> <verb>--rate &lt;integer&gt;</verb>
   set the audio output frequency (Hz)</p>
   <p> <verb>--desync &lt;integer&gt;</verb>
   compensates desynchronization of audio (ms)</p>
  </sect2>

  <sect2>
   <heading>Video options:</heading>
   
   <p> <verb>--novideo</verb>
   disables the video output</p>
   <p> <verb>--width &lt;integer&gt;</verb>
       <verb>--height &lt;integer&gt;</verb>
   set the video window dimensions.</p>
   <p> <verb>--grayscale</verb>
   turns video output into grayscale mode.</p>
   <p> <verb>--fullscreen</verb>
   set fullscreen video.</p>
   <p> <verb>--nooverlay</verb>
   disables hardware acceleration for the video output</p>
   <p> <verb>--spumargin &lt;integer&gt;</verb>
   force subtitles position.</p>

  </sect2>
  <sect2>
   <heading>Input options:</heading>


   <p> <verb>--network-channel</verb>
   Start with channel server enabled.</p>
   <p> <verb>--channel_server &lt;string&gt;</verb>
   Specify the channel server address.</p>
   <p> <verb>--channel_port &lt;integer&gt;</verb>
   Specify the channel server port.</p>
   <p> <verb>--iface &lt;string&gt;</verb>
   Select the network interface to use.</p>
   <p> <verb>--input_program &lt;integer&gt;</verb>
   Select the program to use (for streams with 
   several programs, as those coming from satellite).</p>
   <p> <verb>--input_audio &lt;integer&gt;</verb>
   Select the audio channel to use.</p>
   <p> <verb>--input_subtitle &lt;integer&gt;</verb>
   Select the subtitle.</p>
   <p> <verb>--input_channel &lt;integer&gt;</verb>
   Select the channel number.</p>
   <p> <verb>--dvd_device &lt;string&gt;</verb>
   Specify the default dvd device.</p>
   <p> <verb>--vcd_device &lt;string&gt;</verb>
   Specify the default vcd device.</p>
   <p> <verb>--ipv4</verb>
   Force IPv4.</p>
   <p> <verb>--ipv6</verb>
   Force IPv6.</p>
  </sect2>
  
  <sect2>
   <heading>CPU options</heading>
   <p> <verb>--nommx</verb>
   disable the use of mmx CPU extensions.</p>
   <p> <verb>--no3dn</verb>
   disable the use of 3D Now! CPU extensions.</p>
   <p> <verb>--nommxext</verb>
   disable the use of mmx ext CPU extensions.</p>
   <p> <verb>--noaltivec</verb>
   disable the use of AltiVec CPU extensions.</p>
  </sect2>
 </sect1>
 


   

 

<sect>
 <heading>Building the vlc from sources</heading>
 <p>
  You can choose either to take the latest release, or a CVS source. Note that
  CVS snapshots may be broken, although we do our best to prevent this from
  happening.
 </p>
 <p>
  From here, you have to be a little experienced, even more if you want to use
  the cvs.
 </p>
 <sect1>
  <heading>Getting an archive</heading>
  <p>
   You have guessed it, the first thing to do is to get the source.
   Until there, everyone should understand :)
  </p>
  <sect2>
   <heading>Web site</heading>
   <p>
    Source packages can be found in the "tarballs" section of the download page :
    <htmlurl url="http://www.videolan.org/download.html" name="http://www.videolan.org/dowload.html">.
   </p>
   <p>
    CVS snapshots are available from the address : 
    <htmlurl url="http://www.videolan.org/packages/snapshots/" 
    name="http://www.videolan.org/packages/snapshots/">.
   </p>
   <p>
    Then untar the archive :
    <verb>
     tar xzf vlc-x-x-x.tar.gz
    </verb>
   </p>
  </sect2>
  <sect2>
   <heading>Directly from CVS</heading>
   <p> <label id="cvs">
    Firs log in as suer anonymous with an empty password :
    <verb>
     cvs -d :pserver:anonymous@anoncvs.videolan.org:/var/cvs/videolan login
    </verb>
   Then retrieve the repository :
   <verb>
    cvs -d :pserver:anonymous@anoncvs.videolan.org:/var/cvs/videolan -z3 checkout vlc
   </verb>
   </p>
  </sect2>
  <sect2>
   <heading>libdvdcss</heading>
   <p>
   To compile vlc with dvd support, you need to get and install libdvdcss.
   </p>
   <p>
   It is available for download here : 
   <htmlurl url="http://www.videolan.org/libdvdcss/download.html"
   name="http://www.videolan.org/libdvdcss/download.html">

   Decompress the tarball in a directory of your choice and build it :
   <verb>
    tar -xvzf libdvdcss-x.x.x.tar.gz
    cd libdvdcss-x.x.x
    ./configure
    make
    [as root] make install
   </verb>

   You can also find binaries packages for many distributions.
 </sect1>
 
 <sect1>
  <heading>Building the program</heading>
  <p><label id="compile">
   Go into the vlc directory and run the configure script :
   <verb>
    ./configure
   </verb>
    If you want to enable options, you may add "--enable-option" 
    to the previous line.
    For example, to build with the xvideo extension, and alsa support, 
    you should type :
    <verb>
    ./configure --enable-xvideo --enable-alsa
    </verb>
   To get the list of the available options, and know if they are 
   enabled by default,
   you can try :
   <verb>
    ./configure --help
   </verb>
  </p>
  <p>
   Also have a look on the <ref id="modules" name="following modules 
   descriptions">.
  </p>
  <p>
   A very typical installation, on a XFree 4.1 system, recent video card, with 
   gnome, is :
   <verb>
    ./configure --enable-esd --enable-gnome
   </verb>
  <p>
 </sect1>
 <sect1>
  <heading>Plugins, builtins ...</heading>
  <p>
   The configure script should create a Makefile.opts file, which you can edit and modify.
   Indeed you can chose to have features (as esd support, for example) built as plugins
   or inside the program.
  </p>
  <p>
   If you build a feature as a plugin, it can lead to a little loss of performance.
   It you build it inside the code, it'll enlarge a bit the size of the executable.
  </p>
  <p>
   When you're done with Makefile.opts (which also works if you leave it 
   untouched), just 
   type:
    <verb>
    make
    </verb>
   It should compile without any error. If there are, please check you 
   have the required libs 
   installed on your system, as the configure script can't check them all.
  </p>
  <p>
   When you're done with it, as root, type :
   <verb>
    make install
   </verb>
  if you wish to have vlc fully installed on your system. If you prefer 
  to keep in in the 
  current directory, you may skip the "make install". You'll then have 
  to cd into the vlc 
  directory and type "./vlc" instead of just typing vlc.
  </p>
 </sect1>
</sect>

<sect>
 <heading>Modules description</heading>
 <p> 
  <label id="modules">
  Here is a description of nearly all the available modules for the 
  vlc. If you wish to compile one which is stated disabled by default,
  you have to launch the configure script with 
  <verb> ./configure --enable-module_name </verb>. See <ref 
  name="compilation instructions" id="compile">.
 <sect1>
  <heading>Video outputs</heading>
  <sect2>
   <heading>x11</heading>
   <p>default :enabled </p>
   <p>
    This is the basic x11 video output. It only requires a 
    working X11 server. You will need xlibs headers to compile it
    (xlibs-dev packet on Debian systems).
   </p>
  </sect2>
  
  <sect2>
   <heading>xvideo</heading>
   <p>default : enabled</p>    
   <p>
    It requires an xvideo compliant graphic card (it is the case for 
    nearly all the modern card). It uses hardware acceleration for 
    yuv transformation and for rescaling.
   </p>
  </sect2>
  
  <sect2>
   <heading>sdl</heading>
   <p>default : enabled</p>
   <p>
    This video output uses sdl libraries. You need at least version 1.1.6 of
    this libraries.
   </p>
   <p> 
    You may indicate the path to the sdl-config program with the
    <verb> --with-sdl-config-path=PATH </verb> option given to the <verb>
    configure</verb> script.
   </p>
  </sect2>
  
  <sect2>
   <heading>directx</heading>
   <p>default: enabled on win32</p>
   <p>
    This video output uses Microsoft Direct X libraries. It is recommended 
    for the win32 port.
   </p>
   <p>
    You may indicate the path to directx libraries and headers with
    the <verb>--with-directx=PATH</verb> option.
  </sect2>
  
  <sect2>
   <heading>fb</heading>
   <p>default: enabled on Linux</p>
   <p>
    This is the frame buffer video output. It requires that your kernel 
    was compiled with frame buffer support.
   </p>
  </sect2>
  
  <sect2>
   <heading>glide</heading>
   <p>default: disabled</p>
   <p>
   This video output uses Glide libraries (hardware acceleration for
   3Dfx cards).
   </p>
   <p> 
    You may indicate the path to the library with the 
   <verb>--with-glide=PATH</verb> compilation option.
   </p>
  </sect2>
  
  <sect2>
   <heading>mga</heading>
   <p>default: disabled</p>
   <p> 
   It provides hardware acceleration for Matrox cards on Linux.
   </p>
  </sect2>

  <sect2>
   <heading>ggi</heading>
   <p>default: disabled</p>
  </sect2>
  
  <sect2>
   <heading>aa</heading>
   <p>default: disabled</p>
   <p>
    This video output uses the aalib library to display video
    through ASCII art. It requires aalib headers (aalib1-dev under Debian)
    to compile.
   </p>
  </sect2>
 </sect1>
 <sect1>
  <heading>Video filters modules</heading>
  <sect2>
   <heading>deinterlace</heading>
   <p>default: enabled</p>
   <p>
    This filter deinterlaces video. It is usefull with streams coming 
    from a satellite broadcast.
   </p>
  </sect2>
  
  <sect2>
   <heading>wall</heading>
   <p>default: enabled</p>
   <p>
    This filter allows you to have the video cut in pieces in several 
    windows, which you can order as you wish. It can be used to generate
    image walls with several sources. Start it with 
   <verb> --filter wall:XxY</verb> in order to have the video cut in X rows
   and Y columns
   </p>
  </sect2>
  <sect2>
   <heading>distort</heading>
   <p>default: enable</p>
   <p>
    This filter adds a distortion effect to the video. Who said it
    was useless ;-) ?
   </p>
  </sect2>
  
  <sect2>
   <heading>transform</heading>
   <p>default: enable</p>
   <p>
    This filter rotates the video window of 90 degrees.
   </p>
  </sect2>
  
  <sect2>
   <heading>invert</heading>
   <p>default: enabled</p>
   <p>
    This filter inverses colors.
   </p>
  </sect2>
 </sect1>
 <sect1>
  <heading>Sound outputs</heading>
  <sect2>
   <heading>dsp</heading>
   <p>default: enabled on Linux</p>
   <p>
    This is the Linux /dev/dsp output. It requires that your kernel 
    was compiled with support for your sound card.
   </p>
   </sect2>
   
   <sect2>
    <heading>alsa</heading>
    <p>default: disabled</p>
    <p>
     This is the sound output for Advanced Linux Sound Architecture. 
     It requires that you installed the alsa drivers and libraries.
    </p>
   </sect2>
   
   <sect2>
    <heading>esd</heading>
    <p>default: disabled</p>
    <p>
     This sound output has Enlightened Sound Daemon support
     (usually used with Gnome). 
     You must have the daemon and its libraries installed.
    </p>
   </sect2>
   <sect2>
    <heading>arts</heading>
    <p>default: disabled</p>
    <p>
     This sound output has aRts (KDE's sound server) support.
     You must have the daemon and its libraries installed.
    </p>
   </sect2>
   
   <sect2>
    <heading>waveout</heading>
    <p>default: enabled on win32</p>
    <p>
     This is the Wave output, which is used by the win32 port.
    </p>
   </sect2>
 </sect1>
 
 <sect1>
  <heading>Input modules</heading>
  <sect2>
   <heading>dvd</heading>
   <p>default: enabled</p>
   <p>
    This is the DVD input module. It will need libdvdcss, which can
    be found <htmlurl url="http://www.videolan.org/libdvdcss/" 
    name="http://www.videolan.org/libdvdcss/">.
   </p>
  </sect2>
  
  <sect2>
   <heading>dvdread</heading>
   <p>default: disabled</p>
   <p>
    This is an alternative to the previous one, it uses libdvdread 
    (which also needs libdvdcss).
   </p>
  </sect2>
  <sect2>
   <heading>vcd</heading>
   <p>default: enabled</p>
   <p>
    This is the VideoCD input. 
   </p>
  </sect2>
  <sect2>
   <heading>satellite</heading>
   <p>default: disabled</p>
   <p>
    This is an input module that allows to read directly from a
    Hauppauge WinTV Nova card under Linux. It requires drivers 0.9.4 
    available from 
   <htmlurl url="http://www.linuxtv.org/" name="linuxtv.org">.
   </p>
  </sect2>
 </sect1>
 
 <sect1>
  <heading>Interface modules</heading>
  <sect2>
   <heading>gtk</heading>
   <p>default: enabled</p>
   <p>
    This is the GTK+ interface. It needs gtk libraries (libgtk1.2 package
    on Debian) and headers files if you are compiling it (libgtk1.2-dev 
    package on Debian). Note that it can be used under Windows.
   </p>
  </sect2>
  <sect2>
   <heading>gnome</heading>
   <p>default: disabled</p>
   <p>
    This is the Gnome interface. It needs gnome libraries (libgnome32 under
    Debian) and headers (libgnome-dev) if you wish to compile it.
   </p>
  </sect2>
  <sect2>
   <heading>intfwin</heading>
   <p>default: enabled on win32</p>
   <p>
    This is the Windows native interface. It requires Borland C++ builder 
    to compile. You may use <verb>--with-bc-builder=PATH</verb> option
    to specify the path to this application.
   </p>
  </sect2>

  <sect2>
   <heading>qt</heading>
   <p>default: disabled</p>
   <p>
    This is the QT libraries interface module. You will need the libraries
    (libqt2 package on Debian) and headers (libqt-dev) if you wish to 
    compile it.
   </p>
  </sect2>
  <sect2>
   <heading>kde</heading>
   <p>default: disabled</p>
   <p>
    This is the KDE interface module.  You will need the libraries
    (kdelib package on Debian) and headers (kde-devel) if you wish to 
    compile it.
   </p>
  </sect2>

  <sect2>
   <heading>rc</heading>
   <p>default: enable</p>
   <p>
    This is the Remote Control interface module. With this one, vlc
    is controled by sending him commands, such as play, stop, ... so 
    that you may control vlc through a script.
   </p>
  </sect2>

  <sect2>
   <heading>ncurses</heading>
   <p>default: disabled</p>
   <p>
    This is a text interface, using ncurses library. You will need
    ncurses headers if you want to compile it (libncurses5-dev on Debian).
   </p>
  </sect2>
  <sect2>
   <heading>lirc</heading>
   <p>default: disabled</p>
   <p>
    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 doc/lirc/example.lircrc).
   </p>
  </sect2>
 </sect1>
 <sect1>
  <heading>OS support modules</heading>
  <p> The following modules add support or different OSs. </p>
  <sect2>
   <heading>macosx</heading>
   <p>default: enabled on MacOS X</p>
   <p>
    This is the MacOS X support module, including a native interface.
   </p>
  </sect2>
  
  <sect2>
   <heading>qnx</heading>
   <p>default: enabled on qnx</p>
   <p>
    This is the QNX RTOS support module.
   </p>
  </sect2>
 </sect1>    

<sect>
 <heading>Specific use of the vlc</heading>
 <sect1>
  <heading>Use the vlc as a viever and decoder for the Hauppauge WinTV 
  Nova card</heading>
  <sect2>
   <heading>What is required ?</heading>
   <p>
    At the present time, the satellite input only works under Linux. 
    It requires that drivers version 0.9.4 of the card, drivers
    that are being developped by the <htmlurl name="linuxtv.org"
    url="http://www.linuxtv.org/">. 
   </p>
  </sect2>
  <sect2>
   <heading>Building the vlc with satellite support</heading>
   <p>
    Get the sources, either from our last .tar.gz release, 
    or best from the cvs (see <ref name="cvs instructions"
    id="cvs">).
   </p>
   <p>
    Move to the vlc directory, then launch
    <verb>
     ./configure --enable-satellite
    </verb>
    You may add other compilation options, see <ref 
    name="compilation instructions" id="compile">.
    Then launch the compilation with
    <verb>
     make
    </verb>
    You may install it with (as root)
    <verb>
     make install
    </verb>
    or run it from the current directory.
   </p>
  </sect2>
  <sect2>
   <heading>Running it from the command line</heading>
   <p>
   Run the vlc with 
    <verb>
     vlc satellite:&lt;frequency(Hz)&gt;,&lt;polarization(0 for V,
     1 for H)&lt;,
     &gt;FEC (1 for 1/2, 2 for 2/3 ...)&gt;,&lt;symbol rate (kbytes/sec)&gt;
    </verb>
    You then have to select your program, either with the command line option
    <verb>
     --input_program <program_number (also called service ID)>
    </verb>
    or by choosing it in the view/programs menu.
   </sect2>
   <sect2>
    <heading>Running it from the GTK/Gnome interface</heading>
    <p>
     Click on the "Sat" icon. In the opening box, you may enter 
     your transponder settings, then click on "Ok". 
    </p>
    <p>
     After a few seconds, the word satellite should appear under the command
     buttons. You may now choose your program from the View/Programs menu.
    </p>
   </sect2>
  </sect1>
  <sect1>
   <heading>Use the vlc to create image walls.</heading>
   <p>
    The idea is to use several video sources, each one displaying a part 
    of the whole image, to get a bigger result.
   </p>
   <p> 
    Vlc and the VideoLAN solution can provide a good way to create
    such displays : a vls broadcasts a stream in several vlc each
    display a part of image.
   </p>
   <p>
    For this, you should use the wall filter : start vlc with 
    <verb>
     vlc udp: --filter wall:&lt;number of rows&gt;x&lt;number of columns&gt;
     :&lt;number of the part to diplay&gt;
    </verb>
   </p>
  </sect1>

</sect>
<sect>
  <heading>Get more help</heading>
  <p>
   First of all, it something seems to go wrong, read and try to 
   understand the error messages. If you are a confirmed user, you 
   may try the "-vvv" option which makes the vlc very verbose.
  </p>
  <p>
   There is a FAQ page on our website :
   <htmlurl url="http://www.videolan.org/doc/index.html" name="http://www.videolan.org/doc/index.html">.
   If you think one question should be in the FAQ, please contact
   <htmlurl url="mailto:videolan@videolan.org" name="videolan@videolan.org">
  </p>
  <p>
   Finally, there's a users mailing list (English speaking). To subscribe, send a mail to 
   <htmlurl url="mailto:listar@videlan.org" name="listar@videlan.org"> containing
   "subscribe vlc" as message body.
  </p>
</sect>
</article></linuxdoc>
