Difference between revisions of "Documentation:Advanced Use of VLC"

From VideoLAN Wiki
Jump to navigation Jump to search
 
(114 intermediate revisions by 32 users not shown)
Line 1: Line 1:
==Use the command line==
+
{{RightMenu|Documentation TOC}}
  
'''TODO: completely outdated'''
+
== Use the command line ==
 +
'''TODO: completely outdated'''  
 +
{{Outdated}}
  
All standard operations of VLC should be available from the GUI. However, some complex operations can only be done from the command line and there are situations in which you don't need or want a GUI. Here is the complete description of VLC's command line and how to use it.
+
All standard operations of VLC should be available from the GUI. However, some complex operations can only be done from the command line and there are situations in which you don't need or want a GUI. Here is the complete description of VLC's command line and how to use it.  
  
You need to be quite comfortable with command line usage to use this.
+
You need to be quite comfortable with [[command line]] usage to use this.  
  
 
  Note: Windows users have to use the ''--option-name="value"'' syntax instead of the ''--option-name value'' syntax.
 
  Note: Windows users have to use the ''--option-name="value"'' syntax instead of the ''--option-name value'' syntax.
  
===Getting help===
+
=== Getting help ===
  
VLC uses a modular structure. The core mainly manages communication between modules. All the multimedia processing is done by modules. There are input modules, demultiplexers, decoders, video output modules, ...
+
VLC uses a modular structure. The core mainly manages communication between modules. All the multimedia processing is done by modules. There are input modules, [[demultiplex]]ers, decoders, video output modules, ...  
  
This chapter will only describe the "general" options, i.e. the core options. Each module adds new options. For example, the HTTP input module will add options for caching, proxy, authentication, ...
+
This chapter will only describe the "general" options, i.e. the core options. Each module adds new options. For example, the HTTP input module will add options for caching, proxy, authentication, ...  
  
By using '''vlc --help''', you will get the basic core options. '''vlc --longhelp''' will give all the basic options (core + modules). Adding '''--advanced''' will give the "advanced options" (for advanced users). So '''vlc --longhelp --advanced''' will give you all options. You can also append '''--help-verbose''' if you want more detailed help.
+
By using '''vlc --help''', you will get the basic core options. '''vlc --longhelp''' will give all the basic options (core + modules). Adding '''--advanced''' will give the "advanced options" (for advanced users). So '''vlc --longhelp --advanced''' will give you all options. You can also append '''--help-verbose''' if you want more detailed help.  
  
Also, you might want to get debug informations. To do this, use '''-v''' or '''-vv''' (this will show lower severity messages). If your console supports it, you can add '''--color to get messages in color.
+
Also, you might want to get debug information. To do this, use '''-v''' or '''-vv''' (this will show lower severity messages). If your console supports it, you can add '''--color to get messages in color.'''
  
===Opening streams===
+
=== Opening streams ===
  
The following commands start VLC and start reading the given element(s)
+
The following commands start VLC and start reading the given element(s):
  
====Opening a file====
+
==== Opening a file ====
  
Start VLC with:
+
Start VLC with:  
  
  % '''vlc my_file'''
+
  {{%}} '''vlc my_file'''
  
VLC should be able to recognize the file type. If it does not, you can force demultiplexer and decoder (see below).
+
VLC should be able to recognize the file type. If it does not, you can force demultiplexer and decoder (see below).  
  
A list of all video and audio codecs supported by VLC is available on the [http://www.videolan.org/vlc/features.html VLC features list].
+
A list of all video and audio codecs supported by VLC check the [https://www.videolan.org/vlc/features.html VLC features list].
  
====Opening a DVD or VCD, or an audio CD====
+
==== Opening a DVD or VCD, or an audio CD ====
  
Start VLC with:
+
Start VLC with:  
  
For a DVD with menus:
+
For a DVD with menus:  
% '''vlc dvd://[device][@raw_device][@[title][:[chapter][:angle]]]'''
 
  
In most cases, '''vlc dvd://''' or '''vlc dvd://[device]''' will do. [device] is for example '''/dev/dvd''' on GNU/Linux or '''D:''' on Windows (complete path to your DVD drive).
+
{{%}} '''vlc dvd://[device][@raw_device][@[title][:[chapter][:angle]]]'''
 +
 
 +
In most cases, '''vlc dvd://''' or '''vlc dvd://[device]''' will do. [device] is for example '''/dev/dvd''' on GNU/Linux or '''D:''' on Windows (complete path to your DVD drive).  
  
 
or  
 
or  
  
(DVD without menus):
+
(DVD without menus):  
  
  % '''vlc dvdsimple://[device][@raw_device][@[title][:[chapter][:angle]]]'''
+
  {{%}} '''vlc dvdsimple://[device][@raw_device][@[title][:[chapter][:angle]]]'''
  
or
+
or  
  
(VCD):
+
(VCD):  
  
  % '''vlc vcd://[device][@{E|P|E|T|S}[number]]'''
+
  {{%}} '''vlc vcd://[device][@{E|P|E|T|S}[number]]'''
  
 
or  
 
or  
  
(Audio CD):
+
(Audio CD):  
 
 
% '''vlc cdda://[device][@[track]]'''
 
 
 
====Receiving a network stream====
 
 
 
