Table of Contents
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 "internal" 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 "modules" of the VLC source tree.
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.
Reading this part may be useful if you intend to compile VLC or if you want to know all the options available for modules you use.
The compilation itself is explained in the next chapter.
If you wish to compile a module which is stated disabled by default, you have to launch the configure script with:
%
./configure --enable-module_name
On the contrary, if you want to disable a module that is default enabled, you have to use:
%
./configure --disable-module_name
Each VLC module has its own help and options. To see every options associated with a module, use:
%
vlc --advanced -p module_name
or use the "Preferences" Panel of your favorite graphical interface.
These modules allow VLC to read its streams from different sources. VLC tries to guess the most suitable module at runtime. If you want to force an input module lauch VLC with: --access modulename
default: enabled
This is the Audio CD input. At present, if
you are have a new enough libvcdinfo (from vcdimager) and a new
enough libcdio
you will get the newer navigation-capable plugin. Eventually when libcdio is more
mature and handles more OSs the older plugin will disapear. The file
doc/intf-vcd.txt
in the vlc source gives detailed information
about this plugin.
default: disabled
For GNU/Linux only
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.
default: enabled
This is the old DVD input module. It uses libdvdcss for DVD decryption (see the libdvdcss page).
default: enabled
This is the regular DVD input module. It will need libdvdcss for DVD decryption (see the libdvdcss page) and libdvdplay for DVD navigation (see the libdvdplay page).
default: disabled
This is an alternative to the previous ones. It uses libdvdread for DVD reading (see the Ogle download page) and libdvdcss for DVD decryption (see the libdvdcss page).
default: enabled
For Microsoft Windows only
This module allows VLC to read from input cards that have a DirectShow driver. Most common webcams and acquisitions boards have such a driver.
Always enabled
These are standard input modules. The HTTP input can be used for Video On Demand.
default: enabled
This module allows you to read VOD streams using the RTSP protocol. It uses the liveMedia library from http://live.com/
default: disabled
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 linuxtv.org.
default: enabled
This module allows to get the names and addresses for streams announced using the SLP protocol.
default: enabled
This is the VideoCD input. At present, if
you are have a new enough libvcdinfo (from vcdimager) and a new
enough libcdio you will get
the newer navigation-capable plugin. Eventually when libcdio is more
mature and handles more OSs the older plugin will disapear. The file
doc/intf-vcd.txt
in the vlc source gives detailed
information about this plugin.
In a video stream, the video signal and the audio one are always into "containers" formats. Demuxers extract the streams from it and pass it to the decoders.
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.
Always enabled
This module allows you to read
.avi
files.
Options:
--avi-interleaved, --no-avi-interleaved : Enables or disables interlacing mode (default is disabled)
--avi-index, --no-avi-index : Forces an index to be created. This can help for buggy streams (default is disabled)
Always enabled
This module allows you to read
.asf, .aac, .ogg, .aiff, .au, .wav, .mp4
files.
default: enabled
This module allows you to read files that use the Matroska format.
Options:
--mkv-seek-percent, --no-mkv-seek-percent : When this option is enabled (this is the default behaviour), seek is based on percentage and not on time
default: enabled
This module allows you to read MOD files (extensions mod, s3m, xm, it, 669, amf, ams, dbm, dmf, dsm, far, mdl, med, mtm, okt, ptm, stm, ult, umx, mt2, psm). MOD files are audio files used on AMIGA computers.
Options:
--mod-noisereduction, --no-mod-noisereduction : Default disabled. Add noise reduction to mod audio
--mod-reverb, --no-mod-reverb : Default disabled. Add reverberation to mod audio
--mod-reverb-level <integer> : Reverb level (0-100 defaults to 0)
--mod-reverb-delay <integer> : Reverb delay in ms, 0 to 1000 ms, default to 40. (usually 40-200ms).
--mod-megabass, --no-mod-megabass : Default disabled. Add megabass enhancements to mod audio.
--mod-megabass-level <integer> : Mega bass level (0-100 defaults to 0).
--mod-megabass-range <integer> : Mega bass cut-off (10-100 Hz defaults to 10).
--mod-surround, --no-mod-surround : Default disabled. Add surround enhancements to mod audio.
--mod-surround-level <integer> : Surround level (0-100 defaults to 0).
--mod-surround-level <integer> : Surround delay (0-1000 ms defaults to 5, usually 5-40ms).
default: enabled
This module allows you to read NSV (Nullsoft Streaming Video) streams. Most NSV streams use the VP6 codec which is currently unsupported by VLC (VLC only supports VP1 and VP3 for the moment).
Always enabled
These modules allow you to read MPEG-2 Program Stream or Transport Stream files.
Options:
--vls-backward-compat, --no-vls-backward-compat : Enable this option if you want to read VLS < 0.4 MPEG 2 TS streams.
--buggy-psi, --no-buggy-psi (ts module) : Enable this option to help handling of files with buggy PSI.
This module allows you to read PVA files (.pva). PVA is a file format used by the software that comes with the TechnoTrend/Hauppauge/Siemens/Galaxis DVB cards.
Always enabled
This module allows you to read RealMedia (.rm) files. Note : Only very old audio codecs (rv10) are currently supported by VLC inside RealMedia files.
The following modules add codec (ie, compression formats) support.
default: enabled
This is a free MPEG-4/DivX/OpenDivX/Xvid codec (see the ffmpeg web site).
Options:
--ffmpeg-dr, --no-ffmpeg-dr : Enables or disables direct rendering (default enabled)
--ffmpeg-error-resilience : Integer to set the error resilience factor, from -1 to 99 (-1 means no resilience at all)
--ffmpeg-workaround-bugs : Try to fix some bugs. Add the values corresponding to the bugs you want to fix, and pass it as argument: 1 = autodetect, 2 = old msmpeg4, 4 = xvid interlaces, 8 = ump4, 16 = no padding, 32 = ac vlc, 64 = Qpel chroma
--ffmpeg-hurry-up, --no-ffmpeg-hurry-up : Allow the decoder to decode only partially or even to skip frames, if it is late. This can be useful with low end computers, but produces weird pictures.
--ffmpeg-truncated : Truncates the stream : -1=auto, 0=disabled, 1=enabled
--ffmpeg-pp-q : Postprocessing quality (integer between 0 and 6). A higher level requires more CPU power and will produce better pictures.
--ffmpeg-pp-name : Series of postprocessing filters
default: enabled
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).
default: enabled
OGT handles the SVCD subtitles (Philips Overlay Graphics Text or OGT) and subtitles used by Chaoji VCDs (also known as CVD).
A description of the format for these kinds
of subtitles can be found in the vlc source
in doc/subtitles/svcd-subtitles.txt
and
doc/subtitles/cvd-subtitles.txt
werden
Use the option
--spu-channel
number
to select a subtitle track to show. The number
should be -1, 0, 1, 2, or 3. The CVD and SVCD subtitle formats
allow for 4 subtitles. The value -1 deselects any subtitles
.
default: enabled
spudec handles the DVD subtitles. At present full color subtitles and transparency are not handled.
For a description of the format for these kinds of subtitles see http://sam.zoy.org/writings/dvd/subtitles.
default: disabled
tarkin is a new codec (experimental) by the Ogg Project (see the Ogg Vorbis web site).
default: disabled
theora is a new codec (experimental) by the Ogg Project (see the Ogg Vorbis web site).
default: disabled
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 Ogg Vorbis web site).
default: disabled
This codec allows you to read files encoded with Xvid via the xvidcore library (see Xvid web site).
Video outputs modules allow VLC to display video on your screen. When launched, VLC tries to guess the most suitable video output module for your system. However, if you want to force a specific module, use the following command line switch: --vout modulename
default enabled on win32
For Windows only
This video output uses Microsoft Direct X libraries. It is recommended for the win32 port.
You may indicate the path to directX libraries and headers with the --with-directx=PATH switch, when running the configure script.
default: enabled
For Unix with X11 servers only
This is the basic X11 video output. It only requires a working X11 server. You will need xlibs headers to compile it (xlibs-dev package on Debian systems).
Options:
--x11-display <string> X11 display name to use
--x11-altfullscreen, --no-x11-altfullscreen : use alternate fullscreen mode to bypass window managers (default disabled)
--x11-shm, --no-x11-shm : use x11 shared memory (default enabled)
--x11-xineramascreen <integer> : choose the screen to be used for fullscreen mode, when working with xinerama
default: enabled
For GNU/Linux only
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.
Options:
--xvideo-display <string> : X11 display name to use
--xvideo-adaptor <integer> : xvideo adaptor number
--xvideo-altfullscreen, --no-xvideo-altfullscreen : use alternate fullscreen mode to bypass window managers (default disabled)
--xvideo-shm, --no-xvideo-shm : use x11 shared memory (default enabled)
--xvideo-xineramascreen <integer> : choose the screen to be used for fullscreen mode, when working with xinerama
--xvideo-chroma <string> : XVimage chroma format
default: enabled
This video output uses sdl libraries. You need at least version 1.1.6 of this libraries.
You may indicate the path to the sdl-config program with the --with-sdl-config-path=PATH switch, when running the configure script, if you intend to compile VLC.
default: enabled on win32
For Windows only
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 installed on your system, do not use the wingdi video output
default: enabled on GNU/Linux
For GNU/Linux only
This is the frame buffer video output. Your kernel has to be compiled with frame buffer support. sein.
Options:
--fbdev <string> : framebuffer device (default is /dev/fb0)
default: disabled
This video output uses Glide libraries (hardware acceleration for 3Dfx cards).
You may indicate the path to the library with the --with-glide=PATH configure option, if you intend to compile VLC.
default: disabled
For GNU/Linux only
This module provides hardware acceleration for Matrox cards under GNU/Linux.
default: disabled
This is the Color ASCII Art Video Output. This video output uses the libcaca library to display video through Color ASCII art. It requires libcaca development headers (libcaca-dev package under Debian GNU/Linux) to compile.
default: disabled
This is the ASCII Art Video Output. This video output uses the aalib library to display video through ASCII art. It requires aalib headers (aalib1-dev package under Debian GNU/Linux) to compile.
These modules allow you to perform modifications on the rendered image (deinterlacing, hue/contrast/saturation adjusting, cropping and so on). To enable them use the following VLC command-line switch: --filter filter1,filter2,...
Always enabled
This filter allows you to alter image contrast, hue, saturation and brightness.
Options:
--contrast <float> : set the image contrast, between 0 and 2. Defaults to 1
--brightness <float> : set the image brightness, between 0 and 2. Defaults to 1
--hue <integer> : Set the image hue, between 0 and 360. Defaults to 0
--saturation <float> : Set the image saturation, between 0 and 3. Defaults to 1
Always enabled
This filter deinterlaces video. It is useful with streams coming from a digital satellite channel or digital terrestial television channels .
Options:
--deinterlace-mode {discard,blend,mean,bob,linear} : deinterlacing mode (default: discard)
Always enabled
This filter allows you to crop parts of the image.
Options:
--crop-geometry <string> : set the geometry of the zone to crop. This is set as width x heigth + left offset + top offset (in pixels).
--autocrop, --noautocrop : automatic black border cropping (default disabled)
Always enabled
This filter allows to rotate the video in several ways .
Options:
--transform-type {90,180,270,hflip,vflip} : transformation type, one of '90', '180', '270', 'hflip' and 'vflip'.
Always enabled
This filter adds a distortion effect to the video. Who said it was useless ? :-)
Options:
--distort-mode {wave,ripple} : distortion mode, one of "wave" and "ripple"
Always enabled
This filter adds a "motion blur" effect to the image.
Options:
--blur-factor <integer> : the degree of blurring from 1 to 127
Always enabled
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.
Options:
--wall-cols <integer> : Select the number of vertical videowindows in which to split the video
--wall-rows <integer> : Select the number of horizontal videowindows in which to split the video
--wall-active <string> : comma separated list of active windows, defaults to all
Always enabled
This filter allows you to insert a png logo inside the video, adjust its transparency with the mouse wheel and move it around using the mouse.
Options:
--logo-file <string> : Logo filename (The file must be in PNG RGBA 8bits format).
--logo-x <integer> : X coordinate of the logo, You can move the logo by left-clicking on it.
--logo-y <integer> : Y coordinate of the logo, You can move the logo by left-clicking on it.
--logo-transparency <integer> : Transparency of the logo (255-0). You can change it by middle-clicking and moving mouse left or right.
These modules allow you to choose the way the sound will be output to your audio system. VLC tries to guess the most appropriate audio output module for your system at runtime. However if you want to force a specific output module, use the following command line switch: --aout modulename
default: enabled on Mac OS X
For Mac OS X only
This audio output uses CoreAudio under Mac OS X
Options:
--coreaudio-dev <integer> : force a specific audio device
default: enabled on GNU/Linux
For GNU/Linux and Unix only
This is the audio output for OSS (Open Sound System)
output (/dev/dsp
, 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.
Options:
--dspdev <string> : set dsp OSS driver
--oss-buggy, --no-oss-buggy Some buggy OSS drivers just don't like when their internal buffers are completely filled (the sound gets heavily hashed). If you have one of these drivers, then you need to enable this option (default disabled)
default: disabled
For GNU/Linux only
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.
Options:
--alsadev <string> : ALSA device name
default: disabled
For GNU/Linux & Unix only
This sound output has ESD (Enlightened Sound Daemon) support (usually used with Gnome). You must have the daemon and its libraries installed.
default: disabled
For GNU/Linux & Unix only
This sound output has aRts (KDE's sound server) support. You must have the daemon and its libraries installed.
default: enabled under Windows
For Windows only
This is the Wave output, which is used by the windows port.
These modules allow you to choose the interface or interfaces you want to use (either graphical or control interfaces).
Always enabled
Use this interface when you want no interface! That is you just want to give a self-contained command-line string.
For example:
%
vlc --intf dummy vcd://
Always enabled
This module allows you to control VLC via mouse gestures .
Options:
--gestures-threshold : The integer argument is the threshold of move required for a mouse gesture to be recorded
--gestures-button {left,middle,right} : The button to click before a gesture
default: disabled
For GNU/Linux only
This is the Gnome interface. It needs gnome libraries (libgnome32 package under Debian) and headers (libgnome-dev package under Debian) if you wish to compile it. Warning: this interface is no longer maintained, and outdated .
Options:
--gnome-tooltips, --no-gnome-tooltips : Whether to show tooltips (default enabled)
--gnome-toolbartext, --no-gnome-toolbartext : Whether to show text on buttons (default enabled)
--gnome-prefs-maxh : Argument is an integer that gives the maximum height for configuration windows
default: enabled
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. Warning: this interface is no longer maintained, and outdated .
Always enabled
This module allows you to remote control your VLC via a web browser. You can create custom web pages. .
Options:
--http-host : The argument, a string, gives the host address. It must look like address[:port], where address can be an IP address or a DNS name, and port is the port on which the HTTP interface will be available (default is 8080). Default address is localhost, which will be ok for almost everybody
--http-src : Gives the path to the HTML pages to be served.
default: disabled
For GNU/Linux only
This module allows you to control VLC via a joystick with many options. .
default: disabled
For GNU/Linux only
This is the KDE interface module. You will need the libraries (kdelibs3 package on Debian) and headers (kde-devel package under Debian) if you wish to compile it. Warning: this interface is no longer maintained, and outdated .
Options:
--kde-uirc :
Path to the ui.rc
file
default: disabled
For GNU/Linux only
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
)
.
default: disabled
For GNU/Linux only
This is a text interface, using ncurses library. You will need ncurses headers if you want to compile it (libncurses5-dev package on Debian) .
default: disabled
This is an interface plugin for the Qt Embedded library (iPaq graphical library) .
default: disabled
This is the QT interface module. You will need the libraries (libqt2 package under Debian) and headers (libqt-dev package under Debian) if you wish to compile it. Warning: this interface is no longer maintained, and outdated .
Always enabled
This is the Remote Control interface module. It allows you to control VLC via commands, such as play, stop, etc... or via a script. This interface is text-based, so you should use it when you are in console mode .
Options:
--rc-show-pos, --no-rc-show-pos : Indicates whether the position in the stream must be shown (outputs one timer line every seconds) (default disabled)
--fake-tty, --no-fake-tty : Enables or disables TTY virtual terminal emulation (default disabled)
default: enabled
This skinnable interface module works under Win32 and X11. You can create your own skins very easily with XML files .
Options:
--skin_last : This option allows you to specify the last used skin (the argument is a string).
--skin_config : This allows you to set the skin configuration (the argument is a string).
--show_in_tray, --noshow_in_tray : Indicates whether the application must be shown in traybar (default disabled).
--show_in_taskbar, --noshow_in_taskbar : Indicates whether the application must be shown in the taskbar (default enabled).
The following modules add support for different OSs.
This section describes a few more modules that don't belong to any of the categories described before.
default: enabled
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.
For more details, please have a look at the The command line interface section.
default: disabled
This is not really a module. When enabled, a VLC-based Mozilla plugin is built.
There are a few options that you can set when running the configure script, which are not related to modules.
You can have a look at these options by typing:
%
./configure --help
You can for example control all the installation directories, the system for which you want to build VLC for (if not guessed correctly),...
You can also choose to enable or disable some optimizations.