To receive an unicast UDP stream (sent by VLS or VLC's stream output), start VLC with:
 
 
 
% '''vlc  udp:[@:server_port]'''
 
 
 
If you use the default port (1234), '''vlc udp:''' will do. For more information, look at the Streaming Howto.
 
 
 
To receive an multicast UDP stream (sent by VLS or VLC's stream output), start VLC with:
 
 
 
% '''vlc udp:@multicast_address[:server_port]'''
 
 
 
To receive a SSM (source specific multicast) stream, you can use:
 
 
 
% '''vlc udp:server_address@multicast_address[:server_port]'''
 
 
 
This only works on OSs that support SSM (Windows XP and recent Linux kernels).
 
 
 
To receive a HTTP stream, start VLC with:
 
 
 
% '''vlc http://www.example.org/your_file.mpg'''
 
 
 
To receive a RTSP stream, start VLC with:</para>
 
                                                                               
 
% '''vlc rtsp://www.example.org/your_stream'''
 
 
 
 
 
===Modules selection===
 
 
 
<para>VLC always try 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.
 
</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. This is mainly useful for special <emphasis>control</emphasis> interfaces, like HTTP, RC (Remote Control), ... (see below)
 
</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>--memcpy  &lt;module&gt;</emphasis>
 
allows you to choose a memory copy module. You should probably never touch that.
 
</para></listitem>
 
</itemizedlist>
 
 
 
 
 
<para>You can get a listing of the available modules by using <userinput>vlc
 
-l</userinput></para>
 
 
 
</sect2>
 
 
 
<sect2><title>
 
Stream Output
 
</title>
 
 
 
<para>The Stream output system allows vlc to become a streaming
 
server.</para>
 
 
 
<para>For more details on the stream output system, please have a look
 
at the Streaming Howto.</para>
 
 
 
</sect2>
 
 
 
<sect2><title>Other Options</title>
 
 
 
<sect3><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 (between 0 and 1024)
 
</para></listitem>
 
<listitem><para><emphasis>--aout-rate &lt;integer&gt;</emphasis> sets
 
the audio output frequency (Hz). By default, VLC will try to autodetect
 
this. </para></listitem>
 
<listitem><para><emphasis>--desync &lt;integer&gt;</emphasis>
 
compensates desynchronization of audio (ms). (If audio and video streams
 
are not synchronized, use this setting to delay the audio stream)
 
</para></listitem>
 
<listitem><para><emphasis>--audio-filter &lt;string&gt;</emphasis>
 
adds audio filters to the processing chain. Available filters
 
are visual (visualizer with spectrum analyzer and oscilloscope),
 
headphone (virtual headphone spatialization) and normalizer (volume
 
normalizer)</para></listitem>
 
 
 
</itemizedlist>
 
 
 
</sect3>
 
 
 
<sect3><title>
 
Video options
 
</title>
 
 
 
<itemizedlist>
 
 
 
<listitem><para><emphasis>--novideo</emphasis>
 
disables video output.
 
</para></listitem>
 
 
 
<listitem><para><emphasis>--greyscale</emphasis>
 
turns video output into grayscale mode.
 
</para></listitem>
 
 
 
<listitem><para><emphasis>--fullscreen</emphasis>
 
( or <emphasis>-f</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. By default, the video window size will be adjusted to match the video 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. Modes are 4x3, 16x9, ...
 
</para></listitem>
 
 
 
<listitem><para><emphasis>--spumargin  &lt;integer&gt;</emphasis>
 
forces SPU subtitles postion.
 
</para></listitem>
 
 
 
<listitem><para><emphasis>--filter &lt;string&gt;</emphasis> adds video
 
filters to the processing chain. You can add several filters, separated
 
by commas</para></listitem>
 
 
 
<listitem><para><emphasis>--sout-transcode-sfilter
 
&lt;string&gt;</emphasis> adds video subpictures filter to the
 
processing chain.</para></listitem>
 
 
 
</itemizedlist>
 
 
 
</sect3>
 
 
 
<sect3><title>
 
Playlist options
 
</title>
 
 
 
<itemizedlist>
 
 
 
<listitem><para><emphasis>--random</emphasis>
 
plays files randomly forever.
 
</para></listitem>
 
 
 
<listitem><para><emphasis>--loop</emphasis>
 
loops playlist on end.
 
</para></listitem>
 
 
 
<listitem><para><emphasis>--repeat</emphasis>
 
repeats the current item until another item is forced
 
</para></listitem>
 
 
 
<listitem><para><emphasis>--play-and-stop</emphasis> stops the playlist after
 
each played item.</para></listitem>
 
 
 
</itemizedlist>
 
 
 
</sect3>
 
 
 
<sect3><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>
 
 
 
</sect3>
 
 
 
<sect3><title>
 
CPU options
 
</title>
 
 
 
<para>You should probably not touch these options unless you know what
 
you are doing.</para>
 
 
 
<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>
 
 
 
<listitem><para><emphasis>--noaltivec</emphasis>
 
disables the use of Altivec CPU extensions.
 
</para></listitem>
 
</itemizedlist>
 
 
 
</sect3>
 
 
 
<sect3><title>
 
Miscellaneous options
 
</title>
 
 
 
<itemizedlist>
 
 
 
<listitem><para><emphasis>--quiet</emphasis>
 
deactivates all console messages.
 
</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>--no-plugins-cache</emphasis> disables the
 
plugin cache (plugins cache speeds up startup)</para></listitem>
 
 
 
<listitem><para><emphasis>--dvd  &lt;string&gt;</emphasis>
 
specifies the default DVD 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>
 
 
 
<listitem><para><emphasis>--version</emphasis>
 
gives you information about the current VLC version.
 
</para></listitem>
 
 
 
<listitem><para><emphasis>--module  &lt;module&gt;</emphasis>
 
displays help about specified module. (Shortcut : <emphasis>-p</emphasis>)
 
</para></listitem>
 
 
 
</itemizedlist>
 
 
 
</sect3>
 
</sect2>
 
 
 
<sect2><title>Item-specific options</title>
 
 
 
<para>There are many options that are related to items (like --novideo, --codec, --fullscreen).</para>
 
 
 
<para>For all of these, you have the possibility to make them
 
item-specific, using ":" instead of "--" and putting the option just
 
after the concerned item</para>
 
 
 
<para>Examples:</para>
 
 
 
<itemizedlist>
 
 
 
<listitem>
 
<screen>
 
<prompt>% </prompt><userinput>vlc file1.mpg :fullscreen file2.mpg</userinput>
 
</screen>
 
<para>will play file1.mpg in fullscreen mode and file2.mpg in the default mode (which is generally no fullscreen), whereas </para>
 
<screen>
 
<prompt>% </prompt><userinput>vlc --fullscreen file1.mpg file2.mpg</userinput>
 
</screen>
 
<para>will play both files in fullscreen mode</para>
 
</listitem>
 
 
 
 
 
<listitem>
 
<screen>
 
<prompt>% </prompt><userinput>vlc --fullscreen file1.mpg :sub-file=file1.srt :no-fullscreen file2.mpg :filter=distort</userinput>
 
</screen>
 
<para>will play file1.mpg in windowed (no-fullscreen) mode with the subtitles file file1.srt and will play file2.mpg with video filter distort enabled in fullscreen mode (item-specific options override global options)</para>
 
</listitem>
 
 
 
 
 
 
 
</itemizedlist>
 
 
 
</sect2>
 
 
 
</sect1>
 
 
 
<!-- ************************************************************* SECTION -->
 
<sect1><title>Advanced use of filters</title>
 
 
 
<sect2><title>Filters</title>
 
 
 
<para>These are the old style VLC filters. They only apply to on screen
 
display and thus cannot be streamed.</para>
 
 
 
<sect3><title>Deinterlacing video filter</title>
 
 
 
<para>Module name : <emphasis>deinterlace</emphasis></para>
 
 
 
<itemizedlist>
 
<listitem><para><emphasis>--deinterlace-mode {discard,blend,mean,bob,linear}</emphasis>
 
choose a deinterlacing mode.</para></listitem>
 
</itemizedlist>
 
 
 
</sect3>
 
 
 
<sect3><title>Invert video filter</title>
 
 
 
<para>Module name : <emphasis>invert</emphasis></para>
 
 
 
</sect3>
 
 
 
<sect3><title>Image properties filter</title>
 
 
 
<para>Module name : <emphasis>adjust</emphasis></para>
 
 
 
<itemizedlist>
 
<listitem><para><emphasis>--contrast &lt;float&gt;</emphasis>
 
Image contrast in the 0-2 range.</para></listitem>
 
<listitem><para><emphasis>--brightness &lt;float&gt;</emphasis>
 
Image brightness in the 0-2 range.</para></listitem>
 
<listitem><para><emphasis>--hue &lt;integer&gt;</emphasis>
 
Image hue in the 0-360 range</para></listitem>
 
<listitem><para><emphasis>--saturation &lt;float&gt;</emphasis>
 
Image saturation in the 0-3 range.</para></listitem>
 
<listitem><para><emphasis>--gamma &lt;float&gt;</emphasis>
 
Image gamma in the 0-10 range.</para></listitem>
 
</itemizedlist>
 
 
 
</sect3>
 
 
 
<sect3><title>Wall video filter</title>
 
 
 
<para>Module name : <emphasis>wall</emphasis></para>
 
 
 
<para>This filter splits the output in several windows.</para>
 
 
 
<itemizedlist>
 
<listitem><para><emphasis>--wall-cols &lt;integer&gt;</emphasis>
 
Number of columns.</para></listitem>
 
<listitem><para><emphasis>--wall-rows &lt;integer&gt;</emphasis>
 
Number of rows.</para></listitem>
 
<listitem><para><emphasis>--wall-active &lt;string&gt;</emphasis>
 
Select the windows you want to display. To select windows 2 and 4 you
 
would write --wall-active 2,4 . When this option isn't specified, all
 
windows are displayed.</para></listitem>
 
</itemizedlist>
 
 
 
</sect3>
 
 
 
<sect3><title>Video transformation filter</title>
 
 
 
<para>Module name : <emphasis>transform</emphasis></para>
 
 
 
<itemizedlist>
 
<listitem><para><emphasis>--transform-type {90,180,270,hflip,vflip}</emphasis>
 
Select rotation angle or symmetry.</para></listitem>
 
</itemizedlist>
 
 
 
</sect3>
 
 
 
<sect3><title>Distort video filter</title>
 
 
 
<para>Module name : <emphasis>distort</emphasis></para>
 
 
 
</sect3>
 
 
 
<sect3><title>Clone video filter</title>
 
 
 
<para>This filter clones the output window.</para>
 
 
 
<para>Module name : <emphasis>clone</emphasis></para>
 
 
 
<itemizedlist>
 
<listitem><para><emphasis>--clone-count &lt;integer&gt;</emphasis>
 
Number of clones.</para></listitem>
 
<listitem><para><emphasis>--clone-vout-list &lt;string&gt;</emphasis>
 
Comma separated string of video output modules.</para></listitem>
 
</itemizedlist>
 
 
 
</sect3>
 
 
 
<sect3><title>Crop video filter</title>
 
 
 
<para>Module name : <emphasis>crop</emphasis></para>
 
 
 
<itemizedlist>
 
<listitem><para><emphasis>--crop-geometry &lt;string&gt;</emphasis>
 
Set the geometry of the zone to crop. This is set as &lt;width&gt; x
 
&lt;height&gt; + &lt;left offset&gt; + &lt;top offset&gt;.</para>
 
</listitem>
 
<listitem><para><emphasis>--autocrop</emphasis>
 
Enable automatic black border cropping.</para></listitem>
 
</itemizedlist>
 
 
 
</sect3>
 
 
 
<sect3><title>Motion blur filter</title>
 
 
 
<para>Module name : <emphasis>motionblur</emphasis></para>
 
 
 
<itemizedlist>
 
<listitem><para><emphasis>--blur-factor &lt;integer&gt;</emphasis>
 
Blur factor in the 1-127 range.</para></listitem>
 
</itemizedlist>
 
 
 
</sect3>
 
 
 
<sect3><title>Video pictures blending</title>
 
  
<para>Module name : <emphasis>blend</emphasis></para>
+
{{%}} '''vlc cdda://[device][@[track]]'''
  
</sect3>
+
==== Receiving a network stream ====
  
<sect3><title>Video scaling filter</title>
+
To receive an [[unicast]] [[RTP]]/[[UDP]] stream (sent by VLC's stream output), start VLC with:
  
<para>Module name : <emphasis>scale</emphasis></para>
+
{{%}} '''vlc rtp://@:5004'''
  
</sect3>
+
If 5004 is the [[port]] to which packets are sent. 1234 is another commonly used port number. you use the default port (1234), '''vlc rtp://''' will do. For more information, look at the Streaming Howto.
  
</sect2>
+
To receive an multicast UDP/RTP stream (sent by VLC's stream output), start VLC with:
  
<sect2><title>Subpictures Filters</title>
+
{{%}} '''vlc rtp://@multicast_address:port'''
  
<para>These are the new VLC filters. They can be streamed.</para>
+
To receive a [[SSM]] (source specific multicast) stream, you can use:
  
<sect3><title>Time display sub filter</title>
+
{{%}} '''vlc rtp://server_address@multicast_address:port'''
  
<para>Module name : <emphasis>time</emphasis></para>
+
This only works on [[Operating system]]s that support SSM (Windows XP and Linux).
  
<itemizedlist>
+
To receive a HTTP stream, start VLC with:
<listitem><para><emphasis>--time-format &lt;string&gt;</emphasis>
 
Time format string. You can use the following special characters %Y = year,
 
%m = month, %d = day, %H = hour, %M = minute, %S = second.</para>
 
</listitem>
 
<listitem><para><emphasis>--time-x &lt;integer&gt;</emphasis>
 
X offset from the left in pixels.</para></listitem>
 
<listitem><para><emphasis>--time-y &lt;integer&gt;</emphasis>
 
Y offset from the top in pixels.</para></listitem>
 
</itemizedlist>
 
  
</sect3>
+
{{%}} '''vlc <nowiki>http://www.example.org/your_file.mpg</nowiki>'''
  
<sect3><title>Marque display sub filter</title>
+
To receive a [[RTSP]] stream, start VLC with:&lt;/para&gt;
  
<para>Module name : <emphasis>marq</emphasis></para>
+
{{%}} '''vlc rtsp://www.example.org/your_stream'''
  
<itemizedlist>
+
=== Modules selection ===
<listitem><para><emphasis>--marq-marquee &lt;string&gt;</emphasis>
 
Marquee text to display.</para></listitem>
 
<listitem><para><emphasis>--marq-x &lt;integer&gt;</emphasis>
 
X offset from the left in pixels.</para></listitem>
 
<listitem><para><emphasis>--marq-y &lt;integer&gt;</emphasis>
 
Y offset from the top in pixels.</para></listitem>
 
<listitem><para><emphasis>--marq-timeout &lt;timeout&gt;</emphasis>
 
Defines the time the marquee must remain displayed in milliseconds.
 
Default value is 0 (remain forever).</para></listitem>
 
</itemizedlist>
 
  
</sect3>
+
VLC always 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.
  
<sect3><title>Logo video filter</title>
+
*'''--intf &lt;module&gt;''' allows you to select the interface module.
 +
*'''--extraintf &lt;module&gt;''' allows you to select extra interface modules that will be launched in addition to the main one. This is mainly useful for special ''control'' interfaces, like HTTP, RC (Remote Control), ... (see below)
 +
*'''--aout &lt;module&gt;''' allows you to select the audio output module.
 +
*'''--vout &lt;module&gt;''' allows you to select the video output module.
 +
*'''--memcpy &lt;module&gt;''' allows you to choose a memory copy module. You should probably never touch that.
  
<para>Module name : <emphasis>logo</emphasis></para>
+
You can get a listing of the available modules by using '''vlc -l'''
  
<para>This filter can be used both as an old style filter or a
+
=== Stream Output ===
subpictures filter.</para>
 
  
<itemizedlist>
+
The Stream output system allows vlc to become a streaming server.  
<listitem><para><emphasis>--logo-file &lt;string&gt;</emphasis>
 
Full path of the PNG file to use.</para></listitem>
 
<listitem><para><emphasis>--logo-x &lt;integer&gt;</emphasis>
 
X offset from the left in pixels.</para></listitem>
 
<listitem><para><emphasis>--logo-y &lt;integer&gt;</emphasis>
 
Y offset from the top in pixels.</para></listitem>
 
<listitem><para><emphasis>--logo-transparency &lt;integer&gt;</emphasis>
 
You can set the logo transparency value here (from 0 for full
 
transparency to 255 for full opacity).</para></listitem>
 
</itemizedlist>
 
  
<note><para>You can move the logo by left-clicking on it.</para></note>
+
For more details on the stream output system, please have a look at the [[Documentation:Streaming HowTo|Streaming HowTo]].  
  
</sect3>
+
<br>  
  
</sect2>
+
=== Other Options ===
  
</sect1>
+
==== Audio options ====
  
<!-- ************************************************************* SECTION -->
+
*'''--noaudio''' disables audio output. Note that if you are streaming (ex: to a file) this has no effect (streaming copies the audio verbatim). Use --sout-xxx instead (ex: --no-sout-audio)
<sect1><title>The HTTP interface</title>
+
*'''--mono''' forces VLC to treat the stream in mono audio.
 +
*'''--volume &lt;[[integer]]&gt;''' sets the level of audio output (between 0 and 1024). Also only applies to local playback (like --noaudio).
 +
*'''--aout-rate &lt;[[integer]]&gt;''' sets the audio output frequency (Hz). By default, VLC will try to autodetect this.
 +
*'''--desync &lt;[[integer]]&gt;''' compensates desynchronization of audio (ms). (If audio and video streams are not synchronized, use this setting to delay the audio stream)
 +
*'''--audio-filter &lt;[[string]]&gt;''' adds audio filters to the processing chain. Available filters are visual (visualizer with spectrum analyzer and oscilloscope), headphone (virtual headphone patialization) and normalizer (volume normalizer)
  
<para>
+
==== Video options ====
VLC ships with a little HTTP server integrated.
 
It is used both to stream using HTTP, and for the HTTP remote control
 
interface.
 
</para>
 
  
<para>
+
*'''--no-video''' disables video output.
To start VLC with the HTTP interface, use:
+
*'''--grayscale''' turns video output into grayscale mode.
</para>
+
*'''--fullscreen''' ( or '''-f''') sets fullscreen video.
 +
*'''--nooverlay''' disables [[hardware acceleration]] for the video output.
 +
*'''--width, --height &lt;[[integer]]&gt;''' sets the video window dimensions. By default, the video window size will be adjusted to match the video dimensions.
 +
*'''--start-time &lt;[[integer]]&gt;''' starts the video here; the integer is the number of seconds from the beginning (e.g. 1:30 is written as 90)
 +
*'''--stop-time &lt;[[integer]]&gt;''' stops the video here; the integer is the number of seconds from the beginning (e.g. 1:30 is written as 90)
 +
*'''--zoom &lt;[[float]]&gt;''' adds a zoom factor.
 +
*'''--aspect-ratio &lt;mode&gt;''' forces source aspect ratio. Modes are 4x3, 16x9, ...
 +
*'''--spumargin &lt;[[integer]]&gt;''' forces SPU subtitles position.
 +
*'''--video-filter &lt;[[string]]&gt;''' adds video filters to the processing chain. You can add several filters, separated by commas
 +
*'''--sub-filter &lt;[[string]]&gt;''' adds video subpictures filter to the processing chain.
  
<screen>
+
==== Desktop/Screen grab options ====
<prompt>% </prompt><userinput>vlc -I http [--http-src /directory/ --http-host host:port]</userinput>
 
</screen>
 
  
<para>If you want to have both the "normal" interface and the HTTP
+
You can see the various options for "grabbing the desktop" (VLC's built-in screen grabber capture device) by using the GUI. See https://forum.videolan.org/viewtopic.php?f=4&amp;t=46971
interface, use <userinput>vlc --extraintf http</userinput>.</para>
 
  
<para>
+
==== Playlist options ====
The HTTP interface will start listening at host:port
 
(&lt;all interfaces&gt;:8080 if omitted), and will reproduce the structure of
 
/directory at http://host:port/ ( vlc_source_path/share/http if omitted
 
).
 
</para>
 
  
 +
*'''--random''' plays files randomly forever.
 +
*'''--loop''' loops playlist on end.
 +
*'''--repeat''' repeats current item until another item is forced
 +
*'''--play-and-stop''' stops the playlist after each played item.
  
<para>Use a browser to go to http://your_host_machine:port. You should
+
==== Network options ====
be taken to the main page</para>
 
  
<para>
+
*'''--server-port &lt;[[integer]]&gt;''' sets server port.
VLC is shipped with a set of files that should be
+
*'''--iface &lt;[[string]]&gt;''' specifies the network interface to use.
enough for generic needs. It is also possible to customize pages. See <xref linkend="http" />.
+
*'''--iface-addr &lt;[[string]]&gt;''' specifies your network interface IP address.  
</para>
+
*'''--mtu &lt;[[integer]]&gt;''' specifies the MTU of the network interface.  
 +
*'''--ipv6''' forces IPv6.  
 +
*'''--ipv4''' forces IPv4.
  
 +
==== CPU options ====
  
<para>Available pages are : </para>
+
You should probably not touch these options unless you know what you are doing.
  
<itemizedlist>
+
*'''--nommx''' disables the use of MMX CPU extensions.
 +
*'''--no3dn''' disables the use of 3D Now! CPU extensions.
 +
*'''--nommxext''' disables the use of MMX Ext CPU extensions.
 +
*'''--nosse''' disables the use of SSE CPU extensions.
 +
*'''--noaltivec''' disables the use of Altivec CPU extensions.
  
<listitem><para><emphasis>/index.html</emphasis> gives access to
+
==== Miscellaneous options ====
the playlist, allows you to add or delete items and to control
 
playback.</para></listitem>
 
<listitem><para><emphasis>/info.html</emphasis> gives you statistics
 
and data about the usage of the server.</para></listitem>
 
<listitem><para><emphasis>/admin/</emphasis>. This folder gives
 
more power and is therefore protected by a login/password. The
 
default couple is admin/admin. The passwords and users can
 
be changed in the <emphasis>.access</emphasis> file in the
 
<emphasis>VLC_directory/share/http/admin</emphasis> folder. (Each folder
 
can be protected, see <xref linkend="http" /> for more details).</para></listitem>
 
<listitem><para><emphasis>/vlm/</emphasis>. This folder allows you to
 
control the VideoLAN manager (VLM). The VLM allows you to stream several
 
input streams with only one VLC instance. For more information about
 
VLM, please look at the <ulink url="http://www.videolan.org/doc/streaming-howto/en">Streaming Howto</ulink>.</para></listitem>
 
  
</itemizedlist>
+
*'''--quiet''' deactivates all console messages.
 +
*'''--color''' displays color messages.
 +
*'''--search-path &lt;[[string]]&gt;''' specifies interface default search path.
 +
*'''--plugin-path &lt;[[string]]&gt;''' specifies plugin search path.
 +
*'''--no-plugins-cache''' disables the plugin cache (plugins cache speeds up startup)
 +
*'''--dvd &lt;[[string]]&gt;''' specifies the default DVD device.
 +
*'''--vcd &lt;[[string]]&gt;''' specifies the default VCD device.
 +
*'''--program &lt;[[integer]]&gt;''' specifies program (SID) (for streams with several programs, like satellite ones).
 +
*'''--audio-type &lt;[[integer]]&gt;''' specifies the default audio type to use with dvds.
 +
*'''--audio-channel &lt;[[integer]]&gt;''' specifies the default audio channel to use with dvds.
 +
*'''--spu-channel &lt;[[integer]]&gt;''' specifies the default subtitle channel to use with dvds.
 +
*'''--version''' gives you information about the current VLC version.
 +
*'''--module &lt;module&gt; ''' displays help about specified module. (Shortcut: '''-p''')
  
</sect1>
+
=== Item-specific options ===
  
<!-- ************************************************************* SECTION -->
+
There are many options that are related to items (like '''--novideo''', '''--codec''', '''--fullscreen''').
<sect1><title>Other control interfaces</title>
 
  
<para>VLC includes a number of so-called interfaces that are not really
+
For all of these, you have the possibility to make them item-specific, using ":" instead of "--" and putting the option just after the concerned item.  
interfaces, but means of controlling VLC. Nevertheless, they are
 
enabled by setting them as interface or extra interface, either in the
 
Preferences, in General/Interface, or using -I or --extraintf on the
 
command line.</para>
 
  
 +
Examples:
  
<sect2><title>Hotkeys</title>
+
{{%}} '''vlc file1.mpg&nbsp;:fullscreen file2.mpg'''
  
<para>This module allows you to control VLC and playback via hotkeys. It
+
will play file1.mpg in fullscreen mode and file2.mpg in the default mode (which is generally no fullscreen), whereas
is always enabled by default. You can use hotkeys in the video output window.
 
</para>
 
<para>Hotkeys can be hacked by : </para>
 
<screen>
 
<prompt>% </prompt><userinput>vlc --key-&lt;function&gt; '&lt;code&gt;'</userinput></screen>
 
  
<para> Code is composed by modifiers keys (Alt, Shift, Ctrl, Meta,
+
{{%}} '''vlc --fullscreen file1.mpg file2.mpg'''
Command) separated by a dash (-) and terminated by a key (a...z,
 
+, =, -, ',', +, &lt;, &gt;, `, /, ;, ', \, [, ], *, Left, Right,
 
Up, Down, Space, Enter, F1...F12, Home, End, Menu, Esc, Page Up,
 
Page Down, Tab, Backspace, Mouse Wheel Up and Mouse Wheel Down).
 
Main controls are available from hotkeys, such as : fullscreen,
 
play-pause, faster, slower, next, prev, stop, quit, vol-up, etc. (use
 
the <emphasis>--longhelp</emphasis> option for full list of functions).
 
For example, for binding fullscreen to Ctrl-f, run :</para>
 
  
<screen>
+
will play both files in fullscreen mode
<prompt>% </prompt><userinput>vlc --key-fullscreen 'Ctrl-f'</userinput>
 
</screen>
 
  
</sect2>
+
{{%}} '''vlc --fullscreen file1.mpg&nbsp;:sub-file=file1.srt&nbsp;:no-fullscreen file2.mpg&nbsp;:filter=distort'''
  
<sect2><title>RC and RTCI</title>
+
will play file1.mpg in windowed (no-fullscreen) mode with the subtitles file file1.srt and will play file2.mpg with video filter distort enabled in fullscreen mode (item-specific options override global options).
  
<para>These two interfaces allow you to control VLC from a command shell
+
== Advanced use of filters ==
(possibly using a remote connexion or a Unix socket.</para>
 
  
<para>Start VLC with <emphasis>-I rc</emphasis> or <emphasis>--extraintf
+
=== Filters ===
rc</emphasis>. When you get the <userinput>Remote control interface
 
initialized, `h' for help</userinput> message, press h and Enter to get help
 
about available commands.</para>
 
  
<para>To be able to remote connect to your VLC using a TCP
+
These are the old style VLC filters. They only apply to on screen display and thus cannot be streamed. However, on version 1.1.11 you are still able to apply these filters in ''transcode'' module using parameter ''vfilter''. More information can be found on [[Documentation:Streaming HowTo/Advanced Streaming Using the Command Line#vfilter]].
socket (telnet-like connexion), use <emphasis>--rc-host
 
your_host:port</emphasis>. Then, by connecting (using telnet or netcat)
 
to the host on the given port, you will get the command shell.</para>
 
  
<para>To use a UNIX socket (local socket, this does not work for
+
==== Deinterlacing video filter ====
Windows), use <emphasis>--rc-unix /path/to/socket</emphasis>. Commands
 
can then be passed using this UNIX socket.</para>
 
  
<para>The RTCI interface gives you more advanced options, such
+
Module name: '''deinterlace'''
as marquee control for the marquee subpicture filter (See filter
 
section).</para>
 
  
</sect2>
+
*'''--deinterlace-mode {discard,blend,mean,bob,linear,x,yadif,yadif (2x),phosophor,ivtc}''' choose a [[deinterlacing]] mode.
  
<sect2><title>Ncurses</title>
+
==== Invert video filter ====
  
<para>This is a text interface, using ncurses library.</para>
+
Module name: '''invert'''
  
<para>Start VLC with <emphasis>-I ncurses</emphasis> or <emphasis>--extraintf ncurses</emphasis>. You will then get something like that:</para>
+
==== Image properties filter ====
  
<mediaobject>
+
Module name: '''adjust'''
  <imageobject>
+
{{Transcluded|Documentation:Modules/adjust}}
    <imagedata fileref="images/play-howto/intf-ncurses-playlist.jpg" format="JPG" />
+
{{:Documentation:Modules/adjust}}
  </imageobject>
 
  <textobject><para>The ncurses interface</para></textobject>
 
  <caption><para>The ncurses interface</para></caption>
 
</mediaobject>
 
  
<para>Press h to get the list of all available commands, with a short description.</para>
+
==== Wall video filter ====
  
<para>There is also a filebrowser available for the ncurses interface in order to add playlist items. Press 'B' to use it.</para>
+
Module name: '''wall'''
 +
This filter splits the output in several windows.  
 +
{{Transcluded|Documentation:Modules/wall}}
 +
{{:Documentation:Modules/wall}}
  
<mediaobject>
+
==== Video transformation filter ====
  <imageobject>
 
    <imagedata fileref="images/play-howto/intf-ncurses-filebrowser.jpg" format="JPG" />
 
  </imageobject>
 
  <textobject><para>The ncurses filebrowser</para></textobject>
 
  <caption><para>The ncurses filebrowser</para></caption>
 
</mediaobject>
 
  
<para>You can set the filebrowser starting point by launching vlc with the <emphasis>--browse-dir</emphasis> option:</para>
+
Module name: '''transform'''
 +
{{Transcluded|Documentation:Modules/transform}}
 +
{{:Documentation:Modules/transform}}
  
<screen>
+
==== Distort video filter ====
<prompt>% </prompt><userinput>vlc -I ncurses --browse-dir /filebrowser/starting/point/</userinput>
 
</screen>
 
  
</sect2>
+
Module name: '''distort'''
 +
{{See|Documentation:Modules/distort}}
  
<sect2><title>Gestures</title>
+
==== Clone video filter ====
<para>Gestures provide a simple mouse gestures control. TODO</para>
 
</sect2>
 
  
<!--
+
This filter clones the output window.  
<sect2><title>Joystick</title> <para>Joystick (only for GNU/Linux)
 
provides control of VLC using a joystick. TODO </para> </sect2>
 
-->
 
  
</sect1>
+
Module name: '''clone'''
 +
{{Transcluded|Documentation:Modules/clone}}
 +
{{:Documentation:Modules/clone}}
  
<!-- ************************************************************* SECTION -->
+
==== Croppadd video filter ====
<sect1><title>The Mozilla plugin</title>
 
  
<para> VLC can also be embedded in a web browser ! The following browsers are supported <ulink url="http://www.mozilla.org/">Mozilla</ulink>, <ulink url="http://www.mozilla.org/products/firefox/">Firefox</ulink> and <ulink url="http://www.apple.com/macosx/features/safari">Safari</ulink>.
+
Module name: '''croppadd'''
</para>
+
{{Transcluded|Documentation:Modules/croppadd}}
 +
{{:Documentation:Modules/croppadd}}
  
<sect2><title>Install the plugin</title>
+
==== Motion blur filter ====
  
<sect3><title>GNU/Linux Debian</title>
+
Module name: '''motionblur'''
 +
{{Transcluded|Documentation:Modules/motionblur}}
 +
{{:Documentation:Modules/motionblur}}
  
<para>
+
==== Video pictures blending ====
You should already have the following lines in your
 
<filename>/etc/apt/sources.list</filename>
 
file, if you run Debian Woody:
 
</para>
 
  
<programlisting>
+
Module name: '''blend'''
    deb http://download.videolan.org/pub/videolan/debian woody main
 
    deb-src http://download.videolan.org/pub/videolan/debian woody main
 
</programlisting>
 
  
<para>
+
==== Video scaling filter ====
VLC's latest packaged version is always in the official Debian unstable branch. However you should still use our apt-get line if you need libdvdcss in its latest version:
 
</para>
 
  
<programlisting>
+
Module name: '''scale'''
    deb http://download.videolan.org/pub/videolan/debian sid main
 
    deb-src http://download.videolan.org/pub/videolan/debian sid main
 
</programlisting>
 
  
<para>
+
<br>
Install the
 
<emphasis>mozilla-plugin-vlc</emphasis> package:</para>
 
  
<screen>
+
=== Subpictures Filters ===
<prompt># </prompt><userinput>apt-get update</userinput>
 
<prompt># </prompt><userinput>apt-get install mozilla-plugin-vlc</userinput>
 
</screen>
 
  
</sect3>
+
These are the new VLC filters. They can be streamed.
  
<sect3><title>Windows</title>
+
==== Marquee display sub filter ====
  
<para>Quit Firefox or Mozilla</para>
+
Module name: '''marq'''
 +
{{Transcluded|Documentation:Modules/marq}}
 +
{{:Documentation:Modules/marq}}
  
<para>Copy the two files in
+
==== Logo video filter ====
<emphasis>VLC_Installation_folder\mozilla</emphasis> (usually
 
<emphasis>C:\Program Files\VideoLAN\VLC\mozilla</emphasis>) to
 
your mozilla plugins directory (Usually <emphasis>C:\Program
 
Files\Mozilla\plugins</emphasis> or <emphasis>C:\Program Files\Mozilla
 
Firefox\plugins</emphasis>).</para>
 
  
<para>Restart Firefox or Mozilla</para>
+
Module name: '''logo'''
 +
{{Transcluded|Documentation:Modules/logo}}
 +
{{:Documentation:Modules/logo}}
  
</sect3>
+
This filter can be used both as an old style filter or a subpictures filter.
  
<sect3><title>MacOS X</title>
+
Note: You can move the logo by left-clicking on it.
  
<para><emphasis>The Mozilla/Safari plugin for MacOS X is only available from vlc version 0.8.5.1 and onwards.</emphasis></para>
+
<br>  
<para>Quit Safari browser</para>
 
<para>Download the Mozilla/safari plugin package from <ulink url="http://www.videolan.org/vlc/download-macosx.html">MacOS X download page</ulink>.</para>
 
<para>Run the installer from the dmg image.</para>
 
</sect3>
 
  
<sect3><title>
+
== The HTTP interface ==
Compile the sources yourself
 
</title>
 
  
<para>Please look at the <ulink
+
VLC ships with a little [[HTTP interface|HTTP server integrated]]. It is used both to stream using [[HTTP]], and for the HTTP remote control interface.  
url="http://developers.videolan.org">developers page</ulink> for
 
information on how to do this. </para>
 
  
</sect3>
+
To start VLC with the HTTP interface, use:
</sect2>
 
  
<sect2><title>Use the plugin</title>
+
{{%}} '''vlc -I http [--http-src /directory/] [--http-host host:port]'''
  
<para>If you open a link to a video file handled by the VLC plugin (To
+
If you want to have both the "normal" interface and the HTTP interface, use '''vlc --extraintf http'''.  
get the list of handled types, browse to <userinput>about:plugins</userinput>)
 
or a page with an embedded video, the plugin should open and read the
 
video.</para>
 
  
</sect2>
+
The HTTP interface will start listening at host:port (&lt;all interfaces&gt;:8080 if omitted), and will reproduce the structure of /directory at <code><nowiki>http://host:port/</nowiki></code> ( vlc_source_path/share/http if omitted ).
  
<sect2><title>
+
Use a browser to go to <code><nowiki>http://your_host_machine:port</nowiki></code>. You should be taken to the main page.
Build HTML pages that use the plugin (version &lt;= 0.8.5)
 
</title>
 
  
<para><emphasis>The following API description is only valid uptill version 0.8.5 of the mozilla plugin.</emphasis></para>
+
VLC is shipped with a set of files that should be enough for generic needs. It is also possible to customize pages. See [[Documentation:Play HowTo/Building Pages for the HTTP Interface]].  
  
<para>Additionally to viewing video on all pages, you can build
+
Available pages for 1.0.3&nbsp;:
custom pages that will use the advanced features of the plugin, using
 
Javascript functions to control playback or extract information from the
 
plugin.</para>
 
  
<para>The vlc plugin supports the following function calls:</para>
+
*<nowiki>http://host:port</nowiki> - Main Interface
 +
*<nowiki>http://host:port/vlm.html</nowiki> - VLM Interface
 +
*<nowiki>http://host:port/mosaic.html</nowiki> - Mosaic Wizard
 +
*<nowiki>http://host:port/flash.html</nowiki> - Flash based remote playback
  
<itemizedlist>
 
<listitem><para><command>play()</command> : Start playing media in the plugin.</para></listitem>
 
<listitem><para><command>pause()</command> : Pause playback.</para></listitem>
 
<listitem><para><command>stop()</command> : Stop media playback.</para></listitem>
 
<listitem><para><command>fullscreen()</command> : Switch the video to full screen.</para></listitem>
 
<listitem><para><command>set_volume(vol)</command> : Set the volume. <emphasis>vol</emphasis> has to be an int in the 0-200 range.</para></listitem>
 
<listitem><para><command>get_volume()</command> : Get the current volume setting.</para></listitem>
 
<listitem><para><command>mute()</command> : Toggle volume muting.</para></listitem>
 
<listitem><para><command>set_int_variable(var_name, value)</command> : </para></listitem>
 
<listitem><para><command>set_bool_variable(var_name, value)</command> : </para></listitem>
 
<listitem><para><command>set_str_variable(var_name, value)</command> : </para></listitem>
 
<listitem><para><command>get_int_variable(var_name)</command> : </para></listitem>
 
<listitem><para><command>get_bool_variable(var_name)</command> : </para></listitem>
 
<listitem><para><command>get_str_variable(var_name)</command> : </para></listitem>
 
<listitem><para><command>clear_playlist()</command> : Clear the playlist.</para></listitem>
 
<listitem><para><command>add_item(mrl)</command> : Append an item whose location is given by the Media Resource Locator to the playlist.</para></listitem>
 
<listitem><para><command>next()</command></para></listitem>
 
<listitem><para><command>previous()</command></para></listitem>
 
<listitem><para><command>isplaying()</command> : return true if the plugin is playing something.</para></listitem>
 
<listitem><para><command>get_length()</command> : Get the media's length in seconds.</para></listitem>
 
<listitem><para><command>get_position()</command> : Get the current position in the media in percent.</para></listitem>
 
<listitem><para><command>get_time()</command> : Get the current position in the media in seconds. </para></listitem>
 
<listitem><para><command>seek(seconds,is_relative)</command> : If is_relative is true, seek relatively to current time, else seek from beginning of the stream. Seek time is specified in seconds.</para></listitem>
 
</itemizedlist>
 
  
<para>
+
== Other control interfaces ==
Here are a few examples of HTML pages that use the
 
Mozilla plugin.
 
</para>
 
  
<simplesect><title>
+
VLC includes a number of so-called interfaces that are not really interfaces, but means of [[Category:Control VLC|controlling VLC]]. Nevertheless, they are enabled by setting them as interface or extra interface, either in the Preferences, in General/Interface, or using '''-I''' or '''--extraintf''' on the command line.
Example 1
 
</title>
 
  
<para>
+
=== Hotkeys ===
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>
+
This module allows you to control VLC and playback via hotkeys. It is always enabled by default. You can use hotkeys in the video output window, you can't in the audio dummy interface.
  
<programlisting>
+
Hotkeys can be hacked by:
&lt;html&gt;
 
&lt;head&gt;&lt;title&gt;Demo of VLC mozilla plugin&lt;/title&gt;&lt;/head&gt;
 
  
&lt;body&gt;
+
{{%}} '''vlc --key-&lt;function&gt; &lt;code&gt;'''
  
&lt;h1&gt;Demo of VLC mozilla plugin - Example 1&lt;/h1&gt;
+
Code is composed by modifiers keys (Alt, Shift, Ctrl, Meta,Command) separated by a dash (-) and terminated by a key (a...z, +, =, -, ',', +, &lt;, &gt;, `, /,&nbsp;;, ', \, [, ], *, Left, Right, Up, Down, Space, Enter, F1...F12, Home, End, Menu, Esc, Page Up, Page Down, Tab, Backspace, Mouse Wheel Up and Mouse Wheel Down). Main controls are available from hotkeys, such as&nbsp;: fullscreen, play-pause, faster, slower, next, prev, stop, quit, vol-up, etc. (use the '''--longhelp''' option for full list of functions). For example, for binding fullscreen to Ctrl-f, run:
  
&lt;embed type="application/x-vlc-plugin"
+
{{%}} '''vlc --key-fullscreen 'Ctrl-f' '''
        name="video1"
 
        autoplay="no" loop="yes" width="400" height="300"
 
        target="http://server.example.org/video1.vob" /&gt;
 
&lt;br /&gt;
 
  &lt;a href="javascript:;" onclick='document.video1.play()'&gt;Play video1&lt;/a&gt;
 
  &lt;a href="javascript:;" onclick='document.video1.pause()'&gt;Pause video1&lt;/a&gt;
 
  &lt;a href="javascript:;" onclick='document.video1.stop()'&gt;Stop video1&lt;/a&gt;
 
  &lt;a href="javascript:;" onclick='document.video1.fullscreen()'&gt;Fullscreen&lt;/a&gt;
 
  
&lt;/body&gt;
+
The list of the default hotkeys is available [[HotKeys|here]].
&lt;/html&gt;
 
</programlisting>
 
  
</simplesect>
+
=== RC and RTCI ===
  
<simplesect><title>
+
These two interfaces allow you to control VLC from a command shell (possibly using a remote connexion or a Unix socket).
Example 2
 
</title>
 
  
<para> In this example, the plugin will read a
+
Start VLC with '''-I rc''' or '''--extraintf rc'''. When you get the '''Remote control interface initialized, `h' for help''' message, press h and Enter to get help about available commands.  
multicast UDP stream in a dedicated video output window.
 
</para>
 
  
<programlisting>
+
To be able to remote connect to your VLC using a TCP socket (telnet-like connexion), use '''--rc-host your_host:port'''. Then, by connecting (using telnet or netcat) to the host on the given port, you will get the command shell.
&lt;html&gt;
 
&lt;head&gt;&lt;title&gt;Demo of VLC mozilla plugin&lt;/title&gt;&lt;/head&gt;
 
  
&lt;body&gt;
+
To use a UNIX socket (local socket, this does not work for Windows), use '''--rc-unix /path/to/socket'''. Commands can then be passed using this UNIX socket.
  
&lt;h1&gt;Demo of VLC mozilla plugin - Example 2&lt;/h1&gt;
+
The RTCI interface gives you more advanced options, such as marquee control for the marquee subpicture filter (See filter section).
  
&lt;embed type="application/x-vlc-plugin"
+
<br>
        name="video2"
 
        autoplay="no" loop="no" hidden="yes"
 
        target="udp:@239.255.12.42" /&gt;
 
&lt;br /&gt;
 
  &lt;a href="javascript:;" onclick='document.video2.play()'&gt;Play video2&lt;/a&gt;
 
  &lt;a href="javascript:;" onclick='document.video2.stop()'&gt;Stop video2&lt;/a&gt;
 
  &lt;a href="javascript:;" onclick='document.video2.fullscreen()'&gt;Fullscreen&lt;/a&gt;
 
  
&lt;/body&gt;
+
=== Ncurses ===
&lt;/html&gt;
 
</programlisting>
 
  
</simplesect>
+
This is a text interface, using ncurses library.
</sect2>
 
  
<sect2><title>
+
Start VLC with '''-I ncurses''' or '''--extraintf ncurses'''.
Build HTML pages that use the plugin (version &gt; 0.8.5.1)
 
</title>
 
  
<para>Additionally to viewing video on all pages, you can build
 
custom pages that will use the advanced features of the plugin, using
 
Javascript functions to control playback or extract information from the
 
plugin.</para>
 
  
<para>The vlc plugin exports serveral objects that can be accessed for setting and getting information. When used improperly the API's will throw an exception that includes a string that explains what happened. For example when asking for vlc.input.length when there is no playlist item playing.</para>
+
The ncurses interface
  
<para>The vlc plugin knows the following objects:</para>
+
Press h to get the list of all available commands, with a short description.
  
<itemizedlist>
+
There is also a filebrowser available for the ncurses interface in order to add playlist items. Press 'B' to use it.
<listitem><para><command>audio</command>    : Access audio properties.</para></listitem>
 
<listitem><para><command>input</command>    : Access input properties.</para></listitem>
 
<listitem><para><command>playlist</command> : Access playlist properties.</para></listitem>
 
<listitem><para><command>video</command>    : Access video properties.</para></listitem>
 
<listitem><para><command>log</command>      : Access log properties.</para></listitem>
 
<listitem><para><command>messages</command> : Access to log message properties.</para></listitem>
 
<listitem><para><command>iterator</command> : Access to log iterator properties.</para></listitem>
 
</itemizedlist>
 
  
<para>The following JavaScript code shows howto get a reference to the vlc plugin. This reference can then be used to access the objects of the vlc plugin.
+
The ncurses filebrowser
</para>
 
  
<programlisting>
+
You can set the filebrowser starting point by launching vlc with the '''--browse-dir''' option:
&lt;html&gt;
 
&lt;title&gt;VLC Mozilla plugin test page&lt;/title&gt;
 
&lt;body&gt;
 
&lt;embed type="application/x-vlc-plugin" pluginspage="http://www.videolan.org" version="VideoLAN.VLCPlugin.2"
 
    width="640"
 
    height="480"
 
    id="vlc"&gt;
 
&lt;/embed&gt;
 
&lt;script language="Javascript"&gt;
 
&lt;!--
 
var vlc = document.getElementById("vlc");
 
vlc.audio.toggleMute();
 
!--&gt;
 
&lt;/script&gt;
 
&lt;/body&gt;
 
&lt;/html&gt;
 
</programlisting>
 
  
<simplesect><title>
+
{{%}} '''vlc -I ncurses --browse-dir /filebrowser/starting/point/'''
Root object
 
</title>
 
  
<para>readonly properties</para>
+
<br>
<itemizedlist>
 
<listitem><para><command>VersionInfo</command> : returns version information string</para></listitem>
 
</itemizedlist>
 
  
<para>read/write properties</para>
+
=== Gestures ===
<itemizedlist>
 
<listitem><para><command>none</command></para></listitem>
 
</itemizedlist>
 
  
<para>methods</para>
+
Gestures provide a simple [[mouse gestures]] control. TODO
<itemizedlist>
 
<listitem><para><command>vlc.versionInfo()</command> : returns version information string</para></listitem>
 
</itemizedlist>
 
  
</simplesect>
+
<br>
  
<simplesect><title>
+
== The Mozilla plugin ==
Audio object
 
</title>
 
  
<para>readonly properties</para>
+
VLC can also be embedded in a web browser! The following browsers are supported: [https://www.mozilla.org/products/firefox/ Firefox] and [https://www.apple.com/macosx/features/safari Safari].
<itemizedlist>
 
<listitem><para><command>none</command></para></listitem>
 
</itemizedlist>
 
  
<para>read/write properties</para>
+
=== Install the plugin ===
<itemizedlist>
 
<listitem><para><command>vlc.audio.mute</command> : boolean value to mute and ummute the audio</para></listitem>
 
<listitem><para><command>vlc.audio.volume</command> : a value between [0-200] which indicates a percentage of the volume.</para></listitem>
 
</itemizedlist>
 
  
<para>methods</para>
+
==== GNU/Linux Debian, Ubuntu, etc. ====
<itemizedlist>
 
<listitem><para><command>vlc.audio.toggleMute()</command> : boolean toggle that mutes and unmutes the audio based upon the previous state</para></listitem>
 
</itemizedlist>
 
  
</simplesect>
+
Install the ''mozilla-plugin-vlc'' package using your preferred package manager. For example, at the command line enter:
  
<simplesect><title>
+
# '''apt-get update'''
Input object
+
# '''apt-get install mozilla-plugin-vlc'''
</title>
 
  
<para>readonly properties</para>
+
==== Windows ====
<itemizedlist>
 
<listitem><para><command>vlc.input.length</command> : length of the input file in number of milliseconds</para></listitem>
 
<listitem><para><command>vlc.input.fps</command> : frames per second returned as a float</para></listitem>
 
<listitem><para><command>vlc.input.hasVout</command> : a boolean that returns true when the video is being displayed, it returns false when video is not displayed</para></listitem>
 
</itemizedlist>
 
  
<para>read/write properties</para>
+
Quit Firefox or Mozilla.  
<itemizedlist>
 
<listitem><para><command>vlc.input.position</command> : normalized position in multimedia stream item given as a float value between [0.0 - 1.0]</para></listitem>
 
<listitem><para><command>vlc.input.time</command> : the absolute position in time given in milliseconds, this property can be used to seek through the stream
 
<programlisting>
 
&lt;!-- absolute seek in stream !--&gt;
 
vlc.input.time = &lt;absolute seek&gt;
 
&lt;!-- relative seek in stream !--&gt;
 
vlc.input.time = vlc.input.time + &lt;relative seek&gt;
 
</programlisting></para></listitem>
 
<listitem><para><command>vlc.input.state</command> : current state of the input chain given as enumeration (IDLE/CLOSE=0, OPENING=1, BUFFERING=2, PLAYING=3, PAUSED=4, STOPPING=5, ERROR=6)</para></listitem>
 
<listitem><para><command>vlc.input.rate</command> : input speed given as float (1.0 for normal speed, 0.5 for half speed, 2.0 for twice as fast, etc.)</para></listitem>
 
</itemizedlist>
 
  
<para>methods</para>
+
Select the Mozilla Plugin option when installing VLC Media Player. The installer will then automatically detect your browser and install the plugin.
<itemizedlist>
 
<listitem><para><command>none</command></para></listitem>
 
</itemizedlist>
 
</simplesect>
 
  
<simplesect><title>
+
Restart Firefox or Mozilla.
Playlist object
 
</title>
 
  
<para>readonly properties</para>
+
===== Manual Install =====
<itemizedlist>
+
In [http://kb.mozillazine.org/Installation_directory "Mozilla Firefox\plugins"]
<listitem><para><command>vlc.playlist.itemCount</command> : number that returns the amount of items currently in the playlist</para></listitem>
 
<listitem><para><command>vlc.playlist.isPlaying</command> : a boolean that returns true if the current playlist item is playing and false when it is not playing</para></listitem>
 
</itemizedlist>
 
  
<para>read/write properties</para>
+
Create the directory if it doesn't exist.
<itemizedlist>
 
<listitem><para><command>none</command></para></listitem>
 
</itemizedlist>
 
  
<para>methods</para>
+
'''Folders''' to copy:
<itemizedlist>
+
* osdmenu
<listitem><para><command>vlc.playlist.add(mrl)</command> : add a playlist item as MRL (Multimedia Resource Locator). The MRL must be given as a string.</para></listitem>
+
* plugins
<listitem><para><command>vlc.playlist.add(mrl,name,options)</command> : add a playlist item as MRL (Multimedia Resource Locator), with metaname 'name' and options 'options'. All input values must be given as string.</para></listitem>
 
<listitem><para><command>vlc.playlist.play()</command> : start playing the current playlist item</para></listitem>
 
<listitem><para><command>vlc.playlist.togglePause()</command> : toggle the pause state for the current playlist item</para></listitem>
 
<listitem><para><command>vlc.playlist.stop()</command> : stop playing the current playlist item</para></listitem>
 
<listitem><para><command>vlc.playlist.next()</command> : iterate to the next playlist item</para></listitem>
 
<listitem><para><command>vlc.playlist.prev()</command> : iterate to the previous playlist item</para></listitem>
 
<listitem><para><command>vlc.playlist.clear()</command> : empty the current playlist, all items will be deleted from the playlist</para></listitem>
 
<listitem><para><command>vlc.playlist.removeItem(number)</command> : remove the given item number (which cannot be greater then vlc.playlist.itemCount)</para></listitem>
 
</itemizedlist>
 
</simplesect>
 
  
<simplesect><title>
+
'''Files''' to copy:
Video object
+
*    vlc.exe
</title>
+
*    vlc.exe.manifest
 +
*    vlc-cache-gen.exe
 +
*    npvlc.dll.manifest
 +
*    npvlc.dll
 +
*    libvlccore.dll
 +
*    libvlc.dll
 +
*    libvlc.dll.manifest
 +
*    axvlc.dll
 +
*    axvlc.dll.manifest
  
<para>readonly properties</para>
+
==== macOS ====
<itemizedlist>
 
<listitem><para><command>vlc.video.width</command> : returns the horizontal size of the video</para></listitem>
 
<listitem><para><command>vlc.video.height</command> : returns the vertical size of the video</para></listitem>
 
</itemizedlist>
 
  
<para>read/write properties</para>
+
''The Mozilla/Safari plugin for [[macOS]] is only available from vlc version 0.8.5.1 and onwards.''
<itemizedlist>
 
<listitem><para><command>vlc.video.fullscreen</command> : when set to true the video will be displayed in fullscreen mode, when set to false the video will be shown inside the video output size. The property takes a boolean as input.</para></listitem>
 
<listitem><para><command>vlc.video.aspectRatio</command> : get and set the aspect ratio to use in the video screen. The property takes a string as input value. Valid values are: "1:1", "4:3", "16:9", "16:10", "221:100" and "5:4" </para></listitem>
 
</itemizedlist>
 
  
<para>methods</para>
+
Quit Safari browser.  
<itemizedlist>
 
<listitem><para><command>vlc.video.toggleFullscreen()</command> : toggle the fullscreen mode based on the previous setting</para></listitem>
 
</itemizedlist>
 
  
</simplesect>
+
Download the Mozilla/safari plugin package from [https://www.videolan.org/vlc/download-macosx.html macOS download page].
  
<simplesect><title>
+
Run the installer from the dmg image.
Log object
 
</title>
 
  
<para>readonly properties</para>
+
<br>  
<itemizedlist>
 
<listitem><para><command>vlc.log.messages</command> : returns a messages object</para></listitem>
 
</itemizedlist>
 
  
<para>read/write properties</para>
+
==== Compile the sources yourself ====
<itemizedlist>
 
<listitem><para><command>vlc.log.verbosity</command> : write number [-1,0,1,2,3] for changing the verbosity level of the log messages. The numbers have the following meaning: -1 disable, 0 info, 1 error, 2 warning, 3 debug.</para></listitem>
 
</itemizedlist>
 
  
<para>methods</para>
+
Please look at the [https://www.videolan.org/developers developers page] for information on how to do this.
<itemizedlist>
 
<listitem><para><command>none</command></para></listitem>
 
</itemizedlist>
 
  
</simplesect>
+
<br>  
  
<simplesect><title>
+
=== Use the Mozilla plugin ===
Messages object
 
</title>
 
  
<para>readonly properties</para>
+
If in the browser you open a link to an audio or video URL handled by the VLC plugin, or if a web page has HTML code that embeds audio or video handled by the VLC plugin, then the plugin should start and play the audio/video.
<itemizedlist>
+
Note the plugin (as of version 1.1.9) does not present any user interface — it has no default control panel and no keyboard shortcuts.
<listitem><para><command>messages.count</command> : returns number of messages in the log</para></listitem>
 
<listitem><para><command>messages.severity</command> : number that indicates the severity of the log message (0 = info, 1 = error, 2 = warning, 3 = debug)</para></listitem>
 
<listitem><para><command>message.name</command> : name of VLC module that printed the log message (e.g: main, http< directx, etc...)</para></listitem>
 
<listitem><para><command>message.type</command> : type of VLC module that printed the log message (eg: input, access, vout, sout, etc...)</para></listitem>
 
<listitem><para><command>message.message</command> : the message text</para></listitem>
 
</itemizedlist>
 
  
<para>read/write properties</para>
+
To get the list of the media types handled by the VLC plugin, browse to '''about:plugins'''.
<itemizedlist>
+
Conflicts will arise if you have more than one plugin installed that supports the same media type.
<listitem><para><command>none</command></para></listitem>
 
</itemizedlist>
 
  
<para>methods</para>
+
See the [[Documentation:WebPlugin|Web plugin documentation]] to create HTML pages that use JavaScript to control the plugin.
<itemizedlist>
 
<listitem><para><command>messages.clear()</command> : clear the current log buffer. It should be called as frequently as possible to not overflow the plugins logging buffer. Call this method after the log messages of interest are read.</para></listitem>
 
<listitem><para><command>messages.iterator()</command> : returns a messages iterator object, which is used to iterate over the messages in the log. <b>Don't clear the log buffer while holding an iterator object.</b></para></listitem>
 
</itemizedlist>
 
  
</simplesect>
+
== Snapshot Tool ==
  
<simplesect><title>
+
Did you know you can use special codes to automatically generate filenames in the [[Snapshot Tool]]?
Iterator object
 
</title>
 
  
<para>readonly properties</para>
 
<itemizedlist>
 
<listitem><para><command>iterator.hasNext</command> : returns a boolean that indicates when true, that wheter vlc.log.messages.next() returns the next message.</para></listitem>
 
</itemizedlist>
 
  
<para>read/write properties</para>
+
== Specifying Streaming Options ==
<itemizedlist>
+
{{Further|Documentation:Streaming HowTo New}}
<listitem><para><command>none</command></para></listitem>
 
</itemizedlist>
 
  
<para>methods</para>
+
== Audio Bar Graph over Video ==
<itemizedlist>
 
<listitem><para><command>iterator.next()</command> : returns the next message object it the log</para></listitem>
 
</itemizedlist>
 
  
</simplesect>
+
This section specifies how to enable the audiobargraph audio filter and video overlay, (mostly) via the [[GUI]].  This displays an audio meter overlaid on the video.
  
</sect2>
+
There are three parts - an audio filter, which sends it's output via [[TCP]] to the Remote Control (RC) Interface.  This information is then picked up and displayed by the Audio Bar Graph video subpicture filter (OSD).
  
</sect1>
+
To enable this, VLC needs to be started with the '''--rc-host''' command-line switch - e.g.
 +
{{%}} '''"C:\Program Files\VideoLAN\VLC\vlc.exe" --rc-host localhost:12345'''
  
</chapter>
+
In the GUI, set the following (this example from VLC v1.1.9 on Windows 7):
 +
* Preferences:Show settings:All
 +
* Audio/Filters > Enable "Audio part of the BarGraph function"
 +
* Audio/Filters/audiobargraph > use defaults, change "Sends the barGraph information every n audio packets" to 1 to enable see a more accurate display
 +
* Interface/Main interfaces > Enable "Remote control interface"
 +
* Interface/Main interfaces/RC > Enable "Do not open a DOS command box interface"
 +
* Video/Subtitles-OSD > Enable "Audio Bar Graph Video sub filter"
 +
* Video/Subtitles-OSD/Audio Bar Graph > Set the following settings:
 +
** "Value of the audio channels levels" = 0 (setting this to 0:1 crashes VLC v1.1.9)
 +
** "X coordinate" = 0
 +
** "Y coordinate" = 0 (this doesn't seem to affect anything)
 +
** "Transparency of the bargraph" = 128 for 50% transparency which looks ok
 +
** "Bargraph position" = Left (seems to only work Left,Center,Right - can't go top or bottom)
 +
** "Alarm" = 1 (enables the silence alarm - puts a red border around the bargraph if silent for too long)
 +
** "Bar width in pixel" = 10 (20 if you want it to be really visible)
  
 
{{Documentation}}
 
{{Documentation}}
 +
[[Category:Proposed deletion]]

Latest revision as of 07:04, 7 April 2019

VLC User Guide

Quick Start Guide
Installing VLC
History
Usage
Interface
Open Media
Audio
Video
Playback
Playlist
Subtitles
Video and Audio Filters
Snapshots
Hotkeys
Uninstalling VLC
Troubleshooting
Advanced usage
Using VLC inside a webpage
Command line
Alternative Interfaces
Misc

Appendix
Building Pages for the HTTP Interface
Format String
Building Lua Playlist Scripts
View this alone

Use the command line

TODO: completely outdated

This page is outdated and information might be incorrect.
Create an account to start editing, and then click here to update this article.

All standard operations of VLC should be available from the GUI. However, some complex operations can only be done from the command line and there are situations in which you don't need or want a GUI. Here is the complete description of VLC's command line and how to use it.

You need to be quite comfortable with command line usage to use this.

Note: Windows users have to use the --option-name="value" syntax instead of the --option-name value syntax.

Getting help

VLC uses a modular structure. The core mainly manages communication between modules. All the multimedia processing is done by modules. There are input modules, demultiplexers, decoders, video output modules, ...

This chapter will only describe the "general" options, i.e. the core options. Each module adds new options. For example, the HTTP input module will add options for caching, proxy, authentication, ...

By using vlc --help, you will get the basic core options. vlc --longhelp will give all the basic options (core + modules). Adding --advanced will give the "advanced options" (for advanced users). So vlc --longhelp --advanced will give you all options. You can also append --help-verbose if you want more detailed help.

Also, you might want to get debug information. To do this, use -v or -vv (this will show lower severity messages). If your console supports it, you can add --color to get messages in color.

Opening streams

The following commands start VLC and start reading the given element(s):

Opening a file

Start VLC with:

% vlc my_file

VLC should be able to recognize the file type. If it does not, you can force demultiplexer and decoder (see below).

A list of all video and audio codecs supported by VLC check the VLC features list.

Opening a DVD or VCD, or an audio CD

Start VLC with:

For a DVD with menus:

% vlc dvd://[device][@raw_device][@[title][:[chapter][:angle]]]

In most cases, vlc dvd:// or vlc dvd://[device] will do. [device] is for example /dev/dvd on GNU/Linux or D: on Windows (complete path to your DVD drive).

or

(DVD without menus):

% vlc dvdsimple://[device][@raw_device][@[title][:[chapter][:angle]]]

or

(VCD):

% vlc vcd://[device][@{E|P|E|T|S}[number]]

or

(Audio CD):

% vlc cdda://[device][@[track]]

Receiving a network stream

To receive an unicast RTP/UDP stream (sent by VLC's stream output), start VLC with:

% vlc rtp://@:5004

If 5004 is the port to which packets are sent. 1234 is another commonly used port number. you use the default port (1234), vlc rtp:// will do. For more information, look at the Streaming Howto.

To receive an multicast UDP/RTP stream (sent by VLC's stream output), start VLC with:

% vlc rtp://@multicast_address:port

To receive a SSM (source specific multicast) stream, you can use:

% vlc rtp://server_address@multicast_address:port

This only works on Operating systems that support SSM (Windows XP and Linux).

To receive a HTTP stream, start VLC with:

% vlc http://www.example.org/your_file.mpg

To receive a RTSP stream, start VLC with:</para>

% vlc rtsp://www.example.org/your_stream

Modules selection

VLC always 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.

  • --intf <module> allows you to select the interface module.
  • --extraintf <module> allows you to select extra interface modules that will be launched in addition to the main one. This is mainly useful for special control interfaces, like HTTP, RC (Remote Control), ... (see below)
  • --aout <module> allows you to select the audio output module.
  • --vout <module> allows you to select the video output module.
  • --memcpy <module> allows you to choose a memory copy module. You should probably never touch that.

You can get a listing of the available modules by using vlc -l

Stream Output

The Stream output system allows vlc to become a streaming server.

For more details on the stream output system, please have a look at the Streaming HowTo.


Other Options

Audio options

  • --noaudio disables audio output. Note that if you are streaming (ex: to a file) this has no effect (streaming copies the audio verbatim). Use --sout-xxx instead (ex: --no-sout-audio)
  • --mono forces VLC to treat the stream in mono audio.
  • --volume <integer> sets the level of audio output (between 0 and 1024). Also only applies to local playback (like --noaudio).
  • --aout-rate <integer> sets the audio output frequency (Hz). By default, VLC will try to autodetect this.
  • --desync <integer> compensates desynchronization of audio (ms). (If audio and video streams are not synchronized, use this setting to delay the audio stream)
  • --audio-filter <string> adds audio filters to the processing chain. Available filters are visual (visualizer with spectrum analyzer and oscilloscope), headphone (virtual headphone patialization) and normalizer (volume normalizer)

Video options

  • --no-video disables video output.
  • --grayscale turns video output into grayscale mode.
  • --fullscreen ( or -f) sets fullscreen video.
  • --nooverlay disables hardware acceleration for the video output.
  • --width, --height <integer> sets the video window dimensions. By default, the video window size will be adjusted to match the video dimensions.
  • --start-time <integer> starts the video here; the integer is the number of seconds from the beginning (e.g. 1:30 is written as 90)
  • --stop-time <integer> stops the video here; the integer is the number of seconds from the beginning (e.g. 1:30 is written as 90)
  • --zoom <float> adds a zoom factor.
  • --aspect-ratio <mode> forces source aspect ratio. Modes are 4x3, 16x9, ...
  • --spumargin <integer> forces SPU subtitles position.
  • --video-filter <string> adds video filters to the processing chain. You can add several filters, separated by commas
  • --sub-filter <string> adds video subpictures filter to the processing chain.

Desktop/Screen grab options

You can see the various options for "grabbing the desktop" (VLC's built-in screen grabber capture device) by using the GUI. See https://forum.videolan.org/viewtopic.php?f=4&t=46971

Playlist options

  • --random plays files randomly forever.
  • --loop loops playlist on end.
  • --repeat repeats current item until another item is forced
  • --play-and-stop stops the playlist after each played item.

Network options

  • --server-port <integer> sets server port.
  • --iface <string> specifies the network interface to use.
  • --iface-addr <string> specifies your network interface IP address.
  • --mtu <integer> specifies the MTU of the network interface.
  • --ipv6 forces IPv6.
  • --ipv4 forces IPv4.

CPU options

You should probably not touch these options unless you know what you are doing.

  • --nommx disables the use of MMX CPU extensions.
  • --no3dn disables the use of 3D Now! CPU extensions.
  • --nommxext disables the use of MMX Ext CPU extensions.
  • --nosse disables the use of SSE CPU extensions.
  • --noaltivec disables the use of Altivec CPU extensions.

Miscellaneous options

  • --quiet deactivates all console messages.
  • --color displays color messages.
  • --search-path <string> specifies interface default search path.
  • --plugin-path <string> specifies plugin search path.
  • --no-plugins-cache disables the plugin cache (plugins cache speeds up startup)
  • --dvd <string> specifies the default DVD device.
  • --vcd <string> specifies the default VCD device.
  • --program <integer> specifies program (SID) (for streams with several programs, like satellite ones).
  • --audio-type <integer> specifies the default audio type to use with dvds.
  • --audio-channel <integer> specifies the default audio channel to use with dvds.
  • --spu-channel <integer> specifies the default subtitle channel to use with dvds.
  • --version gives you information about the current VLC version.
  • --module <module> displays help about specified module. (Shortcut: -p)

Item-specific options

There are many options that are related to items (like --novideo, --codec, --fullscreen).

For all of these, you have the possibility to make them item-specific, using ":" instead of "--" and putting the option just after the concerned item.

Examples:

% vlc file1.mpg :fullscreen file2.mpg

will play file1.mpg in fullscreen mode and file2.mpg in the default mode (which is generally no fullscreen), whereas

% vlc --fullscreen file1.mpg file2.mpg

will play both files in fullscreen mode

% vlc --fullscreen file1.mpg :sub-file=file1.srt :no-fullscreen file2.mpg :filter=distort

will play file1.mpg in windowed (no-fullscreen) mode with the subtitles file file1.srt and will play file2.mpg with video filter distort enabled in fullscreen mode (item-specific options override global options).

Advanced use of filters

Filters

These are the old style VLC filters. They only apply to on screen display and thus cannot be streamed. However, on version 1.1.11 you are still able to apply these filters in transcode module using parameter vfilter. More information can be found on Documentation:Streaming HowTo/Advanced Streaming Using the Command Line#vfilter.

Deinterlacing video filter

Module name: deinterlace

  • --deinterlace-mode {discard,blend,mean,bob,linear,x,yadif,yadif (2x),phosophor,ivtc} choose a deinterlacing mode.

Invert video filter

Module name: invert

Image properties filter

Module name: adjust

Transcluded from Documentation:Modules/adjust
  • contrast <float [0.0 .. 2.0]> : Contrast default value: 1.0
  • brightness <float [0.0 .. 2.0]> : Brightness default value: 1.0
  • hue <float [-180 .. 180]> : Hue default value: 0
  • saturation <float [0.0 .. 3.0]> : Saturation default value: 1.0
  • gamma <float [0.01 .. 10.0]> : Gamma default value: 1.0
  • brightness-threshold <boolean> : When this mode is enabled, pixels will be shown as black or white. Also may invert the brightness value. The threshold value will be the brightness defined below default value: disabled

Wall video filter

Module name: wall This filter splits the output in several windows.

Transcluded from Documentation:Modules/wall
  • wall-cols <integer [1 .. 15]> : Number of horizontal windows in which to split the video default value: 3
  • wall-rows <integer [1 .. 15]> : Number of vertical windows in which to split the video default value: 3
  • wall-active <string> : Comma-separated list of active windows, defaults to all default value: NULL
  • wall-element-aspect <string> : Aspect ratio of the individual displays building the wall default value: 4:3

Video transformation filter

Module name: transform

Transcluded from Documentation:Modules/transform
  • transform-type <string> { "90", "180", "270", "hflip", "vflip", "transpose", "antitranspose" } : Transformation type default value: "90"

Distort video filter

Module name: distort

See Documentation:Modules/distort

Clone video filter

This filter clones the output window.

Module name: clone

Transcluded from Documentation:Modules/clone
  • clone-count <integer> : Number of video windows in which to clone the video. default value: 2
  • clone-vout-list <string> : You can use specific video output modules for the clones. Use a comma-separated list of modules. default value: ""

Croppadd video filter

Module name: croppadd

Transcluded from Documentation:Modules/croppadd
  • croppadd-croptop <integer [0 .. INT_MAX]> : Pixels to crop from top
  • croppadd-cropbottom <integer [0 .. INT_MAX]> : Pixels to crop from bottom
  • croppadd-cropleft <integer [0 .. INT_MAX]> : Pixels to crop from left
  • croppadd-cropright <integer [0 .. INT_MAX]> : Pixels to crop from right
  • croppadd-paddtop <integer [0 .. INT_MAX]> : Pixels to add to top
  • croppadd-paddbottom <integer [0 .. INT_MAX]> : Pixels to add to bottom
  • croppadd-paddleft <integer [0 .. INT_MAX]> : Pixels to add to left
  • croppadd-paddright <integer [0 .. INT_MAX]> : Pixels to add to right

Motion blur filter

Module name: motionblur

Transcluded from Documentation:Modules/motionblur
  • motionblur-factor <integer [1 .. 127]> : The bluring factor (1 to 127). Higher values mean more blurring default value: 80

Video pictures blending

Module name: blend

Video scaling filter

Module name: scale


Subpictures Filters

These are the new VLC filters. They can be streamed.

Marquee display sub filter

Module name: marq

Transcluded from Documentation:Modules/marq
  • marq-marquee <string> : Marquee text to display. default value: VLC
  • marq-file <string> : File to read the marquee text from. default value: NULL
  • marq-x <integer> : X offset, from the left screen edge. default value: 0
  • marq-y <integer> : Y offset, down from the top. default value: 0
  • marq-position <integer> : Marquee position: 0=center, 1=left, 2=right, 4=top, 8=bottom, you can also use combinations of these values, eg 6 = top-right. default value: -1
  • marq-opacity <integer [0 .. 255]> : Opacity (inverse of transparency) of overlaid text. 0 = transparent, 255 = totally opaque. default value: 255
  • marq-color <integer> { 0x000000, 0x808080, 0xC0C0C0, 0xFFFFFF, 0x800000, 0xFF0000, 0xFF00FF, 0xFFFF00, 0x808000, 0x008000, 0x008080, 0x00FF00, 0x800080, 0x000080, 0x0000FF, 0x00FFFF } : Color of the text that will be rendered on the video. This must be an hexadecimal (like HTML colors). The first two chars are for red, then green, then blue. default value: 0xFFFFFF
  • marq-size <integer [0 .. 4096]> : Font size, in pixels. 0 uses the default font size. default value: 0
  • marq-timeout <integer> : Number of milliseconds the marquee must remain displayed. 0 means forever. default value: 0
  • marq-refresh <integer> : Number of milliseconds between string updates. This is mainly useful when using meta data or time format string sequences. default value: 1000

Logo video filter

Module name: logo

Transcluded from Documentation:Modules/logo
  • logo-file <string> : Image to display. The full format is <image>[,<delay in ms>[,<alpha>]][;<image>[,<delay>[,<alpha>]]][;...].
  • logo-x <integer> : X offset from upper left corner. default value: 0
  • logo-y <integer> : Y offset from upper left corner. default value: 0
  • logo-position <integer> { 0, 1, 2, 4, 8, 5, 6, 9, 10 } : Logo position. default value: 5
  • logo-opacity <integer [0 .. 255]> : Logo opacity. 0 is transparent, 255 is fully opaque. default value: 255
  • logo-delay <integer> : Global delay in ms. Sets the duration each image will be displayed for in a loop iteration unless specified otherwise in the --logo-file option. default value: 1000
  • logo-repeat <integer> : Number of loops for the logo animation. -1 for continuous, 0 to disable. default value: -1

This filter can be used both as an old style filter or a subpictures filter.

Note: You can move the logo by left-clicking on it.


The HTTP interface

VLC ships with a little HTTP server integrated. It is used both to stream using HTTP, and for the HTTP remote control interface.

To start VLC with the HTTP interface, use:

% vlc -I http [--http-src /directory/] [--http-host host:port]

If you want to have both the "normal" interface and the HTTP interface, use vlc --extraintf http.

The HTTP interface will start listening at host:port (<all interfaces>:8080 if omitted), and will reproduce the structure of /directory at http://host:port/ ( vlc_source_path/share/http if omitted ).

Use a browser to go to http://your_host_machine:port. You should be taken to the main page.

VLC is shipped with a set of files that should be enough for generic needs. It is also possible to customize pages. See Documentation:Play HowTo/Building Pages for the HTTP Interface.

Available pages for 1.0.3 :

  • http://host:port - Main Interface
  • http://host:port/vlm.html - VLM Interface
  • http://host:port/mosaic.html - Mosaic Wizard
  • http://host:port/flash.html - Flash based remote playback


Other control interfaces

VLC includes a number of so-called interfaces that are not really interfaces, but means of. Nevertheless, they are enabled by setting them as interface or extra interface, either in the Preferences, in General/Interface, or using -I or --extraintf on the command line.

Hotkeys

This module allows you to control VLC and playback via hotkeys. It is always enabled by default. You can use hotkeys in the video output window, you can't in the audio dummy interface.

Hotkeys can be hacked by:

% vlc --key-<function> <code>

Code is composed by modifiers keys (Alt, Shift, Ctrl, Meta,Command) separated by a dash (-) and terminated by a key (a...z, +, =, -, ',', +, <, >, `, /, ;, ', \, [, ], *, Left, Right, Up, Down, Space, Enter, F1...F12, Home, End, Menu, Esc, Page Up, Page Down, Tab, Backspace, Mouse Wheel Up and Mouse Wheel Down). Main controls are available from hotkeys, such as : fullscreen, play-pause, faster, slower, next, prev, stop, quit, vol-up, etc. (use the --longhelp option for full list of functions). For example, for binding fullscreen to Ctrl-f, run:

% vlc --key-fullscreen 'Ctrl-f' 

The list of the default hotkeys is available here.

RC and RTCI

These two interfaces allow you to control VLC from a command shell (possibly using a remote connexion or a Unix socket).

Start VLC with -I rc or --extraintf rc. When you get the Remote control interface initialized, `h' for help message, press h and Enter to get help about available commands.

To be able to remote connect to your VLC using a TCP socket (telnet-like connexion), use --rc-host your_host:port. Then, by connecting (using telnet or netcat) to the host on the given port, you will get the command shell.

To use a UNIX socket (local socket, this does not work for Windows), use --rc-unix /path/to/socket. Commands can then be passed using this UNIX socket.

The RTCI interface gives you more advanced options, such as marquee control for the marquee subpicture filter (See filter section).


Ncurses

This is a text interface, using ncurses library.

Start VLC with -I ncurses or --extraintf ncurses.


The ncurses interface

Press h to get the list of all available commands, with a short description.

There is also a filebrowser available for the ncurses interface in order to add playlist items. Press 'B' to use it.

The ncurses filebrowser

You can set the filebrowser starting point by launching vlc with the --browse-dir option:

% vlc -I ncurses --browse-dir /filebrowser/starting/point/


Gestures

Gestures provide a simple mouse gestures control. TODO


The Mozilla plugin

VLC can also be embedded in a web browser! The following browsers are supported: Firefox and Safari.

Install the plugin

GNU/Linux Debian, Ubuntu, etc.

Install the mozilla-plugin-vlc package using your preferred package manager. For example, at the command line enter:

# apt-get update
# apt-get install mozilla-plugin-vlc

Windows

Quit Firefox or Mozilla.

Select the Mozilla Plugin option when installing VLC Media Player. The installer will then automatically detect your browser and install the plugin.

Restart Firefox or Mozilla.

Manual Install

In "Mozilla Firefox\plugins"

Create the directory if it doesn't exist.

Folders to copy:

  • osdmenu
  • plugins

Files to copy:

  • vlc.exe
  • vlc.exe.manifest
  • vlc-cache-gen.exe
  • npvlc.dll.manifest
  • npvlc.dll
  • libvlccore.dll
  • libvlc.dll
  • libvlc.dll.manifest
  • axvlc.dll
  • axvlc.dll.manifest

macOS

The Mozilla/Safari plugin for macOS is only available from vlc version 0.8.5.1 and onwards.

Quit Safari browser.

Download the Mozilla/safari plugin package from macOS download page.

Run the installer from the dmg image.


Compile the sources yourself

Please look at the developers page for information on how to do this.


Use the Mozilla plugin

If in the browser you open a link to an audio or video URL handled by the VLC plugin, or if a web page has HTML code that embeds audio or video handled by the VLC plugin, then the plugin should start and play the audio/video. Note the plugin (as of version 1.1.9) does not present any user interface — it has no default control panel and no keyboard shortcuts.

To get the list of the media types handled by the VLC plugin, browse to about:plugins. Conflicts will arise if you have more than one plugin installed that supports the same media type.

See the Web plugin documentation to create HTML pages that use JavaScript to control the plugin.

Snapshot Tool

Did you know you can use special codes to automatically generate filenames in the Snapshot Tool?


Specifying Streaming Options

Further information: Documentation:Streaming HowTo New

Audio Bar Graph over Video

This section specifies how to enable the audiobargraph audio filter and video overlay, (mostly) via the GUI. This displays an audio meter overlaid on the video.

There are three parts - an audio filter, which sends it's output via TCP to the Remote Control (RC) Interface. This information is then picked up and displayed by the Audio Bar Graph video subpicture filter (OSD).

To enable this, VLC needs to be started with the --rc-host command-line switch - e.g.

% "C:\Program Files\VideoLAN\VLC\vlc.exe" --rc-host localhost:12345

In the GUI, set the following (this example from VLC v1.1.9 on Windows 7):

  • Preferences:Show settings:All
  • Audio/Filters > Enable "Audio part of the BarGraph function"
  • Audio/Filters/audiobargraph > use defaults, change "Sends the barGraph information every n audio packets" to 1 to enable see a more accurate display
  • Interface/Main interfaces > Enable "Remote control interface"
  • Interface/Main interfaces/RC > Enable "Do not open a DOS command box interface"
  • Video/Subtitles-OSD > Enable "Audio Bar Graph Video sub filter"
  • Video/Subtitles-OSD/Audio Bar Graph > Set the following settings:
    • "Value of the audio channels levels" = 0 (setting this to 0:1 crashes VLC v1.1.9)
    • "X coordinate" = 0
    • "Y coordinate" = 0 (this doesn't seem to affect anything)
    • "Transparency of the bargraph" = 128 for 50% transparency which looks ok
    • "Bargraph position" = Left (seems to only work Left,Center,Right - can't go top or bottom)
    • "Alarm" = 1 (enables the silence alarm - puts a red border around the bargraph if silent for too long)
    • "Bar width in pixel" = 10 (20 if you want it to be really visible)
This page is part of official VLC media player Documentation (User GuideStreaming HowToHacker GuideModules)
Please read the Documentation Editing Guidelines before you edit the documentation
Permission is granted to copy, distribute and/or modify this document under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.