<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.videolan.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Jpsaman</id>
	<title>VideoLAN Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.videolan.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Jpsaman"/>
	<link rel="alternate" type="text/html" href="https://wiki.videolan.org/Special:Contributions/Jpsaman/"/>
	<updated>2026-11-04T14:52:56Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.11</generator>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=VDD13&amp;diff=24728</id>
		<title>VDD13</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=VDD13&amp;diff=24728"/>
		<updated>2013-09-01T09:59:28Z</updated>

		<summary type="html">&lt;p&gt;Jpsaman: /* Afternoon */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= VideoLAN Dev Days &#039;13 =&lt;br /&gt;
&#039;&#039;&#039;The Multimedia Conference that frees the cone in you!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This is a technical un-conference, please bring laptops, cords, RJ45 cables, and a good mood with you.&lt;br /&gt;
&lt;br /&gt;
=== Nota Bene ===&lt;br /&gt;
* The hotel is the [http://www.ibishotel.com/gb/hotel-5543-ibis-paris-avenue-d-italie-13eme/index.shtml Ibis] Avenue d&#039;Italie.&lt;br /&gt;
&lt;br /&gt;
* If you expect us to refund your travel, please bring a printed copy of your tickets, one that shows the total cost. If you are not in our reimbursement database, bring a printed IBAN too.&lt;br /&gt;
 &lt;br /&gt;
* On Saturday and Sunday, enter the Free HQ by the &#039;&#039;&#039;16 Rue de la Ville-l&#039;Évêque&#039;&#039;&#039; ([http://goo.gl/EKHWEc map]).&lt;br /&gt;
** There will be a smoking area inside the building, as the entrance cannot be used once inside the building for security reasons.&lt;br /&gt;
&lt;br /&gt;
* There will be a WiFi connection.&amp;lt;!-- under the &#039;&#039;&#039;???????&#039;&#039;&#039; ESSID. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Schedule =&lt;br /&gt;
&lt;br /&gt;
== Thursday, August 29th 2013 ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;70%&amp;quot;&lt;br /&gt;
| 21h00 || Meeting at the Sputnik, for the brave... || NB: VideoLAN will not pay for expenses at the bar...&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[http://www.sputnik.fr/ Sputnik bar]&lt;br /&gt;
&lt;br /&gt;
== Friday, August 30th 2013 ==&lt;br /&gt;
[[Image:Asterix VLC.svg|right|270px]]&lt;br /&gt;
Friday is an &#039;&#039;&#039;&amp;lt;u&amp;gt;optional&amp;lt;/u&amp;gt;&#039;&#039;&#039; day in the Asterix amusement park to bind together our community. If you wish to attend, the meeting in front of the hotel is at 8:30.&lt;br /&gt;
There will be a bus that will be responsible for bringing everyone to and back from the park. More details on the park are available below.&lt;br /&gt;
&lt;br /&gt;
Notes:&lt;br /&gt;
* that bus and park entrance fees are paid by us, so there are NO costs with the exception of food and drinks&lt;br /&gt;
* do not burden yourself too much with unneeded stuff and particularly &#039;&#039;&#039;don&#039;t bring your laptop&#039;&#039;&#039;!&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;70%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Time !! Place !! Description&lt;br /&gt;
|-&lt;br /&gt;
| 8h30 || [http://www.ibishotel.com/gb/hotel-5543-ibis-paris-avenue-d-italie-13eme/index.shtml Hotel] || Meeting point in front of the hotel&lt;br /&gt;
|-&lt;br /&gt;
| 10h00 – 18h00 || Visit to Asterix park&lt;br /&gt;
|-&lt;br /&gt;
| 21h00 || Meeting at the Sputnik, for the brave... || NB: VideoLAN will not pay for expenses at the bar...&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If you cannot be present at the meeting point, you will be able to join us directly there, but you &#039;&#039;&#039;MUST&#039;&#039;&#039; tell us. For reference here are directions to the park: Take RER B3 from Paris Gare du Nord, platform 43 and get off at “Aéroport Charles De Gaulle Terminal 1, Terminal 3”. Go to the “Parcs de Loisirs” counter and board the Parc Astérix shuttle buses.&lt;br /&gt;
&lt;br /&gt;
== Saturday, August 31st 2013 ==&lt;br /&gt;
All the meetings happen in the &#039;&#039;&#039;auditorium&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== Morning ===&lt;br /&gt;
Schedule information is not currently available.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;70%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Time !! Description&lt;br /&gt;
|-&lt;br /&gt;
| 9h30 – 10h00 || Welcome, registration, coffee, juice and croissants&lt;br /&gt;
|-&lt;br /&gt;
| 10h00 – 10h15 || Welcome, VideoLAN, VLC&lt;br /&gt;
|-&lt;br /&gt;
| 10h20 – 10h45 || x265&lt;br /&gt;
|-&lt;br /&gt;
| 10h50 – 11h15 || VLC and DCP&lt;br /&gt;
|-&lt;br /&gt;
| 11h15 – 11h30 || &#039;&#039;&#039;Coffee Break&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| 11h30 – 11h55 || VLC annotations&lt;br /&gt;
|-&lt;br /&gt;
| 11h55 – 12h15 || VP9&lt;br /&gt;
|-&lt;br /&gt;
| 12h15 – 12h30 || VLC 2.1.0 and next&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Lunch ===&lt;br /&gt;
Individual tray meal (chicken, salmon, vegetarian or beef) with dessert and drinks.&lt;br /&gt;
&lt;br /&gt;
=== UnConference ===&lt;br /&gt;
[[wikipedia:Unconference|What is an UnConference?]]&lt;br /&gt;
&lt;br /&gt;
UnConference schedule to be published...&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;70%&amp;quot;&lt;br /&gt;
! Time !! Hacking Room 1 !! Hacking Room 2 !! Hacking Room 3 !! Hacking Room 4 !! Hacking Room 5&lt;br /&gt;
|-&lt;br /&gt;
| 14h00 - 16h00 || libav technical discussion || FFmpeg technical discussion || - Open -  || VLC technical discussion || HACKING ROOM&lt;br /&gt;
|-&lt;br /&gt;
| 16h00 - 16h30  ||  &#039;&#039;Break&#039;&#039; ||&#039;&#039;Break&#039;&#039; ||&#039;&#039;Break&#039;&#039; ||&#039;&#039;Break&#039;&#039; || HACKING ROOM&lt;br /&gt;
|-&lt;br /&gt;
| 16h30 - 18h30 || libav documentation session || x264 || - Open - || VLC mobile ports || HACKING ROOM&lt;br /&gt;
|-&lt;br /&gt;
| 18h30 - 19h00 || || || || || Day Wrap up (In the cafeteria)&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Dinner ===&lt;br /&gt;
[http://www.tripadvisor.fr/Restaurant_Review-g187147-d2459770-Reviews-Restaurant_Du_Paradis-Paris_Ile_de_France.html Restaurant du Paradis]&amp;lt;br /&amp;gt;&lt;br /&gt;
66 Rue du Faubourg Poissonniere&amp;lt;br /&amp;gt;&lt;br /&gt;
75010 Paris&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Metro: Line 7, Poissonière&lt;br /&gt;
&lt;br /&gt;
Starting at 20h00, dinner will consist of 2 special menus prepared by the chef. (drinks included - wine and non-alcoholic)&lt;br /&gt;
&lt;br /&gt;
The menu will consist of 4 choices for starters, principal meal and deserts. There is also a vegan menu available.&lt;br /&gt;
&lt;br /&gt;
== Sunday, September 1st 2013 ==&lt;br /&gt;
=== Session Proposals ===&lt;br /&gt;
* Opus in MPEG TS design session&lt;br /&gt;
* Daala video codec discussion&lt;br /&gt;
* VLC Mac session&lt;br /&gt;
* Building an official VLC SDK for C#/Winform that is cross platform&lt;br /&gt;
* keysigning&lt;br /&gt;
* HEVC decoder review/clean up&lt;br /&gt;
&lt;br /&gt;
=== Morning ===&lt;br /&gt;
Schedule to be posted.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;70%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Time !! HR1 !! HR2 !! HR3 !! HR4 !! HR5 &lt;br /&gt;
|-&lt;br /&gt;
| 10h00 - 11h30  || HEVC decoder review/cleanup || TBD&amp;lt;!-- FFmtech meeting. --&amp;gt; ||  || VideoLAN association meeting || HACKING ROOM &lt;br /&gt;
|-&lt;br /&gt;
| 11h30 - 12h30  || Daala video codec || TBD &amp;lt;!-- SOC --&amp;gt; ||  || Building an official VLC SDK for C#/Winform that is cross platform   ||  HACKING ROOM&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Lunch &amp;amp; Group Photo ===&lt;br /&gt;
Location: Cafeteria of Free HQ (a really beautiful and spacious place!)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Sandwiches&#039;&#039;&#039; with coleslaw or crisps and choices of drinks (including Dr Pepper) + desserts (Pecan pies, Oreo pies, lemon pies, or cheese cakes).&lt;br /&gt;
&lt;br /&gt;
=== Afternoon ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;70%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Time !! HR1 !! HR2 !! HR3 !! HR4 !! HR5&lt;br /&gt;
|-&lt;br /&gt;
| 14h00 - 15h00  || Opus in TS || Handbrake || FFmtech ||  ||  HACKING ROOM  || N/A&lt;br /&gt;
|-&lt;br /&gt;
| 15h00 - 16h00  || x265 || Roots meeting||  || VLC on the Mac ||  HACKING ROOM  || N/A &lt;br /&gt;
|-&lt;br /&gt;
| 16h00 - 17h00  || Broadcast  ||  || Hack || Hack ||  HACKING ROOM  || N/A&lt;br /&gt;
|-&lt;br /&gt;
| 17h00 - 18h00  || libavcodec whining room  || TBD&amp;lt;!-- FOMS info --&amp;gt; || Hack || Hack ||  HACKING ROOM  || N/A&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
__NOTOC__&lt;br /&gt;
&lt;br /&gt;
= Places =&lt;br /&gt;
&lt;br /&gt;
== Map and Itinerary ==&lt;br /&gt;
&lt;br /&gt;
[http://goo.gl/EGmdKQ Here], a Google Map for all places.&lt;br /&gt;
&lt;br /&gt;
[http://images.videolan.org/videolan/events/vdd13/Itinerary.pdf Here] a map with itineraries to go between the different places.&lt;br /&gt;
&lt;br /&gt;
== Asterix Park ==&lt;br /&gt;
60128 Plailly, France&amp;lt;br /&amp;gt;&lt;br /&gt;
Metro / RER: &#039;&#039;&#039;B3&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
http://www.parcasterix.fr/&lt;br /&gt;
&lt;br /&gt;
== Free HQ ==&lt;br /&gt;
16 Rue de la Ville-l&#039;Évêque&amp;lt;br /&amp;gt;&lt;br /&gt;
75008 Paris, France ([http://goo.gl/EKHWEc map])&lt;br /&gt;
&lt;br /&gt;
Metro 8: Madeleine&amp;lt;br /&amp;gt;&lt;br /&gt;
Metro 12: Madeleine&amp;lt;br /&amp;gt;&lt;br /&gt;
Metro 14: Madeleine&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
From CDG airport, take:&amp;lt;br /&amp;gt;&lt;br /&gt;
the RER B (Paris by train) to Châtelet-les-Halles&amp;lt;br /&amp;gt;&lt;br /&gt;
then Metro line 14 to Madeleine.&lt;br /&gt;
&lt;br /&gt;
http://www.free.fr/&lt;br /&gt;
&lt;br /&gt;
== Hotel Ibis ==&lt;br /&gt;
[http://www.ibishotel.com/gb/hotel-5543-ibis-paris-avenue-d-italie-13eme/index.shtml Hotel IBIS Paris Avenue d&#039;Italie]&amp;lt;br /&amp;gt;&lt;br /&gt;
15 bis Avenue d&#039;Italie&amp;lt;br /&amp;gt;&lt;br /&gt;
75013 Paris ([http://goo.gl/MKmwjx map])&lt;br /&gt;
&lt;br /&gt;
== Emergencies ==&lt;br /&gt;
* In case of emergency, call the European emergency number &#039;&#039;&#039;112&#039;&#039;&#039;.&lt;br /&gt;
* To place a call most credit cards can be used directly in public phones.&lt;br /&gt;
&lt;br /&gt;
[[Category:About VideoLAN]]&lt;/div&gt;</summary>
		<author><name>Jpsaman</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=VLC_Dev_Projects&amp;diff=18145</id>
		<title>VLC Dev Projects</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=VLC_Dev_Projects&amp;diff=18145"/>
		<updated>2010-12-16T12:04:41Z</updated>

		<summary type="html">&lt;p&gt;Jpsaman: /* VideoLAN Subtitle Editor */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is a list of small independent improvements to {{VLC}} for which we are looking for interested developers, because we simply don&#039;t have enough time. &lt;br /&gt;
&lt;br /&gt;
These do not require advanced knowledge of VLC internals but they can still vastly improve many parts of VLC &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;For each project&#039;&#039;&#039;, we list a &#039;&#039;&#039;contact&#039;&#039;&#039; person, who knows the subject best and who will be able to assist you if you are interested in working on these. We generally are very often present on irc.videolan.org, chan #videolan, so please don&#039;t hesitate to drop by or to send a mail if you are interested in a given problem (our mail adresses are generally &amp;amp;lt;nick&amp;amp;gt;@videolan.org). &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Be careful, some projects may be unrelated, or deprecated, because of fast evolving software! Ask before&amp;amp;nbsp;!&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Easy projects  =&lt;br /&gt;
&lt;br /&gt;
These projects are junior projects, the most easy ones to do, that require minimum knowledge of VLC. &lt;br /&gt;
&lt;br /&gt;
We also have a number of &amp;quot;easy&amp;quot; bugs. You can check them out [http://trac.videolan.org/vlc/query?status=new&amp;amp;status=assigned&amp;amp;status=reopened&amp;amp;difficulty=easy&amp;amp;order=priority` here] &lt;br /&gt;
&lt;br /&gt;
== Code Janitorial  ==&lt;br /&gt;
&lt;br /&gt;
It basically means to clean the code, it is helpful for all programmers. It helps to find bugs, and is a good way to learn about VLC&#039;s internals. &lt;br /&gt;
&lt;br /&gt;
It is covered in the [[Code Janitorial]] section. &lt;br /&gt;
&lt;br /&gt;
== Video Filters  ==&lt;br /&gt;
&lt;br /&gt;
You can do video filters for {{VLC}}. &lt;br /&gt;
&lt;br /&gt;
You can inspire yourself on this [http://movavi.com/enhancemovie/filters.html list of filters] from a commercial product. &lt;br /&gt;
&lt;br /&gt;
You can start the code [http://git.videolan.org/?p=vlc.git;a=tree;f=modules/video_filter here]. &lt;br /&gt;
&lt;br /&gt;
== Audio Filters ==&lt;br /&gt;
&lt;br /&gt;
You can do audio filters for {{VLC}}&lt;br /&gt;
&lt;br /&gt;
You can start the code [http://git.videolan.org/?p=vlc.git;a=tree;f=modules/audio_filter here]. &lt;br /&gt;
&lt;br /&gt;
== Lua Playlist parsers for websites  ==&lt;br /&gt;
&lt;br /&gt;
VLC already supports youtube, dailymotion or other websites using the .lua scripts! Add new sites and new URLs support! &lt;br /&gt;
&lt;br /&gt;
== Close bugs ==&lt;br /&gt;
&lt;br /&gt;
Go to our bugtracker on http://trac.videolan.org/vlc/ and close a bug !&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Normal small projects  =&lt;br /&gt;
&lt;br /&gt;
== Windows Media Center (WMC) IR Remote Control  ==&lt;br /&gt;
&lt;br /&gt;
Basic Controls work (e.g. Volume, Mute etc), but I would like to get Play/Pause/Stop/DVD Menu etc to work! &lt;br /&gt;
&lt;br /&gt;
Contact: [[User:Some1|some1]] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== DirectX 9 video output  ==&lt;br /&gt;
&lt;br /&gt;
DirectX 9 features some improvements that we could use in our video output &lt;br /&gt;
&lt;br /&gt;
Contact: [[User:Geal|Geal]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== DirectWrite support  ==&lt;br /&gt;
&lt;br /&gt;
DirectWrite is another API introduced in Windows 7, used to write nicely shaped characters to screen. Someone should look into it, to see what could be done (like subtitles display).&lt;br /&gt;
&lt;br /&gt;
Contact: [[User:Geal|Geal]]&lt;br /&gt;
&lt;br /&gt;
== Pixel shaders in OpenGL video output  ==&lt;br /&gt;
&lt;br /&gt;
It would be nice to have a small proof of concept video output which takes care of chroma conversion using pixel shaders. &lt;br /&gt;
&lt;br /&gt;
Contact: [[User:Dionoea|dionoea]] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== mozila and activex javascript api  ==&lt;br /&gt;
&lt;br /&gt;
Add a callback to signal playlist state changes such as item started, item ended, next item started, last item ended, and so on. &lt;br /&gt;
&lt;br /&gt;
Contact: [[User:Jpsaman|jpsaman]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Improved Podcast support  ==&lt;br /&gt;
&lt;br /&gt;
Our current podcast support is very weak. We can read them, but that&#039;s all. We need a real infrastructure to handle them correctly. This will require some changes to the playlist code, so you will need to work closely with existing developers. &lt;br /&gt;
&lt;br /&gt;
Contacts: [[User:Dionoea|Dionoea]] [[User:Zorglub|Zorglub]] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== WTV support ==&lt;br /&gt;
&lt;br /&gt;
We would love to have a .wtv demuxer for the new wtv files from Windows Media center&lt;br /&gt;
&lt;br /&gt;
Contact [[User:J-b|jb]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Improved ASX support  ==&lt;br /&gt;
&lt;br /&gt;
ASX is a playlist format used by Microsoft stuff. We can read it but we could do much better. More information is available at https://trac.videolan.org/vlc/ticket/20 &lt;br /&gt;
&lt;br /&gt;
Contact: [[User:Dnumgis|Dnumgis]] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Hint MP4/MOV Files ==&lt;br /&gt;
&lt;br /&gt;
Add video and audio hint tracks as the output file is muxed. Resulting files can be streamed from RTSP server with trickplay, like DSS/QTSS. Probably requires use of GPAC libraries. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== LastFM radios  ==&lt;br /&gt;
&lt;br /&gt;
http://gabistapler.de/blog/index.php?/archives/268-Play-last.fm-streams-without-the-player.html &lt;br /&gt;
&lt;br /&gt;
Talk to dionoea or funman&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== ASM optims ==&lt;br /&gt;
&lt;br /&gt;
If you know how to code in x86 ASM, we have a few tasks for you&lt;br /&gt;
&lt;br /&gt;
Contact [[User:J-b|jb]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== DVD Audio ==&lt;br /&gt;
&lt;br /&gt;
If you are a coder and fan of DVD-Audio, you can help to improve the support of DVD-Audio playback. Especially decryption.&lt;br /&gt;
&lt;br /&gt;
Contact [[User:J-b|jb]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Performant VLC streaming server  ==&lt;br /&gt;
&lt;br /&gt;
There are many bottlenecks currently limiting the performance and scalability of VLC as a streaming server: &lt;br /&gt;
&lt;br /&gt;
*The I/O blocks are linear, which implies lots of avoidable memory copying and dynamic memory allocations (particularly in the streaming output). &lt;br /&gt;
*mdate() (the timestamping function) is invoked in too many places to count them; but it is not a cheap operation on modern systems and should be avoided on the fast path. Ideally, a single thread would only need to call mdate() at most once per wake-up. In some case, mdate() is only used for debugging purpose which is really inefficient. &lt;br /&gt;
*The HTTP/RTSP core is single-threaded. This prevents scaling to SMP systems (which are the norm on server-side nowadays) properly. This also implies not very scalable I/O event polling. Finally, this gets problematic if one HTTP/RTSP client triggers a computationally intensive operation (such as establishing a TLS context if HTTP/SSL is used). &lt;br /&gt;
*There are many dynamic memory allocations that could be avoided. Video filters and codecs are very careful about this, but the stream output plugins are not. In many case, a stack-based buffer can be used (stack buffer, has constant time fast lock-less allocation, and needs not be freed explicitly) instead. &lt;br /&gt;
*The messaging subsystems might be adding more locking (needs checking); this should be avoided particularly if the message is anyway ignord (e.g. debug message in non-debug mode).&lt;br /&gt;
&lt;br /&gt;
Other improvements that would be particularly benefitial on the server side: &lt;br /&gt;
&lt;br /&gt;
*Memory allocation failure are not always duly handled. In some cases, that could potentially be leveraged by a client to crash a VLC server by causing a very large allocation attempt. &lt;br /&gt;
*Rewrite and revive the root wrapper to allow VLC to bind to the RTSP (554) port while not retaining root privileges.&lt;br /&gt;
&lt;br /&gt;
Contact: [[User:Courmisch|Courmisch]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== VideoLAN Subtitle Editor ==&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;VideoLAN Subtitle Editor&amp;quot; is runs on any OS that is supported by [[Libvlc]].&lt;br /&gt;
&lt;br /&gt;
Features:&lt;br /&gt;
 * Qt4 Interface&lt;br /&gt;
 * Media playback based on [[Libvlc]]&lt;br /&gt;
 * Multiple OS support (Linux, MacOS X, Windows, *BSD, ...)&lt;br /&gt;
 * Internationalisation of subtitles&lt;br /&gt;
 * Exporting to many subtitle formats (.srt, .ssa/.ass, .sub, .srt, .ssf, ...).&lt;br /&gt;
&lt;br /&gt;
Examples of subtile editors:&lt;br /&gt;
 * Subtitle Editor http://home.gna.org/subtitleeditor/&lt;br /&gt;
 * Open Subtitle Editor http://opensubtitleed.sourceforge.net/&lt;br /&gt;
 * Subtile formats: http://en.wikipedia.org/wiki/Subtitles&lt;br /&gt;
&lt;br /&gt;
Contact: [[User:jpsaman|jpsaman]]&lt;br /&gt;
&lt;br /&gt;
= Finished projects  =&lt;br /&gt;
&lt;br /&gt;
== Audioscrobbler ==&lt;br /&gt;
&lt;br /&gt;
An [http://www.audioscrobbler.net/ Audioscrobbler] VLC Plug-in for the social music network [http://www.last.fm Last.Fm]&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Plugin is finished, now part of vlc 0.9.0 (development version). Done by [[User:Funman|funman]] &lt;br /&gt;
&lt;br /&gt;
== DVB support for Windows / BDA Drivers  ==&lt;br /&gt;
&lt;br /&gt;
DVB is the norm for&amp;amp;nbsp;: &lt;br /&gt;
&lt;br /&gt;
*Digital Terrestrial TV (aka DVB-T) &lt;br /&gt;
*Digital Cable TV (aka DVB-C) &lt;br /&gt;
*Digital Satellite TV (aka DVB-S)&lt;br /&gt;
&lt;br /&gt;
Several DVB input cards exist. We support these on Linux, but not on Windows. For Windows, we need to support so-called BDA drivers. &lt;br /&gt;
&lt;br /&gt;
The problem is that we don&#039;t have both the time and the required hardware on Windows comps. &lt;br /&gt;
&lt;br /&gt;
This project is probably not terribly complex, but you need the hardware. &lt;br /&gt;
&lt;br /&gt;
Plugin is done and availabe in the current Git version. Code by kenS &lt;br /&gt;
&lt;br /&gt;
== DBus Integration  ==&lt;br /&gt;
&lt;br /&gt;
[[DBus]] is a communication mechanism for Linux (mainly). &lt;br /&gt;
&lt;br /&gt;
We would like VLC to be able to use it so that other programs can interact with vlc (start/stop, know what is being played, ...) &lt;br /&gt;
&lt;br /&gt;
Work is well advanced, see [[DBus]], by funman and Mr_Mirsal &lt;br /&gt;
&lt;br /&gt;
Contact: [[User:Xtophe|Xtophe]], [[User:Funman|funman]] &lt;br /&gt;
&lt;br /&gt;
== V4L2 support  ==&lt;br /&gt;
&lt;br /&gt;
VLC currently has a pvr module and a v4l (video for linux) module. However &lt;br /&gt;
&lt;br /&gt;
*some cards are only supported in the new v4l2 API &lt;br /&gt;
*The linux kernel will soon drop v4l support&lt;br /&gt;
&lt;br /&gt;
So if someone could update VLC&#039;s current modules to work with V4L2 and the new ivtv api, this would be a welcome addition. This is not a very difficult project, but you will need to have the hardware to test against. The code has been began, so it should not be too difficult. &lt;br /&gt;
&lt;br /&gt;
Plugin is done and available in the current Git version. Code by Richard Hosking, [[User:Dionoea|dionoea]] and Dennis Lou. &lt;br /&gt;
&lt;br /&gt;
== RTCP support  ==&lt;br /&gt;
&lt;br /&gt;
Our RTSP implementation (for broadcasting and video on demand) does not support the RTCP protocol. This is a must to have a real support for RTSP. Some work has already been started, but there is still much to do. &lt;br /&gt;
&lt;br /&gt;
Contact: [[User:JPSaman|JPSaman]] &lt;br /&gt;
&lt;br /&gt;
== Windows port  ==&lt;br /&gt;
&lt;br /&gt;
Finish port libcddb and libcdio for Windows. &lt;br /&gt;
&lt;br /&gt;
Port libzvbi for Windows &lt;br /&gt;
&lt;br /&gt;
Contact [[User:J-b|jb]] &lt;br /&gt;
&lt;br /&gt;
== Improvements to the X11 video output  ==&lt;br /&gt;
&lt;br /&gt;
Fullscreen support to improve . &lt;br /&gt;
&lt;br /&gt;
[[Category:Coding]] [[Category:Activities]]&lt;br /&gt;
&lt;br /&gt;
== Subtitles improvements  ==&lt;br /&gt;
&lt;br /&gt;
{{VLC}} does not support all the styles for a lot of subtitles type. Take a look at [http://trac.videolan.org/vlc/browser/trunk/modules/codec/subtitles/subsdec.c here] to start coding. &lt;br /&gt;
&lt;br /&gt;
Contact bitmap&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Direct2D video output  ==&lt;br /&gt;
&lt;br /&gt;
Direct2D is a new API introduced in Windows 7. VLC could use a a Direct2D vout.&lt;br /&gt;
&lt;br /&gt;
Contact: [[User:Geal|Geal]]&lt;br /&gt;
== Interaction with online services ==&lt;br /&gt;
Hello, I would like to present their concept idea, it involves interaction with online services and some changes in the user interface of VLC Media Player. &lt;br /&gt;
&lt;br /&gt;
On the first tab (Movie) is very straightforward, a user inserts a DVD, HD-DVD or BlyRay selects the desired slot and begin viewing. &lt;br /&gt;
In the future it will be possible to implement view of the disk image. &lt;br /&gt;
&lt;br /&gt;
The second tab (Video), makes it possible to watch media files directly from the HDD. &lt;br /&gt;
Setting up a profile can be all sorted by category (Films, TV shows, etc.), the category of Films on (Action, Horror, Camedy), the category of TV show on (Lost, House M. D, X-Files), etc. &lt;br /&gt;
After watching a movie or TV show, you can not closing VLC media player immediately to share impressions with your friends on Twitter, MySpace, Facebook. &lt;br /&gt;
&lt;br /&gt;
The third tab (Music), provides an opportunity to listen to music as a straight line from the HDD. &lt;br /&gt;
Similar to the previous tab, everything can be sorted into categories (Hip-Hop, R&#039;n&#039;B, Dance, Rock). &lt;br /&gt;
&lt;br /&gt;
Another idea is to tab Online TV, where you can make a small internet browser tied to popular online Servas (YouTube) and send links to interesting videos to friends directly from the VLC Player. &lt;br /&gt;
&lt;br /&gt;
Contact: [[User_talk:Jack.LJ|Jack.LJ]]&lt;br /&gt;
&lt;br /&gt;
=Discussions on projects=&lt;br /&gt;
&lt;br /&gt;
==Proposals==&lt;br /&gt;
&lt;br /&gt;
* [[Newplaylist|Playlist improvement]]&amp;lt;br/&amp;gt;&lt;br /&gt;
* [[Newsoundslider|Soundslider improevment]]&lt;/div&gt;</summary>
		<author><name>Jpsaman</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=VLC_Dev_Projects&amp;diff=18144</id>
		<title>VLC Dev Projects</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=VLC_Dev_Projects&amp;diff=18144"/>
		<updated>2010-12-16T12:03:31Z</updated>

		<summary type="html">&lt;p&gt;Jpsaman: /* VideoLAN Subtitle Editor */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is a list of small independent improvements to {{VLC}} for which we are looking for interested developers, because we simply don&#039;t have enough time. &lt;br /&gt;
&lt;br /&gt;
These do not require advanced knowledge of VLC internals but they can still vastly improve many parts of VLC &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;For each project&#039;&#039;&#039;, we list a &#039;&#039;&#039;contact&#039;&#039;&#039; person, who knows the subject best and who will be able to assist you if you are interested in working on these. We generally are very often present on irc.videolan.org, chan #videolan, so please don&#039;t hesitate to drop by or to send a mail if you are interested in a given problem (our mail adresses are generally &amp;amp;lt;nick&amp;amp;gt;@videolan.org). &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Be careful, some projects may be unrelated, or deprecated, because of fast evolving software! Ask before&amp;amp;nbsp;!&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Easy projects  =&lt;br /&gt;
&lt;br /&gt;
These projects are junior projects, the most easy ones to do, that require minimum knowledge of VLC. &lt;br /&gt;
&lt;br /&gt;
We also have a number of &amp;quot;easy&amp;quot; bugs. You can check them out [http://trac.videolan.org/vlc/query?status=new&amp;amp;status=assigned&amp;amp;status=reopened&amp;amp;difficulty=easy&amp;amp;order=priority` here] &lt;br /&gt;
&lt;br /&gt;
== Code Janitorial  ==&lt;br /&gt;
&lt;br /&gt;
It basically means to clean the code, it is helpful for all programmers. It helps to find bugs, and is a good way to learn about VLC&#039;s internals. &lt;br /&gt;
&lt;br /&gt;
It is covered in the [[Code Janitorial]] section. &lt;br /&gt;
&lt;br /&gt;
== Video Filters  ==&lt;br /&gt;
&lt;br /&gt;
You can do video filters for {{VLC}}. &lt;br /&gt;
&lt;br /&gt;
You can inspire yourself on this [http://movavi.com/enhancemovie/filters.html list of filters] from a commercial product. &lt;br /&gt;
&lt;br /&gt;
You can start the code [http://git.videolan.org/?p=vlc.git;a=tree;f=modules/video_filter here]. &lt;br /&gt;
&lt;br /&gt;
== Audio Filters ==&lt;br /&gt;
&lt;br /&gt;
You can do audio filters for {{VLC}}&lt;br /&gt;
&lt;br /&gt;
You can start the code [http://git.videolan.org/?p=vlc.git;a=tree;f=modules/audio_filter here]. &lt;br /&gt;
&lt;br /&gt;
== Lua Playlist parsers for websites  ==&lt;br /&gt;
&lt;br /&gt;
VLC already supports youtube, dailymotion or other websites using the .lua scripts! Add new sites and new URLs support! &lt;br /&gt;
&lt;br /&gt;
== Close bugs ==&lt;br /&gt;
&lt;br /&gt;
Go to our bugtracker on http://trac.videolan.org/vlc/ and close a bug !&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Normal small projects  =&lt;br /&gt;
&lt;br /&gt;
== Windows Media Center (WMC) IR Remote Control  ==&lt;br /&gt;
&lt;br /&gt;
Basic Controls work (e.g. Volume, Mute etc), but I would like to get Play/Pause/Stop/DVD Menu etc to work! &lt;br /&gt;
&lt;br /&gt;
Contact: [[User:Some1|some1]] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== DirectX 9 video output  ==&lt;br /&gt;
&lt;br /&gt;
DirectX 9 features some improvements that we could use in our video output &lt;br /&gt;
&lt;br /&gt;
Contact: [[User:Geal|Geal]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== DirectWrite support  ==&lt;br /&gt;
&lt;br /&gt;
DirectWrite is another API introduced in Windows 7, used to write nicely shaped characters to screen. Someone should look into it, to see what could be done (like subtitles display).&lt;br /&gt;
&lt;br /&gt;
Contact: [[User:Geal|Geal]]&lt;br /&gt;
&lt;br /&gt;
== Pixel shaders in OpenGL video output  ==&lt;br /&gt;
&lt;br /&gt;
It would be nice to have a small proof of concept video output which takes care of chroma conversion using pixel shaders. &lt;br /&gt;
&lt;br /&gt;
Contact: [[User:Dionoea|dionoea]] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== mozila and activex javascript api  ==&lt;br /&gt;
&lt;br /&gt;
Add a callback to signal playlist state changes such as item started, item ended, next item started, last item ended, and so on. &lt;br /&gt;
&lt;br /&gt;
Contact: [[User:Jpsaman|jpsaman]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Improved Podcast support  ==&lt;br /&gt;
&lt;br /&gt;
Our current podcast support is very weak. We can read them, but that&#039;s all. We need a real infrastructure to handle them correctly. This will require some changes to the playlist code, so you will need to work closely with existing developers. &lt;br /&gt;
&lt;br /&gt;
Contacts: [[User:Dionoea|Dionoea]] [[User:Zorglub|Zorglub]] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== WTV support ==&lt;br /&gt;
&lt;br /&gt;
We would love to have a .wtv demuxer for the new wtv files from Windows Media center&lt;br /&gt;
&lt;br /&gt;
Contact [[User:J-b|jb]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Improved ASX support  ==&lt;br /&gt;
&lt;br /&gt;
ASX is a playlist format used by Microsoft stuff. We can read it but we could do much better. More information is available at https://trac.videolan.org/vlc/ticket/20 &lt;br /&gt;
&lt;br /&gt;
Contact: [[User:Dnumgis|Dnumgis]] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Hint MP4/MOV Files ==&lt;br /&gt;
&lt;br /&gt;
Add video and audio hint tracks as the output file is muxed. Resulting files can be streamed from RTSP server with trickplay, like DSS/QTSS. Probably requires use of GPAC libraries. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== LastFM radios  ==&lt;br /&gt;
&lt;br /&gt;
http://gabistapler.de/blog/index.php?/archives/268-Play-last.fm-streams-without-the-player.html &lt;br /&gt;
&lt;br /&gt;
Talk to dionoea or funman&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== ASM optims ==&lt;br /&gt;
&lt;br /&gt;
If you know how to code in x86 ASM, we have a few tasks for you&lt;br /&gt;
&lt;br /&gt;
Contact [[User:J-b|jb]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== DVD Audio ==&lt;br /&gt;
&lt;br /&gt;
If you are a coder and fan of DVD-Audio, you can help to improve the support of DVD-Audio playback. Especially decryption.&lt;br /&gt;
&lt;br /&gt;
Contact [[User:J-b|jb]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Performant VLC streaming server  ==&lt;br /&gt;
&lt;br /&gt;
There are many bottlenecks currently limiting the performance and scalability of VLC as a streaming server: &lt;br /&gt;
&lt;br /&gt;
*The I/O blocks are linear, which implies lots of avoidable memory copying and dynamic memory allocations (particularly in the streaming output). &lt;br /&gt;
*mdate() (the timestamping function) is invoked in too many places to count them; but it is not a cheap operation on modern systems and should be avoided on the fast path. Ideally, a single thread would only need to call mdate() at most once per wake-up. In some case, mdate() is only used for debugging purpose which is really inefficient. &lt;br /&gt;
*The HTTP/RTSP core is single-threaded. This prevents scaling to SMP systems (which are the norm on server-side nowadays) properly. This also implies not very scalable I/O event polling. Finally, this gets problematic if one HTTP/RTSP client triggers a computationally intensive operation (such as establishing a TLS context if HTTP/SSL is used). &lt;br /&gt;
*There are many dynamic memory allocations that could be avoided. Video filters and codecs are very careful about this, but the stream output plugins are not. In many case, a stack-based buffer can be used (stack buffer, has constant time fast lock-less allocation, and needs not be freed explicitly) instead. &lt;br /&gt;
*The messaging subsystems might be adding more locking (needs checking); this should be avoided particularly if the message is anyway ignord (e.g. debug message in non-debug mode).&lt;br /&gt;
&lt;br /&gt;
Other improvements that would be particularly benefitial on the server side: &lt;br /&gt;
&lt;br /&gt;
*Memory allocation failure are not always duly handled. In some cases, that could potentially be leveraged by a client to crash a VLC server by causing a very large allocation attempt. &lt;br /&gt;
*Rewrite and revive the root wrapper to allow VLC to bind to the RTSP (554) port while not retaining root privileges.&lt;br /&gt;
&lt;br /&gt;
Contact: [[User:Courmisch|Courmisch]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== VideoLAN Subtitle Editor ==&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;VideoLAN Subtitle Editor&amp;quot; is runs on any OS that is supported by Libvlc.&lt;br /&gt;
&lt;br /&gt;
Features:&lt;br /&gt;
 * Qt4 Interface&lt;br /&gt;
 * Media playback based on Libvlc&lt;br /&gt;
 * Multiple OS support (Linux, MacOS X, Windows, *BSD, ...)&lt;br /&gt;
 * Internationalisation of subtitles&lt;br /&gt;
 * Exporting to many subtitle formats (.srt, .ssa/.ass, .sub, .srt, .ssf, ...).&lt;br /&gt;
&lt;br /&gt;
Examples of subtile editors:&lt;br /&gt;
 * Subtitle Editor http://home.gna.org/subtitleeditor/&lt;br /&gt;
 * Open Subtitle Editor http://opensubtitleed.sourceforge.net/&lt;br /&gt;
 * Subtile formats: http://en.wikipedia.org/wiki/Subtitles&lt;br /&gt;
&lt;br /&gt;
Contact: [[User:jpsaman|jpsaman]]&lt;br /&gt;
&lt;br /&gt;
= Finished projects  =&lt;br /&gt;
&lt;br /&gt;
== Audioscrobbler ==&lt;br /&gt;
&lt;br /&gt;
An [http://www.audioscrobbler.net/ Audioscrobbler] VLC Plug-in for the social music network [http://www.last.fm Last.Fm]&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Plugin is finished, now part of vlc 0.9.0 (development version). Done by [[User:Funman|funman]] &lt;br /&gt;
&lt;br /&gt;
== DVB support for Windows / BDA Drivers  ==&lt;br /&gt;
&lt;br /&gt;
DVB is the norm for&amp;amp;nbsp;: &lt;br /&gt;
&lt;br /&gt;
*Digital Terrestrial TV (aka DVB-T) &lt;br /&gt;
*Digital Cable TV (aka DVB-C) &lt;br /&gt;
*Digital Satellite TV (aka DVB-S)&lt;br /&gt;
&lt;br /&gt;
Several DVB input cards exist. We support these on Linux, but not on Windows. For Windows, we need to support so-called BDA drivers. &lt;br /&gt;
&lt;br /&gt;
The problem is that we don&#039;t have both the time and the required hardware on Windows comps. &lt;br /&gt;
&lt;br /&gt;
This project is probably not terribly complex, but you need the hardware. &lt;br /&gt;
&lt;br /&gt;
Plugin is done and availabe in the current Git version. Code by kenS &lt;br /&gt;
&lt;br /&gt;
== DBus Integration  ==&lt;br /&gt;
&lt;br /&gt;
[[DBus]] is a communication mechanism for Linux (mainly). &lt;br /&gt;
&lt;br /&gt;
We would like VLC to be able to use it so that other programs can interact with vlc (start/stop, know what is being played, ...) &lt;br /&gt;
&lt;br /&gt;
Work is well advanced, see [[DBus]], by funman and Mr_Mirsal &lt;br /&gt;
&lt;br /&gt;
Contact: [[User:Xtophe|Xtophe]], [[User:Funman|funman]] &lt;br /&gt;
&lt;br /&gt;
== V4L2 support  ==&lt;br /&gt;
&lt;br /&gt;
VLC currently has a pvr module and a v4l (video for linux) module. However &lt;br /&gt;
&lt;br /&gt;
*some cards are only supported in the new v4l2 API &lt;br /&gt;
*The linux kernel will soon drop v4l support&lt;br /&gt;
&lt;br /&gt;
So if someone could update VLC&#039;s current modules to work with V4L2 and the new ivtv api, this would be a welcome addition. This is not a very difficult project, but you will need to have the hardware to test against. The code has been began, so it should not be too difficult. &lt;br /&gt;
&lt;br /&gt;
Plugin is done and available in the current Git version. Code by Richard Hosking, [[User:Dionoea|dionoea]] and Dennis Lou. &lt;br /&gt;
&lt;br /&gt;
== RTCP support  ==&lt;br /&gt;
&lt;br /&gt;
Our RTSP implementation (for broadcasting and video on demand) does not support the RTCP protocol. This is a must to have a real support for RTSP. Some work has already been started, but there is still much to do. &lt;br /&gt;
&lt;br /&gt;
Contact: [[User:JPSaman|JPSaman]] &lt;br /&gt;
&lt;br /&gt;
== Windows port  ==&lt;br /&gt;
&lt;br /&gt;
Finish port libcddb and libcdio for Windows. &lt;br /&gt;
&lt;br /&gt;
Port libzvbi for Windows &lt;br /&gt;
&lt;br /&gt;
Contact [[User:J-b|jb]] &lt;br /&gt;
&lt;br /&gt;
== Improvements to the X11 video output  ==&lt;br /&gt;
&lt;br /&gt;
Fullscreen support to improve . &lt;br /&gt;
&lt;br /&gt;
[[Category:Coding]] [[Category:Activities]]&lt;br /&gt;
&lt;br /&gt;
== Subtitles improvements  ==&lt;br /&gt;
&lt;br /&gt;
{{VLC}} does not support all the styles for a lot of subtitles type. Take a look at [http://trac.videolan.org/vlc/browser/trunk/modules/codec/subtitles/subsdec.c here] to start coding. &lt;br /&gt;
&lt;br /&gt;
Contact bitmap&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Direct2D video output  ==&lt;br /&gt;
&lt;br /&gt;
Direct2D is a new API introduced in Windows 7. VLC could use a a Direct2D vout.&lt;br /&gt;
&lt;br /&gt;
Contact: [[User:Geal|Geal]]&lt;br /&gt;
== Interaction with online services ==&lt;br /&gt;
Hello, I would like to present their concept idea, it involves interaction with online services and some changes in the user interface of VLC Media Player. &lt;br /&gt;
&lt;br /&gt;
On the first tab (Movie) is very straightforward, a user inserts a DVD, HD-DVD or BlyRay selects the desired slot and begin viewing. &lt;br /&gt;
In the future it will be possible to implement view of the disk image. &lt;br /&gt;
&lt;br /&gt;
The second tab (Video), makes it possible to watch media files directly from the HDD. &lt;br /&gt;
Setting up a profile can be all sorted by category (Films, TV shows, etc.), the category of Films on (Action, Horror, Camedy), the category of TV show on (Lost, House M. D, X-Files), etc. &lt;br /&gt;
After watching a movie or TV show, you can not closing VLC media player immediately to share impressions with your friends on Twitter, MySpace, Facebook. &lt;br /&gt;
&lt;br /&gt;
The third tab (Music), provides an opportunity to listen to music as a straight line from the HDD. &lt;br /&gt;
Similar to the previous tab, everything can be sorted into categories (Hip-Hop, R&#039;n&#039;B, Dance, Rock). &lt;br /&gt;
&lt;br /&gt;
Another idea is to tab Online TV, where you can make a small internet browser tied to popular online Servas (YouTube) and send links to interesting videos to friends directly from the VLC Player. &lt;br /&gt;
&lt;br /&gt;
Contact: [[User_talk:Jack.LJ|Jack.LJ]]&lt;br /&gt;
&lt;br /&gt;
=Discussions on projects=&lt;br /&gt;
&lt;br /&gt;
==Proposals==&lt;br /&gt;
&lt;br /&gt;
* [[Newplaylist|Playlist improvement]]&amp;lt;br/&amp;gt;&lt;br /&gt;
* [[Newsoundslider|Soundslider improevment]]&lt;/div&gt;</summary>
		<author><name>Jpsaman</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=VLC_Dev_Projects&amp;diff=18143</id>
		<title>VLC Dev Projects</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=VLC_Dev_Projects&amp;diff=18143"/>
		<updated>2010-12-16T12:02:27Z</updated>

		<summary type="html">&lt;p&gt;Jpsaman: VideoLAN Subtitle Editor&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is a list of small independent improvements to {{VLC}} for which we are looking for interested developers, because we simply don&#039;t have enough time. &lt;br /&gt;
&lt;br /&gt;
These do not require advanced knowledge of VLC internals but they can still vastly improve many parts of VLC &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;For each project&#039;&#039;&#039;, we list a &#039;&#039;&#039;contact&#039;&#039;&#039; person, who knows the subject best and who will be able to assist you if you are interested in working on these. We generally are very often present on irc.videolan.org, chan #videolan, so please don&#039;t hesitate to drop by or to send a mail if you are interested in a given problem (our mail adresses are generally &amp;amp;lt;nick&amp;amp;gt;@videolan.org). &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Be careful, some projects may be unrelated, or deprecated, because of fast evolving software! Ask before&amp;amp;nbsp;!&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Easy projects  =&lt;br /&gt;
&lt;br /&gt;
These projects are junior projects, the most easy ones to do, that require minimum knowledge of VLC. &lt;br /&gt;
&lt;br /&gt;
We also have a number of &amp;quot;easy&amp;quot; bugs. You can check them out [http://trac.videolan.org/vlc/query?status=new&amp;amp;status=assigned&amp;amp;status=reopened&amp;amp;difficulty=easy&amp;amp;order=priority` here] &lt;br /&gt;
&lt;br /&gt;
== Code Janitorial  ==&lt;br /&gt;
&lt;br /&gt;
It basically means to clean the code, it is helpful for all programmers. It helps to find bugs, and is a good way to learn about VLC&#039;s internals. &lt;br /&gt;
&lt;br /&gt;
It is covered in the [[Code Janitorial]] section. &lt;br /&gt;
&lt;br /&gt;
== Video Filters  ==&lt;br /&gt;
&lt;br /&gt;
You can do video filters for {{VLC}}. &lt;br /&gt;
&lt;br /&gt;
You can inspire yourself on this [http://movavi.com/enhancemovie/filters.html list of filters] from a commercial product. &lt;br /&gt;
&lt;br /&gt;
You can start the code [http://git.videolan.org/?p=vlc.git;a=tree;f=modules/video_filter here]. &lt;br /&gt;
&lt;br /&gt;
== Audio Filters ==&lt;br /&gt;
&lt;br /&gt;
You can do audio filters for {{VLC}}&lt;br /&gt;
&lt;br /&gt;
You can start the code [http://git.videolan.org/?p=vlc.git;a=tree;f=modules/audio_filter here]. &lt;br /&gt;
&lt;br /&gt;
== Lua Playlist parsers for websites  ==&lt;br /&gt;
&lt;br /&gt;
VLC already supports youtube, dailymotion or other websites using the .lua scripts! Add new sites and new URLs support! &lt;br /&gt;
&lt;br /&gt;
== Close bugs ==&lt;br /&gt;
&lt;br /&gt;
Go to our bugtracker on http://trac.videolan.org/vlc/ and close a bug !&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Normal small projects  =&lt;br /&gt;
&lt;br /&gt;
== Windows Media Center (WMC) IR Remote Control  ==&lt;br /&gt;
&lt;br /&gt;
Basic Controls work (e.g. Volume, Mute etc), but I would like to get Play/Pause/Stop/DVD Menu etc to work! &lt;br /&gt;
&lt;br /&gt;
Contact: [[User:Some1|some1]] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== DirectX 9 video output  ==&lt;br /&gt;
&lt;br /&gt;
DirectX 9 features some improvements that we could use in our video output &lt;br /&gt;
&lt;br /&gt;
Contact: [[User:Geal|Geal]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== DirectWrite support  ==&lt;br /&gt;
&lt;br /&gt;
DirectWrite is another API introduced in Windows 7, used to write nicely shaped characters to screen. Someone should look into it, to see what could be done (like subtitles display).&lt;br /&gt;
&lt;br /&gt;
Contact: [[User:Geal|Geal]]&lt;br /&gt;
&lt;br /&gt;
== Pixel shaders in OpenGL video output  ==&lt;br /&gt;
&lt;br /&gt;
It would be nice to have a small proof of concept video output which takes care of chroma conversion using pixel shaders. &lt;br /&gt;
&lt;br /&gt;
Contact: [[User:Dionoea|dionoea]] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== mozila and activex javascript api  ==&lt;br /&gt;
&lt;br /&gt;
Add a callback to signal playlist state changes such as item started, item ended, next item started, last item ended, and so on. &lt;br /&gt;
&lt;br /&gt;
Contact: [[User:Jpsaman|jpsaman]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Improved Podcast support  ==&lt;br /&gt;
&lt;br /&gt;
Our current podcast support is very weak. We can read them, but that&#039;s all. We need a real infrastructure to handle them correctly. This will require some changes to the playlist code, so you will need to work closely with existing developers. &lt;br /&gt;
&lt;br /&gt;
Contacts: [[User:Dionoea|Dionoea]] [[User:Zorglub|Zorglub]] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== WTV support ==&lt;br /&gt;
&lt;br /&gt;
We would love to have a .wtv demuxer for the new wtv files from Windows Media center&lt;br /&gt;
&lt;br /&gt;
Contact [[User:J-b|jb]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Improved ASX support  ==&lt;br /&gt;
&lt;br /&gt;
ASX is a playlist format used by Microsoft stuff. We can read it but we could do much better. More information is available at https://trac.videolan.org/vlc/ticket/20 &lt;br /&gt;
&lt;br /&gt;
Contact: [[User:Dnumgis|Dnumgis]] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Hint MP4/MOV Files ==&lt;br /&gt;
&lt;br /&gt;
Add video and audio hint tracks as the output file is muxed. Resulting files can be streamed from RTSP server with trickplay, like DSS/QTSS. Probably requires use of GPAC libraries. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== LastFM radios  ==&lt;br /&gt;
&lt;br /&gt;
http://gabistapler.de/blog/index.php?/archives/268-Play-last.fm-streams-without-the-player.html &lt;br /&gt;
&lt;br /&gt;
Talk to dionoea or funman&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== ASM optims ==&lt;br /&gt;
&lt;br /&gt;
If you know how to code in x86 ASM, we have a few tasks for you&lt;br /&gt;
&lt;br /&gt;
Contact [[User:J-b|jb]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== DVD Audio ==&lt;br /&gt;
&lt;br /&gt;
If you are a coder and fan of DVD-Audio, you can help to improve the support of DVD-Audio playback. Especially decryption.&lt;br /&gt;
&lt;br /&gt;
Contact [[User:J-b|jb]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Performant VLC streaming server  ==&lt;br /&gt;
&lt;br /&gt;
There are many bottlenecks currently limiting the performance and scalability of VLC as a streaming server: &lt;br /&gt;
&lt;br /&gt;
*The I/O blocks are linear, which implies lots of avoidable memory copying and dynamic memory allocations (particularly in the streaming output). &lt;br /&gt;
*mdate() (the timestamping function) is invoked in too many places to count them; but it is not a cheap operation on modern systems and should be avoided on the fast path. Ideally, a single thread would only need to call mdate() at most once per wake-up. In some case, mdate() is only used for debugging purpose which is really inefficient. &lt;br /&gt;
*The HTTP/RTSP core is single-threaded. This prevents scaling to SMP systems (which are the norm on server-side nowadays) properly. This also implies not very scalable I/O event polling. Finally, this gets problematic if one HTTP/RTSP client triggers a computationally intensive operation (such as establishing a TLS context if HTTP/SSL is used). &lt;br /&gt;
*There are many dynamic memory allocations that could be avoided. Video filters and codecs are very careful about this, but the stream output plugins are not. In many case, a stack-based buffer can be used (stack buffer, has constant time fast lock-less allocation, and needs not be freed explicitly) instead. &lt;br /&gt;
*The messaging subsystems might be adding more locking (needs checking); this should be avoided particularly if the message is anyway ignord (e.g. debug message in non-debug mode).&lt;br /&gt;
&lt;br /&gt;
Other improvements that would be particularly benefitial on the server side: &lt;br /&gt;
&lt;br /&gt;
*Memory allocation failure are not always duly handled. In some cases, that could potentially be leveraged by a client to crash a VLC server by causing a very large allocation attempt. &lt;br /&gt;
*Rewrite and revive the root wrapper to allow VLC to bind to the RTSP (554) port while not retaining root privileges.&lt;br /&gt;
&lt;br /&gt;
Contact: [[User:Courmisch|Courmisch]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== VideoLAN Subtitle Editor ==&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;VideoLAN Subtitle Editor&amp;quot; is runs on any OS that is supported by libvlc.&lt;br /&gt;
&lt;br /&gt;
Features:&lt;br /&gt;
 * Qt4 Interface&lt;br /&gt;
 * Media playback based on libvlc&lt;br /&gt;
 * Multiple OS support (Linux, MacOS X, Windows, *BSD, ...)&lt;br /&gt;
 * Internationalisation of subtitles&lt;br /&gt;
 * Exporting to many subtitle formats (.srt, .ssa/.ass, .sub, .srt, .ssf, ...).&lt;br /&gt;
&lt;br /&gt;
Examples of subtile editors:&lt;br /&gt;
 * Subtitle Editor http://home.gna.org/subtitleeditor/&lt;br /&gt;
 * Open Subtitle Editor http://opensubtitleed.sourceforge.net/&lt;br /&gt;
 * Subtile formats: http://en.wikipedia.org/wiki/Subtitles&lt;br /&gt;
&lt;br /&gt;
Contact: [[User:jpsaman|jpsaman]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Finished projects  =&lt;br /&gt;
&lt;br /&gt;
== Audioscrobbler ==&lt;br /&gt;
&lt;br /&gt;
An [http://www.audioscrobbler.net/ Audioscrobbler] VLC Plug-in for the social music network [http://www.last.fm Last.Fm]&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Plugin is finished, now part of vlc 0.9.0 (development version). Done by [[User:Funman|funman]] &lt;br /&gt;
&lt;br /&gt;
== DVB support for Windows / BDA Drivers  ==&lt;br /&gt;
&lt;br /&gt;
DVB is the norm for&amp;amp;nbsp;: &lt;br /&gt;
&lt;br /&gt;
*Digital Terrestrial TV (aka DVB-T) &lt;br /&gt;
*Digital Cable TV (aka DVB-C) &lt;br /&gt;
*Digital Satellite TV (aka DVB-S)&lt;br /&gt;
&lt;br /&gt;
Several DVB input cards exist. We support these on Linux, but not on Windows. For Windows, we need to support so-called BDA drivers. &lt;br /&gt;
&lt;br /&gt;
The problem is that we don&#039;t have both the time and the required hardware on Windows comps. &lt;br /&gt;
&lt;br /&gt;
This project is probably not terribly complex, but you need the hardware. &lt;br /&gt;
&lt;br /&gt;
Plugin is done and availabe in the current Git version. Code by kenS &lt;br /&gt;
&lt;br /&gt;
== DBus Integration  ==&lt;br /&gt;
&lt;br /&gt;
[[DBus]] is a communication mechanism for Linux (mainly). &lt;br /&gt;
&lt;br /&gt;
We would like VLC to be able to use it so that other programs can interact with vlc (start/stop, know what is being played, ...) &lt;br /&gt;
&lt;br /&gt;
Work is well advanced, see [[DBus]], by funman and Mr_Mirsal &lt;br /&gt;
&lt;br /&gt;
Contact: [[User:Xtophe|Xtophe]], [[User:Funman|funman]] &lt;br /&gt;
&lt;br /&gt;
== V4L2 support  ==&lt;br /&gt;
&lt;br /&gt;
VLC currently has a pvr module and a v4l (video for linux) module. However &lt;br /&gt;
&lt;br /&gt;
*some cards are only supported in the new v4l2 API &lt;br /&gt;
*The linux kernel will soon drop v4l support&lt;br /&gt;
&lt;br /&gt;
So if someone could update VLC&#039;s current modules to work with V4L2 and the new ivtv api, this would be a welcome addition. This is not a very difficult project, but you will need to have the hardware to test against. The code has been began, so it should not be too difficult. &lt;br /&gt;
&lt;br /&gt;
Plugin is done and available in the current Git version. Code by Richard Hosking, [[User:Dionoea|dionoea]] and Dennis Lou. &lt;br /&gt;
&lt;br /&gt;
== RTCP support  ==&lt;br /&gt;
&lt;br /&gt;
Our RTSP implementation (for broadcasting and video on demand) does not support the RTCP protocol. This is a must to have a real support for RTSP. Some work has already been started, but there is still much to do. &lt;br /&gt;
&lt;br /&gt;
Contact: [[User:JPSaman|JPSaman]] &lt;br /&gt;
&lt;br /&gt;
== Windows port  ==&lt;br /&gt;
&lt;br /&gt;
Finish port libcddb and libcdio for Windows. &lt;br /&gt;
&lt;br /&gt;
Port libzvbi for Windows &lt;br /&gt;
&lt;br /&gt;
Contact [[User:J-b|jb]] &lt;br /&gt;
&lt;br /&gt;
== Improvements to the X11 video output  ==&lt;br /&gt;
&lt;br /&gt;
Fullscreen support to improve . &lt;br /&gt;
&lt;br /&gt;
[[Category:Coding]] [[Category:Activities]]&lt;br /&gt;
&lt;br /&gt;
== Subtitles improvements  ==&lt;br /&gt;
&lt;br /&gt;
{{VLC}} does not support all the styles for a lot of subtitles type. Take a look at [http://trac.videolan.org/vlc/browser/trunk/modules/codec/subtitles/subsdec.c here] to start coding. &lt;br /&gt;
&lt;br /&gt;
Contact bitmap&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Direct2D video output  ==&lt;br /&gt;
&lt;br /&gt;
Direct2D is a new API introduced in Windows 7. VLC could use a a Direct2D vout.&lt;br /&gt;
&lt;br /&gt;
Contact: [[User:Geal|Geal]]&lt;br /&gt;
== Interaction with online services ==&lt;br /&gt;
Hello, I would like to present their concept idea, it involves interaction with online services and some changes in the user interface of VLC Media Player. &lt;br /&gt;
&lt;br /&gt;
On the first tab (Movie) is very straightforward, a user inserts a DVD, HD-DVD or BlyRay selects the desired slot and begin viewing. &lt;br /&gt;
In the future it will be possible to implement view of the disk image. &lt;br /&gt;
&lt;br /&gt;
The second tab (Video), makes it possible to watch media files directly from the HDD. &lt;br /&gt;
Setting up a profile can be all sorted by category (Films, TV shows, etc.), the category of Films on (Action, Horror, Camedy), the category of TV show on (Lost, House M. D, X-Files), etc. &lt;br /&gt;
After watching a movie or TV show, you can not closing VLC media player immediately to share impressions with your friends on Twitter, MySpace, Facebook. &lt;br /&gt;
&lt;br /&gt;
The third tab (Music), provides an opportunity to listen to music as a straight line from the HDD. &lt;br /&gt;
Similar to the previous tab, everything can be sorted into categories (Hip-Hop, R&#039;n&#039;B, Dance, Rock). &lt;br /&gt;
&lt;br /&gt;
Another idea is to tab Online TV, where you can make a small internet browser tied to popular online Servas (YouTube) and send links to interesting videos to friends directly from the VLC Player. &lt;br /&gt;
&lt;br /&gt;
Contact: [[User_talk:Jack.LJ|Jack.LJ]]&lt;br /&gt;
&lt;br /&gt;
=Discussions on projects=&lt;br /&gt;
&lt;br /&gt;
==Proposals==&lt;br /&gt;
&lt;br /&gt;
* [[Newplaylist|Playlist improvement]]&amp;lt;br/&amp;gt;&lt;br /&gt;
* [[Newsoundslider|Soundslider improevment]]&lt;/div&gt;</summary>
		<author><name>Jpsaman</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=Documentation:WebPlugin&amp;diff=17015</id>
		<title>Documentation:WebPlugin</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=Documentation:WebPlugin&amp;diff=17015"/>
		<updated>2010-09-07T11:24:08Z</updated>

		<summary type="html">&lt;p&gt;Jpsaman: Add new deinterlace modes&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Building HTML pages for Mozilla/Firefox/Internet Explorer/Safari ==&lt;br /&gt;
&lt;br /&gt;
The following description works for any of the browsers VLC supports. The JavaScript API has been unified between Mozilla/Firefox/IE (ActiveX) and Safari, thus targeting at all of the major OS out there. &lt;br /&gt;
&lt;br /&gt;
This is only valid for {{VLC}} version 0.8.6 and above.&lt;br /&gt;
&lt;br /&gt;
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&lt;br /&gt;
plugin.&lt;br /&gt;
&lt;br /&gt;
== API description ==&lt;br /&gt;
The vlc plugin exports several objects that can be accessed for setting and getting information. When used improperly the API&#039;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.&lt;br /&gt;
&lt;br /&gt;
The vlc plugin knows the following objects:&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;audio&#039;&#039;&#039;: Access audio properties.&lt;br /&gt;
*&#039;&#039;&#039;input&#039;&#039;&#039;: Access input properties.&lt;br /&gt;
*&#039;&#039;&#039;playlist&#039;&#039;&#039;: Access playlist properties.&lt;br /&gt;
*&#039;&#039;&#039;subtitle&#039;&#039;&#039;: Access subtitle properties.&lt;br /&gt;
*&#039;&#039;&#039;video&#039;&#039;&#039;: Access video properties.&lt;br /&gt;
*&#039;&#039;&#039;video.marquee&#039;&#039;&#039;: Access marquee video filter properties.&lt;br /&gt;
*&#039;&#039;&#039;video.logo&#039;&#039;&#039;: Access logo video filter properties.&lt;br /&gt;
*&#039;&#039;&#039;log&#039;&#039;&#039;: Access log properties (only available in vlc version &amp;lt;= 1.0.0-rc1).&lt;br /&gt;
*&#039;&#039;&#039;messages&#039;&#039;&#039;: Access to log message properties (only available in vlc version &amp;lt;= 1.0.0-rc1).&lt;br /&gt;
*&#039;&#039;&#039;iterator&#039;&#039;&#039;: Access to log iterator properties (only available in vlc version &amp;lt;= 1.0.0-rc1).&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;html&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;title&amp;amp;gt;VLC Mozilla plugin test page&amp;amp;lt;/title&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;body&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;embed type=&amp;quot;application/x-vlc-plugin&amp;quot; pluginspage=&amp;quot;http://www.videolan.org&amp;quot; version=&amp;quot;VideoLAN.VLCPlugin.2&amp;quot;&lt;br /&gt;
     width=&amp;quot;640&amp;quot;&lt;br /&gt;
     height=&amp;quot;480&amp;quot;&lt;br /&gt;
     id=&amp;quot;vlc&amp;quot;&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/embed&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;script language=&amp;quot;Javascript&amp;quot;&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;!--&lt;br /&gt;
 var vlc = document.getElementById(&amp;quot;vlc&amp;quot;);&lt;br /&gt;
 vlc.audio.toggleMute();&lt;br /&gt;
 !--&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/script&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/body&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/html&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Root object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;VersionInfo&#039;&#039;&#039;: returns version information string&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;vlc.versionInfo()&#039;&#039;&#039;: returns version information string (same as VersionInfo)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;vlc.addEventListener(eventname, callback, bubble)&#039;&#039;&#039;: (only for Mozilla) add a listener for mentioned event name, callback expects a function and bubble influences the order of eventhandling by JS (usually it is set to false).&lt;br /&gt;
*&#039;&#039;&#039;vlc.removeEventListener(eventname, callback, bubble)&#039;&#039;&#039;: (only for Mozilla) remove listener for mentioned event name, callback expects a function and bubble influences the order of eventhandling by JS (usually it is set to false).&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;vlc.attachEvent(eventname, callback)&#039;&#039;&#039;: (only for ActiveX) add listener for mentioned event name, callback expects a function&lt;br /&gt;
*&#039;&#039;&#039;vlc.removeEvent(eventname, callback)&#039;&#039;&#039;: (only for ActiveX) remove listener for mentioned event name, callback expects a function&lt;br /&gt;
&lt;br /&gt;
events&lt;br /&gt;
*&#039;&#039;&#039;MediaPlayerNothingSpecial&#039;&#039;&#039;: vlc is in idle state doing nothing but waiting for a command to be issued&lt;br /&gt;
*&#039;&#039;&#039;MediaPlayerOpening&#039;&#039;&#039;: vlc is opening an media resource locator (MRL)&lt;br /&gt;
*&#039;&#039;&#039;MediaPlayerBuffering&#039;&#039;&#039;: vlc is buffering&lt;br /&gt;
*&#039;&#039;&#039;MediaPlayerPlaying&#039;&#039;&#039;: vlc is playing a media&lt;br /&gt;
*&#039;&#039;&#039;MediaPlayerPaused&#039;&#039;&#039;: vlc is in paused state&lt;br /&gt;
*&#039;&#039;&#039;MediaPlayerForward&#039;&#039;&#039;: vlc is fastforwarding through the media (works only when an input supports forward playback)&lt;br /&gt;
*&#039;&#039;&#039;MediaPlayerBackward&#039;&#039;&#039;: vlc is going backwards through the media (works only when an input supports backwards playback)&lt;br /&gt;
*&#039;&#039;&#039;MediaPlayerEncounteredError&#039;&#039;&#039;: vlc has encountered an error and is unable to continue&lt;br /&gt;
*&#039;&#039;&#039;MediaPlayerEndReached&#039;&#039;&#039;: vlc has reached the end of current playlist&lt;br /&gt;
*&#039;&#039;&#039;MediaPlayerTimeChanged&#039;&#039;&#039;: time has changed&lt;br /&gt;
*&#039;&#039;&#039;MediaPlayerPositionChanged&#039;&#039;&#039;: media position has changed&lt;br /&gt;
*&#039;&#039;&#039;MediaPlayerSeekableChanged&#039;&#039;&#039;: media seekable flag has changed (true means media is seekable, false means it is not)&lt;br /&gt;
*&#039;&#039;&#039;MediaPlayerPausableChanged&#039;&#039;&#039;: media pausable flag has changed (true means media is pauseable, false means it is not)&lt;br /&gt;
&lt;br /&gt;
The following code snippit provides easy functions to register and unregister event callbacks on all supported platforms (currently only Linux mozilla based browsers and windows activeX objects for Internet Explorer).&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;SCRIPT language=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;amp;lt;!--&lt;br /&gt;
 function registerVLCEvent(event, handler)&lt;br /&gt;
 {&lt;br /&gt;
    var vlc = getVLC(&amp;quot;vlc&amp;quot;);&lt;br /&gt;
    if (vlc) {&lt;br /&gt;
        if (vlc.attachEvent) {&lt;br /&gt;
            // Microsoft&lt;br /&gt;
            vlc.attachEvent (event, handler);&lt;br /&gt;
        } else if (vlc.addEventListener) {&lt;br /&gt;
            // Mozilla: DOM level 2&lt;br /&gt;
            vlc.addEventListener (event, handler, false);&lt;br /&gt;
        } else {&lt;br /&gt;
            // DOM level 0&lt;br /&gt;
            vlc[&amp;quot;on&amp;quot; + event] = handler;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
 }&lt;br /&gt;
 // stop listening to event&lt;br /&gt;
 function unregisterVLCEvent(event, handler)&lt;br /&gt;
 {&lt;br /&gt;
    var vlc = getVLC(&amp;quot;vlc&amp;quot;);&lt;br /&gt;
    if (vlc) {&lt;br /&gt;
        if (vlc.detachEvent) {&lt;br /&gt;
            // Microsoft&lt;br /&gt;
            vlc.detachEvent (event, handler);&lt;br /&gt;
        } else if (vlc.removeEventListener) {&lt;br /&gt;
            // Mozilla: DOM level 2&lt;br /&gt;
            vlc.removeEventListener (event, handler, false);&lt;br /&gt;
        } else {&lt;br /&gt;
            // DOM level 0&lt;br /&gt;
            vlc[&amp;quot;on&amp;quot; + event] = null;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
 }&lt;br /&gt;
 // event callback function for testing&lt;br /&gt;
 function handleEvents(event)&lt;br /&gt;
 {&lt;br /&gt;
    if (!event)&lt;br /&gt;
        event = window.event; // IE&lt;br /&gt;
    if (event.target) {&lt;br /&gt;
        // Netscape based browser&lt;br /&gt;
        targ = event.target;&lt;br /&gt;
    } else if (event.srcElement) {&lt;br /&gt;
        // ActiveX&lt;br /&gt;
        targ = event.srcElement;&lt;br /&gt;
    } else {&lt;br /&gt;
        // No event object, just the value&lt;br /&gt;
        alert(&amp;quot;Event value&amp;quot; + event );&lt;br /&gt;
        return;&lt;br /&gt;
    }&lt;br /&gt;
    if (targ.nodeType == 3) // defeat Safari bug&lt;br /&gt;
        targ = targ.parentNode;&lt;br /&gt;
    alert(&amp;quot;Event &amp;quot; + event.type + &amp;quot; has fired from &amp;quot; + targ );&lt;br /&gt;
 }&lt;br /&gt;
 // handle mouse grab event from video filter&lt;br /&gt;
 function handleMouseGrab(event,X,Y)&lt;br /&gt;
 {&lt;br /&gt;
    if (!event)&lt;br /&gt;
        event = window.event; // IE&lt;br /&gt;
    alert(&amp;quot;new position (&amp;quot; + X + &amp;quot;,&amp;quot; + Y + &amp;quot;)&amp;quot;);&lt;br /&gt;
 }&lt;br /&gt;
 // Register a bunch of callbacks.&lt;br /&gt;
 registerVLCEvent(&#039;MediaPlayerNothingSpecial&#039;, handleEvents);&lt;br /&gt;
 registerVLCEvent(&#039;MediaPlayerOpening&#039;, handleEvents);&lt;br /&gt;
 registerVLCEvent(&#039;MediaPlayerBuffering&#039;, handleEvents);&lt;br /&gt;
 registerVLCEvent(&#039;MediaPlayerPlaying&#039;, handleEvents);&lt;br /&gt;
 registerVLCEvent(&#039;MediaPlayerPaused&#039;, handleEvents);&lt;br /&gt;
 registerVLCEvent(&#039;MediaPlayerForward&#039;, handleEvents);&lt;br /&gt;
 registerVLCEvent(&#039;MediaPlayerBackward&#039;, handleEvents);&lt;br /&gt;
 registerVLCEvent(&#039;MediaPlayerEncounteredError&#039;, handleEvents);&lt;br /&gt;
 registerVLCEvent(&#039;MediaPlayerEndReached&#039;, handleEvents);&lt;br /&gt;
 registerVLCEvent(&#039;MediaPlayerTimeChanged&#039;, handleEvents);&lt;br /&gt;
 registerVLCEvent(&#039;MediaPlayerPositionChanged&#039;, handleEvents);&lt;br /&gt;
 registerVLCEvent(&#039;MediaPlayerSeekableChanged&#039;, handleEvents);&lt;br /&gt;
 registerVLCEvent(&#039;MediaPlayerPausableChanged&#039;, handleEvents);&lt;br /&gt;
 &amp;lt;/script&amp;gt;&lt;br /&gt;
 --&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Audio object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.audio.count&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) returns the number of audio track available.&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.audio.mute&#039;&#039;&#039;: boolean value to mute and unmute the audio.&lt;br /&gt;
*&#039;&#039;&#039;vlc.audio.volume&#039;&#039;&#039;: a value between [0-200] which indicates a percentage of the volume.&lt;br /&gt;
*&#039;&#039;&#039;vlc.audio.track&#039;&#039;&#039;: (supported in vlc version &amp;gt; 0.8.6) a value between [1-65535] which indicates the audio track to play or that is playing. a value of 0 means the audio is/will be disabled.&lt;br /&gt;
*&#039;&#039;&#039;vlc.audio.channel&#039;&#039;&#039;: (supported in vlc version &amp;gt; 0.8.6) integer value between [1-5] that indicates which audio channel mode is used, values can be: &amp;quot;1=stereo&amp;quot;, &amp;quot;2=reverse stereo&amp;quot;, &amp;quot;3=left&amp;quot;, &amp;quot;4=right&amp;quot;, &amp;quot;5=dolby&amp;quot;. Use vlc.audio.channel to check if setting of the audio channel mode has succeeded.&lt;br /&gt;
&lt;br /&gt;
 Audio Channel:&lt;br /&gt;
 &amp;lt;SELECT readonly onChange=&#039;doAudioChannel(this.value)&#039;&amp;gt;&lt;br /&gt;
    &amp;lt;OPTION value=1&amp;gt;Stereo&amp;lt;/OPTION&amp;gt;&lt;br /&gt;
    &amp;lt;OPTION value=2&amp;gt;Reverse stereo&amp;lt;/OPTION&amp;gt;&lt;br /&gt;
    &amp;lt;OPTION value=3&amp;gt;Left&amp;lt;/OPTION&amp;gt;&lt;br /&gt;
    &amp;lt;OPTION value=4&amp;gt;Right&amp;lt;/OPTION&amp;gt;&lt;br /&gt;
    &amp;lt;OPTION value=5&amp;gt;Dolby&amp;lt;/OPTION&amp;gt;&lt;br /&gt;
 &amp;lt;/SELECT&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;SCRIPT language=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;amp;lt;!--&lt;br /&gt;
 function doAudioChannel(value)&lt;br /&gt;
 {&lt;br /&gt;
    var vlc = getVLC(&amp;quot;vlc&amp;quot;);&lt;br /&gt;
    vlc.audio.channel = parseInt(value);&lt;br /&gt;
    alert(vlc.audio.channel);&lt;br /&gt;
 };&lt;br /&gt;
 --&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;vlc.audio.toggleMute()&#039;&#039;&#039;: boolean toggle that mutes and unmutes the audio based upon the previous state.&lt;br /&gt;
*&#039;&#039;&#039;vlc.audio.description(int i)&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) give the i-th audio track name. 0 corresponds to disable and 1 to the first audio track.&lt;br /&gt;
&lt;br /&gt;
====Input object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.length&#039;&#039;&#039;: length of the input file in number of milliseconds. 0 is returned for &#039;live&#039; streams or clips whose length cannot be determined by VLC. It returns -1 if no input is playing. &lt;br /&gt;
*&#039;&#039;&#039;vlc.input.fps&#039;&#039;&#039;: frames per second returned as a float (typically 60.0, 50.0, 23.976, etc...)&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.hasVout&#039;&#039;&#039;: a boolean that returns true when the video is being displayed, it returns false when video is not displayed&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.position&#039;&#039;&#039;: normalized position in multimedia stream item given as a float value between [0.0 - 1.0]&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.time&#039;&#039;&#039;: the absolute position in time given in milliseconds, this property can be used to seek through the stream&lt;br /&gt;
 &amp;amp;lt;!-- absolute seek in stream !--&amp;amp;gt;&lt;br /&gt;
 vlc.input.time = &amp;amp;lt;absolute seek&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;!-- relative seek in stream !--&amp;amp;gt;&lt;br /&gt;
 vlc.input.time = vlc.input.time + &amp;amp;lt;relative seek&amp;amp;gt;&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.state&#039;&#039;&#039;: current state of the input chain given as enumeration (IDLE=0, OPENING=1, BUFFERING=2, PLAYING=3, PAUSED=4, STOPPING=5, ENDED=6, ERROR=7). Note: Test for ENDED=6 to catch end of playback. Checking for STOPPING=5 is NOT ENOUGH.&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.rate&#039;&#039;&#039;: input speed given as float (1.0 for normal speed, 0.5 for half speed, 2.0 for twice as fast, etc.).&lt;br /&gt;
 rate &amp;amp;gt; 1              : is fastforward&lt;br /&gt;
 rate &amp;amp;gt; 0 and rate &amp;amp;lt; 1 : is slow motion&lt;br /&gt;
 rate &amp;amp;lt; 0              : is rewind&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Playlist object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.itemCount&#039;&#039;&#039;: number that returns the amount of items currently in the playlist (&#039;&#039;&#039;deprecated&#039;&#039;&#039;, do not use, see [[#Playlist_items_object| Playlist items]])&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.isPlaying&#039;&#039;&#039;: a boolean that returns true if the current playlist item is playing and false when it is not playing&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.items&#039;&#039;&#039;: return the playlist items collection, see [[#Playlist_items_object| Playlist items]]&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.add(mrl)&#039;&#039;&#039;: add a playlist item as [[MRL]]. The MRL must be given as a string. Returns a number as an item identifier in playlist (this is not a position  in playlist).&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.add(mrl,name,options)&#039;&#039;&#039;: add a playlist item as MRL, with metaname &#039;name&#039; and options &#039;options&#039;. options are text arguments which can be provided either as a single string containing space separated values, akin to VLC command line, or as an array of string values. Returns a number as an item identifier in playlist (this is not a position in playlist).&lt;br /&gt;
  var options = new Array(&amp;quot;:aspect-ratio=4:3&amp;quot;, &amp;quot;--rtsp-tcp&amp;quot;);&lt;br /&gt;
  var id = vlc.playlist.add(&amp;quot;rtsp://servername/item/to/play&amp;quot;, &amp;quot;fancy name&amp;quot;, options);&lt;br /&gt;
  vlc.playlist.playItem(id);&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.play()&#039;&#039;&#039;: start playing the current playlist item&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.playItem(number)&#039;&#039;&#039;: start playing the item whose identifier is number&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.togglePause()&#039;&#039;&#039;: toggle the pause state for the current playlist item&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.stop()&#039;&#039;&#039;: stop playing the current playlist item&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.next()&#039;&#039;&#039;: iterate to the next playlist item&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.prev()&#039;&#039;&#039;: iterate to the previous playlist item&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.clear()&#039;&#039;&#039;: empty the current playlist, all items will be deleted from the playlist (&#039;&#039;&#039;deprecated&#039;&#039;&#039;, do not use, see [[#Playlist_items_object| Playlist items]])&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.removeItem(number)&#039;&#039;&#039;: remove the item from playlist whose identifier is number &amp;lt;!-- (note: this number isn&#039;t the position in the playlist, but the number given by vlc.playlist.add() ) --&amp;gt; (&#039;&#039;&#039;deprecated&#039;&#039;&#039;, do not use, see [[#Playlist_items_object| Playlist items]])&lt;br /&gt;
&lt;br /&gt;
====Playlist items object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.items.count&#039;&#039;&#039;: number of items currently in the playlist&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.items.clear()&#039;&#039;&#039;: empty the current playlist, all items will be deleted from the playlist. If a movie is playing, it stop. Note that when this method returns, playlist may not have been entirely been cleared as this operation is performed asynchronously; use the &#039;&#039;count&#039;&#039; property to verify/wait until the playlist is empty.&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.items.remove(number)&#039;&#039;&#039;: remove the item whose identifier is number from playlist. (note: this number isn&#039;t the position in the playlist, but the number given by vlc.playlist.add() )&lt;br /&gt;
&lt;br /&gt;
====Subtitle object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;vlc.subtitle.count&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) returns the number of subtitle available.&lt;br /&gt;
&lt;br /&gt;
read/write properties &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;vlc.subtitle.track&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) get and set the subtitle track to show on the video screen. The property takes an integer as input value [1..65535]. If subtitle track is set to 0, the subtitles will be disabled. If set to a value outside the current subtitle tracks range, then it will return -1 and display an error message.&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;vlc.subtitle.description(int i)&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) give the i-th subtitle name. 0 correspond to disable and 1 to the first subtitle.&lt;br /&gt;
&lt;br /&gt;
====Video object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.width&#039;&#039;&#039;: returns the horizontal size of the video&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.height&#039;&#039;&#039;: returns the vertical size of the video&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.fullscreen&#039;&#039;&#039;: 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.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.aspectRatio&#039;&#039;&#039;: get and set the aspect ratio to use in the video screen. The property takes a string as input value. Typical values are: &amp;quot;1:1&amp;quot;, &amp;quot;4:3&amp;quot;, &amp;quot;16:9&amp;quot;, &amp;quot;16:10&amp;quot;, &amp;quot;221:100&amp;quot; and &amp;quot;5:4&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.subtitle&#039;&#039;&#039;: (supported in vlc version &amp;gt; 0.8.6a) get and set the subtitle track to show on the video screen. The property takes an integer as input value [1..65535]. If subtitle track is set to 0, the subtitles will be disabled. If set to a value outside the current subtitle tracks range, then it will return -1 and display an error message.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.teletext&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 0.9.0) get and set teletext page to show on the video stream. This will only work if a teletext elementary stream is available in the video stream. The property takes an integer as input value [0..999] for indicating the teletext page to view, setting the value to 0 means hide teletext. On error it will return -1 and display an error message.&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.toggleFullscreen()&#039;&#039;&#039;: toggle the fullscreen mode based on the previous setting&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.toggleTeletext()&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 0.9.0) toggle the teletext page to overlay transparent or not, based on the previous setting&lt;br /&gt;
&lt;br /&gt;
=====Deinterlace Object=====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.deinterlace.enable(&amp;quot;my_mode&amp;quot;)&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) enable deinterlacing with my_mode. You can enable it with &amp;quot;blend&amp;quot;, &amp;quot;bob&amp;quot;, &amp;quot;discard&amp;quot;, &amp;quot;linear&amp;quot;, &amp;quot;mean&amp;quot;, &amp;quot;x&amp;quot;, &amp;quot;yadif&amp;quot; or &amp;quot;yadif2x&amp;quot; mode. Enabling too soon deinterlacing may cause some problems. You have to wait that all variable are available before enabling it.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.deinterlace.disable()&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) disable deinterlacing.&lt;br /&gt;
&lt;br /&gt;
=====Marquee Object=====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.marquee.text&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) display my text on the screen.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.marquee.color&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change the text color. val is the new color to use (WHITE=0x000000, BLACK=0xFFFFFF, RED=0xFF0000, GREEN=0x00FF00, BLUE=0x0000FF...).&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.marquee.opacity&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change the text opacity, val is defined from 0 (completely transparent) to 255 (completely opaque).&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.marquee.position&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change the text position (CENTER=0, LEFT=1, RIGHT=2, TOP=4, TOP-LEFT=5, TOP-RIGHT=6, BOTTOM=8, BOTTOM-LEFT=9, BOTTOM_RIGHT=10).&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.marquee.refresh&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change the marquee refresh period.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.marquee.size&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) val define the new size for the text displayed on the screen. If the text is bigger than the screen then the text is not displayed.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.marquee.timeout&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change the timeout value. val is defined in ms, but 0 value correspond to unlimited.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.marquee.x&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change text abscissa.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.marquee.y&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change text ordinate.&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.marquee.enable()&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) enable marquee filter.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.marquee.disable()&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) disable marquee filter.&lt;br /&gt;
&lt;br /&gt;
Some problems may happen (option like color or text will not be applied) because of the VLC asynchronous functioning. To avoid it, after enabling marquee, you have to wait a little time before changing an option. But it should be fixed by the new vout implementation.&lt;br /&gt;
&lt;br /&gt;
=====Logo Object=====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.logo.opacity&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change the picture opacity, val is defined from 0 (completely transparent) to 255 (completely opaque).&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.logo.position&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change the text position (&amp;quot;center&amp;quot;, &amp;quot;left&amp;quot;, &amp;quot;right&amp;quot;, &amp;quot;top&amp;quot;, &amp;quot;top-left&amp;quot;, &amp;quot;top-right&amp;quot;, &amp;quot;bottom&amp;quot;, &amp;quot;bottom-left&amp;quot;, &amp;quot;bottom-right&amp;quot;).&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.logo.delay&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) display each picture for a duration of 1000 ms (default) before displaying the next  picture.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.logo.repeat&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) number of loops for picture animation (-1=continuous, 0=disabled, n=n-times). The default is -1 (continuous).&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.logo.x&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change the x-offset for displaying the picture counting from top-left on the screen.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.logo.y&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change the y-offset for displaying the picture counting from top-left on the screen.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.logo.width&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change the picture width.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.logo.height&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change the picture height.&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.logo.enable()&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) enable logo video filter.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.logo.disable()&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) disable logo video filter.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.logo.file(&amp;quot;file.png&amp;quot;)&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) display my file.png as logo on the screen.&lt;br /&gt;
&lt;br /&gt;
Some problems may happen because of the VLC asynchronous functioning. To avoid it, after enabling logo video filter, you have to wait a little time before changing an option. But it should be fixed by the new vout implementation.&lt;br /&gt;
&lt;br /&gt;
====Log object====&lt;br /&gt;
: &#039;&#039;&#039;CAUTION&#039;&#039;&#039;: For security concern, VLC 1.0.0-rc1 is the latest (near-to-stable) version in which this object and its children are supported.&lt;br /&gt;
&lt;br /&gt;
This object allows accessing VLC main message logging queue. Typically this queue capacity is very small (no nore than 256 entries) and can easily overflow, therefore messages should be read and cleared as often as possible.&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.log.messages&#039;&#039;&#039;: returns the message collection, see [[#Messages object|Messages object]]&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.log.verbosity&#039;&#039;&#039;: write number [-1,0,1,2,3] for changing the verbosity level of the log messages; messages whose verbosity is higher than set will be not be logged in the queue. The numbers have the following meaning: -1 disable, 0 info, 1 error, 2 warning, 3 debug. &lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Messages object====&lt;br /&gt;
: &#039;&#039;&#039;CAUTION&#039;&#039;&#039;: For security concern, VLC 1.0.0-rc1 is the latest (near-to-stable) version in which this object and its children are supported.&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;messages.count&#039;&#039;&#039;: returns number of messages in the log&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;messages.clear()&#039;&#039;&#039;: clear the current log buffer. It should be called as frequently as possible to not overflow the message queue. Call this method after the log messages of interest are read.&lt;br /&gt;
*&#039;&#039;&#039;messages.iterator()&#039;&#039;&#039;: creates and returns an iterator object, used to iterate over the messages in the log. &#039;&#039;&#039;Don&#039;t clear the log buffer while holding an iterator object.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Messages Iterator object====&lt;br /&gt;
: &#039;&#039;&#039;CAUTION&#039;&#039;&#039;: For security concern, VLC 1.0.0-rc1 is the latest (near-to-stable) version in which this object and its children are supported.&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;iterator.hasNext&#039;&#039;&#039;: returns a boolean that indicates whether &#039;&#039;vlc.log.messages.next()&#039;&#039; will return the next message.&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;iterator.next()&#039;&#039;&#039;: returns the next message object in the log, see [[Message object]]&lt;br /&gt;
&lt;br /&gt;
====Message object====&lt;br /&gt;
: &#039;&#039;&#039;CAUTION&#039;&#039;&#039;: For security concern, VLC 1.0.0-rc1 is the latest (near-to-stable) version in which this object and its children are supported.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;message.severity&#039;&#039;&#039;: number that indicates the severity of the log message (0 = info, 1 = error, 2 = warning, 3 = debug)&lt;br /&gt;
*&#039;&#039;&#039;message.name&#039;&#039;&#039;: name of VLC module that printed the log message (e.g: main, http, directx, etc...)&lt;br /&gt;
*&#039;&#039;&#039;message.type&#039;&#039;&#039;: type of VLC module that printed the log message (eg: input, access, vout, sout, etc...)&lt;br /&gt;
*&#039;&#039;&#039;message.message&#039;&#039;&#039;: the message text&lt;br /&gt;
&lt;br /&gt;
==Build HTML pages that use the plugin (VLC version up to 0.8.5)==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;WARNING:&#039;&#039;&#039; the APIs described in this section are &#039;&#039;&#039;deprecated&#039;&#039;&#039;, do not use. They no longer work on recent VLC version (&amp;gt; 0.8.5), either it being the ActiveX (Internet Explorer)/ Safari or Mozilla based browsers.&lt;br /&gt;
&lt;br /&gt;
The following API description is only valid uptill version 0.8.5 of the mozilla plugin.&lt;br /&gt;
&lt;br /&gt;
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&lt;br /&gt;
plugin.&lt;br /&gt;
&lt;br /&gt;
The vlc plugin supports the following function calls:&lt;br /&gt;
*&#039;&#039;&#039;play()&#039;&#039;&#039;: Start playing media in the plugin.&lt;br /&gt;
*&#039;&#039;&#039;pause()&#039;&#039;&#039;: Pause playback.&lt;br /&gt;
*&#039;&#039;&#039;stop()&#039;&#039;&#039;: Stop media playback.&lt;br /&gt;
*&#039;&#039;&#039;fullscreen()&#039;&#039;&#039;: Switch the video to full screen.&lt;br /&gt;
*&#039;&#039;&#039;set_volume(vol)&#039;&#039;&#039;: Set the volume. &#039;&#039;&#039;vol&#039;&#039;&#039; has to be an int in the 0-200 range.&lt;br /&gt;
*&#039;&#039;&#039;get_volume()&#039;&#039;&#039;: Get the current volume setting.&lt;br /&gt;
*&#039;&#039;&#039;mute()&#039;&#039;&#039;: Toggle volume muting.&lt;br /&gt;
*&#039;&#039;&#039;set_int_variable(var_name, value)&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;set_bool_variable(var_name, value)&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;set_str_variable(var_name, value)&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;get_int_variable(var_name)&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;get_bool_variable(var_name)&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;get_str_variable(var_name)&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;clear_playlist()&#039;&#039;&#039;: Clear the playlist.&lt;br /&gt;
*&#039;&#039;&#039;add_item(mrl)&#039;&#039;&#039;: Append an item whose location is given by the [[media resource locator]] to the playlist.&lt;br /&gt;
*&#039;&#039;&#039;next()&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;previous()&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;isplaying()&#039;&#039;&#039;: return true if the plugin is playing something.&lt;br /&gt;
*&#039;&#039;&#039;get_length()&#039;&#039;&#039;: Get the media&#039;s length in seconds.&lt;br /&gt;
*&#039;&#039;&#039;get_position()&#039;&#039;&#039;: Get the current position in the media in percent.&lt;br /&gt;
*&#039;&#039;&#039;get_time()&#039;&#039;&#039;: Get the current position in the media in seconds.&lt;br /&gt;
*&#039;&#039;&#039;seek(seconds,is_relative)&#039;&#039;&#039;: If is_relative is true, seek relatively to current time, else seek from beginning of the stream. Seek time is specified in seconds.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Here are a few examples of HTML pages that use the&lt;br /&gt;
Mozilla plugin.&lt;br /&gt;
&lt;br /&gt;
===Example 1===&lt;br /&gt;
&lt;br /&gt;
In this example, the plugin will read an HTTP stream inside the web page. If the user goes fullscreen, he will have to press &#039;&#039;f&#039;&#039; or double-click on the video to go back in normal view.&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;html&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;head&amp;amp;gt;&amp;amp;lt;title&amp;amp;gt;Demo of VLC mozilla plugin&amp;amp;lt;/title&amp;amp;gt;&amp;amp;lt;/head&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;body&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;h1&amp;amp;gt;Demo of VLC mozilla plugin - Example 1&amp;amp;lt;/h1&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;embed type=&amp;quot;application/x-vlc-plugin&amp;quot;&lt;br /&gt;
          name=&amp;quot;video1&amp;quot;&lt;br /&gt;
          autoplay=&amp;quot;no&amp;quot; loop=&amp;quot;yes&amp;quot; width=&amp;quot;400&amp;quot; height=&amp;quot;300&amp;quot;&lt;br /&gt;
          target=&amp;quot;http://server.example.org/video1.vob&amp;quot; /&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;br /&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video1.play()&#039;&amp;amp;gt;Play video1&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video1.pause()&#039;&amp;amp;gt;Pause video1&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video1.stop()&#039;&amp;amp;gt;Stop video1&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video1.fullscreen()&#039;&amp;amp;gt;Fullscreen&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;/body&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/html&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Example 2===&lt;br /&gt;
&lt;br /&gt;
In this example, the plugin will read a multicast UDP/RTP stream in a dedicated video output window.&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;html&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;head&amp;amp;gt;&amp;amp;lt;title&amp;amp;gt;Demo of VLC mozilla plugin&amp;amp;lt;/title&amp;amp;gt;&amp;amp;lt;/head&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;body&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;h1&amp;amp;gt;Demo of VLC mozilla plugin - Example 2&amp;amp;lt;/h1&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;embed type=&amp;quot;application/x-vlc-plugin&amp;quot;&lt;br /&gt;
          name=&amp;quot;video2&amp;quot;&lt;br /&gt;
          autoplay=&amp;quot;no&amp;quot; loop=&amp;quot;no&amp;quot; hidden=&amp;quot;yes&amp;quot;&lt;br /&gt;
          target=&amp;quot;rtp://@239.255.12.42:5004&amp;quot; /&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;br /&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video2.play()&#039;&amp;amp;gt;Play video2&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video2.stop()&#039;&amp;amp;gt;Stop video2&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video2.fullscreen()&#039;&amp;amp;gt;Fullscreen&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;/body&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/html&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Documentation}}&lt;br /&gt;
[[Category:Embedded]]&lt;/div&gt;</summary>
		<author><name>Jpsaman</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=Documentation:WebPlugin&amp;diff=16850</id>
		<title>Documentation:WebPlugin</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=Documentation:WebPlugin&amp;diff=16850"/>
		<updated>2010-07-22T08:23:10Z</updated>

		<summary type="html">&lt;p&gt;Jpsaman: /* API description */ mark log, messages and iterator as vlc &amp;lt;= 1.0.0-rc1 only&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Building HTML pages for Mozilla/Firefox/Internet Explorer/Safari ==&lt;br /&gt;
&lt;br /&gt;
The following description works for any of the browsers VLC supports. The JavaScript API has been unified between Mozilla/Firefox/IE (ActiveX) and Safari, thus targeting at all of the major OS out there. &lt;br /&gt;
&lt;br /&gt;
This is only valid for {{VLC}} version 0.8.6 and above.&lt;br /&gt;
&lt;br /&gt;
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&lt;br /&gt;
plugin.&lt;br /&gt;
&lt;br /&gt;
== API description ==&lt;br /&gt;
The vlc plugin exports several objects that can be accessed for setting and getting information. When used improperly the API&#039;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.&lt;br /&gt;
&lt;br /&gt;
The vlc plugin knows the following objects:&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;audio&#039;&#039;&#039;: Access audio properties.&lt;br /&gt;
*&#039;&#039;&#039;input&#039;&#039;&#039;: Access input properties.&lt;br /&gt;
*&#039;&#039;&#039;playlist&#039;&#039;&#039;: Access playlist properties.&lt;br /&gt;
*&#039;&#039;&#039;subtitle&#039;&#039;&#039;: Access subtitle properties.&lt;br /&gt;
*&#039;&#039;&#039;video&#039;&#039;&#039;: Access video properties.&lt;br /&gt;
*&#039;&#039;&#039;video.marquee&#039;&#039;&#039;: Access marquee video filter properties.&lt;br /&gt;
*&#039;&#039;&#039;video.logo&#039;&#039;&#039;: Access logo video filter properties.&lt;br /&gt;
*&#039;&#039;&#039;log&#039;&#039;&#039;: Access log properties (only available in vlc version &amp;lt;= 1.0.0-rc1).&lt;br /&gt;
*&#039;&#039;&#039;messages&#039;&#039;&#039;: Access to log message properties (only available in vlc version &amp;lt;= 1.0.0-rc1).&lt;br /&gt;
*&#039;&#039;&#039;iterator&#039;&#039;&#039;: Access to log iterator properties (only available in vlc version &amp;lt;= 1.0.0-rc1).&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;html&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;title&amp;amp;gt;VLC Mozilla plugin test page&amp;amp;lt;/title&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;body&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;embed type=&amp;quot;application/x-vlc-plugin&amp;quot; pluginspage=&amp;quot;http://www.videolan.org&amp;quot; version=&amp;quot;VideoLAN.VLCPlugin.2&amp;quot;&lt;br /&gt;
     width=&amp;quot;640&amp;quot;&lt;br /&gt;
     height=&amp;quot;480&amp;quot;&lt;br /&gt;
     id=&amp;quot;vlc&amp;quot;&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/embed&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;script language=&amp;quot;Javascript&amp;quot;&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;!--&lt;br /&gt;
 var vlc = document.getElementById(&amp;quot;vlc&amp;quot;);&lt;br /&gt;
 vlc.audio.toggleMute();&lt;br /&gt;
 !--&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/script&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/body&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/html&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Root object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;VersionInfo&#039;&#039;&#039;: returns version information string&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;vlc.versionInfo()&#039;&#039;&#039;: returns version information string (same as VersionInfo)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;vlc.addEventListener(eventname, callback, bubble)&#039;&#039;&#039;: (only for Mozilla) add a listener for mentioned event name, callback expects a function and bubble influences the order of eventhandling by JS (usually it is set to false).&lt;br /&gt;
*&#039;&#039;&#039;vlc.removeEventListener(eventname, callback, bubble)&#039;&#039;&#039;: (only for Mozilla) remove listener for mentioned event name, callback expects a function and bubble influences the order of eventhandling by JS (usually it is set to false).&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;vlc.attachEvent(eventname, callback)&#039;&#039;&#039;: (only for ActiveX) add listener for mentioned event name, callback expects a function&lt;br /&gt;
*&#039;&#039;&#039;vlc.removeEvent(eventname, callback)&#039;&#039;&#039;: (only for ActiveX) remove listener for mentioned event name, callback expects a function&lt;br /&gt;
&lt;br /&gt;
events&lt;br /&gt;
*&#039;&#039;&#039;MediaPlayerNothingSpecial&#039;&#039;&#039;: vlc is in idle state doing nothing but waiting for a command to be issued&lt;br /&gt;
*&#039;&#039;&#039;MediaPlayerOpening&#039;&#039;&#039;: vlc is opening an media resource locator (MRL)&lt;br /&gt;
*&#039;&#039;&#039;MediaPlayerBuffering&#039;&#039;&#039;: vlc is buffering&lt;br /&gt;
*&#039;&#039;&#039;MediaPlayerPlaying&#039;&#039;&#039;: vlc is playing a media&lt;br /&gt;
*&#039;&#039;&#039;MediaPlayerPaused&#039;&#039;&#039;: vlc is in paused state&lt;br /&gt;
*&#039;&#039;&#039;MediaPlayerForward&#039;&#039;&#039;: vlc is fastforwarding through the media (works only when an input supports forward playback)&lt;br /&gt;
*&#039;&#039;&#039;MediaPlayerBackward&#039;&#039;&#039;: vlc is going backwards through the media (works only when an input supports backwards playback)&lt;br /&gt;
*&#039;&#039;&#039;MediaPlayerEncounteredError&#039;&#039;&#039;: vlc has encountered an error and is unable to continue&lt;br /&gt;
*&#039;&#039;&#039;MediaPlayerEndReached&#039;&#039;&#039;: vlc has reached the end of current playlist&lt;br /&gt;
*&#039;&#039;&#039;MediaPlayerTimeChanged&#039;&#039;&#039;: time has changed&lt;br /&gt;
*&#039;&#039;&#039;MediaPlayerPositionChanged&#039;&#039;&#039;: media position has changed&lt;br /&gt;
*&#039;&#039;&#039;MediaPlayerSeekableChanged&#039;&#039;&#039;: media seekable flag has changed (true means media is seekable, false means it is not)&lt;br /&gt;
*&#039;&#039;&#039;MediaPlayerPausableChanged&#039;&#039;&#039;: media pausable flag has changed (true means media is pauseable, false means it is not)&lt;br /&gt;
&lt;br /&gt;
The following code snippit provides easy functions to register and unregister event callbacks on all supported platforms (currently only Linux mozilla based browsers and windows activeX objects for Internet Explorer).&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;SCRIPT language=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;amp;lt;!--&lt;br /&gt;
 function registerVLCEvent(event, handler)&lt;br /&gt;
 {&lt;br /&gt;
    var vlc = getVLC(&amp;quot;vlc&amp;quot;);&lt;br /&gt;
    if (vlc) {&lt;br /&gt;
        if (vlc.attachEvent) {&lt;br /&gt;
            // Microsoft&lt;br /&gt;
            vlc.attachEvent (event, handler);&lt;br /&gt;
        } else if (vlc.addEventListener) {&lt;br /&gt;
            // Mozilla: DOM level 2&lt;br /&gt;
            vlc.addEventListener (event, handler, false);&lt;br /&gt;
        } else {&lt;br /&gt;
            // DOM level 0&lt;br /&gt;
            vlc[&amp;quot;on&amp;quot; + event] = handler;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
 }&lt;br /&gt;
 // stop listening to event&lt;br /&gt;
 function unregisterVLCEvent(event, handler)&lt;br /&gt;
 {&lt;br /&gt;
    var vlc = getVLC(&amp;quot;vlc&amp;quot;);&lt;br /&gt;
    if (vlc) {&lt;br /&gt;
        if (vlc.detachEvent) {&lt;br /&gt;
            // Microsoft&lt;br /&gt;
            vlc.detachEvent (event, handler);&lt;br /&gt;
        } else if (vlc.removeEventListener) {&lt;br /&gt;
            // Mozilla: DOM level 2&lt;br /&gt;
            vlc.removeEventListener (event, handler, false);&lt;br /&gt;
        } else {&lt;br /&gt;
            // DOM level 0&lt;br /&gt;
            vlc[&amp;quot;on&amp;quot; + event] = null;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
 }&lt;br /&gt;
 // event callback function for testing&lt;br /&gt;
 function handleEvents(event)&lt;br /&gt;
 {&lt;br /&gt;
    if (!event)&lt;br /&gt;
        event = window.event; // IE&lt;br /&gt;
    if (event.target) {&lt;br /&gt;
        // Netscape based browser&lt;br /&gt;
        targ = event.target;&lt;br /&gt;
    } else if (event.srcElement) {&lt;br /&gt;
        // ActiveX&lt;br /&gt;
        targ = event.srcElement;&lt;br /&gt;
    } else {&lt;br /&gt;
        // No event object, just the value&lt;br /&gt;
        alert(&amp;quot;Event value&amp;quot; + event );&lt;br /&gt;
        return;&lt;br /&gt;
    }&lt;br /&gt;
    if (targ.nodeType == 3) // defeat Safari bug&lt;br /&gt;
        targ = targ.parentNode;&lt;br /&gt;
    alert(&amp;quot;Event &amp;quot; + event.type + &amp;quot; has fired from &amp;quot; + targ );&lt;br /&gt;
 }&lt;br /&gt;
 // handle mouse grab event from video filter&lt;br /&gt;
 function handleMouseGrab(event,X,Y)&lt;br /&gt;
 {&lt;br /&gt;
    if (!event)&lt;br /&gt;
        event = window.event; // IE&lt;br /&gt;
    alert(&amp;quot;new position (&amp;quot; + X + &amp;quot;,&amp;quot; + Y + &amp;quot;)&amp;quot;);&lt;br /&gt;
 }&lt;br /&gt;
 // Register a bunch of callbacks.&lt;br /&gt;
 registerVLCEvent(&#039;MediaPlayerNothingSpecial&#039;, handleEvents);&lt;br /&gt;
 registerVLCEvent(&#039;MediaPlayerOpening&#039;, handleEvents);&lt;br /&gt;
 registerVLCEvent(&#039;MediaPlayerBuffering&#039;, handleEvents);&lt;br /&gt;
 registerVLCEvent(&#039;MediaPlayerPlaying&#039;, handleEvents);&lt;br /&gt;
 registerVLCEvent(&#039;MediaPlayerPaused&#039;, handleEvents);&lt;br /&gt;
 registerVLCEvent(&#039;MediaPlayerForward&#039;, handleEvents);&lt;br /&gt;
 registerVLCEvent(&#039;MediaPlayerBackward&#039;, handleEvents);&lt;br /&gt;
 registerVLCEvent(&#039;MediaPlayerEncounteredError&#039;, handleEvents);&lt;br /&gt;
 registerVLCEvent(&#039;MediaPlayerEndReached&#039;, handleEvents);&lt;br /&gt;
 registerVLCEvent(&#039;MediaPlayerTimeChanged&#039;, handleEvents);&lt;br /&gt;
 registerVLCEvent(&#039;MediaPlayerPositionChanged&#039;, handleEvents);&lt;br /&gt;
 registerVLCEvent(&#039;MediaPlayerSeekableChanged&#039;, handleEvents);&lt;br /&gt;
 registerVLCEvent(&#039;MediaPlayerPausableChanged&#039;, handleEvents);&lt;br /&gt;
 &amp;lt;/script&amp;gt;&lt;br /&gt;
 --&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Audio object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.audio.count&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) returns the number of audio track available.&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.audio.mute&#039;&#039;&#039;: boolean value to mute and unmute the audio.&lt;br /&gt;
*&#039;&#039;&#039;vlc.audio.volume&#039;&#039;&#039;: a value between [0-200] which indicates a percentage of the volume.&lt;br /&gt;
*&#039;&#039;&#039;vlc.audio.track&#039;&#039;&#039;: (supported in vlc version &amp;gt; 0.8.6) a value between [1-65535] which indicates the audio track to play or that is playing. a value of 0 means the audio is/will be disabled.&lt;br /&gt;
*&#039;&#039;&#039;vlc.audio.channel&#039;&#039;&#039;: (supported in vlc version &amp;gt; 0.8.6) integer value between [1-5] that indicates which audio channel mode is used, values can be: &amp;quot;1=stereo&amp;quot;, &amp;quot;2=reverse stereo&amp;quot;, &amp;quot;3=left&amp;quot;, &amp;quot;4=right&amp;quot;, &amp;quot;5=dolby&amp;quot;. Use vlc.audio.channel to check if setting of the audio channel mode has succeeded.&lt;br /&gt;
&lt;br /&gt;
 Audio Channel:&lt;br /&gt;
 &amp;lt;SELECT readonly onChange=&#039;doAudioChannel(this.value)&#039;&amp;gt;&lt;br /&gt;
    &amp;lt;OPTION value=1&amp;gt;Stereo&amp;lt;/OPTION&amp;gt;&lt;br /&gt;
    &amp;lt;OPTION value=2&amp;gt;Reverse stereo&amp;lt;/OPTION&amp;gt;&lt;br /&gt;
    &amp;lt;OPTION value=3&amp;gt;Left&amp;lt;/OPTION&amp;gt;&lt;br /&gt;
    &amp;lt;OPTION value=4&amp;gt;Right&amp;lt;/OPTION&amp;gt;&lt;br /&gt;
    &amp;lt;OPTION value=5&amp;gt;Dolby&amp;lt;/OPTION&amp;gt;&lt;br /&gt;
 &amp;lt;/SELECT&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;SCRIPT language=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;amp;lt;!--&lt;br /&gt;
 function doAudioChannel(value)&lt;br /&gt;
 {&lt;br /&gt;
    var vlc = getVLC(&amp;quot;vlc&amp;quot;);&lt;br /&gt;
    vlc.audio.channel = parseInt(value);&lt;br /&gt;
    alert(vlc.audio.channel);&lt;br /&gt;
 };&lt;br /&gt;
 --&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;vlc.audio.toggleMute()&#039;&#039;&#039;: boolean toggle that mutes and unmutes the audio based upon the previous state.&lt;br /&gt;
*&#039;&#039;&#039;vlc.audio.description(int i)&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) give the i-th audio track name. 0 corresponds to disable and 1 to the first audio track.&lt;br /&gt;
&lt;br /&gt;
====Input object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.length&#039;&#039;&#039;: length of the input file in number of milliseconds. 0 is returned for &#039;live&#039; streams or clips whose length cannot be determined by VLC. It returns -1 if no input is playing. &lt;br /&gt;
*&#039;&#039;&#039;vlc.input.fps&#039;&#039;&#039;: frames per second returned as a float (typically 60.0, 50.0, 23.976, etc...)&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.hasVout&#039;&#039;&#039;: a boolean that returns true when the video is being displayed, it returns false when video is not displayed&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.position&#039;&#039;&#039;: normalized position in multimedia stream item given as a float value between [0.0 - 1.0]&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.time&#039;&#039;&#039;: the absolute position in time given in milliseconds, this property can be used to seek through the stream&lt;br /&gt;
 &amp;amp;lt;!-- absolute seek in stream !--&amp;amp;gt;&lt;br /&gt;
 vlc.input.time = &amp;amp;lt;absolute seek&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;!-- relative seek in stream !--&amp;amp;gt;&lt;br /&gt;
 vlc.input.time = vlc.input.time + &amp;amp;lt;relative seek&amp;amp;gt;&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.state&#039;&#039;&#039;: current state of the input chain given as enumeration (IDLE=0, OPENING=1, BUFFERING=2, PLAYING=3, PAUSED=4, STOPPING=5, ENDED=6, ERROR=7). Note: Test for ENDED=6 to catch end of playback. Checking for STOPPING=5 is NOT ENOUGH.&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.rate&#039;&#039;&#039;: input speed given as float (1.0 for normal speed, 0.5 for half speed, 2.0 for twice as fast, etc.).&lt;br /&gt;
 rate &amp;amp;gt; 1              : is fastforward&lt;br /&gt;
 rate &amp;amp;gt; 0 and rate &amp;amp;lt; 1 : is slow motion&lt;br /&gt;
 rate &amp;amp;lt; 0              : is rewind&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Playlist object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.itemCount&#039;&#039;&#039;: number that returns the amount of items currently in the playlist (&#039;&#039;&#039;deprecated&#039;&#039;&#039;, do not use, see [[#Playlist_items_object| Playlist items]])&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.isPlaying&#039;&#039;&#039;: a boolean that returns true if the current playlist item is playing and false when it is not playing&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.items&#039;&#039;&#039;: return the playlist items collection, see [[#Playlist_items_object| Playlist items]]&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.add(mrl)&#039;&#039;&#039;: add a playlist item as [[MRL]]. The MRL must be given as a string. Returns a number as an item identifier in playlist (this is not a position  in playlist).&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.add(mrl,name,options)&#039;&#039;&#039;: add a playlist item as MRL, with metaname &#039;name&#039; and options &#039;options&#039;. options are text arguments which can be provided either as a single string containing space separated values, akin to VLC command line, or as an array of string values. Returns a number as an item identifier in playlist (this is not a position in playlist).&lt;br /&gt;
  var options = new Array(&amp;quot;:aspect-ratio=4:3&amp;quot;, &amp;quot;--rtsp-tcp&amp;quot;);&lt;br /&gt;
  var id = vlc.playlist.add(&amp;quot;rtsp://servername/item/to/play&amp;quot;, &amp;quot;fancy name&amp;quot;, options);&lt;br /&gt;
  vlc.playlist.playItem(id);&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.play()&#039;&#039;&#039;: start playing the current playlist item&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.playItem(number)&#039;&#039;&#039;: start playing the item whose identifier is number&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.togglePause()&#039;&#039;&#039;: toggle the pause state for the current playlist item&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.stop()&#039;&#039;&#039;: stop playing the current playlist item&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.next()&#039;&#039;&#039;: iterate to the next playlist item&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.prev()&#039;&#039;&#039;: iterate to the previous playlist item&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.clear()&#039;&#039;&#039;: empty the current playlist, all items will be deleted from the playlist (&#039;&#039;&#039;deprecated&#039;&#039;&#039;, do not use, see [[#Playlist_items_object| Playlist items]])&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.removeItem(number)&#039;&#039;&#039;: remove the item from playlist whose identifier is number &amp;lt;!-- (note: this number isn&#039;t the position in the playlist, but the number given by vlc.playlist.add() ) --&amp;gt; (&#039;&#039;&#039;deprecated&#039;&#039;&#039;, do not use, see [[#Playlist_items_object| Playlist items]])&lt;br /&gt;
&lt;br /&gt;
====Playlist items object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.items.count&#039;&#039;&#039;: number of items currently in the playlist&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.items.clear()&#039;&#039;&#039;: empty the current playlist, all items will be deleted from the playlist. If a movie is playing, it stop. Note that when this method returns, playlist may not have been entirely been cleared as this operation is performed asynchronously; use the &#039;&#039;count&#039;&#039; property to verify/wait until the playlist is empty.&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.items.remove(number)&#039;&#039;&#039;: remove the item whose identifier is number from playlist. (note: this number isn&#039;t the position in the playlist, but the number given by vlc.playlist.add() )&lt;br /&gt;
&lt;br /&gt;
====Subtitle object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;vlc.subtitle.count&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) returns the number of subtitle available.&lt;br /&gt;
&lt;br /&gt;
read/write properties &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;vlc.subtitle.track&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) get and set the subtitle track to show on the video screen. The property takes an integer as input value [1..65535]. If subtitle track is set to 0, the subtitles will be disabled. If set to a value outside the current subtitle tracks range, then it will return -1 and display an error message.&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;vlc.subtitle.description(int i)&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) give the i-th subtitle name. 0 correspond to disable and 1 to the first subtitle.&lt;br /&gt;
&lt;br /&gt;
====Video object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.width&#039;&#039;&#039;: returns the horizontal size of the video&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.height&#039;&#039;&#039;: returns the vertical size of the video&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.fullscreen&#039;&#039;&#039;: 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.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.aspectRatio&#039;&#039;&#039;: get and set the aspect ratio to use in the video screen. The property takes a string as input value. Typical values are: &amp;quot;1:1&amp;quot;, &amp;quot;4:3&amp;quot;, &amp;quot;16:9&amp;quot;, &amp;quot;16:10&amp;quot;, &amp;quot;221:100&amp;quot; and &amp;quot;5:4&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.subtitle&#039;&#039;&#039;: (supported in vlc version &amp;gt; 0.8.6a) get and set the subtitle track to show on the video screen. The property takes an integer as input value [1..65535]. If subtitle track is set to 0, the subtitles will be disabled. If set to a value outside the current subtitle tracks range, then it will return -1 and display an error message.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.teletext&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 0.9.0) get and set teletext page to show on the video stream. This will only work if a teletext elementary stream is available in the video stream. The property takes an integer as input value [0..999] for indicating the teletext page to view, setting the value to 0 means hide teletext. On error it will return -1 and display an error message.&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.toggleFullscreen()&#039;&#039;&#039;: toggle the fullscreen mode based on the previous setting&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.toggleTeletext()&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 0.9.0) toggle the teletext page to overlay transparent or not, based on the previous setting&lt;br /&gt;
&lt;br /&gt;
=====Deinterlace Object=====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.deinterlace.enable(&amp;quot;my_mode&amp;quot;)&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) enable deinterlacing with my_mode. You can enable it with &amp;quot;blend&amp;quot;, &amp;quot;bob&amp;quot;, &amp;quot;discard&amp;quot;, &amp;quot;linear&amp;quot;, &amp;quot;mean&amp;quot; or &amp;quot;x&amp;quot; mode. Enabling too soon deinterlacing may cause some problems. You have to wait that all variable are available before enabling it.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.deinterlace.disable()&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) disable deinterlacing.&lt;br /&gt;
&lt;br /&gt;
=====Marquee Object=====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.marquee.text&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) display my text on the screen.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.marquee.color&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change the text color. val is the new color to use (WHITE=0x000000, BLACK=0xFFFFFF, RED=0xFF0000, GREEN=0x00FF00, BLUE=0x0000FF...).&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.marquee.opacity&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change the text opacity, val is defined from 0 (completely transparent) to 255 (completely opaque).&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.marquee.position&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change the text position (CENTER=0, LEFT=1, RIGHT=2, TOP=4, TOP-LEFT=5, TOP-RIGHT=6, BOTTOM=8, BOTTOM-LEFT=9, BOTTOM_RIGHT=10).&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.marquee.refresh&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change the marquee refresh period.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.marquee.size&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) val define the new size for the text displayed on the screen. If the text is bigger than the screen then the text is not displayed.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.marquee.timeout&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change the timeout value. val is defined in ms, but 0 value correspond to unlimited.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.marquee.x&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change text abscissa.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.marquee.y&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change text ordinate.&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.marquee.enable()&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) enable marquee filter.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.marquee.disable()&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) disable marquee filter.&lt;br /&gt;
&lt;br /&gt;
Some problems may happen (option like color or text will not be applied) because of the VLC asynchronous functioning. To avoid it, after enabling marquee, you have to wait a little time before changing an option. But it should be fixed by the new vout implementation.&lt;br /&gt;
&lt;br /&gt;
=====Logo Object=====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.logo.opacity&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change the picture opacity, val is defined from 0 (completely transparent) to 255 (completely opaque).&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.logo.position&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change the text position (&amp;quot;center&amp;quot;, &amp;quot;left&amp;quot;, &amp;quot;right&amp;quot;, &amp;quot;top&amp;quot;, &amp;quot;top-left&amp;quot;, &amp;quot;top-right&amp;quot;, &amp;quot;bottom&amp;quot;, &amp;quot;bottom-left&amp;quot;, &amp;quot;bottom-right&amp;quot;).&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.logo.delay&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) display each picture for a duration of 1000 ms (default) before displaying the next  picture.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.logo.repeat&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) number of loops for picture animation (-1=continuous, 0=disabled, n=n-times). The default is -1 (continuous).&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.logo.x&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change the x-offset for displaying the picture counting from top-left on the screen.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.logo.y&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change the y-offset for displaying the picture counting from top-left on the screen.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.logo.width&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change the picture width.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.logo.height&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change the picture height.&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.logo.enable()&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) enable logo video filter.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.logo.disable()&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) disable logo video filter.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.logo.file(&amp;quot;file.png&amp;quot;)&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) display my file.png as logo on the screen.&lt;br /&gt;
&lt;br /&gt;
Some problems may happen because of the VLC asynchronous functioning. To avoid it, after enabling logo video filter, you have to wait a little time before changing an option. But it should be fixed by the new vout implementation.&lt;br /&gt;
&lt;br /&gt;
====Log object====&lt;br /&gt;
: &#039;&#039;&#039;CAUTION&#039;&#039;&#039;: For security concern, VLC 1.0.0-rc1 is the latest (near-to-stable) version in which this object and its children are supported.&lt;br /&gt;
&lt;br /&gt;
This object allows accessing VLC main message logging queue. Typically this queue capacity is very small (no nore than 256 entries) and can easily overflow, therefore messages should be read and cleared as often as possible.&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.log.messages&#039;&#039;&#039;: returns the message collection, see [[#Messages object|Messages object]]&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.log.verbosity&#039;&#039;&#039;: write number [-1,0,1,2,3] for changing the verbosity level of the log messages; messages whose verbosity is higher than set will be not be logged in the queue. The numbers have the following meaning: -1 disable, 0 info, 1 error, 2 warning, 3 debug. &lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Messages object====&lt;br /&gt;
: &#039;&#039;&#039;CAUTION&#039;&#039;&#039;: For security concern, VLC 1.0.0-rc1 is the latest (near-to-stable) version in which this object and its children are supported.&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;messages.count&#039;&#039;&#039;: returns number of messages in the log&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;messages.clear()&#039;&#039;&#039;: clear the current log buffer. It should be called as frequently as possible to not overflow the message queue. Call this method after the log messages of interest are read.&lt;br /&gt;
*&#039;&#039;&#039;messages.iterator()&#039;&#039;&#039;: creates and returns an iterator object, used to iterate over the messages in the log. &#039;&#039;&#039;Don&#039;t clear the log buffer while holding an iterator object.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Messages Iterator object====&lt;br /&gt;
: &#039;&#039;&#039;CAUTION&#039;&#039;&#039;: For security concern, VLC 1.0.0-rc1 is the latest (near-to-stable) version in which this object and its children are supported.&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;iterator.hasNext&#039;&#039;&#039;: returns a boolean that indicates whether &#039;&#039;vlc.log.messages.next()&#039;&#039; will return the next message.&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;iterator.next()&#039;&#039;&#039;: returns the next message object in the log, see [[Message object]]&lt;br /&gt;
&lt;br /&gt;
====Message object====&lt;br /&gt;
: &#039;&#039;&#039;CAUTION&#039;&#039;&#039;: For security concern, VLC 1.0.0-rc1 is the latest (near-to-stable) version in which this object and its children are supported.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;message.severity&#039;&#039;&#039;: number that indicates the severity of the log message (0 = info, 1 = error, 2 = warning, 3 = debug)&lt;br /&gt;
*&#039;&#039;&#039;message.name&#039;&#039;&#039;: name of VLC module that printed the log message (e.g: main, http, directx, etc...)&lt;br /&gt;
*&#039;&#039;&#039;message.type&#039;&#039;&#039;: type of VLC module that printed the log message (eg: input, access, vout, sout, etc...)&lt;br /&gt;
*&#039;&#039;&#039;message.message&#039;&#039;&#039;: the message text&lt;br /&gt;
&lt;br /&gt;
==Build HTML pages that use the plugin (VLC version up to 0.8.5)==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;WARNING:&#039;&#039;&#039; the APIs described in this section are &#039;&#039;&#039;deprecated&#039;&#039;&#039;, do not use. They no longer work on recent VLC version (&amp;gt; 0.8.5), either it being the ActiveX (Internet Explorer)/ Safari or Mozilla based browsers.&lt;br /&gt;
&lt;br /&gt;
The following API description is only valid uptill version 0.8.5 of the mozilla plugin.&lt;br /&gt;
&lt;br /&gt;
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&lt;br /&gt;
plugin.&lt;br /&gt;
&lt;br /&gt;
The vlc plugin supports the following function calls:&lt;br /&gt;
*&#039;&#039;&#039;play()&#039;&#039;&#039;: Start playing media in the plugin.&lt;br /&gt;
*&#039;&#039;&#039;pause()&#039;&#039;&#039;: Pause playback.&lt;br /&gt;
*&#039;&#039;&#039;stop()&#039;&#039;&#039;: Stop media playback.&lt;br /&gt;
*&#039;&#039;&#039;fullscreen()&#039;&#039;&#039;: Switch the video to full screen.&lt;br /&gt;
*&#039;&#039;&#039;set_volume(vol)&#039;&#039;&#039;: Set the volume. &#039;&#039;&#039;vol&#039;&#039;&#039; has to be an int in the 0-200 range.&lt;br /&gt;
*&#039;&#039;&#039;get_volume()&#039;&#039;&#039;: Get the current volume setting.&lt;br /&gt;
*&#039;&#039;&#039;mute()&#039;&#039;&#039;: Toggle volume muting.&lt;br /&gt;
*&#039;&#039;&#039;set_int_variable(var_name, value)&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;set_bool_variable(var_name, value)&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;set_str_variable(var_name, value)&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;get_int_variable(var_name)&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;get_bool_variable(var_name)&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;get_str_variable(var_name)&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;clear_playlist()&#039;&#039;&#039;: Clear the playlist.&lt;br /&gt;
*&#039;&#039;&#039;add_item(mrl)&#039;&#039;&#039;: Append an item whose location is given by the [[media resource locator]] to the playlist.&lt;br /&gt;
*&#039;&#039;&#039;next()&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;previous()&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;isplaying()&#039;&#039;&#039;: return true if the plugin is playing something.&lt;br /&gt;
*&#039;&#039;&#039;get_length()&#039;&#039;&#039;: Get the media&#039;s length in seconds.&lt;br /&gt;
*&#039;&#039;&#039;get_position()&#039;&#039;&#039;: Get the current position in the media in percent.&lt;br /&gt;
*&#039;&#039;&#039;get_time()&#039;&#039;&#039;: Get the current position in the media in seconds.&lt;br /&gt;
*&#039;&#039;&#039;seek(seconds,is_relative)&#039;&#039;&#039;: If is_relative is true, seek relatively to current time, else seek from beginning of the stream. Seek time is specified in seconds.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Here are a few examples of HTML pages that use the&lt;br /&gt;
Mozilla plugin.&lt;br /&gt;
&lt;br /&gt;
===Example 1===&lt;br /&gt;
&lt;br /&gt;
In this example, the plugin will read an HTTP stream inside the web page. If the user goes fullscreen, he will have to press &#039;&#039;f&#039;&#039; or double-click on the video to go back in normal view.&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;html&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;head&amp;amp;gt;&amp;amp;lt;title&amp;amp;gt;Demo of VLC mozilla plugin&amp;amp;lt;/title&amp;amp;gt;&amp;amp;lt;/head&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;body&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;h1&amp;amp;gt;Demo of VLC mozilla plugin - Example 1&amp;amp;lt;/h1&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;embed type=&amp;quot;application/x-vlc-plugin&amp;quot;&lt;br /&gt;
          name=&amp;quot;video1&amp;quot;&lt;br /&gt;
          autoplay=&amp;quot;no&amp;quot; loop=&amp;quot;yes&amp;quot; width=&amp;quot;400&amp;quot; height=&amp;quot;300&amp;quot;&lt;br /&gt;
          target=&amp;quot;http://server.example.org/video1.vob&amp;quot; /&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;br /&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video1.play()&#039;&amp;amp;gt;Play video1&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video1.pause()&#039;&amp;amp;gt;Pause video1&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video1.stop()&#039;&amp;amp;gt;Stop video1&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video1.fullscreen()&#039;&amp;amp;gt;Fullscreen&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;/body&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/html&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Example 2===&lt;br /&gt;
&lt;br /&gt;
In this example, the plugin will read a multicast UDP/RTP stream in a dedicated video output window.&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;html&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;head&amp;amp;gt;&amp;amp;lt;title&amp;amp;gt;Demo of VLC mozilla plugin&amp;amp;lt;/title&amp;amp;gt;&amp;amp;lt;/head&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;body&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;h1&amp;amp;gt;Demo of VLC mozilla plugin - Example 2&amp;amp;lt;/h1&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;embed type=&amp;quot;application/x-vlc-plugin&amp;quot;&lt;br /&gt;
          name=&amp;quot;video2&amp;quot;&lt;br /&gt;
          autoplay=&amp;quot;no&amp;quot; loop=&amp;quot;no&amp;quot; hidden=&amp;quot;yes&amp;quot;&lt;br /&gt;
          target=&amp;quot;rtp://@239.255.12.42:5004&amp;quot; /&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;br /&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video2.play()&#039;&amp;amp;gt;Play video2&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video2.stop()&#039;&amp;amp;gt;Stop video2&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video2.fullscreen()&#039;&amp;amp;gt;Fullscreen&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;/body&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/html&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Documentation}}&lt;br /&gt;
[[Category:Embedded]]&lt;/div&gt;</summary>
		<author><name>Jpsaman</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=Documentation:WebPlugin&amp;diff=16849</id>
		<title>Documentation:WebPlugin</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=Documentation:WebPlugin&amp;diff=16849"/>
		<updated>2010-07-22T08:20:48Z</updated>

		<summary type="html">&lt;p&gt;Jpsaman: /* Root object */ Remove event not available in master.git&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Building HTML pages for Mozilla/Firefox/Internet Explorer/Safari ==&lt;br /&gt;
&lt;br /&gt;
The following description works for any of the browsers VLC supports. The JavaScript API has been unified between Mozilla/Firefox/IE (ActiveX) and Safari, thus targeting at all of the major OS out there. &lt;br /&gt;
&lt;br /&gt;
This is only valid for {{VLC}} version 0.8.6 and above.&lt;br /&gt;
&lt;br /&gt;
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&lt;br /&gt;
plugin.&lt;br /&gt;
&lt;br /&gt;
== API description ==&lt;br /&gt;
The vlc plugin exports several objects that can be accessed for setting and getting information. When used improperly the API&#039;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.&lt;br /&gt;
&lt;br /&gt;
The vlc plugin knows the following objects:&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;audio&#039;&#039;&#039;: Access audio properties.&lt;br /&gt;
*&#039;&#039;&#039;input&#039;&#039;&#039;: Access input properties.&lt;br /&gt;
*&#039;&#039;&#039;playlist&#039;&#039;&#039;: Access playlist properties.&lt;br /&gt;
*&#039;&#039;&#039;subtitle&#039;&#039;&#039;: Access subtitle properties.&lt;br /&gt;
*&#039;&#039;&#039;video&#039;&#039;&#039;: Access video properties.&lt;br /&gt;
*&#039;&#039;&#039;video.marquee&#039;&#039;&#039;: Access marquee video filter properties.&lt;br /&gt;
*&#039;&#039;&#039;video.logo&#039;&#039;&#039;: Access logo video filter properties.&lt;br /&gt;
*&#039;&#039;&#039;log&#039;&#039;&#039;: Access log properties.&lt;br /&gt;
*&#039;&#039;&#039;messages&#039;&#039;&#039;: Access to log message properties.&lt;br /&gt;
*&#039;&#039;&#039;iterator&#039;&#039;&#039;: Access to log iterator properties.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;html&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;title&amp;amp;gt;VLC Mozilla plugin test page&amp;amp;lt;/title&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;body&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;embed type=&amp;quot;application/x-vlc-plugin&amp;quot; pluginspage=&amp;quot;http://www.videolan.org&amp;quot; version=&amp;quot;VideoLAN.VLCPlugin.2&amp;quot;&lt;br /&gt;
     width=&amp;quot;640&amp;quot;&lt;br /&gt;
     height=&amp;quot;480&amp;quot;&lt;br /&gt;
     id=&amp;quot;vlc&amp;quot;&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/embed&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;script language=&amp;quot;Javascript&amp;quot;&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;!--&lt;br /&gt;
 var vlc = document.getElementById(&amp;quot;vlc&amp;quot;);&lt;br /&gt;
 vlc.audio.toggleMute();&lt;br /&gt;
 !--&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/script&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/body&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/html&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Root object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;VersionInfo&#039;&#039;&#039;: returns version information string&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;vlc.versionInfo()&#039;&#039;&#039;: returns version information string (same as VersionInfo)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;vlc.addEventListener(eventname, callback, bubble)&#039;&#039;&#039;: (only for Mozilla) add a listener for mentioned event name, callback expects a function and bubble influences the order of eventhandling by JS (usually it is set to false).&lt;br /&gt;
*&#039;&#039;&#039;vlc.removeEventListener(eventname, callback, bubble)&#039;&#039;&#039;: (only for Mozilla) remove listener for mentioned event name, callback expects a function and bubble influences the order of eventhandling by JS (usually it is set to false).&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;vlc.attachEvent(eventname, callback)&#039;&#039;&#039;: (only for ActiveX) add listener for mentioned event name, callback expects a function&lt;br /&gt;
*&#039;&#039;&#039;vlc.removeEvent(eventname, callback)&#039;&#039;&#039;: (only for ActiveX) remove listener for mentioned event name, callback expects a function&lt;br /&gt;
&lt;br /&gt;
events&lt;br /&gt;
*&#039;&#039;&#039;MediaPlayerNothingSpecial&#039;&#039;&#039;: vlc is in idle state doing nothing but waiting for a command to be issued&lt;br /&gt;
*&#039;&#039;&#039;MediaPlayerOpening&#039;&#039;&#039;: vlc is opening an media resource locator (MRL)&lt;br /&gt;
*&#039;&#039;&#039;MediaPlayerBuffering&#039;&#039;&#039;: vlc is buffering&lt;br /&gt;
*&#039;&#039;&#039;MediaPlayerPlaying&#039;&#039;&#039;: vlc is playing a media&lt;br /&gt;
*&#039;&#039;&#039;MediaPlayerPaused&#039;&#039;&#039;: vlc is in paused state&lt;br /&gt;
*&#039;&#039;&#039;MediaPlayerForward&#039;&#039;&#039;: vlc is fastforwarding through the media (works only when an input supports forward playback)&lt;br /&gt;
*&#039;&#039;&#039;MediaPlayerBackward&#039;&#039;&#039;: vlc is going backwards through the media (works only when an input supports backwards playback)&lt;br /&gt;
*&#039;&#039;&#039;MediaPlayerEncounteredError&#039;&#039;&#039;: vlc has encountered an error and is unable to continue&lt;br /&gt;
*&#039;&#039;&#039;MediaPlayerEndReached&#039;&#039;&#039;: vlc has reached the end of current playlist&lt;br /&gt;
*&#039;&#039;&#039;MediaPlayerTimeChanged&#039;&#039;&#039;: time has changed&lt;br /&gt;
*&#039;&#039;&#039;MediaPlayerPositionChanged&#039;&#039;&#039;: media position has changed&lt;br /&gt;
*&#039;&#039;&#039;MediaPlayerSeekableChanged&#039;&#039;&#039;: media seekable flag has changed (true means media is seekable, false means it is not)&lt;br /&gt;
*&#039;&#039;&#039;MediaPlayerPausableChanged&#039;&#039;&#039;: media pausable flag has changed (true means media is pauseable, false means it is not)&lt;br /&gt;
&lt;br /&gt;
The following code snippit provides easy functions to register and unregister event callbacks on all supported platforms (currently only Linux mozilla based browsers and windows activeX objects for Internet Explorer).&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;SCRIPT language=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;amp;lt;!--&lt;br /&gt;
 function registerVLCEvent(event, handler)&lt;br /&gt;
 {&lt;br /&gt;
    var vlc = getVLC(&amp;quot;vlc&amp;quot;);&lt;br /&gt;
    if (vlc) {&lt;br /&gt;
        if (vlc.attachEvent) {&lt;br /&gt;
            // Microsoft&lt;br /&gt;
            vlc.attachEvent (event, handler);&lt;br /&gt;
        } else if (vlc.addEventListener) {&lt;br /&gt;
            // Mozilla: DOM level 2&lt;br /&gt;
            vlc.addEventListener (event, handler, false);&lt;br /&gt;
        } else {&lt;br /&gt;
            // DOM level 0&lt;br /&gt;
            vlc[&amp;quot;on&amp;quot; + event] = handler;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
 }&lt;br /&gt;
 // stop listening to event&lt;br /&gt;
 function unregisterVLCEvent(event, handler)&lt;br /&gt;
 {&lt;br /&gt;
    var vlc = getVLC(&amp;quot;vlc&amp;quot;);&lt;br /&gt;
    if (vlc) {&lt;br /&gt;
        if (vlc.detachEvent) {&lt;br /&gt;
            // Microsoft&lt;br /&gt;
            vlc.detachEvent (event, handler);&lt;br /&gt;
        } else if (vlc.removeEventListener) {&lt;br /&gt;
            // Mozilla: DOM level 2&lt;br /&gt;
            vlc.removeEventListener (event, handler, false);&lt;br /&gt;
        } else {&lt;br /&gt;
            // DOM level 0&lt;br /&gt;
            vlc[&amp;quot;on&amp;quot; + event] = null;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
 }&lt;br /&gt;
 // event callback function for testing&lt;br /&gt;
 function handleEvents(event)&lt;br /&gt;
 {&lt;br /&gt;
    if (!event)&lt;br /&gt;
        event = window.event; // IE&lt;br /&gt;
    if (event.target) {&lt;br /&gt;
        // Netscape based browser&lt;br /&gt;
        targ = event.target;&lt;br /&gt;
    } else if (event.srcElement) {&lt;br /&gt;
        // ActiveX&lt;br /&gt;
        targ = event.srcElement;&lt;br /&gt;
    } else {&lt;br /&gt;
        // No event object, just the value&lt;br /&gt;
        alert(&amp;quot;Event value&amp;quot; + event );&lt;br /&gt;
        return;&lt;br /&gt;
    }&lt;br /&gt;
    if (targ.nodeType == 3) // defeat Safari bug&lt;br /&gt;
        targ = targ.parentNode;&lt;br /&gt;
    alert(&amp;quot;Event &amp;quot; + event.type + &amp;quot; has fired from &amp;quot; + targ );&lt;br /&gt;
 }&lt;br /&gt;
 // handle mouse grab event from video filter&lt;br /&gt;
 function handleMouseGrab(event,X,Y)&lt;br /&gt;
 {&lt;br /&gt;
    if (!event)&lt;br /&gt;
        event = window.event; // IE&lt;br /&gt;
    alert(&amp;quot;new position (&amp;quot; + X + &amp;quot;,&amp;quot; + Y + &amp;quot;)&amp;quot;);&lt;br /&gt;
 }&lt;br /&gt;
 // Register a bunch of callbacks.&lt;br /&gt;
 registerVLCEvent(&#039;MediaPlayerNothingSpecial&#039;, handleEvents);&lt;br /&gt;
 registerVLCEvent(&#039;MediaPlayerOpening&#039;, handleEvents);&lt;br /&gt;
 registerVLCEvent(&#039;MediaPlayerBuffering&#039;, handleEvents);&lt;br /&gt;
 registerVLCEvent(&#039;MediaPlayerPlaying&#039;, handleEvents);&lt;br /&gt;
 registerVLCEvent(&#039;MediaPlayerPaused&#039;, handleEvents);&lt;br /&gt;
 registerVLCEvent(&#039;MediaPlayerForward&#039;, handleEvents);&lt;br /&gt;
 registerVLCEvent(&#039;MediaPlayerBackward&#039;, handleEvents);&lt;br /&gt;
 registerVLCEvent(&#039;MediaPlayerEncounteredError&#039;, handleEvents);&lt;br /&gt;
 registerVLCEvent(&#039;MediaPlayerEndReached&#039;, handleEvents);&lt;br /&gt;
 registerVLCEvent(&#039;MediaPlayerTimeChanged&#039;, handleEvents);&lt;br /&gt;
 registerVLCEvent(&#039;MediaPlayerPositionChanged&#039;, handleEvents);&lt;br /&gt;
 registerVLCEvent(&#039;MediaPlayerSeekableChanged&#039;, handleEvents);&lt;br /&gt;
 registerVLCEvent(&#039;MediaPlayerPausableChanged&#039;, handleEvents);&lt;br /&gt;
 &amp;lt;/script&amp;gt;&lt;br /&gt;
 --&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Audio object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.audio.count&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) returns the number of audio track available.&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.audio.mute&#039;&#039;&#039;: boolean value to mute and unmute the audio.&lt;br /&gt;
*&#039;&#039;&#039;vlc.audio.volume&#039;&#039;&#039;: a value between [0-200] which indicates a percentage of the volume.&lt;br /&gt;
*&#039;&#039;&#039;vlc.audio.track&#039;&#039;&#039;: (supported in vlc version &amp;gt; 0.8.6) a value between [1-65535] which indicates the audio track to play or that is playing. a value of 0 means the audio is/will be disabled.&lt;br /&gt;
*&#039;&#039;&#039;vlc.audio.channel&#039;&#039;&#039;: (supported in vlc version &amp;gt; 0.8.6) integer value between [1-5] that indicates which audio channel mode is used, values can be: &amp;quot;1=stereo&amp;quot;, &amp;quot;2=reverse stereo&amp;quot;, &amp;quot;3=left&amp;quot;, &amp;quot;4=right&amp;quot;, &amp;quot;5=dolby&amp;quot;. Use vlc.audio.channel to check if setting of the audio channel mode has succeeded.&lt;br /&gt;
&lt;br /&gt;
 Audio Channel:&lt;br /&gt;
 &amp;lt;SELECT readonly onChange=&#039;doAudioChannel(this.value)&#039;&amp;gt;&lt;br /&gt;
    &amp;lt;OPTION value=1&amp;gt;Stereo&amp;lt;/OPTION&amp;gt;&lt;br /&gt;
    &amp;lt;OPTION value=2&amp;gt;Reverse stereo&amp;lt;/OPTION&amp;gt;&lt;br /&gt;
    &amp;lt;OPTION value=3&amp;gt;Left&amp;lt;/OPTION&amp;gt;&lt;br /&gt;
    &amp;lt;OPTION value=4&amp;gt;Right&amp;lt;/OPTION&amp;gt;&lt;br /&gt;
    &amp;lt;OPTION value=5&amp;gt;Dolby&amp;lt;/OPTION&amp;gt;&lt;br /&gt;
 &amp;lt;/SELECT&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;SCRIPT language=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;amp;lt;!--&lt;br /&gt;
 function doAudioChannel(value)&lt;br /&gt;
 {&lt;br /&gt;
    var vlc = getVLC(&amp;quot;vlc&amp;quot;);&lt;br /&gt;
    vlc.audio.channel = parseInt(value);&lt;br /&gt;
    alert(vlc.audio.channel);&lt;br /&gt;
 };&lt;br /&gt;
 --&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;vlc.audio.toggleMute()&#039;&#039;&#039;: boolean toggle that mutes and unmutes the audio based upon the previous state.&lt;br /&gt;
*&#039;&#039;&#039;vlc.audio.description(int i)&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) give the i-th audio track name. 0 corresponds to disable and 1 to the first audio track.&lt;br /&gt;
&lt;br /&gt;
====Input object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.length&#039;&#039;&#039;: length of the input file in number of milliseconds. 0 is returned for &#039;live&#039; streams or clips whose length cannot be determined by VLC. It returns -1 if no input is playing. &lt;br /&gt;
*&#039;&#039;&#039;vlc.input.fps&#039;&#039;&#039;: frames per second returned as a float (typically 60.0, 50.0, 23.976, etc...)&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.hasVout&#039;&#039;&#039;: a boolean that returns true when the video is being displayed, it returns false when video is not displayed&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.position&#039;&#039;&#039;: normalized position in multimedia stream item given as a float value between [0.0 - 1.0]&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.time&#039;&#039;&#039;: the absolute position in time given in milliseconds, this property can be used to seek through the stream&lt;br /&gt;
 &amp;amp;lt;!-- absolute seek in stream !--&amp;amp;gt;&lt;br /&gt;
 vlc.input.time = &amp;amp;lt;absolute seek&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;!-- relative seek in stream !--&amp;amp;gt;&lt;br /&gt;
 vlc.input.time = vlc.input.time + &amp;amp;lt;relative seek&amp;amp;gt;&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.state&#039;&#039;&#039;: current state of the input chain given as enumeration (IDLE=0, OPENING=1, BUFFERING=2, PLAYING=3, PAUSED=4, STOPPING=5, ENDED=6, ERROR=7). Note: Test for ENDED=6 to catch end of playback. Checking for STOPPING=5 is NOT ENOUGH.&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.rate&#039;&#039;&#039;: input speed given as float (1.0 for normal speed, 0.5 for half speed, 2.0 for twice as fast, etc.).&lt;br /&gt;
 rate &amp;amp;gt; 1              : is fastforward&lt;br /&gt;
 rate &amp;amp;gt; 0 and rate &amp;amp;lt; 1 : is slow motion&lt;br /&gt;
 rate &amp;amp;lt; 0              : is rewind&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Playlist object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.itemCount&#039;&#039;&#039;: number that returns the amount of items currently in the playlist (&#039;&#039;&#039;deprecated&#039;&#039;&#039;, do not use, see [[#Playlist_items_object| Playlist items]])&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.isPlaying&#039;&#039;&#039;: a boolean that returns true if the current playlist item is playing and false when it is not playing&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.items&#039;&#039;&#039;: return the playlist items collection, see [[#Playlist_items_object| Playlist items]]&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.add(mrl)&#039;&#039;&#039;: add a playlist item as [[MRL]]. The MRL must be given as a string. Returns a number as an item identifier in playlist (this is not a position  in playlist).&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.add(mrl,name,options)&#039;&#039;&#039;: add a playlist item as MRL, with metaname &#039;name&#039; and options &#039;options&#039;. options are text arguments which can be provided either as a single string containing space separated values, akin to VLC command line, or as an array of string values. Returns a number as an item identifier in playlist (this is not a position in playlist).&lt;br /&gt;
  var options = new Array(&amp;quot;:aspect-ratio=4:3&amp;quot;, &amp;quot;--rtsp-tcp&amp;quot;);&lt;br /&gt;
  var id = vlc.playlist.add(&amp;quot;rtsp://servername/item/to/play&amp;quot;, &amp;quot;fancy name&amp;quot;, options);&lt;br /&gt;
  vlc.playlist.playItem(id);&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.play()&#039;&#039;&#039;: start playing the current playlist item&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.playItem(number)&#039;&#039;&#039;: start playing the item whose identifier is number&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.togglePause()&#039;&#039;&#039;: toggle the pause state for the current playlist item&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.stop()&#039;&#039;&#039;: stop playing the current playlist item&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.next()&#039;&#039;&#039;: iterate to the next playlist item&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.prev()&#039;&#039;&#039;: iterate to the previous playlist item&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.clear()&#039;&#039;&#039;: empty the current playlist, all items will be deleted from the playlist (&#039;&#039;&#039;deprecated&#039;&#039;&#039;, do not use, see [[#Playlist_items_object| Playlist items]])&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.removeItem(number)&#039;&#039;&#039;: remove the item from playlist whose identifier is number &amp;lt;!-- (note: this number isn&#039;t the position in the playlist, but the number given by vlc.playlist.add() ) --&amp;gt; (&#039;&#039;&#039;deprecated&#039;&#039;&#039;, do not use, see [[#Playlist_items_object| Playlist items]])&lt;br /&gt;
&lt;br /&gt;
====Playlist items object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.items.count&#039;&#039;&#039;: number of items currently in the playlist&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.items.clear()&#039;&#039;&#039;: empty the current playlist, all items will be deleted from the playlist. If a movie is playing, it stop. Note that when this method returns, playlist may not have been entirely been cleared as this operation is performed asynchronously; use the &#039;&#039;count&#039;&#039; property to verify/wait until the playlist is empty.&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.items.remove(number)&#039;&#039;&#039;: remove the item whose identifier is number from playlist. (note: this number isn&#039;t the position in the playlist, but the number given by vlc.playlist.add() )&lt;br /&gt;
&lt;br /&gt;
====Subtitle object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;vlc.subtitle.count&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) returns the number of subtitle available.&lt;br /&gt;
&lt;br /&gt;
read/write properties &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;vlc.subtitle.track&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) get and set the subtitle track to show on the video screen. The property takes an integer as input value [1..65535]. If subtitle track is set to 0, the subtitles will be disabled. If set to a value outside the current subtitle tracks range, then it will return -1 and display an error message.&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;vlc.subtitle.description(int i)&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) give the i-th subtitle name. 0 correspond to disable and 1 to the first subtitle.&lt;br /&gt;
&lt;br /&gt;
====Video object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.width&#039;&#039;&#039;: returns the horizontal size of the video&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.height&#039;&#039;&#039;: returns the vertical size of the video&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.fullscreen&#039;&#039;&#039;: 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.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.aspectRatio&#039;&#039;&#039;: get and set the aspect ratio to use in the video screen. The property takes a string as input value. Typical values are: &amp;quot;1:1&amp;quot;, &amp;quot;4:3&amp;quot;, &amp;quot;16:9&amp;quot;, &amp;quot;16:10&amp;quot;, &amp;quot;221:100&amp;quot; and &amp;quot;5:4&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.subtitle&#039;&#039;&#039;: (supported in vlc version &amp;gt; 0.8.6a) get and set the subtitle track to show on the video screen. The property takes an integer as input value [1..65535]. If subtitle track is set to 0, the subtitles will be disabled. If set to a value outside the current subtitle tracks range, then it will return -1 and display an error message.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.teletext&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 0.9.0) get and set teletext page to show on the video stream. This will only work if a teletext elementary stream is available in the video stream. The property takes an integer as input value [0..999] for indicating the teletext page to view, setting the value to 0 means hide teletext. On error it will return -1 and display an error message.&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.toggleFullscreen()&#039;&#039;&#039;: toggle the fullscreen mode based on the previous setting&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.toggleTeletext()&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 0.9.0) toggle the teletext page to overlay transparent or not, based on the previous setting&lt;br /&gt;
&lt;br /&gt;
=====Deinterlace Object=====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.deinterlace.enable(&amp;quot;my_mode&amp;quot;)&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) enable deinterlacing with my_mode. You can enable it with &amp;quot;blend&amp;quot;, &amp;quot;bob&amp;quot;, &amp;quot;discard&amp;quot;, &amp;quot;linear&amp;quot;, &amp;quot;mean&amp;quot; or &amp;quot;x&amp;quot; mode. Enabling too soon deinterlacing may cause some problems. You have to wait that all variable are available before enabling it.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.deinterlace.disable()&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) disable deinterlacing.&lt;br /&gt;
&lt;br /&gt;
=====Marquee Object=====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.marquee.text&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) display my text on the screen.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.marquee.color&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change the text color. val is the new color to use (WHITE=0x000000, BLACK=0xFFFFFF, RED=0xFF0000, GREEN=0x00FF00, BLUE=0x0000FF...).&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.marquee.opacity&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change the text opacity, val is defined from 0 (completely transparent) to 255 (completely opaque).&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.marquee.position&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change the text position (CENTER=0, LEFT=1, RIGHT=2, TOP=4, TOP-LEFT=5, TOP-RIGHT=6, BOTTOM=8, BOTTOM-LEFT=9, BOTTOM_RIGHT=10).&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.marquee.refresh&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change the marquee refresh period.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.marquee.size&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) val define the new size for the text displayed on the screen. If the text is bigger than the screen then the text is not displayed.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.marquee.timeout&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change the timeout value. val is defined in ms, but 0 value correspond to unlimited.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.marquee.x&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change text abscissa.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.marquee.y&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change text ordinate.&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.marquee.enable()&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) enable marquee filter.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.marquee.disable()&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) disable marquee filter.&lt;br /&gt;
&lt;br /&gt;
Some problems may happen (option like color or text will not be applied) because of the VLC asynchronous functioning. To avoid it, after enabling marquee, you have to wait a little time before changing an option. But it should be fixed by the new vout implementation.&lt;br /&gt;
&lt;br /&gt;
=====Logo Object=====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.logo.opacity&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change the picture opacity, val is defined from 0 (completely transparent) to 255 (completely opaque).&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.logo.position&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change the text position (&amp;quot;center&amp;quot;, &amp;quot;left&amp;quot;, &amp;quot;right&amp;quot;, &amp;quot;top&amp;quot;, &amp;quot;top-left&amp;quot;, &amp;quot;top-right&amp;quot;, &amp;quot;bottom&amp;quot;, &amp;quot;bottom-left&amp;quot;, &amp;quot;bottom-right&amp;quot;).&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.logo.delay&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) display each picture for a duration of 1000 ms (default) before displaying the next  picture.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.logo.repeat&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) number of loops for picture animation (-1=continuous, 0=disabled, n=n-times). The default is -1 (continuous).&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.logo.x&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change the x-offset for displaying the picture counting from top-left on the screen.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.logo.y&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change the y-offset for displaying the picture counting from top-left on the screen.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.logo.width&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change the picture width.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.logo.height&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change the picture height.&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.logo.enable()&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) enable logo video filter.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.logo.disable()&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) disable logo video filter.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.logo.file(&amp;quot;file.png&amp;quot;)&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) display my file.png as logo on the screen.&lt;br /&gt;
&lt;br /&gt;
Some problems may happen because of the VLC asynchronous functioning. To avoid it, after enabling logo video filter, you have to wait a little time before changing an option. But it should be fixed by the new vout implementation.&lt;br /&gt;
&lt;br /&gt;
====Log object====&lt;br /&gt;
: &#039;&#039;&#039;CAUTION&#039;&#039;&#039;: For security concern, VLC 1.0.0-rc1 is the latest (near-to-stable) version in which this object and its children are supported.&lt;br /&gt;
&lt;br /&gt;
This object allows accessing VLC main message logging queue. Typically this queue capacity is very small (no nore than 256 entries) and can easily overflow, therefore messages should be read and cleared as often as possible.&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.log.messages&#039;&#039;&#039;: returns the message collection, see [[#Messages object|Messages object]]&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.log.verbosity&#039;&#039;&#039;: write number [-1,0,1,2,3] for changing the verbosity level of the log messages; messages whose verbosity is higher than set will be not be logged in the queue. The numbers have the following meaning: -1 disable, 0 info, 1 error, 2 warning, 3 debug. &lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Messages object====&lt;br /&gt;
: &#039;&#039;&#039;CAUTION&#039;&#039;&#039;: For security concern, VLC 1.0.0-rc1 is the latest (near-to-stable) version in which this object and its children are supported.&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;messages.count&#039;&#039;&#039;: returns number of messages in the log&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;messages.clear()&#039;&#039;&#039;: clear the current log buffer. It should be called as frequently as possible to not overflow the message queue. Call this method after the log messages of interest are read.&lt;br /&gt;
*&#039;&#039;&#039;messages.iterator()&#039;&#039;&#039;: creates and returns an iterator object, used to iterate over the messages in the log. &#039;&#039;&#039;Don&#039;t clear the log buffer while holding an iterator object.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Messages Iterator object====&lt;br /&gt;
: &#039;&#039;&#039;CAUTION&#039;&#039;&#039;: For security concern, VLC 1.0.0-rc1 is the latest (near-to-stable) version in which this object and its children are supported.&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;iterator.hasNext&#039;&#039;&#039;: returns a boolean that indicates whether &#039;&#039;vlc.log.messages.next()&#039;&#039; will return the next message.&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;iterator.next()&#039;&#039;&#039;: returns the next message object in the log, see [[Message object]]&lt;br /&gt;
&lt;br /&gt;
====Message object====&lt;br /&gt;
: &#039;&#039;&#039;CAUTION&#039;&#039;&#039;: For security concern, VLC 1.0.0-rc1 is the latest (near-to-stable) version in which this object and its children are supported.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;message.severity&#039;&#039;&#039;: number that indicates the severity of the log message (0 = info, 1 = error, 2 = warning, 3 = debug)&lt;br /&gt;
*&#039;&#039;&#039;message.name&#039;&#039;&#039;: name of VLC module that printed the log message (e.g: main, http, directx, etc...)&lt;br /&gt;
*&#039;&#039;&#039;message.type&#039;&#039;&#039;: type of VLC module that printed the log message (eg: input, access, vout, sout, etc...)&lt;br /&gt;
*&#039;&#039;&#039;message.message&#039;&#039;&#039;: the message text&lt;br /&gt;
&lt;br /&gt;
==Build HTML pages that use the plugin (VLC version up to 0.8.5)==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;WARNING:&#039;&#039;&#039; the APIs described in this section are &#039;&#039;&#039;deprecated&#039;&#039;&#039;, do not use. They no longer work on recent VLC version (&amp;gt; 0.8.5), either it being the ActiveX (Internet Explorer)/ Safari or Mozilla based browsers.&lt;br /&gt;
&lt;br /&gt;
The following API description is only valid uptill version 0.8.5 of the mozilla plugin.&lt;br /&gt;
&lt;br /&gt;
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&lt;br /&gt;
plugin.&lt;br /&gt;
&lt;br /&gt;
The vlc plugin supports the following function calls:&lt;br /&gt;
*&#039;&#039;&#039;play()&#039;&#039;&#039;: Start playing media in the plugin.&lt;br /&gt;
*&#039;&#039;&#039;pause()&#039;&#039;&#039;: Pause playback.&lt;br /&gt;
*&#039;&#039;&#039;stop()&#039;&#039;&#039;: Stop media playback.&lt;br /&gt;
*&#039;&#039;&#039;fullscreen()&#039;&#039;&#039;: Switch the video to full screen.&lt;br /&gt;
*&#039;&#039;&#039;set_volume(vol)&#039;&#039;&#039;: Set the volume. &#039;&#039;&#039;vol&#039;&#039;&#039; has to be an int in the 0-200 range.&lt;br /&gt;
*&#039;&#039;&#039;get_volume()&#039;&#039;&#039;: Get the current volume setting.&lt;br /&gt;
*&#039;&#039;&#039;mute()&#039;&#039;&#039;: Toggle volume muting.&lt;br /&gt;
*&#039;&#039;&#039;set_int_variable(var_name, value)&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;set_bool_variable(var_name, value)&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;set_str_variable(var_name, value)&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;get_int_variable(var_name)&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;get_bool_variable(var_name)&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;get_str_variable(var_name)&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;clear_playlist()&#039;&#039;&#039;: Clear the playlist.&lt;br /&gt;
*&#039;&#039;&#039;add_item(mrl)&#039;&#039;&#039;: Append an item whose location is given by the [[media resource locator]] to the playlist.&lt;br /&gt;
*&#039;&#039;&#039;next()&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;previous()&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;isplaying()&#039;&#039;&#039;: return true if the plugin is playing something.&lt;br /&gt;
*&#039;&#039;&#039;get_length()&#039;&#039;&#039;: Get the media&#039;s length in seconds.&lt;br /&gt;
*&#039;&#039;&#039;get_position()&#039;&#039;&#039;: Get the current position in the media in percent.&lt;br /&gt;
*&#039;&#039;&#039;get_time()&#039;&#039;&#039;: Get the current position in the media in seconds.&lt;br /&gt;
*&#039;&#039;&#039;seek(seconds,is_relative)&#039;&#039;&#039;: If is_relative is true, seek relatively to current time, else seek from beginning of the stream. Seek time is specified in seconds.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Here are a few examples of HTML pages that use the&lt;br /&gt;
Mozilla plugin.&lt;br /&gt;
&lt;br /&gt;
===Example 1===&lt;br /&gt;
&lt;br /&gt;
In this example, the plugin will read an HTTP stream inside the web page. If the user goes fullscreen, he will have to press &#039;&#039;f&#039;&#039; or double-click on the video to go back in normal view.&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;html&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;head&amp;amp;gt;&amp;amp;lt;title&amp;amp;gt;Demo of VLC mozilla plugin&amp;amp;lt;/title&amp;amp;gt;&amp;amp;lt;/head&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;body&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;h1&amp;amp;gt;Demo of VLC mozilla plugin - Example 1&amp;amp;lt;/h1&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;embed type=&amp;quot;application/x-vlc-plugin&amp;quot;&lt;br /&gt;
          name=&amp;quot;video1&amp;quot;&lt;br /&gt;
          autoplay=&amp;quot;no&amp;quot; loop=&amp;quot;yes&amp;quot; width=&amp;quot;400&amp;quot; height=&amp;quot;300&amp;quot;&lt;br /&gt;
          target=&amp;quot;http://server.example.org/video1.vob&amp;quot; /&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;br /&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video1.play()&#039;&amp;amp;gt;Play video1&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video1.pause()&#039;&amp;amp;gt;Pause video1&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video1.stop()&#039;&amp;amp;gt;Stop video1&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video1.fullscreen()&#039;&amp;amp;gt;Fullscreen&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;/body&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/html&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Example 2===&lt;br /&gt;
&lt;br /&gt;
In this example, the plugin will read a multicast UDP/RTP stream in a dedicated video output window.&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;html&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;head&amp;amp;gt;&amp;amp;lt;title&amp;amp;gt;Demo of VLC mozilla plugin&amp;amp;lt;/title&amp;amp;gt;&amp;amp;lt;/head&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;body&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;h1&amp;amp;gt;Demo of VLC mozilla plugin - Example 2&amp;amp;lt;/h1&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;embed type=&amp;quot;application/x-vlc-plugin&amp;quot;&lt;br /&gt;
          name=&amp;quot;video2&amp;quot;&lt;br /&gt;
          autoplay=&amp;quot;no&amp;quot; loop=&amp;quot;no&amp;quot; hidden=&amp;quot;yes&amp;quot;&lt;br /&gt;
          target=&amp;quot;rtp://@239.255.12.42:5004&amp;quot; /&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;br /&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video2.play()&#039;&amp;amp;gt;Play video2&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video2.stop()&#039;&amp;amp;gt;Stop video2&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video2.fullscreen()&#039;&amp;amp;gt;Fullscreen&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;/body&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/html&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Documentation}}&lt;br /&gt;
[[Category:Embedded]]&lt;/div&gt;</summary>
		<author><name>Jpsaman</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=Documentation:WebPlugin&amp;diff=15607</id>
		<title>Documentation:WebPlugin</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=Documentation:WebPlugin&amp;diff=15607"/>
		<updated>2010-03-03T12:37:28Z</updated>

		<summary type="html">&lt;p&gt;Jpsaman: updated events&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Building HTML pages for Mozilla/Firefox/Internet Explorer/Safari ==&lt;br /&gt;
&lt;br /&gt;
The following description works for any of the browsers VLC supports. The JavaScript API has been unified between Mozilla/Firefox/IE (ActiveX) and Safari, thus targetting at all of the major OS out there. &lt;br /&gt;
&lt;br /&gt;
This is only valid for {{VLC}} version 0.8.6 and above.&lt;br /&gt;
&lt;br /&gt;
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&lt;br /&gt;
plugin.&lt;br /&gt;
&lt;br /&gt;
== API description ==&lt;br /&gt;
The vlc plugin exports serveral objects that can be accessed for setting and getting information. When used improperly the API&#039;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.&lt;br /&gt;
&lt;br /&gt;
The vlc plugin knows the following objects:&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;audio&#039;&#039;&#039;: Access audio properties.&lt;br /&gt;
*&#039;&#039;&#039;input&#039;&#039;&#039;: Access input properties.&lt;br /&gt;
*&#039;&#039;&#039;playlist&#039;&#039;&#039;: Access playlist properties.&lt;br /&gt;
*&#039;&#039;&#039;subtitle&#039;&#039;&#039;: Access subtitle properties.&lt;br /&gt;
*&#039;&#039;&#039;video&#039;&#039;&#039;: Access video properties.&lt;br /&gt;
*&#039;&#039;&#039;video.marquee&#039;&#039;&#039;: Access marquee video filter properties.&lt;br /&gt;
*&#039;&#039;&#039;video.logo&#039;&#039;&#039;: Access logo video filter properties.&lt;br /&gt;
*&#039;&#039;&#039;log&#039;&#039;&#039;: Access log properties.&lt;br /&gt;
*&#039;&#039;&#039;messages&#039;&#039;&#039;: Access to log message properties.&lt;br /&gt;
*&#039;&#039;&#039;iterator&#039;&#039;&#039;: Access to log iterator properties.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;html&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;title&amp;amp;gt;VLC Mozilla plugin test page&amp;amp;lt;/title&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;body&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;embed type=&amp;quot;application/x-vlc-plugin&amp;quot; pluginspage=&amp;quot;http://www.videolan.org&amp;quot; version=&amp;quot;VideoLAN.VLCPlugin.2&amp;quot;&lt;br /&gt;
     width=&amp;quot;640&amp;quot;&lt;br /&gt;
     height=&amp;quot;480&amp;quot;&lt;br /&gt;
     id=&amp;quot;vlc&amp;quot;&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/embed&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;script language=&amp;quot;Javascript&amp;quot;&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;!--&lt;br /&gt;
 var vlc = document.getElementById(&amp;quot;vlc&amp;quot;);&lt;br /&gt;
 vlc.audio.toggleMute();&lt;br /&gt;
 !--&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/script&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/body&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/html&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Root object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;VersionInfo&#039;&#039;&#039;: returns version information string&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;vlc.versionInfo()&#039;&#039;&#039;: returns version information string (same as VersionInfo)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;vlc.addEventListener(eventname, callback, bubble)&#039;&#039;&#039;: (only for Mozilla) add a listener for mentioned event name, callback expects a function and bubble influences the order of eventhandling by JS (usually it is set to false).&lt;br /&gt;
*&#039;&#039;&#039;vlc.removeEventListener(eventname, callback, bubble)&#039;&#039;&#039;: (only for Mozilla) remove listener for mentioned event name, callback expects a function and bubble influences the order of eventhandling by JS (usually it is set to false).&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;vlc.attachEvent(eventname, callback)&#039;&#039;&#039;: (only for ActiveX) add listener for mentioned event name, callback expects a function&lt;br /&gt;
*&#039;&#039;&#039;vlc.removeEvent(eventname, callback)&#039;&#039;&#039;: (only for ActiveX) remove listener for mentioned event name, callback expects a function&lt;br /&gt;
&lt;br /&gt;
events&lt;br /&gt;
*&#039;&#039;&#039;MediaPlayerNothingSpecial&#039;&#039;&#039;: vlc is in idle state doing nothing but waiting for a command to be issued&lt;br /&gt;
*&#039;&#039;&#039;MediaPlayerOpening&#039;&#039;&#039;: vlc is opening an media resource locator (MRL)&lt;br /&gt;
*&#039;&#039;&#039;MediaPlayerBuffering&#039;&#039;&#039;: vlc is buffering&lt;br /&gt;
*&#039;&#039;&#039;MediaPlayerPlaying&#039;&#039;&#039;: vlc is playing a media&lt;br /&gt;
*&#039;&#039;&#039;MediaPlayerPaused&#039;&#039;&#039;: vlc is in paused state&lt;br /&gt;
*&#039;&#039;&#039;MediaPlayerForward&#039;&#039;&#039;: vlc is fastforwarding through the media (works only when an input supports forward playback)&lt;br /&gt;
*&#039;&#039;&#039;MediaPlayerBackward&#039;&#039;&#039;: vlc is going backwards through the media (works only when an input supports backwards playback)&lt;br /&gt;
*&#039;&#039;&#039;MediaPlayerEncounteredError&#039;&#039;&#039;: vlc has encountered an error and is unable to continue&lt;br /&gt;
*&#039;&#039;&#039;MediaPlayerEndReached&#039;&#039;&#039;: vlc has reached the end of current playlist&lt;br /&gt;
*&#039;&#039;&#039;MediaPlayerTimeChanged&#039;&#039;&#039;: time has changed&lt;br /&gt;
*&#039;&#039;&#039;MediaPlayerPositionChanged&#039;&#039;&#039;: media position has changed&lt;br /&gt;
*&#039;&#039;&#039;MediaPlayerSeekableChanged&#039;&#039;&#039;: media seekable flag has changed (true means media is seekable, false means it is not)&lt;br /&gt;
*&#039;&#039;&#039;MediaPlayerPausableChanged&#039;&#039;&#039;: media pausable flag has changed (true means media is pausaable, false means it is not)&lt;br /&gt;
*&#039;&#039;&#039;MediaPlayerMouseGrab&#039;&#039;&#039;: vlc video filter (eg: logo) detected a object movement in its video window and returns new X and Y coordinates&lt;br /&gt;
&lt;br /&gt;
The following code snippit provides easy functions to register and unregister event callbacks on all supported platforms (currently only Linux mozilla based browsers and windows activeX objects for Internet Explorer).&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;SCRIPT language=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;amp;lt;!--&lt;br /&gt;
 function registerVLCEvent(event, handler)&lt;br /&gt;
 {&lt;br /&gt;
    var vlc = getVLC(&amp;quot;vlc&amp;quot;);&lt;br /&gt;
    if (vlc) {&lt;br /&gt;
        if (vlc.attachEvent) {&lt;br /&gt;
            // Microsoft&lt;br /&gt;
            vlc.attachEvent (event, handler);&lt;br /&gt;
        } else if (vlc.addEventListener) {&lt;br /&gt;
            // Mozilla: DOM level 2&lt;br /&gt;
            vlc.addEventListener (event, handler, false);&lt;br /&gt;
        } else {&lt;br /&gt;
            // DOM level 0&lt;br /&gt;
            eval(&amp;quot;vlc.on&amp;quot; + event + &amp;quot; = handler&amp;quot;);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
 }&lt;br /&gt;
 // stop listening to event&lt;br /&gt;
 function unregisterVLCEvent(event, handler)&lt;br /&gt;
 {&lt;br /&gt;
    var vlc = getVLC(&amp;quot;vlc&amp;quot;);&lt;br /&gt;
    if (vlc) {&lt;br /&gt;
        if (vlc.detachEvent) {&lt;br /&gt;
            // Microsoft&lt;br /&gt;
            vlc.detachEvent (event, handler);&lt;br /&gt;
        } else if (vlc.removeEventListener) {&lt;br /&gt;
            // Mozilla: DOM level 2&lt;br /&gt;
            vlc.removeEventListener (event, handler, false);&lt;br /&gt;
        } else {&lt;br /&gt;
            // DOM level 0&lt;br /&gt;
            eval(&amp;quot;vlc.on&amp;quot; + event + &amp;quot; = null&amp;quot;);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
 }&lt;br /&gt;
 // event callback function for testing&lt;br /&gt;
 function handleEvents(event)&lt;br /&gt;
 {&lt;br /&gt;
    if (!event)&lt;br /&gt;
        event = window.event; // IE&lt;br /&gt;
    if (event.target) {&lt;br /&gt;
        // Netscape based browser&lt;br /&gt;
        targ = event.target;&lt;br /&gt;
    } else if (event.srcElement) {&lt;br /&gt;
        // ActiveX&lt;br /&gt;
        targ = event.srcElement;&lt;br /&gt;
    } else {&lt;br /&gt;
        // No event object, just the value&lt;br /&gt;
        alert(&amp;quot;Event value&amp;quot; + event );&lt;br /&gt;
        return;&lt;br /&gt;
    }&lt;br /&gt;
    if (targ.nodeType == 3) // defeat Safari bug&lt;br /&gt;
        targ = targ.parentNode;&lt;br /&gt;
    alert(&amp;quot;Event &amp;quot; + event.type + &amp;quot; has fired from &amp;quot; + targ );&lt;br /&gt;
 }&lt;br /&gt;
 // handle mouse grab event from video filter&lt;br /&gt;
 function handleMouseGrab(event,X,Y)&lt;br /&gt;
 {&lt;br /&gt;
    if (!event)&lt;br /&gt;
        event = window.event; // IE&lt;br /&gt;
    alert(&amp;quot;new position (&amp;quot; + X + &amp;quot;,&amp;quot; + Y + &amp;quot;)&amp;quot;);&lt;br /&gt;
 }&lt;br /&gt;
 // Register a bunch of callbacks.&lt;br /&gt;
 registerVLCEvent(&#039;MediaPlayerNothingSpecial&#039;, handleEvents);&lt;br /&gt;
 registerVLCEvent(&#039;MediaPlayerOpening&#039;, handleEvents);&lt;br /&gt;
 registerVLCEvent(&#039;MediaPlayerBuffering&#039;, handleEvents);&lt;br /&gt;
 registerVLCEvent(&#039;MediaPlayerPlaying&#039;, handleEvents);&lt;br /&gt;
 registerVLCEvent(&#039;MediaPlayerPaused&#039;, handleEvents);&lt;br /&gt;
 registerVLCEvent(&#039;MediaPlayerForward&#039;, handleEvents);&lt;br /&gt;
 registerVLCEvent(&#039;MediaPlayerBackward&#039;, handleEvents);&lt;br /&gt;
 registerVLCEvent(&#039;MediaPlayerEncounteredError&#039;, handleEvents);&lt;br /&gt;
 registerVLCEvent(&#039;MediaPlayerEndReached&#039;, handleEvents);&lt;br /&gt;
 registerVLCEvent(&#039;MediaPlayerTimeChanged&#039;, handleEvents);&lt;br /&gt;
 registerVLCEvent(&#039;MediaPlayerPositionChanged&#039;, handleEvents);&lt;br /&gt;
 registerVLCEvent(&#039;MediaPlayerSeekableChanged&#039;, handleEvents);&lt;br /&gt;
 registerVLCEvent(&#039;MediaPlayerPausableChanged&#039;, handleEvents);&lt;br /&gt;
 registerVLCEvent(&#039;MediaPlayerMouseGrab&#039;, handleMouseGrab);&lt;br /&gt;
 &amp;lt;/script&amp;gt;&lt;br /&gt;
 --&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Audio object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.audio.count&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) returns the number of audio track available.&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.audio.mute&#039;&#039;&#039;: boolean value to mute and ummute the audio.&lt;br /&gt;
*&#039;&#039;&#039;vlc.audio.volume&#039;&#039;&#039;: a value between [0-200] which indicates a percentage of the volume.&lt;br /&gt;
*&#039;&#039;&#039;vlc.audio.track&#039;&#039;&#039;: (supported in vlc version &amp;gt; 0.8.6) a value between [1-65535] which indicates the audio track to play or that is playing. a value of 0 means the audio is/will be disabled.&lt;br /&gt;
*&#039;&#039;&#039;vlc.audio.channel&#039;&#039;&#039;: (supported in vlc version &amp;gt; 0.8.6) integer value between [1-5] that indicates which audio channel mode is used, values can be: &amp;quot;1=stereo&amp;quot;, &amp;quot;2=reverse stereo&amp;quot;, &amp;quot;3=left&amp;quot;, &amp;quot;4=right&amp;quot;, &amp;quot;5=dolby&amp;quot;. Use vlc.audio.channel to check if setting of the audio channel mode has succeeded.&lt;br /&gt;
&lt;br /&gt;
 Audio Channel:&lt;br /&gt;
 &amp;lt;SELECT readonly onChange=&#039;doAudioChannel(this.value)&#039;&amp;gt;&lt;br /&gt;
    &amp;lt;OPTION value=1&amp;gt;Stereo&amp;lt;/OPTION&amp;gt;&lt;br /&gt;
    &amp;lt;OPTION value=2&amp;gt;Reverse stereo&amp;lt;/OPTION&amp;gt;&lt;br /&gt;
    &amp;lt;OPTION value=3&amp;gt;Left&amp;lt;/OPTION&amp;gt;&lt;br /&gt;
    &amp;lt;OPTION value=4&amp;gt;Right&amp;lt;/OPTION&amp;gt;&lt;br /&gt;
    &amp;lt;OPTION value=5&amp;gt;Dolby&amp;lt;/OPTION&amp;gt;&lt;br /&gt;
 &amp;lt;/SELECT&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;SCRIPT language=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;amp;lt;!--&lt;br /&gt;
 function doAudioChannel(value)&lt;br /&gt;
 {&lt;br /&gt;
    var vlc = getVLC(&amp;quot;vlc&amp;quot;);&lt;br /&gt;
    vlc.audio.channel = parseInt(value);&lt;br /&gt;
    alert(vlc.audio.channel);&lt;br /&gt;
 };&lt;br /&gt;
 --&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;vlc.audio.toggleMute()&#039;&#039;&#039;: boolean toggle that mutes and unmutes the audio based upon the previous state.&lt;br /&gt;
*&#039;&#039;&#039;vlc.audio.description(int i)&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) give the i-th audio track name. 0 corresponds to disable and 1 to the first audio track.&lt;br /&gt;
&lt;br /&gt;
====Input object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.length&#039;&#039;&#039;: length of the input file in number of milliseconds. 0 is returned for &#039;live&#039; streams or clips whose length cannot be determined by VLC. It returns -1 if no input is playing. &lt;br /&gt;
*&#039;&#039;&#039;vlc.input.fps&#039;&#039;&#039;: frames per second returned as a float (typically 60.0, 50.0, 23.976, etc...)&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.hasVout&#039;&#039;&#039;: a boolean that returns true when the video is being displayed, it returns false when video is not displayed&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.position&#039;&#039;&#039;: normalized position in multimedia stream item given as a float value between [0.0 - 1.0]&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.time&#039;&#039;&#039;: the absolute position in time given in milliseconds, this property can be used to seek through the stream&lt;br /&gt;
 &amp;amp;lt;!-- absolute seek in stream !--&amp;amp;gt;&lt;br /&gt;
 vlc.input.time = &amp;amp;lt;absolute seek&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;!-- relative seek in stream !--&amp;amp;gt;&lt;br /&gt;
 vlc.input.time = vlc.input.time + &amp;amp;lt;relative seek&amp;amp;gt;&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.state&#039;&#039;&#039;: current state of the input chain given as enumeration (IDLE=0, OPENING=1, BUFFERING=2, PLAYING=3, PAUSED=4, STOPPING=5, ENDED=6, ERROR=7). Note: Test for ENDED=6 to catch end of playback. Checking for STOPPING=5 is NOT ENOUGH.&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.rate&#039;&#039;&#039;: input speed given as float (1.0 for normal speed, 0.5 for half speed, 2.0 for twice as fast, etc.).&lt;br /&gt;
 rate &amp;amp;gt; 1              : is fastforward&lt;br /&gt;
 rate &amp;amp;gt; 0 and rate &amp;amp;lt; 1 : is slow motion&lt;br /&gt;
 rate &amp;amp;lt; 0              : is rewind&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Playlist object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.itemCount&#039;&#039;&#039;: number that returns the amount of items currently in the playlist (&#039;&#039;&#039;deprecated&#039;&#039;&#039;, do not use, see [[#Playlist_items_object| Playlist items]])&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.isPlaying&#039;&#039;&#039;: a boolean that returns true if the current playlist item is playing and false when it is not playing&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.items&#039;&#039;&#039;: return the playlist items collection, see [[#Playlist_items_object| Playlist items]]&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.add(mrl)&#039;&#039;&#039;: add a playlist item as [[MRL]]. The MRL must be given as a string. Returns a number as an item identifier in playlist (this is not a position  in playlist).&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.add(mrl,name,options)&#039;&#039;&#039;: add a playlist item as MRL, with metaname &#039;name&#039; and options &#039;options&#039;. options are text arguments which can be provided either as a single string containing space separated values, akin to VLC command line, or as an array of string values. Returns a number as an item identifier in playlist (this is not a position in playlist).&lt;br /&gt;
  var options = new Array(&amp;quot;:aspect-ratio=4:3&amp;quot;, &amp;quot;--rtsp-tcp&amp;quot;);&lt;br /&gt;
  var id = vlc.playlist.add(&amp;quot;rtsp://servername/item/to/play&amp;quot;, &amp;quot;fancy name&amp;quot;, options);&lt;br /&gt;
  vlc.playlist.playItem(id);&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.play()&#039;&#039;&#039;: start playing the current playlist item&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.playItem(number)&#039;&#039;&#039;: start playing the item whose identifier is number&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.togglePause()&#039;&#039;&#039;: toggle the pause state for the current playlist item&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.stop()&#039;&#039;&#039;: stop playing the current playlist item&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.next()&#039;&#039;&#039;: iterate to the next playlist item&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.prev()&#039;&#039;&#039;: iterate to the previous playlist item&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.clear()&#039;&#039;&#039;: empty the current playlist, all items will be deleted from the playlist (&#039;&#039;&#039;deprecated&#039;&#039;&#039;, do not use, see [[#Playlist_items_object| Playlist items]])&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.removeItem(number)&#039;&#039;&#039;: remove the item from playlist whose identifier is number &amp;lt;!-- (note: this number isn&#039;t the position in the playlist, but the number given by vlc.playlist.add() ) --&amp;gt; (&#039;&#039;&#039;deprecated&#039;&#039;&#039;, do not use, see [[#Playlist_items_object| Playlist items]])&lt;br /&gt;
&lt;br /&gt;
====Playlist items object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.items.count&#039;&#039;&#039;: number of items currently in the playlist&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.items.clear()&#039;&#039;&#039;: empty the current playlist, all items will be deleted from the playlist. If a movie is playing, it stop. Note that when this method returns, playlist may not have been entirely been cleared as this operation is performed asynchronously; use the &#039;&#039;count&#039;&#039; property to verify/wait until the playlist is empty.&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.items.remove(number)&#039;&#039;&#039;: remove the item whose identifier is number from playlist. (note: this number isn&#039;t the position in the playlist, but the number given by vlc.playlist.add() )&lt;br /&gt;
&lt;br /&gt;
====Subtitle object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;vlc.subtitle.count&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) returns the number of subtitle available.&lt;br /&gt;
&lt;br /&gt;
read/write properties &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;vlc.subtitle.track&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) get and set the subtitle track to show on the video screen. The property takes an integer as input value [1..65535]. If subtitle track is set to 0, the subtitles will be disabled. If set to a value outside the current subtitle tracks range, then it will return -1 and display an error message.&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;vlc.subtitle.description(int i)&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) give the i-th subtitle name. 0 correspond to disable and 1 to the first subtitle.&lt;br /&gt;
&lt;br /&gt;
====Video object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.width&#039;&#039;&#039;: returns the horizontal size of the video&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.height&#039;&#039;&#039;: returns the vertical size of the video&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.fullscreen&#039;&#039;&#039;: 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.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.aspectRatio&#039;&#039;&#039;: get and set the aspect ratio to use in the video screen. The property takes a string as input value. Typical values are: &amp;quot;1:1&amp;quot;, &amp;quot;4:3&amp;quot;, &amp;quot;16:9&amp;quot;, &amp;quot;16:10&amp;quot;, &amp;quot;221:100&amp;quot; and &amp;quot;5:4&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.subtitle&#039;&#039;&#039;: (supported in vlc version &amp;gt; 0.8.6a) get and set the subtitle track to show on the video screen. The property takes an integer as input value [1..65535]. If subtitle track is set to 0, the subtitles will be disabled. If set to a value outside the current subtitle tracks range, then it will return -1 and display an error message.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.teletext&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 0.9.0) get and set teletext page to show on the video stream. This will only work if a teletext elementary stream is available in the video stream. The property takes an integer as input value [0..999] for indicating the teletext page to view, setting the value to 0 means hide teletext. On error it will return -1 and display an error message.&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.toggleFullscreen()&#039;&#039;&#039;: toggle the fullscreen mode based on the previous setting&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.toggleTeletext()&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 0.9.0) toggle the teletext page to overlay transparent or not, based on the previous setting&lt;br /&gt;
&lt;br /&gt;
=====Deinterlace Object=====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.deinterlace.enable(&amp;quot;my_mode&amp;quot;)&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) enable deinterlacing with my_mode. You can enable it with &amp;quot;blend&amp;quot;, &amp;quot;bob&amp;quot;, &amp;quot;discard&amp;quot;, &amp;quot;linear&amp;quot;, &amp;quot;mean&amp;quot; or &amp;quot;x&amp;quot; mode. Enabling too soon deinterlacing may cause some problems. You have to wait that all variable are available before enabling it.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.deinterlace.disable()&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) disable deinterlacing.&lt;br /&gt;
&lt;br /&gt;
=====Marquee Object=====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.marquee.text&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) display my text on the screen.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.marquee.color&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change the text color. val is the new color to use (WHITE=0x000000, BLACK=0xFFFFFF, RED=0xFF0000, GREEN=0x00FF00, BLUE=0x0000FF...).&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.marquee.opacity&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change the text opacity, val is defined from 0 (completely transparent) to 255 (completely opaque).&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.marquee.position&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change the text position (CENTER=0, LEFT=1, RIGHT=2, TOP=4, TOP-LEFT=5, TOP-RIGHT=6, BOTTOM=8, BOTTOM-LEFT=9, BOTTOM_RIGHT=10).&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.marquee.refresh&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change the marquee refresh period.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.marquee.size&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) val define the new size for the text displayed on the screen. If the text is bigger than the screen then the text is not displayed.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.marquee.timeout&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change the timeout value. val is defined in ms, but 0 value correspond to unlimited.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.marquee.x&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change text abscissa.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.marquee.y&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change text ordinate.&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.marquee.enable()&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) enable marquee filter.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.marquee.disable()&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) disable marquee filter.&lt;br /&gt;
&lt;br /&gt;
Some problems may happen (option like color or text will not be applied) because of the VLC asynchronous functioning. To avoid it, after enabling marquee, you have to wait a little time before changing an option. But it should be fixed by the new vout implementation.&lt;br /&gt;
&lt;br /&gt;
=====Logo Object=====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.logo.opacity&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change the picture opacity, val is defined from 0 (completely transparent) to 255 (completely opaque).&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.logo.position&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change the text position (&amp;quot;center&amp;quot;, &amp;quot;left&amp;quot;, &amp;quot;right&amp;quot;, &amp;quot;top&amp;quot;, &amp;quot;top-left&amp;quot;, &amp;quot;top-right&amp;quot;, &amp;quot;bottom&amp;quot;, &amp;quot;bottom-left&amp;quot;, &amp;quot;bottom-right&amp;quot;).&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.logo.delay&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) display each picture for a duration of 1000 ms (default) before displaying the next  picture.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.logo.repeat&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) number of loops for picture animation (-1=continuous, 0=disabled, n=n-times). The default is -1 (continuous).&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.logo.x&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change the x-offset for displaying the picture counting from top-left on the screen.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.logo.y&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change the y-offset for displaying the picture counting from top-left on the screen.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.logo.width&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change the picture width.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.logo.height&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change the picture height.&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.logo.enable()&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) enable logo video filter.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.logo.disable()&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) disable logo video filter.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.logo.file(&amp;quot;file.png&amp;quot;)&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) display my file.png as logo on the screen.&lt;br /&gt;
&lt;br /&gt;
Some problems may happen because of the VLC asynchronous functioning. To avoid it, after enabling logo video filter, you have to wait a little time before changing an option. But it should be fixed by the new vout implementation.&lt;br /&gt;
&lt;br /&gt;
====Log object====&lt;br /&gt;
: &#039;&#039;&#039;CAUTION&#039;&#039;&#039;: For security concern, VLC 1.0.0-rc1 is the latest (near-to-stable) version in which this object and its children are supported.&lt;br /&gt;
&lt;br /&gt;
This object allows accessing VLC main message logging queue. Typically this queue capacity is very small (no nore than 256 entries) and can easily overflow, therefore messages should be read and cleared as often as possible.&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.log.messages&#039;&#039;&#039;: returns the message collection, see [[#Messages object|Messages object]]&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.log.verbosity&#039;&#039;&#039;: write number [-1,0,1,2,3] for changing the verbosity level of the log messages; messages whose verbosity is higher than set will be not be logged in the queue. The numbers have the following meaning: -1 disable, 0 info, 1 error, 2 warning, 3 debug. &lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Messages object====&lt;br /&gt;
: &#039;&#039;&#039;CAUTION&#039;&#039;&#039;: For security concern, VLC 1.0.0-rc1 is the latest (near-to-stable) version in which this object and its children are supported.&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;messages.count&#039;&#039;&#039;: returns number of messages in the log&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;messages.clear()&#039;&#039;&#039;: clear the current log buffer. It should be called as frequently as possible to not overflow the message queue. Call this method after the log messages of interest are read.&lt;br /&gt;
*&#039;&#039;&#039;messages.iterator()&#039;&#039;&#039;: creates and returns an iterator object, used to iterate over the messages in the log. &#039;&#039;&#039;Don&#039;t clear the log buffer while holding an iterator object.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Messages Iterator object====&lt;br /&gt;
: &#039;&#039;&#039;CAUTION&#039;&#039;&#039;: For security concern, VLC 1.0.0-rc1 is the latest (near-to-stable) version in which this object and its children are supported.&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;iterator.hasNext&#039;&#039;&#039;: returns a boolean that indicates whether &#039;&#039;vlc.log.messages.next()&#039;&#039; will return the next message.&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;iterator.next()&#039;&#039;&#039;: returns the next message object in the log, see [[Message object]]&lt;br /&gt;
&lt;br /&gt;
====Message object====&lt;br /&gt;
: &#039;&#039;&#039;CAUTION&#039;&#039;&#039;: For security concern, VLC 1.0.0-rc1 is the latest (near-to-stable) version in which this object and its children are supported.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;message.severity&#039;&#039;&#039;: number that indicates the severity of the log message (0 = info, 1 = error, 2 = warning, 3 = debug)&lt;br /&gt;
*&#039;&#039;&#039;message.name&#039;&#039;&#039;: name of VLC module that printed the log message (e.g: main, http, directx, etc...)&lt;br /&gt;
*&#039;&#039;&#039;message.type&#039;&#039;&#039;: type of VLC module that printed the log message (eg: input, access, vout, sout, etc...)&lt;br /&gt;
*&#039;&#039;&#039;message.message&#039;&#039;&#039;: the message text&lt;br /&gt;
&lt;br /&gt;
==Build HTML pages that use the plugin (VLC version up to 0.8.5)==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;WARNING:&#039;&#039;&#039; the APIs described in this section are &#039;&#039;&#039;deprecated&#039;&#039;&#039;, do not use. They no longer work on recent VLC version (&amp;gt; 0.8.5), either it being the ActiveX (Internet Explorer)/ Safari or Mozilla based browsers.&lt;br /&gt;
&lt;br /&gt;
The following API description is only valid uptill version 0.8.5 of the mozilla plugin.&lt;br /&gt;
&lt;br /&gt;
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&lt;br /&gt;
plugin.&lt;br /&gt;
&lt;br /&gt;
The vlc plugin supports the following function calls:&lt;br /&gt;
*&#039;&#039;&#039;play()&#039;&#039;&#039;: Start playing media in the plugin.&lt;br /&gt;
*&#039;&#039;&#039;pause()&#039;&#039;&#039;: Pause playback.&lt;br /&gt;
*&#039;&#039;&#039;stop()&#039;&#039;&#039;: Stop media playback.&lt;br /&gt;
*&#039;&#039;&#039;fullscreen()&#039;&#039;&#039;: Switch the video to full screen.&lt;br /&gt;
*&#039;&#039;&#039;set_volume(vol)&#039;&#039;&#039;: Set the volume. &#039;&#039;&#039;vol&#039;&#039;&#039; has to be an int in the 0-200 range.&lt;br /&gt;
*&#039;&#039;&#039;get_volume()&#039;&#039;&#039;: Get the current volume setting.&lt;br /&gt;
*&#039;&#039;&#039;mute()&#039;&#039;&#039;: Toggle volume muting.&lt;br /&gt;
*&#039;&#039;&#039;set_int_variable(var_name, value)&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;set_bool_variable(var_name, value)&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;set_str_variable(var_name, value)&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;get_int_variable(var_name)&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;get_bool_variable(var_name)&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;get_str_variable(var_name)&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;clear_playlist()&#039;&#039;&#039;: Clear the playlist.&lt;br /&gt;
*&#039;&#039;&#039;add_item(mrl)&#039;&#039;&#039;: Append an item whose location is given by the [[media resource locator]] to the playlist.&lt;br /&gt;
*&#039;&#039;&#039;next()&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;previous()&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;isplaying()&#039;&#039;&#039;: return true if the plugin is playing something.&lt;br /&gt;
*&#039;&#039;&#039;get_length()&#039;&#039;&#039;: Get the media&#039;s length in seconds.&lt;br /&gt;
*&#039;&#039;&#039;get_position()&#039;&#039;&#039;: Get the current position in the media in percent.&lt;br /&gt;
*&#039;&#039;&#039;get_time()&#039;&#039;&#039;: Get the current position in the media in seconds.&lt;br /&gt;
*&#039;&#039;&#039;seek(seconds,is_relative)&#039;&#039;&#039;: If is_relative is true, seek relatively to current time, else seek from beginning of the stream. Seek time is specified in seconds.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Here are a few examples of HTML pages that use the&lt;br /&gt;
Mozilla plugin.&lt;br /&gt;
&lt;br /&gt;
===Example 1===&lt;br /&gt;
&lt;br /&gt;
In this example, the plugin will read an HTTP stream inside the web page. If the user goes fullscreen, he will have to press &#039;&#039;f&#039;&#039; or double-click on the video to go back in normal view.&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;html&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;head&amp;amp;gt;&amp;amp;lt;title&amp;amp;gt;Demo of VLC mozilla plugin&amp;amp;lt;/title&amp;amp;gt;&amp;amp;lt;/head&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;body&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;h1&amp;amp;gt;Demo of VLC mozilla plugin - Example 1&amp;amp;lt;/h1&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;embed type=&amp;quot;application/x-vlc-plugin&amp;quot;&lt;br /&gt;
          name=&amp;quot;video1&amp;quot;&lt;br /&gt;
          autoplay=&amp;quot;no&amp;quot; loop=&amp;quot;yes&amp;quot; width=&amp;quot;400&amp;quot; height=&amp;quot;300&amp;quot;&lt;br /&gt;
          target=&amp;quot;http://server.example.org/video1.vob&amp;quot; /&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;br /&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video1.play()&#039;&amp;amp;gt;Play video1&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video1.pause()&#039;&amp;amp;gt;Pause video1&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video1.stop()&#039;&amp;amp;gt;Stop video1&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video1.fullscreen()&#039;&amp;amp;gt;Fullscreen&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;/body&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/html&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Example 2===&lt;br /&gt;
&lt;br /&gt;
In this example, the plugin will read a multicast UDP/RTP stream in a dedicated video output window.&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;html&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;head&amp;amp;gt;&amp;amp;lt;title&amp;amp;gt;Demo of VLC mozilla plugin&amp;amp;lt;/title&amp;amp;gt;&amp;amp;lt;/head&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;body&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;h1&amp;amp;gt;Demo of VLC mozilla plugin - Example 2&amp;amp;lt;/h1&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;embed type=&amp;quot;application/x-vlc-plugin&amp;quot;&lt;br /&gt;
          name=&amp;quot;video2&amp;quot;&lt;br /&gt;
          autoplay=&amp;quot;no&amp;quot; loop=&amp;quot;no&amp;quot; hidden=&amp;quot;yes&amp;quot;&lt;br /&gt;
          target=&amp;quot;rtp://@239.255.12.42:5004&amp;quot; /&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;br /&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video2.play()&#039;&amp;amp;gt;Play video2&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video2.stop()&#039;&amp;amp;gt;Stop video2&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video2.fullscreen()&#039;&amp;amp;gt;Fullscreen&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;/body&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/html&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Documentation}}&lt;br /&gt;
[[Category:Embedded]]&lt;/div&gt;</summary>
		<author><name>Jpsaman</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=Documentation:WebPlugin&amp;diff=15533</id>
		<title>Documentation:WebPlugin</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=Documentation:WebPlugin&amp;diff=15533"/>
		<updated>2010-02-16T22:17:40Z</updated>

		<summary type="html">&lt;p&gt;Jpsaman: Describe arguments values from Mouse events&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Building HTML pages for Mozilla/Firefox/Internet Explorer/Safari ==&lt;br /&gt;
&lt;br /&gt;
The following description works for any of the browsers VLC supports. The JavaScript API has been unified between Mozilla/Firefox/IE (ActiveX) and Safari, thus targetting at all of the major OS out there. &lt;br /&gt;
&lt;br /&gt;
This is only valid for {{VLC}} version 0.8.6 and above.&lt;br /&gt;
&lt;br /&gt;
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&lt;br /&gt;
plugin.&lt;br /&gt;
&lt;br /&gt;
== API description ==&lt;br /&gt;
The vlc plugin exports serveral objects that can be accessed for setting and getting information. When used improperly the API&#039;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.&lt;br /&gt;
&lt;br /&gt;
The vlc plugin knows the following objects:&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;audio&#039;&#039;&#039;: Access audio properties.&lt;br /&gt;
*&#039;&#039;&#039;input&#039;&#039;&#039;: Access input properties.&lt;br /&gt;
*&#039;&#039;&#039;playlist&#039;&#039;&#039;: Access playlist properties.&lt;br /&gt;
*&#039;&#039;&#039;subtitle&#039;&#039;&#039;: Access subtitle properties.&lt;br /&gt;
*&#039;&#039;&#039;video&#039;&#039;&#039;: Access video properties.&lt;br /&gt;
*&#039;&#039;&#039;video.marquee&#039;&#039;&#039;: Access marquee video filter properties.&lt;br /&gt;
*&#039;&#039;&#039;video.logo&#039;&#039;&#039;: Access logo video filter properties.&lt;br /&gt;
*&#039;&#039;&#039;log&#039;&#039;&#039;: Access log properties.&lt;br /&gt;
*&#039;&#039;&#039;messages&#039;&#039;&#039;: Access to log message properties.&lt;br /&gt;
*&#039;&#039;&#039;iterator&#039;&#039;&#039;: Access to log iterator properties.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;html&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;title&amp;amp;gt;VLC Mozilla plugin test page&amp;amp;lt;/title&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;body&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;embed type=&amp;quot;application/x-vlc-plugin&amp;quot; pluginspage=&amp;quot;http://www.videolan.org&amp;quot; version=&amp;quot;VideoLAN.VLCPlugin.2&amp;quot;&lt;br /&gt;
     width=&amp;quot;640&amp;quot;&lt;br /&gt;
     height=&amp;quot;480&amp;quot;&lt;br /&gt;
     id=&amp;quot;vlc&amp;quot;&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/embed&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;script language=&amp;quot;Javascript&amp;quot;&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;!--&lt;br /&gt;
 var vlc = document.getElementById(&amp;quot;vlc&amp;quot;);&lt;br /&gt;
 vlc.audio.toggleMute();&lt;br /&gt;
 !--&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/script&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/body&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/html&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Root object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;VersionInfo&#039;&#039;&#039;: returns version information string&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;vlc.versionInfo()&#039;&#039;&#039;: returns version information string (same as VersionInfo)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;vlc.addEventListener(eventname, callback, bubble)&#039;&#039;&#039;: (only for Mozilla) add a listener for mentioned event name, callback expects a function and bubble influences the order of eventhandling by JS (usually it is set to false).&lt;br /&gt;
*&#039;&#039;&#039;vlc.removeEventListener(eventname, callback, bubble)&#039;&#039;&#039;: (only for Mozilla) remove listener for mentioned event name, callback expects a function and bubble influences the order of eventhandling by JS (usually it is set to false).&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;vlc.attachEvent(eventname, callback)&#039;&#039;&#039;: (only for ActiveX) add listener for mentioned event name, callback expects a function&lt;br /&gt;
*&#039;&#039;&#039;vlc.removeEvent(eventname, callback)&#039;&#039;&#039;: (only for ActiveX) remove listener for mentioned event name, callback expects a function&lt;br /&gt;
&lt;br /&gt;
events&lt;br /&gt;
*&#039;&#039;&#039;NothingSpecial&#039;&#039;&#039;: vlc is in idle state doing nothing but waiting for a command to be issued&lt;br /&gt;
*&#039;&#039;&#039;Opening&#039;&#039;&#039;: vlc is opening an media resource locator (MRL)&lt;br /&gt;
*&#039;&#039;&#039;Buffering&#039;&#039;&#039;: vlc is buffering&lt;br /&gt;
*&#039;&#039;&#039;Playing&#039;&#039;&#039;: vlc is playing a media&lt;br /&gt;
*&#039;&#039;&#039;Paused&#039;&#039;&#039;: vlc is in paused state&lt;br /&gt;
*&#039;&#039;&#039;Forward&#039;&#039;&#039;: vlc is fastforwarding through the media (works only when an input supports forward playback)&lt;br /&gt;
*&#039;&#039;&#039;Backward&#039;&#039;&#039;: vlc is going backwards through the media (works only when an input supports backwards playback)&lt;br /&gt;
*&#039;&#039;&#039;EncounteredError&#039;&#039;&#039;: vlc has encountered an error and is unable to continue&lt;br /&gt;
*&#039;&#039;&#039;EndReached&#039;&#039;&#039;: vlc has reached the end of current playlist&lt;br /&gt;
*&#039;&#039;&#039;TimeChanged&#039;&#039;&#039;: time has changed&lt;br /&gt;
*&#039;&#039;&#039;PositionChanged&#039;&#039;&#039;: media position has changed&lt;br /&gt;
*&#039;&#039;&#039;SeekableChanged&#039;&#039;&#039;: media seekable flag has changed (true means media is seekable, false means it is not)&lt;br /&gt;
*&#039;&#039;&#039;PausableChanged&#039;&#039;&#039;: media pausable flag has changed (true means media is pausaable, false means it is not)&lt;br /&gt;
*&#039;&#039;&#039;MouseMoved&#039;&#039;&#039;: vlc detected a mouse movement in its video window. It returns x and y coordinates in vlc video output window.&lt;br /&gt;
*&#039;&#039;&#039;MouseButton&#039;&#039;&#039;: vlc detected a mouse button event in its video window and returns a boolean for the buttons clicked, in order: mb_left, mb_center, mb_right, mb_wheel_up, mb_wheel_down&lt;br /&gt;
*&#039;&#039;&#039;MouseClick&#039;&#039;&#039;: vlc detected a mouse click in its video window&lt;br /&gt;
*&#039;&#039;&#039;MouseObject&#039;&#039;&#039;: vlc video filter (eg: logo) detected a object movement in its video window&lt;br /&gt;
&lt;br /&gt;
The following code snippit provides easy functions to register and unregister event callbacks on all supported platforms (currently only Linux mozilla based browsers and windows activeX objects for Internet Explorer).&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;SCRIPT language=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;amp;lt;!--&lt;br /&gt;
 function registerVLCEvent(event, handler)&lt;br /&gt;
 {&lt;br /&gt;
    var vlc = getVLC(&amp;quot;vlc&amp;quot;);&lt;br /&gt;
    if (vlc) {&lt;br /&gt;
        if (vlc.attachEvent) {&lt;br /&gt;
            // Microsoft&lt;br /&gt;
            vlc.attachEvent (event, handler);&lt;br /&gt;
        } else if (vlc.addEventListener) {&lt;br /&gt;
            // Mozilla: DOM level 2&lt;br /&gt;
            vlc.addEventListener (event, handler, false);&lt;br /&gt;
        } else {&lt;br /&gt;
            // DOM level 0&lt;br /&gt;
            eval(&amp;quot;vlc.on&amp;quot; + event + &amp;quot; = handler&amp;quot;);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
 }&lt;br /&gt;
 // stop listening to event&lt;br /&gt;
 function unregisterVLCEvent(event, handler)&lt;br /&gt;
 {&lt;br /&gt;
    var vlc = getVLC(&amp;quot;vlc&amp;quot;);&lt;br /&gt;
    if (vlc) {&lt;br /&gt;
        if (vlc.detachEvent) {&lt;br /&gt;
            // Microsoft&lt;br /&gt;
            vlc.detachEvent (event, handler);&lt;br /&gt;
        } else if (vlc.removeEventListener) {&lt;br /&gt;
            // Mozilla: DOM level 2&lt;br /&gt;
            vlc.removeEventListener (event, handler, false);&lt;br /&gt;
        } else {&lt;br /&gt;
            // DOM level 0&lt;br /&gt;
            eval(&amp;quot;vlc.on&amp;quot; + event + &amp;quot; = null&amp;quot;);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
 }&lt;br /&gt;
 // event callback function for testing&lt;br /&gt;
 function handleEvents(event)&lt;br /&gt;
 {&lt;br /&gt;
    if (!event)&lt;br /&gt;
        event = window.event;&lt;br /&gt;
    if (event.target) {&lt;br /&gt;
        // Netscape based browser&lt;br /&gt;
        targ = event.target;&lt;br /&gt;
    } else if (event.srcElement) {&lt;br /&gt;
        // ActiveX&lt;br /&gt;
        targ = event.srcElement;&lt;br /&gt;
    } else {&lt;br /&gt;
        // No event object, just the value&lt;br /&gt;
        alert(&amp;quot;Event value&amp;quot; + event );&lt;br /&gt;
        return;&lt;br /&gt;
    }&lt;br /&gt;
    if (targ.nodeType == 3) // defeat Safari bug&lt;br /&gt;
        targ = targ.parentNode;&lt;br /&gt;
    alert(&amp;quot;Event &amp;quot; + event.type + &amp;quot; has fired from &amp;quot; + targ );&lt;br /&gt;
 }&lt;br /&gt;
 // Register a bunch of callbacks.&lt;br /&gt;
 registerVLCEvent(&#039;NothingSpecial&#039;, handleEvents);&lt;br /&gt;
 registerVLCEvent(&#039;Opening&#039;, handleEvents);&lt;br /&gt;
 registerVLCEvent(&#039;Buffering&#039;, handleEvents);&lt;br /&gt;
 registerVLCEvent(&#039;Playing&#039;, handleEvents);&lt;br /&gt;
 registerVLCEvent(&#039;Paused&#039;, handleEvents);&lt;br /&gt;
 registerVLCEvent(&#039;Forward&#039;, handleEvents);&lt;br /&gt;
 registerVLCEvent(&#039;Backward&#039;, handleEvents);&lt;br /&gt;
 registerVLCEvent(&#039;EncounteredError&#039;, handleEvents);&lt;br /&gt;
 registerVLCEvent(&#039;EndReached&#039;, handleEvents);&lt;br /&gt;
 registerVLCEvent(&#039;TimeChanged&#039;, handleEvents);&lt;br /&gt;
 registerVLCEvent(&#039;PositionChanged&#039;, handleEvents);&lt;br /&gt;
 registerVLCEvent(&#039;SeekableChanged&#039;, handleEvents);&lt;br /&gt;
 registerVLCEvent(&#039;PausableChanged&#039;, handleEvents);&lt;br /&gt;
 registerVLCEvent(&#039;MouseMove&#039;, handleEvents);&lt;br /&gt;
 registerVLCEvent(&#039;MouseButton&#039;, handleEvents);&lt;br /&gt;
 registerVLCEvent(&#039;MouseClick&#039;, handleEvents);&lt;br /&gt;
 registerVLCEvent(&#039;MouseObject&#039;, handleEvents);&lt;br /&gt;
 &amp;lt;/script&amp;gt;&lt;br /&gt;
 --&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Audio object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.audio.count&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) returns the number of audio track available.&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.audio.mute&#039;&#039;&#039;: boolean value to mute and ummute the audio.&lt;br /&gt;
*&#039;&#039;&#039;vlc.audio.volume&#039;&#039;&#039;: a value between [0-200] which indicates a percentage of the volume.&lt;br /&gt;
*&#039;&#039;&#039;vlc.audio.track&#039;&#039;&#039;: (supported in vlc version &amp;gt; 0.8.6) a value between [1-65535] which indicates the audio track to play or that is playing. a value of 0 means the audio is/will be disabled.&lt;br /&gt;
*&#039;&#039;&#039;vlc.audio.channel&#039;&#039;&#039;: (supported in vlc version &amp;gt; 0.8.6) integer value between [1-5] that indicates which audio channel mode is used, values can be: &amp;quot;1=stereo&amp;quot;, &amp;quot;2=reverse stereo&amp;quot;, &amp;quot;3=left&amp;quot;, &amp;quot;4=right&amp;quot;, &amp;quot;5=dolby&amp;quot;. Use vlc.audio.channel to check if setting of the audio channel mode has succeeded.&lt;br /&gt;
&lt;br /&gt;
 Audio Channel:&lt;br /&gt;
 &amp;lt;SELECT readonly onChange=&#039;doAudioChannel(this.value)&#039;&amp;gt;&lt;br /&gt;
    &amp;lt;OPTION value=1&amp;gt;Stereo&amp;lt;/OPTION&amp;gt;&lt;br /&gt;
    &amp;lt;OPTION value=2&amp;gt;Reverse stereo&amp;lt;/OPTION&amp;gt;&lt;br /&gt;
    &amp;lt;OPTION value=3&amp;gt;Left&amp;lt;/OPTION&amp;gt;&lt;br /&gt;
    &amp;lt;OPTION value=4&amp;gt;Right&amp;lt;/OPTION&amp;gt;&lt;br /&gt;
    &amp;lt;OPTION value=5&amp;gt;Dolby&amp;lt;/OPTION&amp;gt;&lt;br /&gt;
 &amp;lt;/SELECT&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;SCRIPT language=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;amp;lt;!--&lt;br /&gt;
 function doAudioChannel(value)&lt;br /&gt;
 {&lt;br /&gt;
    var vlc = getVLC(&amp;quot;vlc&amp;quot;);&lt;br /&gt;
    vlc.audio.channel = parseInt(value);&lt;br /&gt;
    alert(vlc.audio.channel);&lt;br /&gt;
 };&lt;br /&gt;
 --&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;vlc.audio.toggleMute()&#039;&#039;&#039;: boolean toggle that mutes and unmutes the audio based upon the previous state.&lt;br /&gt;
*&#039;&#039;&#039;vlc.audio.description(int i)&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) give the i-th audio track name. 0 corresponds to disable and 1 to the first audio track.&lt;br /&gt;
&lt;br /&gt;
====Input object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.length&#039;&#039;&#039;: length of the input file in number of milliseconds. 0 is returned for &#039;live&#039; streams or clips whose length cannot be determined by VLC. It returns -1 if no input is playing. &lt;br /&gt;
*&#039;&#039;&#039;vlc.input.fps&#039;&#039;&#039;: frames per second returned as a float (typically 60.0, 50.0, 23.976, etc...)&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.hasVout&#039;&#039;&#039;: a boolean that returns true when the video is being displayed, it returns false when video is not displayed&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.position&#039;&#039;&#039;: normalized position in multimedia stream item given as a float value between [0.0 - 1.0]&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.time&#039;&#039;&#039;: the absolute position in time given in milliseconds, this property can be used to seek through the stream&lt;br /&gt;
 &amp;amp;lt;!-- absolute seek in stream !--&amp;amp;gt;&lt;br /&gt;
 vlc.input.time = &amp;amp;lt;absolute seek&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;!-- relative seek in stream !--&amp;amp;gt;&lt;br /&gt;
 vlc.input.time = vlc.input.time + &amp;amp;lt;relative seek&amp;amp;gt;&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.state&#039;&#039;&#039;: current state of the input chain given as enumeration (IDLE=0, OPENING=1, BUFFERING=2, PLAYING=3, PAUSED=4, STOPPING=5, ENDED=6, ERROR=7). Note: Test for ENDED=6 to catch end of playback. Checking for STOPPING=5 is NOT ENOUGH.&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.rate&#039;&#039;&#039;: input speed given as float (1.0 for normal speed, 0.5 for half speed, 2.0 for twice as fast, etc.).&lt;br /&gt;
 rate &amp;amp;gt; 1              : is fastforward&lt;br /&gt;
 rate &amp;amp;gt; 0 and rate &amp;amp;lt; 1 : is slow motion&lt;br /&gt;
 rate &amp;amp;lt; 0              : is rewind&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Playlist object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.itemCount&#039;&#039;&#039;: number that returns the amount of items currently in the playlist (&#039;&#039;&#039;deprecated&#039;&#039;&#039;, do not use, see [[#Playlist_items_object| Playlist items]])&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.isPlaying&#039;&#039;&#039;: a boolean that returns true if the current playlist item is playing and false when it is not playing&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.items&#039;&#039;&#039;: return the playlist items collection, see [[#Playlist_items_object| Playlist items]]&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.add(mrl)&#039;&#039;&#039;: add a playlist item as [[MRL]]. The MRL must be given as a string. Returns a number as an item identifier in playlist (this is not a position  in playlist).&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.add(mrl,name,options)&#039;&#039;&#039;: add a playlist item as MRL, with metaname &#039;name&#039; and options &#039;options&#039;. options are text arguments which can be provided either as a single string containing space separated values, akin to VLC command line, or as an array of string values. Returns a number as an item identifier in playlist (this is not a position in playlist).&lt;br /&gt;
  var options = new Array(&amp;quot;:aspect-ratio=4:3&amp;quot;, &amp;quot;--rtsp-tcp&amp;quot;);&lt;br /&gt;
  var id = vlc.playlist.add(&amp;quot;rtsp://servername/item/to/play&amp;quot;, &amp;quot;fancy name&amp;quot;, options);&lt;br /&gt;
  vlc.playlist.playItem(id);&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.play()&#039;&#039;&#039;: start playing the current playlist item&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.playItem(number)&#039;&#039;&#039;: start playing the item whose identifier is number&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.togglePause()&#039;&#039;&#039;: toggle the pause state for the current playlist item&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.stop()&#039;&#039;&#039;: stop playing the current playlist item&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.next()&#039;&#039;&#039;: iterate to the next playlist item&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.prev()&#039;&#039;&#039;: iterate to the previous playlist item&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.clear()&#039;&#039;&#039;: empty the current playlist, all items will be deleted from the playlist (&#039;&#039;&#039;deprecated&#039;&#039;&#039;, do not use, see [[#Playlist_items_object| Playlist items]])&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.removeItem(number)&#039;&#039;&#039;: remove the item from playlist whose identifier is number &amp;lt;!-- (note: this number isn&#039;t the position in the playlist, but the number given by vlc.playlist.add() ) --&amp;gt; (&#039;&#039;&#039;deprecated&#039;&#039;&#039;, do not use, see [[#Playlist_items_object| Playlist items]])&lt;br /&gt;
&lt;br /&gt;
====Playlist items object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.items.count&#039;&#039;&#039;: number of items currently in the playlist&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.items.clear()&#039;&#039;&#039;: empty the current playlist, all items will be deleted from the playlist. If a movie is playing, it stop. Note that when this method returns, playlist may not have been entirely been cleared as this operation is performed asynchronously; use the &#039;&#039;count&#039;&#039; property to verify/wait until the playlist is empty.&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.items.remove(number)&#039;&#039;&#039;: remove the item whose identifier is number from playlist. (note: this number isn&#039;t the position in the playlist, but the number given by vlc.playlist.add() )&lt;br /&gt;
&lt;br /&gt;
====Subtitle object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;vlc.subtitle.count&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) returns the number of subtitle available.&lt;br /&gt;
&lt;br /&gt;
read/write properties &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;vlc.subtitle.track&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) get and set the subtitle track to show on the video screen. The property takes an integer as input value [1..65535]. If subtitle track is set to 0, the subtitles will be disabled. If set to a value outside the current subtitle tracks range, then it will return -1 and display an error message.&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;vlc.subtitle.description(int i)&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) give the i-th subtitle name. 0 correspond to disable and 1 to the first subtitle.&lt;br /&gt;
&lt;br /&gt;
====Video object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.width&#039;&#039;&#039;: returns the horizontal size of the video&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.height&#039;&#039;&#039;: returns the vertical size of the video&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.fullscreen&#039;&#039;&#039;: 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.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.aspectRatio&#039;&#039;&#039;: get and set the aspect ratio to use in the video screen. The property takes a string as input value. Typical values are: &amp;quot;1:1&amp;quot;, &amp;quot;4:3&amp;quot;, &amp;quot;16:9&amp;quot;, &amp;quot;16:10&amp;quot;, &amp;quot;221:100&amp;quot; and &amp;quot;5:4&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.subtitle&#039;&#039;&#039;: (supported in vlc version &amp;gt; 0.8.6a) get and set the subtitle track to show on the video screen. The property takes an integer as input value [1..65535]. If subtitle track is set to 0, the subtitles will be disabled. If set to a value outside the current subtitle tracks range, then it will return -1 and display an error message.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.teletext&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 0.9.0) get and set teletext page to show on the video stream. This will only work if a teletext elementary stream is available in the video stream. The property takes an integer as input value [0..999] for indicating the teletext page to view, setting the value to 0 means hide teletext. On error it will return -1 and display an error message.&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.toggleFullscreen()&#039;&#039;&#039;: toggle the fullscreen mode based on the previous setting&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.toggleTeletext()&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 0.9.0) toggle the teletext page to overlay transparent or not, based on the previous setting&lt;br /&gt;
&lt;br /&gt;
=====Deinterlace Object=====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.deinterlace.enable(&amp;quot;my_mode&amp;quot;)&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) enable deinterlacing with my_mode. You can enable it with &amp;quot;blend&amp;quot;, &amp;quot;bob&amp;quot;, &amp;quot;discard&amp;quot;, &amp;quot;linear&amp;quot;, &amp;quot;mean&amp;quot; or &amp;quot;x&amp;quot; mode. Enabling too soon deinterlacing may cause some problems. You have to wait that all variable are available before enabling it.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.deinterlace.disable()&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) disable deinterlacing.&lt;br /&gt;
&lt;br /&gt;
=====Marquee Object=====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.marquee.text&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) display my text on the screen.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.marquee.color&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change the text color. val is the new color to use (WHITE=0x000000, BLACK=0xFFFFFF, RED=0xFF0000, GREEN=0x00FF00, BLUE=0x0000FF...).&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.marquee.opacity&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change the text opacity, val is defined from 0 (completely transparent) to 255 (completely opaque).&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.marquee.position&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change the text position (CENTER=0, LEFT=1, RIGHT=2, TOP=4, TOP-LEFT=5, TOP-RIGHT=6, BOTTOM=8, BOTTOM-LEFT=9, BOTTOM_RIGHT=10).&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.marquee.refresh&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change the marquee refresh period.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.marquee.size&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) val define the new size for the text displayed on the screen. If the text is bigger than the screen then the text is not displayed.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.marquee.timeout&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change the timeout value. val is defined in ms, but 0 value correspond to unlimited.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.marquee.x&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change text abscissa.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.marquee.y&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change text ordinate.&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.marquee.enable()&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) enable marquee filter.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.marquee.disable()&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) disable marquee filter.&lt;br /&gt;
&lt;br /&gt;
Some problems may happen (option like color or text will not be applied) because of the VLC asynchronous functioning. To avoid it, after enabling marquee, you have to wait a little time before changing an option. But it should be fixed by the new vout implementation.&lt;br /&gt;
&lt;br /&gt;
=====Logo Object=====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.logo.opacity&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change the picture opacity, val is defined from 0 (completely transparent) to 255 (completely opaque).&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.logo.position&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change the text position (&amp;quot;center&amp;quot;, &amp;quot;left&amp;quot;, &amp;quot;right&amp;quot;, &amp;quot;top&amp;quot;, &amp;quot;top-left&amp;quot;, &amp;quot;top-right&amp;quot;, &amp;quot;bottom&amp;quot;, &amp;quot;bottom-left&amp;quot;, &amp;quot;bottom-right&amp;quot;).&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.logo.delay&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) display each picture for a duration of 1000 ms (default) before displaying the next  picture.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.logo.repeat&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) number of loops for picture animation (-1=continuous, 0=disabled, n=n-times). The default is -1 (continuous).&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.logo.x&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change the x-offset for displaying the picture counting from top-left on the screen.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.logo.y&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change the y-offset for displaying the picture counting from top-left on the screen.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.logo.width&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change the picture width.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.logo.height&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change the picture height.&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.logo.enable()&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) enable logo video filter.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.logo.disable()&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) disable logo video filter.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.logo.file(&amp;quot;file.png&amp;quot;)&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) display my file.png as logo on the screen.&lt;br /&gt;
&lt;br /&gt;
Some problems may happen because of the VLC asynchronous functioning. To avoid it, after enabling logo video filter, you have to wait a little time before changing an option. But it should be fixed by the new vout implementation.&lt;br /&gt;
&lt;br /&gt;
====Log object====&lt;br /&gt;
: &#039;&#039;&#039;CAUTION&#039;&#039;&#039;: For security concern, VLC 1.0.0-rc1 is the latest (near-to-stable) version in which this object and its children are supported.&lt;br /&gt;
&lt;br /&gt;
This object allows accessing VLC main message logging queue. Typically this queue capacity is very small (no nore than 256 entries) and can easily overflow, therefore messages should be read and cleared as often as possible.&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.log.messages&#039;&#039;&#039;: returns the message collection, see [[#Messages object|Messages object]]&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.log.verbosity&#039;&#039;&#039;: write number [-1,0,1,2,3] for changing the verbosity level of the log messages; messages whose verbosity is higher than set will be not be logged in the queue. The numbers have the following meaning: -1 disable, 0 info, 1 error, 2 warning, 3 debug. &lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Messages object====&lt;br /&gt;
: &#039;&#039;&#039;CAUTION&#039;&#039;&#039;: For security concern, VLC 1.0.0-rc1 is the latest (near-to-stable) version in which this object and its children are supported.&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;messages.count&#039;&#039;&#039;: returns number of messages in the log&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;messages.clear()&#039;&#039;&#039;: clear the current log buffer. It should be called as frequently as possible to not overflow the message queue. Call this method after the log messages of interest are read.&lt;br /&gt;
*&#039;&#039;&#039;messages.iterator()&#039;&#039;&#039;: creates and returns an iterator object, used to iterate over the messages in the log. &#039;&#039;&#039;Don&#039;t clear the log buffer while holding an iterator object.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Messages Iterator object====&lt;br /&gt;
: &#039;&#039;&#039;CAUTION&#039;&#039;&#039;: For security concern, VLC 1.0.0-rc1 is the latest (near-to-stable) version in which this object and its children are supported.&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;iterator.hasNext&#039;&#039;&#039;: returns a boolean that indicates whether &#039;&#039;vlc.log.messages.next()&#039;&#039; will return the next message.&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;iterator.next()&#039;&#039;&#039;: returns the next message object in the log, see [[Message object]]&lt;br /&gt;
&lt;br /&gt;
====Message object====&lt;br /&gt;
: &#039;&#039;&#039;CAUTION&#039;&#039;&#039;: For security concern, VLC 1.0.0-rc1 is the latest (near-to-stable) version in which this object and its children are supported.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;message.severity&#039;&#039;&#039;: number that indicates the severity of the log message (0 = info, 1 = error, 2 = warning, 3 = debug)&lt;br /&gt;
*&#039;&#039;&#039;message.name&#039;&#039;&#039;: name of VLC module that printed the log message (e.g: main, http, directx, etc...)&lt;br /&gt;
*&#039;&#039;&#039;message.type&#039;&#039;&#039;: type of VLC module that printed the log message (eg: input, access, vout, sout, etc...)&lt;br /&gt;
*&#039;&#039;&#039;message.message&#039;&#039;&#039;: the message text&lt;br /&gt;
&lt;br /&gt;
==Build HTML pages that use the plugin (VLC version up to 0.8.5)==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;WARNING:&#039;&#039;&#039; the APIs described in this section are &#039;&#039;&#039;deprecated&#039;&#039;&#039;, do not use. They no longer work on recent VLC version (&amp;gt; 0.8.5), either it being the ActiveX (Internet Explorer)/ Safari or Mozilla based browsers.&lt;br /&gt;
&lt;br /&gt;
The following API description is only valid uptill version 0.8.5 of the mozilla plugin.&lt;br /&gt;
&lt;br /&gt;
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&lt;br /&gt;
plugin.&lt;br /&gt;
&lt;br /&gt;
The vlc plugin supports the following function calls:&lt;br /&gt;
*&#039;&#039;&#039;play()&#039;&#039;&#039;: Start playing media in the plugin.&lt;br /&gt;
*&#039;&#039;&#039;pause()&#039;&#039;&#039;: Pause playback.&lt;br /&gt;
*&#039;&#039;&#039;stop()&#039;&#039;&#039;: Stop media playback.&lt;br /&gt;
*&#039;&#039;&#039;fullscreen()&#039;&#039;&#039;: Switch the video to full screen.&lt;br /&gt;
*&#039;&#039;&#039;set_volume(vol)&#039;&#039;&#039;: Set the volume. &#039;&#039;&#039;vol&#039;&#039;&#039; has to be an int in the 0-200 range.&lt;br /&gt;
*&#039;&#039;&#039;get_volume()&#039;&#039;&#039;: Get the current volume setting.&lt;br /&gt;
*&#039;&#039;&#039;mute()&#039;&#039;&#039;: Toggle volume muting.&lt;br /&gt;
*&#039;&#039;&#039;set_int_variable(var_name, value)&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;set_bool_variable(var_name, value)&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;set_str_variable(var_name, value)&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;get_int_variable(var_name)&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;get_bool_variable(var_name)&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;get_str_variable(var_name)&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;clear_playlist()&#039;&#039;&#039;: Clear the playlist.&lt;br /&gt;
*&#039;&#039;&#039;add_item(mrl)&#039;&#039;&#039;: Append an item whose location is given by the [[media resource locator]] to the playlist.&lt;br /&gt;
*&#039;&#039;&#039;next()&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;previous()&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;isplaying()&#039;&#039;&#039;: return true if the plugin is playing something.&lt;br /&gt;
*&#039;&#039;&#039;get_length()&#039;&#039;&#039;: Get the media&#039;s length in seconds.&lt;br /&gt;
*&#039;&#039;&#039;get_position()&#039;&#039;&#039;: Get the current position in the media in percent.&lt;br /&gt;
*&#039;&#039;&#039;get_time()&#039;&#039;&#039;: Get the current position in the media in seconds.&lt;br /&gt;
*&#039;&#039;&#039;seek(seconds,is_relative)&#039;&#039;&#039;: If is_relative is true, seek relatively to current time, else seek from beginning of the stream. Seek time is specified in seconds.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Here are a few examples of HTML pages that use the&lt;br /&gt;
Mozilla plugin.&lt;br /&gt;
&lt;br /&gt;
===Example 1===&lt;br /&gt;
&lt;br /&gt;
In this example, the plugin will read an HTTP stream inside the web page. If the user goes fullscreen, he will have to press &#039;&#039;f&#039;&#039; or double-click on the video to go back in normal view.&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;html&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;head&amp;amp;gt;&amp;amp;lt;title&amp;amp;gt;Demo of VLC mozilla plugin&amp;amp;lt;/title&amp;amp;gt;&amp;amp;lt;/head&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;body&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;h1&amp;amp;gt;Demo of VLC mozilla plugin - Example 1&amp;amp;lt;/h1&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;embed type=&amp;quot;application/x-vlc-plugin&amp;quot;&lt;br /&gt;
          name=&amp;quot;video1&amp;quot;&lt;br /&gt;
          autoplay=&amp;quot;no&amp;quot; loop=&amp;quot;yes&amp;quot; width=&amp;quot;400&amp;quot; height=&amp;quot;300&amp;quot;&lt;br /&gt;
          target=&amp;quot;http://server.example.org/video1.vob&amp;quot; /&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;br /&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video1.play()&#039;&amp;amp;gt;Play video1&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video1.pause()&#039;&amp;amp;gt;Pause video1&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video1.stop()&#039;&amp;amp;gt;Stop video1&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video1.fullscreen()&#039;&amp;amp;gt;Fullscreen&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;/body&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/html&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Example 2===&lt;br /&gt;
&lt;br /&gt;
In this example, the plugin will read a multicast UDP/RTP stream in a dedicated video output window.&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;html&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;head&amp;amp;gt;&amp;amp;lt;title&amp;amp;gt;Demo of VLC mozilla plugin&amp;amp;lt;/title&amp;amp;gt;&amp;amp;lt;/head&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;body&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;h1&amp;amp;gt;Demo of VLC mozilla plugin - Example 2&amp;amp;lt;/h1&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;embed type=&amp;quot;application/x-vlc-plugin&amp;quot;&lt;br /&gt;
          name=&amp;quot;video2&amp;quot;&lt;br /&gt;
          autoplay=&amp;quot;no&amp;quot; loop=&amp;quot;no&amp;quot; hidden=&amp;quot;yes&amp;quot;&lt;br /&gt;
          target=&amp;quot;rtp://@239.255.12.42:5004&amp;quot; /&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;br /&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video2.play()&#039;&amp;amp;gt;Play video2&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video2.stop()&#039;&amp;amp;gt;Stop video2&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video2.fullscreen()&#039;&amp;amp;gt;Fullscreen&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;/body&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/html&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Documentation}}&lt;br /&gt;
[[Category:Embedded]]&lt;/div&gt;</summary>
		<author><name>Jpsaman</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=Documentation:WebPlugin&amp;diff=15506</id>
		<title>Documentation:WebPlugin</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=Documentation:WebPlugin&amp;diff=15506"/>
		<updated>2010-02-07T16:17:52Z</updated>

		<summary type="html">&lt;p&gt;Jpsaman: /* Root object */ typos&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Building HTML pages for Mozilla/Firefox/Internet Explorer/Safari ==&lt;br /&gt;
&lt;br /&gt;
The following description works for any of the browsers VLC supports. The JavaScript API has been unified between Mozilla/Firefox/IE (ActiveX) and Safari, thus targetting at all of the major OS out there. &lt;br /&gt;
&lt;br /&gt;
This is only valid for {{VLC}} version 0.8.6 and above.&lt;br /&gt;
&lt;br /&gt;
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&lt;br /&gt;
plugin.&lt;br /&gt;
&lt;br /&gt;
== API description ==&lt;br /&gt;
The vlc plugin exports serveral objects that can be accessed for setting and getting information. When used improperly the API&#039;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.&lt;br /&gt;
&lt;br /&gt;
The vlc plugin knows the following objects:&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;audio&#039;&#039;&#039;: Access audio properties.&lt;br /&gt;
*&#039;&#039;&#039;input&#039;&#039;&#039;: Access input properties.&lt;br /&gt;
*&#039;&#039;&#039;playlist&#039;&#039;&#039;: Access playlist properties.&lt;br /&gt;
*&#039;&#039;&#039;subtitle&#039;&#039;&#039;: Access subtitle properties.&lt;br /&gt;
*&#039;&#039;&#039;video&#039;&#039;&#039;: Access video properties.&lt;br /&gt;
*&#039;&#039;&#039;video.marquee&#039;&#039;&#039;: Access marquee video filter properties.&lt;br /&gt;
*&#039;&#039;&#039;video.logo&#039;&#039;&#039;: Access logo video filter properties.&lt;br /&gt;
*&#039;&#039;&#039;log&#039;&#039;&#039;: Access log properties.&lt;br /&gt;
*&#039;&#039;&#039;messages&#039;&#039;&#039;: Access to log message properties.&lt;br /&gt;
*&#039;&#039;&#039;iterator&#039;&#039;&#039;: Access to log iterator properties.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;html&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;title&amp;amp;gt;VLC Mozilla plugin test page&amp;amp;lt;/title&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;body&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;embed type=&amp;quot;application/x-vlc-plugin&amp;quot; pluginspage=&amp;quot;http://www.videolan.org&amp;quot; version=&amp;quot;VideoLAN.VLCPlugin.2&amp;quot;&lt;br /&gt;
     width=&amp;quot;640&amp;quot;&lt;br /&gt;
     height=&amp;quot;480&amp;quot;&lt;br /&gt;
     id=&amp;quot;vlc&amp;quot;&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/embed&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;script language=&amp;quot;Javascript&amp;quot;&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;!--&lt;br /&gt;
 var vlc = document.getElementById(&amp;quot;vlc&amp;quot;);&lt;br /&gt;
 vlc.audio.toggleMute();&lt;br /&gt;
 !--&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/script&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/body&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/html&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Root object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;VersionInfo&#039;&#039;&#039;: returns version information string&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;vlc.versionInfo()&#039;&#039;&#039;: returns version information string (same as VersionInfo)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;vlc.addEventListener(eventname, callback, bubble)&#039;&#039;&#039;: (only for Mozilla) add a listener for mentioned event name, callback expects a function and bubble influences the order of eventhandling by JS (usually it is set to false).&lt;br /&gt;
*&#039;&#039;&#039;vlc.removeEventListener(eventname, callback, bubble)&#039;&#039;&#039;: (only for Mozilla) remove listener for mentioned event name, callback expects a function and bubble influences the order of eventhandling by JS (usually it is set to false).&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;vlc.attachEvent(eventname, callback)&#039;&#039;&#039;: (only for ActiveX) add listener for mentioned event name, callback expects a function&lt;br /&gt;
*&#039;&#039;&#039;vlc.removeEvent(eventname, callback)&#039;&#039;&#039;: (only for ActiveX) remove listener for mentioned event name, callback expects a function&lt;br /&gt;
&lt;br /&gt;
events&lt;br /&gt;
*&#039;&#039;&#039;NothingSpecial&#039;&#039;&#039;: vlc is in idle state doing nothing but waiting for a command to be issued&lt;br /&gt;
*&#039;&#039;&#039;Opening&#039;&#039;&#039;: vlc is opening an media resource locator (MRL)&lt;br /&gt;
*&#039;&#039;&#039;Buffering&#039;&#039;&#039;: vlc is buffering&lt;br /&gt;
*&#039;&#039;&#039;Playing&#039;&#039;&#039;: vlc is playing a media&lt;br /&gt;
*&#039;&#039;&#039;Paused&#039;&#039;&#039;: vlc is in paused state&lt;br /&gt;
*&#039;&#039;&#039;Forward&#039;&#039;&#039;: vlc is fastforwarding through the media (works only when an input supports forward playback)&lt;br /&gt;
*&#039;&#039;&#039;Backward&#039;&#039;&#039;: vlc is going backwards through the media (works only when an input supports backwards playback)&lt;br /&gt;
*&#039;&#039;&#039;EncounteredError&#039;&#039;&#039;: vlc has encountered an error and is unable to continue&lt;br /&gt;
*&#039;&#039;&#039;EndReached&#039;&#039;&#039;: vlc has reached the end of current playlist&lt;br /&gt;
*&#039;&#039;&#039;TimeChanged&#039;&#039;&#039;: time has changed&lt;br /&gt;
*&#039;&#039;&#039;PositionChanged&#039;&#039;&#039;: media position has changed&lt;br /&gt;
*&#039;&#039;&#039;SeekableChanged&#039;&#039;&#039;: media seekable flag has changed (true means media is seekable, false means it is not)&lt;br /&gt;
*&#039;&#039;&#039;PausableChanged&#039;&#039;&#039;: media pausable flag has changed (true means media is pausaable, false means it is not)&lt;br /&gt;
*&#039;&#039;&#039;MouseMoved&#039;&#039;&#039;: vlc detected a mouse movement in its video window&lt;br /&gt;
*&#039;&#039;&#039;MouseButton&#039;&#039;&#039;: vlc detected a mouse button event in its video window&lt;br /&gt;
*&#039;&#039;&#039;MouseClick&#039;&#039;&#039;: vlc detected a mouse click in its video window&lt;br /&gt;
*&#039;&#039;&#039;MouseObject&#039;&#039;&#039;: vlc filter (eg: logo) detected a object movement in its video window&lt;br /&gt;
&lt;br /&gt;
The following code snippit provides easy functions to register and unregister event callbacks on all supported platforms (currently only Linux mozilla based browsers and windows activeX objects for Internet Explorer).&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;SCRIPT language=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;amp;lt;!--&lt;br /&gt;
 function registerVLCEvent(event, handler)&lt;br /&gt;
 {&lt;br /&gt;
    var vlc = getVLC(&amp;quot;vlc&amp;quot;);&lt;br /&gt;
    if (vlc) {&lt;br /&gt;
        if (vlc.attachEvent) {&lt;br /&gt;
            // Microsoft&lt;br /&gt;
            vlc.attachEvent (event, handler);&lt;br /&gt;
        } else if (vlc.addEventListener) {&lt;br /&gt;
            // Mozilla: DOM level 2&lt;br /&gt;
            vlc.addEventListener (event, handler, false);&lt;br /&gt;
        } else {&lt;br /&gt;
            // DOM level 0&lt;br /&gt;
            eval(&amp;quot;vlc.on&amp;quot; + event + &amp;quot; = handler&amp;quot;);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
 }&lt;br /&gt;
 // stop listening to event&lt;br /&gt;
 function unregisterVLCEvent(event, handler)&lt;br /&gt;
 {&lt;br /&gt;
    var vlc = getVLC(&amp;quot;vlc&amp;quot;);&lt;br /&gt;
    if (vlc) {&lt;br /&gt;
        if (vlc.detachEvent) {&lt;br /&gt;
            // Microsoft&lt;br /&gt;
            vlc.detachEvent (event, handler);&lt;br /&gt;
        } else if (vlc.removeEventListener) {&lt;br /&gt;
            // Mozilla: DOM level 2&lt;br /&gt;
            vlc.removeEventListener (event, handler, false);&lt;br /&gt;
        } else {&lt;br /&gt;
            // DOM level 0&lt;br /&gt;
            eval(&amp;quot;vlc.on&amp;quot; + event + &amp;quot; = null&amp;quot;);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
 }&lt;br /&gt;
 // event callback function for testing&lt;br /&gt;
 function handleEvents(event)&lt;br /&gt;
 {&lt;br /&gt;
    if (!event)&lt;br /&gt;
        event = window.event;&lt;br /&gt;
    if (event.target) {&lt;br /&gt;
        // Netscape based browser&lt;br /&gt;
        targ = event.target;&lt;br /&gt;
    } else if (event.srcElement) {&lt;br /&gt;
        // ActiveX&lt;br /&gt;
        targ = event.srcElement;&lt;br /&gt;
    } else {&lt;br /&gt;
        // No event object, just the value&lt;br /&gt;
        alert(&amp;quot;Event value&amp;quot; + event );&lt;br /&gt;
        return;&lt;br /&gt;
    }&lt;br /&gt;
    if (targ.nodeType == 3) // defeat Safari bug&lt;br /&gt;
        targ = targ.parentNode;&lt;br /&gt;
    alert(&amp;quot;Event &amp;quot; + event.type + &amp;quot; has fired from &amp;quot; + targ );&lt;br /&gt;
 }&lt;br /&gt;
 // Register a bunch of callbacks.&lt;br /&gt;
 registerVLCEvent(&#039;NothingSpecial&#039;, handleEvents);&lt;br /&gt;
 registerVLCEvent(&#039;Opening&#039;, handleEvents);&lt;br /&gt;
 registerVLCEvent(&#039;Buffering&#039;, handleEvents);&lt;br /&gt;
 registerVLCEvent(&#039;Playing&#039;, handleEvents);&lt;br /&gt;
 registerVLCEvent(&#039;Paused&#039;, handleEvents);&lt;br /&gt;
 registerVLCEvent(&#039;Forward&#039;, handleEvents);&lt;br /&gt;
 registerVLCEvent(&#039;Backward&#039;, handleEvents);&lt;br /&gt;
 registerVLCEvent(&#039;EncounteredError&#039;, handleEvents);&lt;br /&gt;
 registerVLCEvent(&#039;EndReached&#039;, handleEvents);&lt;br /&gt;
 registerVLCEvent(&#039;TimeChanged&#039;, handleEvents);&lt;br /&gt;
 registerVLCEvent(&#039;PositionChanged&#039;, handleEvents);&lt;br /&gt;
 registerVLCEvent(&#039;SeekableChanged&#039;, handleEvents);&lt;br /&gt;
 registerVLCEvent(&#039;PausableChanged&#039;, handleEvents);&lt;br /&gt;
 registerVLCEvent(&#039;MouseMove&#039;, handleEvents);&lt;br /&gt;
 registerVLCEvent(&#039;MouseButton&#039;, handleEvents);&lt;br /&gt;
 registerVLCEvent(&#039;MouseClick&#039;, handleEvents);&lt;br /&gt;
 registerVLCEvent(&#039;MouseObject&#039;, handleEvents);&lt;br /&gt;
 &amp;lt;/script&amp;gt;&lt;br /&gt;
 --&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Audio object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.audio.count&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) returns the number of audio track available.&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.audio.mute&#039;&#039;&#039;: boolean value to mute and ummute the audio.&lt;br /&gt;
*&#039;&#039;&#039;vlc.audio.volume&#039;&#039;&#039;: a value between [0-200] which indicates a percentage of the volume.&lt;br /&gt;
*&#039;&#039;&#039;vlc.audio.track&#039;&#039;&#039;: (supported in vlc version &amp;gt; 0.8.6) a value between [1-65535] which indicates the audio track to play or that is playing. a value of 0 means the audio is/will be disabled.&lt;br /&gt;
*&#039;&#039;&#039;vlc.audio.channel&#039;&#039;&#039;: (supported in vlc version &amp;gt; 0.8.6) integer value between [1-5] that indicates which audio channel mode is used, values can be: &amp;quot;1=stereo&amp;quot;, &amp;quot;2=reverse stereo&amp;quot;, &amp;quot;3=left&amp;quot;, &amp;quot;4=right&amp;quot;, &amp;quot;5=dolby&amp;quot;. Use vlc.audio.channel to check if setting of the audio channel mode has succeeded.&lt;br /&gt;
&lt;br /&gt;
 Audio Channel:&lt;br /&gt;
 &amp;lt;SELECT readonly onChange=&#039;doAudioChannel(this.value)&#039;&amp;gt;&lt;br /&gt;
    &amp;lt;OPTION value=1&amp;gt;Stereo&amp;lt;/OPTION&amp;gt;&lt;br /&gt;
    &amp;lt;OPTION value=2&amp;gt;Reverse stereo&amp;lt;/OPTION&amp;gt;&lt;br /&gt;
    &amp;lt;OPTION value=3&amp;gt;Left&amp;lt;/OPTION&amp;gt;&lt;br /&gt;
    &amp;lt;OPTION value=4&amp;gt;Right&amp;lt;/OPTION&amp;gt;&lt;br /&gt;
    &amp;lt;OPTION value=5&amp;gt;Dolby&amp;lt;/OPTION&amp;gt;&lt;br /&gt;
 &amp;lt;/SELECT&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;SCRIPT language=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;amp;lt;!--&lt;br /&gt;
 function doAudioChannel(value)&lt;br /&gt;
 {&lt;br /&gt;
    var vlc = getVLC(&amp;quot;vlc&amp;quot;);&lt;br /&gt;
    vlc.audio.channel = parseInt(value);&lt;br /&gt;
    alert(vlc.audio.channel);&lt;br /&gt;
 };&lt;br /&gt;
 --&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;vlc.audio.toggleMute()&#039;&#039;&#039;: boolean toggle that mutes and unmutes the audio based upon the previous state.&lt;br /&gt;
*&#039;&#039;&#039;vlc.audio.description(int i)&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) give the i-th audio track name. 0 corresponds to disable and 1 to the first audio track.&lt;br /&gt;
&lt;br /&gt;
====Input object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.length&#039;&#039;&#039;: length of the input file in number of milliseconds. 0 is returned for &#039;live&#039; streams or clips whose length cannot be determined by VLC. It returns -1 if no input is playing. &lt;br /&gt;
*&#039;&#039;&#039;vlc.input.fps&#039;&#039;&#039;: frames per second returned as a float (typically 60.0, 50.0, 23.976, etc...)&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.hasVout&#039;&#039;&#039;: a boolean that returns true when the video is being displayed, it returns false when video is not displayed&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.position&#039;&#039;&#039;: normalized position in multimedia stream item given as a float value between [0.0 - 1.0]&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.time&#039;&#039;&#039;: the absolute position in time given in milliseconds, this property can be used to seek through the stream&lt;br /&gt;
 &amp;amp;lt;!-- absolute seek in stream !--&amp;amp;gt;&lt;br /&gt;
 vlc.input.time = &amp;amp;lt;absolute seek&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;!-- relative seek in stream !--&amp;amp;gt;&lt;br /&gt;
 vlc.input.time = vlc.input.time + &amp;amp;lt;relative seek&amp;amp;gt;&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.state&#039;&#039;&#039;: current state of the input chain given as enumeration (IDLE=0, OPENING=1, BUFFERING=2, PLAYING=3, PAUSED=4, STOPPING=5, ENDED=6, ERROR=7). Note: Test for ENDED=6 to catch end of playback. Checking for STOPPING=5 is NOT ENOUGH.&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.rate&#039;&#039;&#039;: input speed given as float (1.0 for normal speed, 0.5 for half speed, 2.0 for twice as fast, etc.).&lt;br /&gt;
 rate &amp;amp;gt; 1              : is fastforward&lt;br /&gt;
 rate &amp;amp;gt; 0 and rate &amp;amp;lt; 1 : is slow motion&lt;br /&gt;
 rate &amp;amp;lt; 0              : is rewind&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Playlist object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.itemCount&#039;&#039;&#039;: number that returns the amount of items currently in the playlist (&#039;&#039;&#039;deprecated&#039;&#039;&#039;, do not use, see [[#Playlist_items_object| Playlist items]])&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.isPlaying&#039;&#039;&#039;: a boolean that returns true if the current playlist item is playing and false when it is not playing&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.items&#039;&#039;&#039;: return the playlist items collection, see [[#Playlist_items_object| Playlist items]]&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.add(mrl)&#039;&#039;&#039;: add a playlist item as [[MRL]]. The MRL must be given as a string. Returns a number as an item identifier in playlist (this is not a position  in playlist).&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.add(mrl,name,options)&#039;&#039;&#039;: add a playlist item as MRL, with metaname &#039;name&#039; and options &#039;options&#039;. options are text arguments which can be provided either as a single string containing space separated values, akin to VLC command line, or as an array of string values. Returns a number as an item identifier in playlist (this is not a position in playlist).&lt;br /&gt;
  var options = new Array(&amp;quot;:aspect-ratio=4:3&amp;quot;, &amp;quot;--rtsp-tcp&amp;quot;);&lt;br /&gt;
  var id = vlc.playlist.add(&amp;quot;rtsp://servername/item/to/play&amp;quot;, &amp;quot;fancy name&amp;quot;, options);&lt;br /&gt;
  vlc.playlist.playItem(id);&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.play()&#039;&#039;&#039;: start playing the current playlist item&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.playItem(number)&#039;&#039;&#039;: start playing the item whose identifier is number&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.togglePause()&#039;&#039;&#039;: toggle the pause state for the current playlist item&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.stop()&#039;&#039;&#039;: stop playing the current playlist item&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.next()&#039;&#039;&#039;: iterate to the next playlist item&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.prev()&#039;&#039;&#039;: iterate to the previous playlist item&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.clear()&#039;&#039;&#039;: empty the current playlist, all items will be deleted from the playlist (&#039;&#039;&#039;deprecated&#039;&#039;&#039;, do not use, see [[#Playlist_items_object| Playlist items]])&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.removeItem(number)&#039;&#039;&#039;: remove the item from playlist whose identifier is number &amp;lt;!-- (note: this number isn&#039;t the position in the playlist, but the number given by vlc.playlist.add() ) --&amp;gt; (&#039;&#039;&#039;deprecated&#039;&#039;&#039;, do not use, see [[#Playlist_items_object| Playlist items]])&lt;br /&gt;
&lt;br /&gt;
====Playlist items object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.items.count&#039;&#039;&#039;: number of items currently in the playlist&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.items.clear()&#039;&#039;&#039;: empty the current playlist, all items will be deleted from the playlist. If a movie is playing, it stop. Note that when this method returns, playlist may not have been entirely been cleared as this operation is performed asynchronously; use the &#039;&#039;count&#039;&#039; property to verify/wait until the playlist is empty.&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.items.remove(number)&#039;&#039;&#039;: remove the item whose identifier is number from playlist. (note: this number isn&#039;t the position in the playlist, but the number given by vlc.playlist.add() )&lt;br /&gt;
&lt;br /&gt;
====Subtitle object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;vlc.subtitle.count&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) returns the number of subtitle available.&lt;br /&gt;
&lt;br /&gt;
read/write properties &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;vlc.subtitle.track&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) get and set the subtitle track to show on the video screen. The property takes an integer as input value [1..65535]. If subtitle track is set to 0, the subtitles will be disabled. If set to a value outside the current subtitle tracks range, then it will return -1 and display an error message.&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;vlc.subtitle.description(int i)&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) give the i-th subtitle name. 0 correspond to disable and 1 to the first subtitle.&lt;br /&gt;
&lt;br /&gt;
====Video object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.width&#039;&#039;&#039;: returns the horizontal size of the video&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.height&#039;&#039;&#039;: returns the vertical size of the video&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.fullscreen&#039;&#039;&#039;: 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.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.aspectRatio&#039;&#039;&#039;: get and set the aspect ratio to use in the video screen. The property takes a string as input value. Typical values are: &amp;quot;1:1&amp;quot;, &amp;quot;4:3&amp;quot;, &amp;quot;16:9&amp;quot;, &amp;quot;16:10&amp;quot;, &amp;quot;221:100&amp;quot; and &amp;quot;5:4&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.subtitle&#039;&#039;&#039;: (supported in vlc version &amp;gt; 0.8.6a) get and set the subtitle track to show on the video screen. The property takes an integer as input value [1..65535]. If subtitle track is set to 0, the subtitles will be disabled. If set to a value outside the current subtitle tracks range, then it will return -1 and display an error message.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.teletext&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 0.9.0) get and set teletext page to show on the video stream. This will only work if a teletext elementary stream is available in the video stream. The property takes an integer as input value [0..999] for indicating the teletext page to view, setting the value to 0 means hide teletext. On error it will return -1 and display an error message.&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.toggleFullscreen()&#039;&#039;&#039;: toggle the fullscreen mode based on the previous setting&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.toggleTeletext()&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 0.9.0) toggle the teletext page to overlay transparent or not, based on the previous setting&lt;br /&gt;
&lt;br /&gt;
=====Deinterlace Object=====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.deinterlace.enable(&amp;quot;my_mode&amp;quot;)&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) enable deinterlacing with my_mode. You can enable it with &amp;quot;blend&amp;quot;, &amp;quot;bob&amp;quot;, &amp;quot;discard&amp;quot;, &amp;quot;linear&amp;quot;, &amp;quot;mean&amp;quot; or &amp;quot;x&amp;quot; mode. Enabling too soon deinterlacing may cause some problems. You have to wait that all variable are available before enabling it.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.deinterlace.disable()&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) disable deinterlacing.&lt;br /&gt;
&lt;br /&gt;
=====Marquee Object=====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.marquee.text&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) display my text on the screen.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.marquee.color&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change the text color. val is the new color to use (WHITE=0x000000, BLACK=0xFFFFFF, RED=0xFF0000, GREEN=0x00FF00, BLUE=0x0000FF...).&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.marquee.opacity&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change the text opacity, val is defined from 0 (completely transparent) to 255 (completely opaque).&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.marquee.position&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change the text position (CENTER=0, LEFT=1, RIGHT=2, TOP=4, TOP-LEFT=5, TOP-RIGHT=6, BOTTOM=8, BOTTOM-LEFT=9, BOTTOM_RIGHT=10).&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.marquee.refresh&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change the marquee refresh period.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.marquee.size&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) val define the new size for the text displayed on the screen. If the text is bigger than the screen then the text is not displayed.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.marquee.timeout&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change the timeout value. val is defined in ms, but 0 value correspond to unlimited.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.marquee.x&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change text abscissa.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.marquee.y&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change text ordinate.&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.marquee.enable()&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) enable marquee filter.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.marquee.disable()&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) disable marquee filter.&lt;br /&gt;
&lt;br /&gt;
Some problems may happen (option like color or text will not be applied) because of the VLC asynchronous functioning. To avoid it, after enabling marquee, you have to wait a little time before changing an option. But it should be fixed by the new vout implementation.&lt;br /&gt;
&lt;br /&gt;
=====Logo Object=====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.logo.opacity&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change the picture opacity, val is defined from 0 (completely transparent) to 255 (completely opaque).&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.logo.position&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change the text position (&amp;quot;center&amp;quot;, &amp;quot;left&amp;quot;, &amp;quot;right&amp;quot;, &amp;quot;top&amp;quot;, &amp;quot;top-left&amp;quot;, &amp;quot;top-right&amp;quot;, &amp;quot;bottom&amp;quot;, &amp;quot;bottom-left&amp;quot;, &amp;quot;bottom-right&amp;quot;).&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.logo.delay&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) display each picture for a duration of 1000 ms (default) before displaying the next  picture.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.logo.repeat&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) number of loops for picture animation (-1=continuous, 0=disabled, n=n-times). The default is -1 (continuous).&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.logo.x&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change the x-offset for displaying the picture counting from top-left on the screen.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.logo.y&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change the y-offset for displaying the picture counting from top-left on the screen.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.logo.width&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change the picture width.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.logo.height&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change the picture height.&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.logo.enable()&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) enable logo video filter.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.logo.disable()&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) disable logo video filter.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.logo.file(&amp;quot;file.png&amp;quot;)&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) display my file.png as logo on the screen.&lt;br /&gt;
&lt;br /&gt;
Some problems may happen because of the VLC asynchronous functioning. To avoid it, after enabling logo video filter, you have to wait a little time before changing an option. But it should be fixed by the new vout implementation.&lt;br /&gt;
&lt;br /&gt;
====Log object====&lt;br /&gt;
: &#039;&#039;&#039;CAUTION&#039;&#039;&#039;: For security concern, VLC 1.0.0-rc1 is the latest (near-to-stable) version in which this object and its children are supported.&lt;br /&gt;
&lt;br /&gt;
This object allows accessing VLC main message logging queue. Typically this queue capacity is very small (no nore than 256 entries) and can easily overflow, therefore messages should be read and cleared as often as possible.&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.log.messages&#039;&#039;&#039;: returns the message collection, see [[#Messages object|Messages object]]&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.log.verbosity&#039;&#039;&#039;: write number [-1,0,1,2,3] for changing the verbosity level of the log messages; messages whose verbosity is higher than set will be not be logged in the queue. The numbers have the following meaning: -1 disable, 0 info, 1 error, 2 warning, 3 debug. &lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Messages object====&lt;br /&gt;
: &#039;&#039;&#039;CAUTION&#039;&#039;&#039;: For security concern, VLC 1.0.0-rc1 is the latest (near-to-stable) version in which this object and its children are supported.&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;messages.count&#039;&#039;&#039;: returns number of messages in the log&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;messages.clear()&#039;&#039;&#039;: clear the current log buffer. It should be called as frequently as possible to not overflow the message queue. Call this method after the log messages of interest are read.&lt;br /&gt;
*&#039;&#039;&#039;messages.iterator()&#039;&#039;&#039;: creates and returns an iterator object, used to iterate over the messages in the log. &#039;&#039;&#039;Don&#039;t clear the log buffer while holding an iterator object.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Messages Iterator object====&lt;br /&gt;
: &#039;&#039;&#039;CAUTION&#039;&#039;&#039;: For security concern, VLC 1.0.0-rc1 is the latest (near-to-stable) version in which this object and its children are supported.&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;iterator.hasNext&#039;&#039;&#039;: returns a boolean that indicates whether &#039;&#039;vlc.log.messages.next()&#039;&#039; will return the next message.&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;iterator.next()&#039;&#039;&#039;: returns the next message object in the log, see [[Message object]]&lt;br /&gt;
&lt;br /&gt;
====Message object====&lt;br /&gt;
: &#039;&#039;&#039;CAUTION&#039;&#039;&#039;: For security concern, VLC 1.0.0-rc1 is the latest (near-to-stable) version in which this object and its children are supported.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;message.severity&#039;&#039;&#039;: number that indicates the severity of the log message (0 = info, 1 = error, 2 = warning, 3 = debug)&lt;br /&gt;
*&#039;&#039;&#039;message.name&#039;&#039;&#039;: name of VLC module that printed the log message (e.g: main, http, directx, etc...)&lt;br /&gt;
*&#039;&#039;&#039;message.type&#039;&#039;&#039;: type of VLC module that printed the log message (eg: input, access, vout, sout, etc...)&lt;br /&gt;
*&#039;&#039;&#039;message.message&#039;&#039;&#039;: the message text&lt;br /&gt;
&lt;br /&gt;
==Build HTML pages that use the plugin (VLC version up to 0.8.5)==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;WARNING:&#039;&#039;&#039; the APIs described in this section are &#039;&#039;&#039;deprecated&#039;&#039;&#039;, do not use. They no longer work on recent VLC version (&amp;gt; 0.8.5), either it being the ActiveX (Internet Explorer)/ Safari or Mozilla based browsers.&lt;br /&gt;
&lt;br /&gt;
The following API description is only valid uptill version 0.8.5 of the mozilla plugin.&lt;br /&gt;
&lt;br /&gt;
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&lt;br /&gt;
plugin.&lt;br /&gt;
&lt;br /&gt;
The vlc plugin supports the following function calls:&lt;br /&gt;
*&#039;&#039;&#039;play()&#039;&#039;&#039;: Start playing media in the plugin.&lt;br /&gt;
*&#039;&#039;&#039;pause()&#039;&#039;&#039;: Pause playback.&lt;br /&gt;
*&#039;&#039;&#039;stop()&#039;&#039;&#039;: Stop media playback.&lt;br /&gt;
*&#039;&#039;&#039;fullscreen()&#039;&#039;&#039;: Switch the video to full screen.&lt;br /&gt;
*&#039;&#039;&#039;set_volume(vol)&#039;&#039;&#039;: Set the volume. &#039;&#039;&#039;vol&#039;&#039;&#039; has to be an int in the 0-200 range.&lt;br /&gt;
*&#039;&#039;&#039;get_volume()&#039;&#039;&#039;: Get the current volume setting.&lt;br /&gt;
*&#039;&#039;&#039;mute()&#039;&#039;&#039;: Toggle volume muting.&lt;br /&gt;
*&#039;&#039;&#039;set_int_variable(var_name, value)&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;set_bool_variable(var_name, value)&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;set_str_variable(var_name, value)&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;get_int_variable(var_name)&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;get_bool_variable(var_name)&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;get_str_variable(var_name)&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;clear_playlist()&#039;&#039;&#039;: Clear the playlist.&lt;br /&gt;
*&#039;&#039;&#039;add_item(mrl)&#039;&#039;&#039;: Append an item whose location is given by the [[media resource locator]] to the playlist.&lt;br /&gt;
*&#039;&#039;&#039;next()&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;previous()&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;isplaying()&#039;&#039;&#039;: return true if the plugin is playing something.&lt;br /&gt;
*&#039;&#039;&#039;get_length()&#039;&#039;&#039;: Get the media&#039;s length in seconds.&lt;br /&gt;
*&#039;&#039;&#039;get_position()&#039;&#039;&#039;: Get the current position in the media in percent.&lt;br /&gt;
*&#039;&#039;&#039;get_time()&#039;&#039;&#039;: Get the current position in the media in seconds.&lt;br /&gt;
*&#039;&#039;&#039;seek(seconds,is_relative)&#039;&#039;&#039;: If is_relative is true, seek relatively to current time, else seek from beginning of the stream. Seek time is specified in seconds.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Here are a few examples of HTML pages that use the&lt;br /&gt;
Mozilla plugin.&lt;br /&gt;
&lt;br /&gt;
===Example 1===&lt;br /&gt;
&lt;br /&gt;
In this example, the plugin will read an HTTP stream inside the web page. If the user goes fullscreen, he will have to press &#039;&#039;f&#039;&#039; or double-click on the video to go back in normal view.&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;html&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;head&amp;amp;gt;&amp;amp;lt;title&amp;amp;gt;Demo of VLC mozilla plugin&amp;amp;lt;/title&amp;amp;gt;&amp;amp;lt;/head&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;body&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;h1&amp;amp;gt;Demo of VLC mozilla plugin - Example 1&amp;amp;lt;/h1&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;embed type=&amp;quot;application/x-vlc-plugin&amp;quot;&lt;br /&gt;
          name=&amp;quot;video1&amp;quot;&lt;br /&gt;
          autoplay=&amp;quot;no&amp;quot; loop=&amp;quot;yes&amp;quot; width=&amp;quot;400&amp;quot; height=&amp;quot;300&amp;quot;&lt;br /&gt;
          target=&amp;quot;http://server.example.org/video1.vob&amp;quot; /&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;br /&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video1.play()&#039;&amp;amp;gt;Play video1&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video1.pause()&#039;&amp;amp;gt;Pause video1&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video1.stop()&#039;&amp;amp;gt;Stop video1&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video1.fullscreen()&#039;&amp;amp;gt;Fullscreen&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;/body&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/html&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Example 2===&lt;br /&gt;
&lt;br /&gt;
In this example, the plugin will read a multicast UDP/RTP stream in a dedicated video output window.&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;html&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;head&amp;amp;gt;&amp;amp;lt;title&amp;amp;gt;Demo of VLC mozilla plugin&amp;amp;lt;/title&amp;amp;gt;&amp;amp;lt;/head&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;body&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;h1&amp;amp;gt;Demo of VLC mozilla plugin - Example 2&amp;amp;lt;/h1&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;embed type=&amp;quot;application/x-vlc-plugin&amp;quot;&lt;br /&gt;
          name=&amp;quot;video2&amp;quot;&lt;br /&gt;
          autoplay=&amp;quot;no&amp;quot; loop=&amp;quot;no&amp;quot; hidden=&amp;quot;yes&amp;quot;&lt;br /&gt;
          target=&amp;quot;rtp://@239.255.12.42:5004&amp;quot; /&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;br /&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video2.play()&#039;&amp;amp;gt;Play video2&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video2.stop()&#039;&amp;amp;gt;Stop video2&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video2.fullscreen()&#039;&amp;amp;gt;Fullscreen&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;/body&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/html&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Documentation}}&lt;br /&gt;
[[Category:Embedded]]&lt;/div&gt;</summary>
		<author><name>Jpsaman</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=Documentation:WebPlugin&amp;diff=15505</id>
		<title>Documentation:WebPlugin</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=Documentation:WebPlugin&amp;diff=15505"/>
		<updated>2010-02-07T16:11:56Z</updated>

		<summary type="html">&lt;p&gt;Jpsaman: /* Root object */ update example&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Building HTML pages for Mozilla/Firefox/Internet Explorer/Safari ==&lt;br /&gt;
&lt;br /&gt;
The following description works for any of the browsers VLC supports. The JavaScript API has been unified between Mozilla/Firefox/IE (ActiveX) and Safari, thus targetting at all of the major OS out there. &lt;br /&gt;
&lt;br /&gt;
This is only valid for {{VLC}} version 0.8.6 and above.&lt;br /&gt;
&lt;br /&gt;
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&lt;br /&gt;
plugin.&lt;br /&gt;
&lt;br /&gt;
== API description ==&lt;br /&gt;
The vlc plugin exports serveral objects that can be accessed for setting and getting information. When used improperly the API&#039;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.&lt;br /&gt;
&lt;br /&gt;
The vlc plugin knows the following objects:&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;audio&#039;&#039;&#039;: Access audio properties.&lt;br /&gt;
*&#039;&#039;&#039;input&#039;&#039;&#039;: Access input properties.&lt;br /&gt;
*&#039;&#039;&#039;playlist&#039;&#039;&#039;: Access playlist properties.&lt;br /&gt;
*&#039;&#039;&#039;subtitle&#039;&#039;&#039;: Access subtitle properties.&lt;br /&gt;
*&#039;&#039;&#039;video&#039;&#039;&#039;: Access video properties.&lt;br /&gt;
*&#039;&#039;&#039;video.marquee&#039;&#039;&#039;: Access marquee video filter properties.&lt;br /&gt;
*&#039;&#039;&#039;video.logo&#039;&#039;&#039;: Access logo video filter properties.&lt;br /&gt;
*&#039;&#039;&#039;log&#039;&#039;&#039;: Access log properties.&lt;br /&gt;
*&#039;&#039;&#039;messages&#039;&#039;&#039;: Access to log message properties.&lt;br /&gt;
*&#039;&#039;&#039;iterator&#039;&#039;&#039;: Access to log iterator properties.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;html&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;title&amp;amp;gt;VLC Mozilla plugin test page&amp;amp;lt;/title&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;body&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;embed type=&amp;quot;application/x-vlc-plugin&amp;quot; pluginspage=&amp;quot;http://www.videolan.org&amp;quot; version=&amp;quot;VideoLAN.VLCPlugin.2&amp;quot;&lt;br /&gt;
     width=&amp;quot;640&amp;quot;&lt;br /&gt;
     height=&amp;quot;480&amp;quot;&lt;br /&gt;
     id=&amp;quot;vlc&amp;quot;&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/embed&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;script language=&amp;quot;Javascript&amp;quot;&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;!--&lt;br /&gt;
 var vlc = document.getElementById(&amp;quot;vlc&amp;quot;);&lt;br /&gt;
 vlc.audio.toggleMute();&lt;br /&gt;
 !--&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/script&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/body&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/html&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Root object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;VersionInfo&#039;&#039;&#039;: returns version information string&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;vlc.versionInfo()&#039;&#039;&#039;: returns version information string (same as VersionInfo)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;vlc.addEventListener(eventname, callback, bubble)&#039;&#039;&#039;: (only for Mozilla) add a listener for mentioned event name, callback expects a function and bubble influences the order of eventhandling by JS (usually it is set to false).&lt;br /&gt;
*&#039;&#039;&#039;vlc.removeEventListener(eventname, callback, bubble)&#039;&#039;&#039;: (only for Mozilla) remove listener for mentioned event name, callback expects a function and bubble influences the order of eventhandling by JS (usually it is set to false).&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;vlc.attachEvent(eventname, callback)&#039;&#039;&#039;: ( only for ActiveX) add listener for mentioned event name, callback expects a function&lt;br /&gt;
*&#039;&#039;&#039;vlc.removeEvent(eventname, callback)&#039;&#039;&#039;: ( only for ActiveX) remove listener for mentioned event name, callback expects a function&lt;br /&gt;
&lt;br /&gt;
events&lt;br /&gt;
*&#039;&#039;&#039;NothingSpecial&#039;&#039;&#039;: vlc is in idle state doing nothing but waiting for a command to be issued&lt;br /&gt;
*&#039;&#039;&#039;Opening&#039;&#039;&#039;: vlc is opening an media resource locator (MRL)&lt;br /&gt;
*&#039;&#039;&#039;Buffering&#039;&#039;&#039;: vlc is buffering&lt;br /&gt;
*&#039;&#039;&#039;Playing&#039;&#039;&#039;: vlc is playing a media&lt;br /&gt;
*&#039;&#039;&#039;Paused&#039;&#039;&#039;: vlc is in paused state&lt;br /&gt;
*&#039;&#039;&#039;Forward&#039;&#039;&#039;: vlc is fastforwarding through the media (works only when an input supports forward playback)&lt;br /&gt;
*&#039;&#039;&#039;Backward&#039;&#039;&#039;: vlc is going backwards through the media (works only when an input supports backwards playback)&lt;br /&gt;
*&#039;&#039;&#039;EncounteredError&#039;&#039;&#039;: vlc has encountered an error and is unable to continue&lt;br /&gt;
*&#039;&#039;&#039;EndReached&#039;&#039;&#039;: vlc has reached the end of current playlist&lt;br /&gt;
*&#039;&#039;&#039;TimeChanged&#039;&#039;&#039;: time has changed&lt;br /&gt;
*&#039;&#039;&#039;PositionChanged&#039;&#039;&#039;: media position has changed&lt;br /&gt;
*&#039;&#039;&#039;SeekableChanged&#039;&#039;&#039;: media seekable flag has changed (true means media is seekable, false means it is not)&lt;br /&gt;
*&#039;&#039;&#039;PausableChanged&#039;&#039;&#039;: media pausable flag has changed (true means media is pausaable, false means it is not)&lt;br /&gt;
*&#039;&#039;&#039;MouseMoved&#039;&#039;&#039;: vlc detected a mouse movement in its video window&lt;br /&gt;
*&#039;&#039;&#039;MouseButton&#039;&#039;&#039;: vlc detected a mouse button event in its video window&lt;br /&gt;
*&#039;&#039;&#039;MouseClick&#039;&#039;&#039;: vlc detected a mouse click in its video window&lt;br /&gt;
*&#039;&#039;&#039;MouseObject&#039;&#039;&#039;: vlc filter (eg: logo) detected a object movement in its video window&lt;br /&gt;
&lt;br /&gt;
The following code snippit provides easy functions to register and unregister event callbacks on all supported platforms (currently only Linux mozilla based browsers and windows activeX objects for Internet Explorer).&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;SCRIPT language=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;amp;lt;!--&lt;br /&gt;
 function registerVLCEvent(event, handler)&lt;br /&gt;
 {&lt;br /&gt;
    var vlc = getVLC(&amp;quot;vlc&amp;quot;);&lt;br /&gt;
    if (vlc) {&lt;br /&gt;
        if (vlc.attachEvent) {&lt;br /&gt;
            // Microsoft&lt;br /&gt;
            vlc.attachEvent (event, handler);&lt;br /&gt;
        } else if (vlc.addEventListener) {&lt;br /&gt;
            // Mozilla: DOM level 2&lt;br /&gt;
            vlc.addEventListener (event, handler, false);&lt;br /&gt;
        } else {&lt;br /&gt;
            // DOM level 0&lt;br /&gt;
            eval(&amp;quot;vlc.on&amp;quot; + event + &amp;quot; = handler&amp;quot;);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
 }&lt;br /&gt;
 // stop listening to event&lt;br /&gt;
 function unregisterVLCEvent(event, handler)&lt;br /&gt;
 {&lt;br /&gt;
    var vlc = getVLC(&amp;quot;vlc&amp;quot;);&lt;br /&gt;
    if (vlc) {&lt;br /&gt;
        if (vlc.detachEvent) {&lt;br /&gt;
            // Microsoft&lt;br /&gt;
            vlc.detachEvent (event, handler);&lt;br /&gt;
        } else if (vlc.removeEventListener) {&lt;br /&gt;
            // Mozilla: DOM level 2&lt;br /&gt;
            vlc.removeEventListener (event, handler, false);&lt;br /&gt;
        } else {&lt;br /&gt;
            // DOM level 0&lt;br /&gt;
            eval(&amp;quot;vlc.on&amp;quot; + event + &amp;quot; = null&amp;quot;);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
 }&lt;br /&gt;
 // event callback function for testing&lt;br /&gt;
 function handleEvents(event)&lt;br /&gt;
 {&lt;br /&gt;
    if (!event)&lt;br /&gt;
        event = window.event;&lt;br /&gt;
    if (event.target) {&lt;br /&gt;
        // Netscape based browser&lt;br /&gt;
        targ = event.target;&lt;br /&gt;
    } else if (event.srcElement) {&lt;br /&gt;
        // ActiveX&lt;br /&gt;
        targ = event.srcElement;&lt;br /&gt;
    } else {&lt;br /&gt;
        // No event object, just the value&lt;br /&gt;
        alert(&amp;quot;Event value&amp;quot; + event );&lt;br /&gt;
        return;&lt;br /&gt;
    }&lt;br /&gt;
    if (targ.nodeType == 3) // defeat Safari bug&lt;br /&gt;
        targ = targ.parentNode;&lt;br /&gt;
    alert(&amp;quot;Event &amp;quot; + event.type + &amp;quot; has fired from &amp;quot; + targ );&lt;br /&gt;
 }&lt;br /&gt;
 // Register a bunch of callbacks.&lt;br /&gt;
 registerVLCEvent(&#039;NothingSpecial&#039;, handleEvents);&lt;br /&gt;
 registerVLCEvent(&#039;Opening&#039;, handleEvents);&lt;br /&gt;
 registerVLCEvent(&#039;Buffering&#039;, handleEvents);&lt;br /&gt;
 registerVLCEvent(&#039;Playing&#039;, handleEvents);&lt;br /&gt;
 registerVLCEvent(&#039;Paused&#039;, handleEvents);&lt;br /&gt;
 registerVLCEvent(&#039;Forward&#039;, handleEvents);&lt;br /&gt;
 registerVLCEvent(&#039;Backward&#039;, handleEvents);&lt;br /&gt;
 registerVLCEvent(&#039;EncounteredError&#039;, handleEvents);&lt;br /&gt;
 registerVLCEvent(&#039;EndReached&#039;, handleEvents);&lt;br /&gt;
 registerVLCEvent(&#039;TimeChanged&#039;, handleEvents);&lt;br /&gt;
 registerVLCEvent(&#039;PositionChanged&#039;, handleEvents);&lt;br /&gt;
 registerVLCEvent(&#039;SeekableChanged&#039;, handleEvents);&lt;br /&gt;
 registerVLCEvent(&#039;PausableChanged&#039;, handleEvents);&lt;br /&gt;
 registerVLCEvent(&#039;MouseMove&#039;, handleEvents);&lt;br /&gt;
 registerVLCEvent(&#039;MouseButton&#039;, handleEvents);&lt;br /&gt;
 registerVLCEvent(&#039;MouseClick&#039;, handleEvents);&lt;br /&gt;
 registerVLCEvent(&#039;MouseObject&#039;, handleEvents);&lt;br /&gt;
 &amp;lt;/script&amp;gt;&lt;br /&gt;
 --&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Audio object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.audio.count&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) returns the number of audio track available.&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.audio.mute&#039;&#039;&#039;: boolean value to mute and ummute the audio.&lt;br /&gt;
*&#039;&#039;&#039;vlc.audio.volume&#039;&#039;&#039;: a value between [0-200] which indicates a percentage of the volume.&lt;br /&gt;
*&#039;&#039;&#039;vlc.audio.track&#039;&#039;&#039;: (supported in vlc version &amp;gt; 0.8.6) a value between [1-65535] which indicates the audio track to play or that is playing. a value of 0 means the audio is/will be disabled.&lt;br /&gt;
*&#039;&#039;&#039;vlc.audio.channel&#039;&#039;&#039;: (supported in vlc version &amp;gt; 0.8.6) integer value between [1-5] that indicates which audio channel mode is used, values can be: &amp;quot;1=stereo&amp;quot;, &amp;quot;2=reverse stereo&amp;quot;, &amp;quot;3=left&amp;quot;, &amp;quot;4=right&amp;quot;, &amp;quot;5=dolby&amp;quot;. Use vlc.audio.channel to check if setting of the audio channel mode has succeeded.&lt;br /&gt;
&lt;br /&gt;
 Audio Channel:&lt;br /&gt;
 &amp;lt;SELECT readonly onChange=&#039;doAudioChannel(this.value)&#039;&amp;gt;&lt;br /&gt;
    &amp;lt;OPTION value=1&amp;gt;Stereo&amp;lt;/OPTION&amp;gt;&lt;br /&gt;
    &amp;lt;OPTION value=2&amp;gt;Reverse stereo&amp;lt;/OPTION&amp;gt;&lt;br /&gt;
    &amp;lt;OPTION value=3&amp;gt;Left&amp;lt;/OPTION&amp;gt;&lt;br /&gt;
    &amp;lt;OPTION value=4&amp;gt;Right&amp;lt;/OPTION&amp;gt;&lt;br /&gt;
    &amp;lt;OPTION value=5&amp;gt;Dolby&amp;lt;/OPTION&amp;gt;&lt;br /&gt;
 &amp;lt;/SELECT&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;SCRIPT language=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;amp;lt;!--&lt;br /&gt;
 function doAudioChannel(value)&lt;br /&gt;
 {&lt;br /&gt;
    var vlc = getVLC(&amp;quot;vlc&amp;quot;);&lt;br /&gt;
    vlc.audio.channel = parseInt(value);&lt;br /&gt;
    alert(vlc.audio.channel);&lt;br /&gt;
 };&lt;br /&gt;
 --&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;vlc.audio.toggleMute()&#039;&#039;&#039;: boolean toggle that mutes and unmutes the audio based upon the previous state.&lt;br /&gt;
*&#039;&#039;&#039;vlc.audio.description(int i)&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) give the i-th audio track name. 0 corresponds to disable and 1 to the first audio track.&lt;br /&gt;
&lt;br /&gt;
====Input object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.length&#039;&#039;&#039;: length of the input file in number of milliseconds. 0 is returned for &#039;live&#039; streams or clips whose length cannot be determined by VLC. It returns -1 if no input is playing. &lt;br /&gt;
*&#039;&#039;&#039;vlc.input.fps&#039;&#039;&#039;: frames per second returned as a float (typically 60.0, 50.0, 23.976, etc...)&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.hasVout&#039;&#039;&#039;: a boolean that returns true when the video is being displayed, it returns false when video is not displayed&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.position&#039;&#039;&#039;: normalized position in multimedia stream item given as a float value between [0.0 - 1.0]&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.time&#039;&#039;&#039;: the absolute position in time given in milliseconds, this property can be used to seek through the stream&lt;br /&gt;
 &amp;amp;lt;!-- absolute seek in stream !--&amp;amp;gt;&lt;br /&gt;
 vlc.input.time = &amp;amp;lt;absolute seek&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;!-- relative seek in stream !--&amp;amp;gt;&lt;br /&gt;
 vlc.input.time = vlc.input.time + &amp;amp;lt;relative seek&amp;amp;gt;&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.state&#039;&#039;&#039;: current state of the input chain given as enumeration (IDLE=0, OPENING=1, BUFFERING=2, PLAYING=3, PAUSED=4, STOPPING=5, ENDED=6, ERROR=7). Note: Test for ENDED=6 to catch end of playback. Checking for STOPPING=5 is NOT ENOUGH.&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.rate&#039;&#039;&#039;: input speed given as float (1.0 for normal speed, 0.5 for half speed, 2.0 for twice as fast, etc.).&lt;br /&gt;
 rate &amp;amp;gt; 1              : is fastforward&lt;br /&gt;
 rate &amp;amp;gt; 0 and rate &amp;amp;lt; 1 : is slow motion&lt;br /&gt;
 rate &amp;amp;lt; 0              : is rewind&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Playlist object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.itemCount&#039;&#039;&#039;: number that returns the amount of items currently in the playlist (&#039;&#039;&#039;deprecated&#039;&#039;&#039;, do not use, see [[#Playlist_items_object| Playlist items]])&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.isPlaying&#039;&#039;&#039;: a boolean that returns true if the current playlist item is playing and false when it is not playing&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.items&#039;&#039;&#039;: return the playlist items collection, see [[#Playlist_items_object| Playlist items]]&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.add(mrl)&#039;&#039;&#039;: add a playlist item as [[MRL]]. The MRL must be given as a string. Returns a number as an item identifier in playlist (this is not a position  in playlist).&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.add(mrl,name,options)&#039;&#039;&#039;: add a playlist item as MRL, with metaname &#039;name&#039; and options &#039;options&#039;. options are text arguments which can be provided either as a single string containing space separated values, akin to VLC command line, or as an array of string values. Returns a number as an item identifier in playlist (this is not a position in playlist).&lt;br /&gt;
  var options = new Array(&amp;quot;:aspect-ratio=4:3&amp;quot;, &amp;quot;--rtsp-tcp&amp;quot;);&lt;br /&gt;
  var id = vlc.playlist.add(&amp;quot;rtsp://servername/item/to/play&amp;quot;, &amp;quot;fancy name&amp;quot;, options);&lt;br /&gt;
  vlc.playlist.playItem(id);&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.play()&#039;&#039;&#039;: start playing the current playlist item&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.playItem(number)&#039;&#039;&#039;: start playing the item whose identifier is number&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.togglePause()&#039;&#039;&#039;: toggle the pause state for the current playlist item&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.stop()&#039;&#039;&#039;: stop playing the current playlist item&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.next()&#039;&#039;&#039;: iterate to the next playlist item&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.prev()&#039;&#039;&#039;: iterate to the previous playlist item&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.clear()&#039;&#039;&#039;: empty the current playlist, all items will be deleted from the playlist (&#039;&#039;&#039;deprecated&#039;&#039;&#039;, do not use, see [[#Playlist_items_object| Playlist items]])&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.removeItem(number)&#039;&#039;&#039;: remove the item from playlist whose identifier is number &amp;lt;!-- (note: this number isn&#039;t the position in the playlist, but the number given by vlc.playlist.add() ) --&amp;gt; (&#039;&#039;&#039;deprecated&#039;&#039;&#039;, do not use, see [[#Playlist_items_object| Playlist items]])&lt;br /&gt;
&lt;br /&gt;
====Playlist items object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.items.count&#039;&#039;&#039;: number of items currently in the playlist&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.items.clear()&#039;&#039;&#039;: empty the current playlist, all items will be deleted from the playlist. If a movie is playing, it stop. Note that when this method returns, playlist may not have been entirely been cleared as this operation is performed asynchronously; use the &#039;&#039;count&#039;&#039; property to verify/wait until the playlist is empty.&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.items.remove(number)&#039;&#039;&#039;: remove the item whose identifier is number from playlist. (note: this number isn&#039;t the position in the playlist, but the number given by vlc.playlist.add() )&lt;br /&gt;
&lt;br /&gt;
====Subtitle object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;vlc.subtitle.count&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) returns the number of subtitle available.&lt;br /&gt;
&lt;br /&gt;
read/write properties &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;vlc.subtitle.track&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) get and set the subtitle track to show on the video screen. The property takes an integer as input value [1..65535]. If subtitle track is set to 0, the subtitles will be disabled. If set to a value outside the current subtitle tracks range, then it will return -1 and display an error message.&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;vlc.subtitle.description(int i)&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) give the i-th subtitle name. 0 correspond to disable and 1 to the first subtitle.&lt;br /&gt;
&lt;br /&gt;
====Video object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.width&#039;&#039;&#039;: returns the horizontal size of the video&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.height&#039;&#039;&#039;: returns the vertical size of the video&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.fullscreen&#039;&#039;&#039;: 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.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.aspectRatio&#039;&#039;&#039;: get and set the aspect ratio to use in the video screen. The property takes a string as input value. Typical values are: &amp;quot;1:1&amp;quot;, &amp;quot;4:3&amp;quot;, &amp;quot;16:9&amp;quot;, &amp;quot;16:10&amp;quot;, &amp;quot;221:100&amp;quot; and &amp;quot;5:4&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.subtitle&#039;&#039;&#039;: (supported in vlc version &amp;gt; 0.8.6a) get and set the subtitle track to show on the video screen. The property takes an integer as input value [1..65535]. If subtitle track is set to 0, the subtitles will be disabled. If set to a value outside the current subtitle tracks range, then it will return -1 and display an error message.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.teletext&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 0.9.0) get and set teletext page to show on the video stream. This will only work if a teletext elementary stream is available in the video stream. The property takes an integer as input value [0..999] for indicating the teletext page to view, setting the value to 0 means hide teletext. On error it will return -1 and display an error message.&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.toggleFullscreen()&#039;&#039;&#039;: toggle the fullscreen mode based on the previous setting&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.toggleTeletext()&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 0.9.0) toggle the teletext page to overlay transparent or not, based on the previous setting&lt;br /&gt;
&lt;br /&gt;
=====Deinterlace Object=====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.deinterlace.enable(&amp;quot;my_mode&amp;quot;)&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) enable deinterlacing with my_mode. You can enable it with &amp;quot;blend&amp;quot;, &amp;quot;bob&amp;quot;, &amp;quot;discard&amp;quot;, &amp;quot;linear&amp;quot;, &amp;quot;mean&amp;quot; or &amp;quot;x&amp;quot; mode. Enabling too soon deinterlacing may cause some problems. You have to wait that all variable are available before enabling it.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.deinterlace.disable()&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) disable deinterlacing.&lt;br /&gt;
&lt;br /&gt;
=====Marquee Object=====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.marquee.text&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) display my text on the screen.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.marquee.color&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change the text color. val is the new color to use (WHITE=0x000000, BLACK=0xFFFFFF, RED=0xFF0000, GREEN=0x00FF00, BLUE=0x0000FF...).&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.marquee.opacity&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change the text opacity, val is defined from 0 (completely transparent) to 255 (completely opaque).&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.marquee.position&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change the text position (CENTER=0, LEFT=1, RIGHT=2, TOP=4, TOP-LEFT=5, TOP-RIGHT=6, BOTTOM=8, BOTTOM-LEFT=9, BOTTOM_RIGHT=10).&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.marquee.refresh&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change the marquee refresh period.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.marquee.size&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) val define the new size for the text displayed on the screen. If the text is bigger than the screen then the text is not displayed.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.marquee.timeout&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change the timeout value. val is defined in ms, but 0 value correspond to unlimited.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.marquee.x&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change text abscissa.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.marquee.y&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change text ordinate.&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.marquee.enable()&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) enable marquee filter.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.marquee.disable()&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) disable marquee filter.&lt;br /&gt;
&lt;br /&gt;
Some problems may happen (option like color or text will not be applied) because of the VLC asynchronous functioning. To avoid it, after enabling marquee, you have to wait a little time before changing an option. But it should be fixed by the new vout implementation.&lt;br /&gt;
&lt;br /&gt;
=====Logo Object=====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.logo.opacity&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change the picture opacity, val is defined from 0 (completely transparent) to 255 (completely opaque).&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.logo.position&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change the text position (&amp;quot;center&amp;quot;, &amp;quot;left&amp;quot;, &amp;quot;right&amp;quot;, &amp;quot;top&amp;quot;, &amp;quot;top-left&amp;quot;, &amp;quot;top-right&amp;quot;, &amp;quot;bottom&amp;quot;, &amp;quot;bottom-left&amp;quot;, &amp;quot;bottom-right&amp;quot;).&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.logo.delay&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) display each picture for a duration of 1000 ms (default) before displaying the next  picture.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.logo.repeat&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) number of loops for picture animation (-1=continuous, 0=disabled, n=n-times). The default is -1 (continuous).&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.logo.x&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change the x-offset for displaying the picture counting from top-left on the screen.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.logo.y&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change the y-offset for displaying the picture counting from top-left on the screen.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.logo.width&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change the picture width.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.logo.height&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change the picture height.&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.logo.enable()&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) enable logo video filter.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.logo.disable()&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) disable logo video filter.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.logo.file(&amp;quot;file.png&amp;quot;)&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) display my file.png as logo on the screen.&lt;br /&gt;
&lt;br /&gt;
Some problems may happen because of the VLC asynchronous functioning. To avoid it, after enabling logo video filter, you have to wait a little time before changing an option. But it should be fixed by the new vout implementation.&lt;br /&gt;
&lt;br /&gt;
====Log object====&lt;br /&gt;
: &#039;&#039;&#039;CAUTION&#039;&#039;&#039;: For security concern, VLC 1.0.0-rc1 is the latest (near-to-stable) version in which this object and its children are supported.&lt;br /&gt;
&lt;br /&gt;
This object allows accessing VLC main message logging queue. Typically this queue capacity is very small (no nore than 256 entries) and can easily overflow, therefore messages should be read and cleared as often as possible.&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.log.messages&#039;&#039;&#039;: returns the message collection, see [[#Messages object|Messages object]]&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.log.verbosity&#039;&#039;&#039;: write number [-1,0,1,2,3] for changing the verbosity level of the log messages; messages whose verbosity is higher than set will be not be logged in the queue. The numbers have the following meaning: -1 disable, 0 info, 1 error, 2 warning, 3 debug. &lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Messages object====&lt;br /&gt;
: &#039;&#039;&#039;CAUTION&#039;&#039;&#039;: For security concern, VLC 1.0.0-rc1 is the latest (near-to-stable) version in which this object and its children are supported.&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;messages.count&#039;&#039;&#039;: returns number of messages in the log&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;messages.clear()&#039;&#039;&#039;: clear the current log buffer. It should be called as frequently as possible to not overflow the message queue. Call this method after the log messages of interest are read.&lt;br /&gt;
*&#039;&#039;&#039;messages.iterator()&#039;&#039;&#039;: creates and returns an iterator object, used to iterate over the messages in the log. &#039;&#039;&#039;Don&#039;t clear the log buffer while holding an iterator object.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Messages Iterator object====&lt;br /&gt;
: &#039;&#039;&#039;CAUTION&#039;&#039;&#039;: For security concern, VLC 1.0.0-rc1 is the latest (near-to-stable) version in which this object and its children are supported.&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;iterator.hasNext&#039;&#039;&#039;: returns a boolean that indicates whether &#039;&#039;vlc.log.messages.next()&#039;&#039; will return the next message.&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;iterator.next()&#039;&#039;&#039;: returns the next message object in the log, see [[Message object]]&lt;br /&gt;
&lt;br /&gt;
====Message object====&lt;br /&gt;
: &#039;&#039;&#039;CAUTION&#039;&#039;&#039;: For security concern, VLC 1.0.0-rc1 is the latest (near-to-stable) version in which this object and its children are supported.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;message.severity&#039;&#039;&#039;: number that indicates the severity of the log message (0 = info, 1 = error, 2 = warning, 3 = debug)&lt;br /&gt;
*&#039;&#039;&#039;message.name&#039;&#039;&#039;: name of VLC module that printed the log message (e.g: main, http, directx, etc...)&lt;br /&gt;
*&#039;&#039;&#039;message.type&#039;&#039;&#039;: type of VLC module that printed the log message (eg: input, access, vout, sout, etc...)&lt;br /&gt;
*&#039;&#039;&#039;message.message&#039;&#039;&#039;: the message text&lt;br /&gt;
&lt;br /&gt;
==Build HTML pages that use the plugin (VLC version up to 0.8.5)==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;WARNING:&#039;&#039;&#039; the APIs described in this section are &#039;&#039;&#039;deprecated&#039;&#039;&#039;, do not use. They no longer work on recent VLC version (&amp;gt; 0.8.5), either it being the ActiveX (Internet Explorer)/ Safari or Mozilla based browsers.&lt;br /&gt;
&lt;br /&gt;
The following API description is only valid uptill version 0.8.5 of the mozilla plugin.&lt;br /&gt;
&lt;br /&gt;
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&lt;br /&gt;
plugin.&lt;br /&gt;
&lt;br /&gt;
The vlc plugin supports the following function calls:&lt;br /&gt;
*&#039;&#039;&#039;play()&#039;&#039;&#039;: Start playing media in the plugin.&lt;br /&gt;
*&#039;&#039;&#039;pause()&#039;&#039;&#039;: Pause playback.&lt;br /&gt;
*&#039;&#039;&#039;stop()&#039;&#039;&#039;: Stop media playback.&lt;br /&gt;
*&#039;&#039;&#039;fullscreen()&#039;&#039;&#039;: Switch the video to full screen.&lt;br /&gt;
*&#039;&#039;&#039;set_volume(vol)&#039;&#039;&#039;: Set the volume. &#039;&#039;&#039;vol&#039;&#039;&#039; has to be an int in the 0-200 range.&lt;br /&gt;
*&#039;&#039;&#039;get_volume()&#039;&#039;&#039;: Get the current volume setting.&lt;br /&gt;
*&#039;&#039;&#039;mute()&#039;&#039;&#039;: Toggle volume muting.&lt;br /&gt;
*&#039;&#039;&#039;set_int_variable(var_name, value)&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;set_bool_variable(var_name, value)&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;set_str_variable(var_name, value)&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;get_int_variable(var_name)&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;get_bool_variable(var_name)&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;get_str_variable(var_name)&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;clear_playlist()&#039;&#039;&#039;: Clear the playlist.&lt;br /&gt;
*&#039;&#039;&#039;add_item(mrl)&#039;&#039;&#039;: Append an item whose location is given by the [[media resource locator]] to the playlist.&lt;br /&gt;
*&#039;&#039;&#039;next()&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;previous()&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;isplaying()&#039;&#039;&#039;: return true if the plugin is playing something.&lt;br /&gt;
*&#039;&#039;&#039;get_length()&#039;&#039;&#039;: Get the media&#039;s length in seconds.&lt;br /&gt;
*&#039;&#039;&#039;get_position()&#039;&#039;&#039;: Get the current position in the media in percent.&lt;br /&gt;
*&#039;&#039;&#039;get_time()&#039;&#039;&#039;: Get the current position in the media in seconds.&lt;br /&gt;
*&#039;&#039;&#039;seek(seconds,is_relative)&#039;&#039;&#039;: If is_relative is true, seek relatively to current time, else seek from beginning of the stream. Seek time is specified in seconds.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Here are a few examples of HTML pages that use the&lt;br /&gt;
Mozilla plugin.&lt;br /&gt;
&lt;br /&gt;
===Example 1===&lt;br /&gt;
&lt;br /&gt;
In this example, the plugin will read an HTTP stream inside the web page. If the user goes fullscreen, he will have to press &#039;&#039;f&#039;&#039; or double-click on the video to go back in normal view.&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;html&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;head&amp;amp;gt;&amp;amp;lt;title&amp;amp;gt;Demo of VLC mozilla plugin&amp;amp;lt;/title&amp;amp;gt;&amp;amp;lt;/head&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;body&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;h1&amp;amp;gt;Demo of VLC mozilla plugin - Example 1&amp;amp;lt;/h1&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;embed type=&amp;quot;application/x-vlc-plugin&amp;quot;&lt;br /&gt;
          name=&amp;quot;video1&amp;quot;&lt;br /&gt;
          autoplay=&amp;quot;no&amp;quot; loop=&amp;quot;yes&amp;quot; width=&amp;quot;400&amp;quot; height=&amp;quot;300&amp;quot;&lt;br /&gt;
          target=&amp;quot;http://server.example.org/video1.vob&amp;quot; /&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;br /&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video1.play()&#039;&amp;amp;gt;Play video1&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video1.pause()&#039;&amp;amp;gt;Pause video1&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video1.stop()&#039;&amp;amp;gt;Stop video1&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video1.fullscreen()&#039;&amp;amp;gt;Fullscreen&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;/body&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/html&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Example 2===&lt;br /&gt;
&lt;br /&gt;
In this example, the plugin will read a multicast UDP/RTP stream in a dedicated video output window.&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;html&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;head&amp;amp;gt;&amp;amp;lt;title&amp;amp;gt;Demo of VLC mozilla plugin&amp;amp;lt;/title&amp;amp;gt;&amp;amp;lt;/head&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;body&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;h1&amp;amp;gt;Demo of VLC mozilla plugin - Example 2&amp;amp;lt;/h1&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;embed type=&amp;quot;application/x-vlc-plugin&amp;quot;&lt;br /&gt;
          name=&amp;quot;video2&amp;quot;&lt;br /&gt;
          autoplay=&amp;quot;no&amp;quot; loop=&amp;quot;no&amp;quot; hidden=&amp;quot;yes&amp;quot;&lt;br /&gt;
          target=&amp;quot;rtp://@239.255.12.42:5004&amp;quot; /&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;br /&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video2.play()&#039;&amp;amp;gt;Play video2&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video2.stop()&#039;&amp;amp;gt;Stop video2&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video2.fullscreen()&#039;&amp;amp;gt;Fullscreen&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;/body&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/html&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Documentation}}&lt;br /&gt;
[[Category:Embedded]]&lt;/div&gt;</summary>
		<author><name>Jpsaman</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=Documentation:WebPlugin&amp;diff=15504</id>
		<title>Documentation:WebPlugin</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=Documentation:WebPlugin&amp;diff=15504"/>
		<updated>2010-02-07T16:09:15Z</updated>

		<summary type="html">&lt;p&gt;Jpsaman: Document mouse JS events&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Building HTML pages for Mozilla/Firefox/Internet Explorer/Safari ==&lt;br /&gt;
&lt;br /&gt;
The following description works for any of the browsers VLC supports. The JavaScript API has been unified between Mozilla/Firefox/IE (ActiveX) and Safari, thus targetting at all of the major OS out there. &lt;br /&gt;
&lt;br /&gt;
This is only valid for {{VLC}} version 0.8.6 and above.&lt;br /&gt;
&lt;br /&gt;
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&lt;br /&gt;
plugin.&lt;br /&gt;
&lt;br /&gt;
== API description ==&lt;br /&gt;
The vlc plugin exports serveral objects that can be accessed for setting and getting information. When used improperly the API&#039;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.&lt;br /&gt;
&lt;br /&gt;
The vlc plugin knows the following objects:&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;audio&#039;&#039;&#039;: Access audio properties.&lt;br /&gt;
*&#039;&#039;&#039;input&#039;&#039;&#039;: Access input properties.&lt;br /&gt;
*&#039;&#039;&#039;playlist&#039;&#039;&#039;: Access playlist properties.&lt;br /&gt;
*&#039;&#039;&#039;subtitle&#039;&#039;&#039;: Access subtitle properties.&lt;br /&gt;
*&#039;&#039;&#039;video&#039;&#039;&#039;: Access video properties.&lt;br /&gt;
*&#039;&#039;&#039;video.marquee&#039;&#039;&#039;: Access marquee video filter properties.&lt;br /&gt;
*&#039;&#039;&#039;video.logo&#039;&#039;&#039;: Access logo video filter properties.&lt;br /&gt;
*&#039;&#039;&#039;log&#039;&#039;&#039;: Access log properties.&lt;br /&gt;
*&#039;&#039;&#039;messages&#039;&#039;&#039;: Access to log message properties.&lt;br /&gt;
*&#039;&#039;&#039;iterator&#039;&#039;&#039;: Access to log iterator properties.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;html&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;title&amp;amp;gt;VLC Mozilla plugin test page&amp;amp;lt;/title&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;body&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;embed type=&amp;quot;application/x-vlc-plugin&amp;quot; pluginspage=&amp;quot;http://www.videolan.org&amp;quot; version=&amp;quot;VideoLAN.VLCPlugin.2&amp;quot;&lt;br /&gt;
     width=&amp;quot;640&amp;quot;&lt;br /&gt;
     height=&amp;quot;480&amp;quot;&lt;br /&gt;
     id=&amp;quot;vlc&amp;quot;&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/embed&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;script language=&amp;quot;Javascript&amp;quot;&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;!--&lt;br /&gt;
 var vlc = document.getElementById(&amp;quot;vlc&amp;quot;);&lt;br /&gt;
 vlc.audio.toggleMute();&lt;br /&gt;
 !--&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/script&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/body&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/html&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Root object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;VersionInfo&#039;&#039;&#039;: returns version information string&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;vlc.versionInfo()&#039;&#039;&#039;: returns version information string (same as VersionInfo)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;vlc.addEventListener(eventname, callback, bubble)&#039;&#039;&#039;: (only for Mozilla) add a listener for mentioned event name, callback expects a function and bubble influences the order of eventhandling by JS (usually it is set to false).&lt;br /&gt;
*&#039;&#039;&#039;vlc.removeEventListener(eventname, callback, bubble)&#039;&#039;&#039;: (only for Mozilla) remove listener for mentioned event name, callback expects a function and bubble influences the order of eventhandling by JS (usually it is set to false).&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;vlc.attachEvent(eventname, callback)&#039;&#039;&#039;: ( only for ActiveX) add listener for mentioned event name, callback expects a function&lt;br /&gt;
*&#039;&#039;&#039;vlc.removeEvent(eventname, callback)&#039;&#039;&#039;: ( only for ActiveX) remove listener for mentioned event name, callback expects a function&lt;br /&gt;
&lt;br /&gt;
events&lt;br /&gt;
*&#039;&#039;&#039;NothingSpecial&#039;&#039;&#039;: vlc is in idle state doing nothing but waiting for a command to be issued&lt;br /&gt;
*&#039;&#039;&#039;Opening&#039;&#039;&#039;: vlc is opening an media resource locator (MRL)&lt;br /&gt;
*&#039;&#039;&#039;Buffering&#039;&#039;&#039;: vlc is buffering&lt;br /&gt;
*&#039;&#039;&#039;Playing&#039;&#039;&#039;: vlc is playing a media&lt;br /&gt;
*&#039;&#039;&#039;Paused&#039;&#039;&#039;: vlc is in paused state&lt;br /&gt;
*&#039;&#039;&#039;Forward&#039;&#039;&#039;: vlc is fastforwarding through the media (works only when an input supports forward playback)&lt;br /&gt;
*&#039;&#039;&#039;Backward&#039;&#039;&#039;: vlc is going backwards through the media (works only when an input supports backwards playback)&lt;br /&gt;
*&#039;&#039;&#039;EncounteredError&#039;&#039;&#039;: vlc has encountered an error and is unable to continue&lt;br /&gt;
*&#039;&#039;&#039;EndReached&#039;&#039;&#039;: vlc has reached the end of current playlist&lt;br /&gt;
*&#039;&#039;&#039;TimeChanged&#039;&#039;&#039;: time has changed&lt;br /&gt;
*&#039;&#039;&#039;PositionChanged&#039;&#039;&#039;: media position has changed&lt;br /&gt;
*&#039;&#039;&#039;SeekableChanged&#039;&#039;&#039;: media seekable flag has changed (true means media is seekable, false means it is not)&lt;br /&gt;
*&#039;&#039;&#039;PausableChanged&#039;&#039;&#039;: media pausable flag has changed (true means media is pausaable, false means it is not)&lt;br /&gt;
*&#039;&#039;&#039;MouseMoved&#039;&#039;&#039;: vlc detected a mouse movement in its video window&lt;br /&gt;
*&#039;&#039;&#039;MouseButton&#039;&#039;&#039;: vlc detected a mouse button event in its video window&lt;br /&gt;
*&#039;&#039;&#039;MouseClick&#039;&#039;&#039;: vlc detected a mouse click in its video window&lt;br /&gt;
*&#039;&#039;&#039;MouseObject&#039;&#039;&#039;: vlc filter (eg: logo) detected a object movement in its video window&lt;br /&gt;
&lt;br /&gt;
The following code snippit provides easy functions to register and unregister event callbacks on all supported platforms (currently only Linux mozilla based browsers and windows activeX objects for Internet Explorer).&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;SCRIPT language=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;amp;lt;!--&lt;br /&gt;
 function registerVLCEvent(event, handler)&lt;br /&gt;
 {&lt;br /&gt;
    var vlc = getVLC(&amp;quot;vlc&amp;quot;);&lt;br /&gt;
    if (vlc) {&lt;br /&gt;
        if (vlc.attachEvent) {&lt;br /&gt;
            // Microsoft&lt;br /&gt;
            vlc.attachEvent (event, handler);&lt;br /&gt;
        } else if (vlc.addEventListener) {&lt;br /&gt;
            // Mozilla: DOM level 2&lt;br /&gt;
            vlc.addEventListener (event, handler, false);&lt;br /&gt;
        } else {&lt;br /&gt;
            // DOM level 0&lt;br /&gt;
            eval(&amp;quot;vlc.on&amp;quot; + event + &amp;quot; = handler&amp;quot;);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
 }&lt;br /&gt;
 // stop listening to event&lt;br /&gt;
 function unregisterVLCEvent(event, handler)&lt;br /&gt;
 {&lt;br /&gt;
    var vlc = getVLC(&amp;quot;vlc&amp;quot;);&lt;br /&gt;
    if (vlc) {&lt;br /&gt;
        if (vlc.detachEvent) {&lt;br /&gt;
            // Microsoft&lt;br /&gt;
            vlc.detachEvent (event, handler);&lt;br /&gt;
        } else if (vlc.removeEventListener) {&lt;br /&gt;
            // Mozilla: DOM level 2&lt;br /&gt;
            vlc.removeEventListener (event, handler, false);&lt;br /&gt;
        } else {&lt;br /&gt;
            // DOM level 0&lt;br /&gt;
            eval(&amp;quot;vlc.on&amp;quot; + event + &amp;quot; = null&amp;quot;);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
 }&lt;br /&gt;
 // event callback function for testing&lt;br /&gt;
 function handleEvents(event)&lt;br /&gt;
 {&lt;br /&gt;
    if (!event)&lt;br /&gt;
        event = window.event;&lt;br /&gt;
    if (event.target) {&lt;br /&gt;
        // Netscape based browser&lt;br /&gt;
        targ = event.target;&lt;br /&gt;
    } else if (event.srcElement) {&lt;br /&gt;
        // ActiveX&lt;br /&gt;
        targ = event.srcElement;&lt;br /&gt;
    } else {&lt;br /&gt;
        // No event object, just the value&lt;br /&gt;
        alert(&amp;quot;Event value&amp;quot; + event );&lt;br /&gt;
        return;&lt;br /&gt;
    }&lt;br /&gt;
    if (targ.nodeType == 3) // defeat Safari bug&lt;br /&gt;
        targ = targ.parentNode;&lt;br /&gt;
    alert(&amp;quot;Event &amp;quot; + event.type + &amp;quot; has fired from &amp;quot; + targ );&lt;br /&gt;
 }&lt;br /&gt;
 // Register a bunch of callbacks.&lt;br /&gt;
 registerVLCEvent(&#039;Idle&#039;, handleEvents);&lt;br /&gt;
 registerVLCEvent(&#039;Opening&#039;, handleEvents);&lt;br /&gt;
 registerVLCEvent(&#039;Playing&#039;, handleEvents);&lt;br /&gt;
 registerVLCEvent(&#039;Pausing&#039;, handleEvents);&lt;br /&gt;
 registerVLCEvent(&#039;Forward&#039;, handleEvents);&lt;br /&gt;
 registerVLCEvent(&#039;Backward&#039;, handleEvents);&lt;br /&gt;
 registerVLCEvent(&#039;Error&#039;, handleEvents);&lt;br /&gt;
 registerVLCEvent(&#039;EndReached&#039;, handleEvents);&lt;br /&gt;
 registerVLCEvent(&#039;TimeChanged&#039;, handleEvents);&lt;br /&gt;
 registerVLCEvent(&#039;PositionChanged&#039;, handleEvents);&lt;br /&gt;
 registerVLCEvent(&#039;SeekableChanged&#039;, handleEvents);&lt;br /&gt;
 registerVLCEvent(&#039;PausableChanged&#039;, handleEvents);&lt;br /&gt;
 &amp;lt;/script&amp;gt;&lt;br /&gt;
 --&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Audio object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.audio.count&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) returns the number of audio track available.&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.audio.mute&#039;&#039;&#039;: boolean value to mute and ummute the audio.&lt;br /&gt;
*&#039;&#039;&#039;vlc.audio.volume&#039;&#039;&#039;: a value between [0-200] which indicates a percentage of the volume.&lt;br /&gt;
*&#039;&#039;&#039;vlc.audio.track&#039;&#039;&#039;: (supported in vlc version &amp;gt; 0.8.6) a value between [1-65535] which indicates the audio track to play or that is playing. a value of 0 means the audio is/will be disabled.&lt;br /&gt;
*&#039;&#039;&#039;vlc.audio.channel&#039;&#039;&#039;: (supported in vlc version &amp;gt; 0.8.6) integer value between [1-5] that indicates which audio channel mode is used, values can be: &amp;quot;1=stereo&amp;quot;, &amp;quot;2=reverse stereo&amp;quot;, &amp;quot;3=left&amp;quot;, &amp;quot;4=right&amp;quot;, &amp;quot;5=dolby&amp;quot;. Use vlc.audio.channel to check if setting of the audio channel mode has succeeded.&lt;br /&gt;
&lt;br /&gt;
 Audio Channel:&lt;br /&gt;
 &amp;lt;SELECT readonly onChange=&#039;doAudioChannel(this.value)&#039;&amp;gt;&lt;br /&gt;
    &amp;lt;OPTION value=1&amp;gt;Stereo&amp;lt;/OPTION&amp;gt;&lt;br /&gt;
    &amp;lt;OPTION value=2&amp;gt;Reverse stereo&amp;lt;/OPTION&amp;gt;&lt;br /&gt;
    &amp;lt;OPTION value=3&amp;gt;Left&amp;lt;/OPTION&amp;gt;&lt;br /&gt;
    &amp;lt;OPTION value=4&amp;gt;Right&amp;lt;/OPTION&amp;gt;&lt;br /&gt;
    &amp;lt;OPTION value=5&amp;gt;Dolby&amp;lt;/OPTION&amp;gt;&lt;br /&gt;
 &amp;lt;/SELECT&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;SCRIPT language=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;amp;lt;!--&lt;br /&gt;
 function doAudioChannel(value)&lt;br /&gt;
 {&lt;br /&gt;
    var vlc = getVLC(&amp;quot;vlc&amp;quot;);&lt;br /&gt;
    vlc.audio.channel = parseInt(value);&lt;br /&gt;
    alert(vlc.audio.channel);&lt;br /&gt;
 };&lt;br /&gt;
 --&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;vlc.audio.toggleMute()&#039;&#039;&#039;: boolean toggle that mutes and unmutes the audio based upon the previous state.&lt;br /&gt;
*&#039;&#039;&#039;vlc.audio.description(int i)&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) give the i-th audio track name. 0 corresponds to disable and 1 to the first audio track.&lt;br /&gt;
&lt;br /&gt;
====Input object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.length&#039;&#039;&#039;: length of the input file in number of milliseconds. 0 is returned for &#039;live&#039; streams or clips whose length cannot be determined by VLC. It returns -1 if no input is playing. &lt;br /&gt;
*&#039;&#039;&#039;vlc.input.fps&#039;&#039;&#039;: frames per second returned as a float (typically 60.0, 50.0, 23.976, etc...)&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.hasVout&#039;&#039;&#039;: a boolean that returns true when the video is being displayed, it returns false when video is not displayed&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.position&#039;&#039;&#039;: normalized position in multimedia stream item given as a float value between [0.0 - 1.0]&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.time&#039;&#039;&#039;: the absolute position in time given in milliseconds, this property can be used to seek through the stream&lt;br /&gt;
 &amp;amp;lt;!-- absolute seek in stream !--&amp;amp;gt;&lt;br /&gt;
 vlc.input.time = &amp;amp;lt;absolute seek&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;!-- relative seek in stream !--&amp;amp;gt;&lt;br /&gt;
 vlc.input.time = vlc.input.time + &amp;amp;lt;relative seek&amp;amp;gt;&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.state&#039;&#039;&#039;: current state of the input chain given as enumeration (IDLE=0, OPENING=1, BUFFERING=2, PLAYING=3, PAUSED=4, STOPPING=5, ENDED=6, ERROR=7). Note: Test for ENDED=6 to catch end of playback. Checking for STOPPING=5 is NOT ENOUGH.&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.rate&#039;&#039;&#039;: input speed given as float (1.0 for normal speed, 0.5 for half speed, 2.0 for twice as fast, etc.).&lt;br /&gt;
 rate &amp;amp;gt; 1              : is fastforward&lt;br /&gt;
 rate &amp;amp;gt; 0 and rate &amp;amp;lt; 1 : is slow motion&lt;br /&gt;
 rate &amp;amp;lt; 0              : is rewind&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Playlist object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.itemCount&#039;&#039;&#039;: number that returns the amount of items currently in the playlist (&#039;&#039;&#039;deprecated&#039;&#039;&#039;, do not use, see [[#Playlist_items_object| Playlist items]])&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.isPlaying&#039;&#039;&#039;: a boolean that returns true if the current playlist item is playing and false when it is not playing&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.items&#039;&#039;&#039;: return the playlist items collection, see [[#Playlist_items_object| Playlist items]]&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.add(mrl)&#039;&#039;&#039;: add a playlist item as [[MRL]]. The MRL must be given as a string. Returns a number as an item identifier in playlist (this is not a position  in playlist).&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.add(mrl,name,options)&#039;&#039;&#039;: add a playlist item as MRL, with metaname &#039;name&#039; and options &#039;options&#039;. options are text arguments which can be provided either as a single string containing space separated values, akin to VLC command line, or as an array of string values. Returns a number as an item identifier in playlist (this is not a position in playlist).&lt;br /&gt;
  var options = new Array(&amp;quot;:aspect-ratio=4:3&amp;quot;, &amp;quot;--rtsp-tcp&amp;quot;);&lt;br /&gt;
  var id = vlc.playlist.add(&amp;quot;rtsp://servername/item/to/play&amp;quot;, &amp;quot;fancy name&amp;quot;, options);&lt;br /&gt;
  vlc.playlist.playItem(id);&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.play()&#039;&#039;&#039;: start playing the current playlist item&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.playItem(number)&#039;&#039;&#039;: start playing the item whose identifier is number&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.togglePause()&#039;&#039;&#039;: toggle the pause state for the current playlist item&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.stop()&#039;&#039;&#039;: stop playing the current playlist item&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.next()&#039;&#039;&#039;: iterate to the next playlist item&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.prev()&#039;&#039;&#039;: iterate to the previous playlist item&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.clear()&#039;&#039;&#039;: empty the current playlist, all items will be deleted from the playlist (&#039;&#039;&#039;deprecated&#039;&#039;&#039;, do not use, see [[#Playlist_items_object| Playlist items]])&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.removeItem(number)&#039;&#039;&#039;: remove the item from playlist whose identifier is number &amp;lt;!-- (note: this number isn&#039;t the position in the playlist, but the number given by vlc.playlist.add() ) --&amp;gt; (&#039;&#039;&#039;deprecated&#039;&#039;&#039;, do not use, see [[#Playlist_items_object| Playlist items]])&lt;br /&gt;
&lt;br /&gt;
====Playlist items object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.items.count&#039;&#039;&#039;: number of items currently in the playlist&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.items.clear()&#039;&#039;&#039;: empty the current playlist, all items will be deleted from the playlist. If a movie is playing, it stop. Note that when this method returns, playlist may not have been entirely been cleared as this operation is performed asynchronously; use the &#039;&#039;count&#039;&#039; property to verify/wait until the playlist is empty.&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.items.remove(number)&#039;&#039;&#039;: remove the item whose identifier is number from playlist. (note: this number isn&#039;t the position in the playlist, but the number given by vlc.playlist.add() )&lt;br /&gt;
&lt;br /&gt;
====Subtitle object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;vlc.subtitle.count&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) returns the number of subtitle available.&lt;br /&gt;
&lt;br /&gt;
read/write properties &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;vlc.subtitle.track&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) get and set the subtitle track to show on the video screen. The property takes an integer as input value [1..65535]. If subtitle track is set to 0, the subtitles will be disabled. If set to a value outside the current subtitle tracks range, then it will return -1 and display an error message.&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;vlc.subtitle.description(int i)&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) give the i-th subtitle name. 0 correspond to disable and 1 to the first subtitle.&lt;br /&gt;
&lt;br /&gt;
====Video object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.width&#039;&#039;&#039;: returns the horizontal size of the video&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.height&#039;&#039;&#039;: returns the vertical size of the video&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.fullscreen&#039;&#039;&#039;: 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.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.aspectRatio&#039;&#039;&#039;: get and set the aspect ratio to use in the video screen. The property takes a string as input value. Typical values are: &amp;quot;1:1&amp;quot;, &amp;quot;4:3&amp;quot;, &amp;quot;16:9&amp;quot;, &amp;quot;16:10&amp;quot;, &amp;quot;221:100&amp;quot; and &amp;quot;5:4&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.subtitle&#039;&#039;&#039;: (supported in vlc version &amp;gt; 0.8.6a) get and set the subtitle track to show on the video screen. The property takes an integer as input value [1..65535]. If subtitle track is set to 0, the subtitles will be disabled. If set to a value outside the current subtitle tracks range, then it will return -1 and display an error message.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.teletext&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 0.9.0) get and set teletext page to show on the video stream. This will only work if a teletext elementary stream is available in the video stream. The property takes an integer as input value [0..999] for indicating the teletext page to view, setting the value to 0 means hide teletext. On error it will return -1 and display an error message.&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.toggleFullscreen()&#039;&#039;&#039;: toggle the fullscreen mode based on the previous setting&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.toggleTeletext()&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 0.9.0) toggle the teletext page to overlay transparent or not, based on the previous setting&lt;br /&gt;
&lt;br /&gt;
=====Deinterlace Object=====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.deinterlace.enable(&amp;quot;my_mode&amp;quot;)&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) enable deinterlacing with my_mode. You can enable it with &amp;quot;blend&amp;quot;, &amp;quot;bob&amp;quot;, &amp;quot;discard&amp;quot;, &amp;quot;linear&amp;quot;, &amp;quot;mean&amp;quot; or &amp;quot;x&amp;quot; mode. Enabling too soon deinterlacing may cause some problems. You have to wait that all variable are available before enabling it.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.deinterlace.disable()&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) disable deinterlacing.&lt;br /&gt;
&lt;br /&gt;
=====Marquee Object=====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.marquee.text&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) display my text on the screen.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.marquee.color&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change the text color. val is the new color to use (WHITE=0x000000, BLACK=0xFFFFFF, RED=0xFF0000, GREEN=0x00FF00, BLUE=0x0000FF...).&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.marquee.opacity&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change the text opacity, val is defined from 0 (completely transparent) to 255 (completely opaque).&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.marquee.position&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change the text position (CENTER=0, LEFT=1, RIGHT=2, TOP=4, TOP-LEFT=5, TOP-RIGHT=6, BOTTOM=8, BOTTOM-LEFT=9, BOTTOM_RIGHT=10).&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.marquee.refresh&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change the marquee refresh period.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.marquee.size&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) val define the new size for the text displayed on the screen. If the text is bigger than the screen then the text is not displayed.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.marquee.timeout&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change the timeout value. val is defined in ms, but 0 value correspond to unlimited.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.marquee.x&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change text abscissa.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.marquee.y&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change text ordinate.&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.marquee.enable()&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) enable marquee filter.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.marquee.disable()&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) disable marquee filter.&lt;br /&gt;
&lt;br /&gt;
Some problems may happen (option like color or text will not be applied) because of the VLC asynchronous functioning. To avoid it, after enabling marquee, you have to wait a little time before changing an option. But it should be fixed by the new vout implementation.&lt;br /&gt;
&lt;br /&gt;
=====Logo Object=====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.logo.opacity&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change the picture opacity, val is defined from 0 (completely transparent) to 255 (completely opaque).&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.logo.position&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change the text position (&amp;quot;center&amp;quot;, &amp;quot;left&amp;quot;, &amp;quot;right&amp;quot;, &amp;quot;top&amp;quot;, &amp;quot;top-left&amp;quot;, &amp;quot;top-right&amp;quot;, &amp;quot;bottom&amp;quot;, &amp;quot;bottom-left&amp;quot;, &amp;quot;bottom-right&amp;quot;).&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.logo.delay&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) display each picture for a duration of 1000 ms (default) before displaying the next  picture.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.logo.repeat&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) number of loops for picture animation (-1=continuous, 0=disabled, n=n-times). The default is -1 (continuous).&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.logo.x&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change the x-offset for displaying the picture counting from top-left on the screen.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.logo.y&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change the y-offset for displaying the picture counting from top-left on the screen.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.logo.width&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change the picture width.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.logo.height&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change the picture height.&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.logo.enable()&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) enable logo video filter.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.logo.disable()&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) disable logo video filter.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.logo.file(&amp;quot;file.png&amp;quot;)&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) display my file.png as logo on the screen.&lt;br /&gt;
&lt;br /&gt;
Some problems may happen because of the VLC asynchronous functioning. To avoid it, after enabling logo video filter, you have to wait a little time before changing an option. But it should be fixed by the new vout implementation.&lt;br /&gt;
&lt;br /&gt;
====Log object====&lt;br /&gt;
: &#039;&#039;&#039;CAUTION&#039;&#039;&#039;: For security concern, VLC 1.0.0-rc1 is the latest (near-to-stable) version in which this object and its children are supported.&lt;br /&gt;
&lt;br /&gt;
This object allows accessing VLC main message logging queue. Typically this queue capacity is very small (no nore than 256 entries) and can easily overflow, therefore messages should be read and cleared as often as possible.&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.log.messages&#039;&#039;&#039;: returns the message collection, see [[#Messages object|Messages object]]&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.log.verbosity&#039;&#039;&#039;: write number [-1,0,1,2,3] for changing the verbosity level of the log messages; messages whose verbosity is higher than set will be not be logged in the queue. The numbers have the following meaning: -1 disable, 0 info, 1 error, 2 warning, 3 debug. &lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Messages object====&lt;br /&gt;
: &#039;&#039;&#039;CAUTION&#039;&#039;&#039;: For security concern, VLC 1.0.0-rc1 is the latest (near-to-stable) version in which this object and its children are supported.&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;messages.count&#039;&#039;&#039;: returns number of messages in the log&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;messages.clear()&#039;&#039;&#039;: clear the current log buffer. It should be called as frequently as possible to not overflow the message queue. Call this method after the log messages of interest are read.&lt;br /&gt;
*&#039;&#039;&#039;messages.iterator()&#039;&#039;&#039;: creates and returns an iterator object, used to iterate over the messages in the log. &#039;&#039;&#039;Don&#039;t clear the log buffer while holding an iterator object.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Messages Iterator object====&lt;br /&gt;
: &#039;&#039;&#039;CAUTION&#039;&#039;&#039;: For security concern, VLC 1.0.0-rc1 is the latest (near-to-stable) version in which this object and its children are supported.&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;iterator.hasNext&#039;&#039;&#039;: returns a boolean that indicates whether &#039;&#039;vlc.log.messages.next()&#039;&#039; will return the next message.&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;iterator.next()&#039;&#039;&#039;: returns the next message object in the log, see [[Message object]]&lt;br /&gt;
&lt;br /&gt;
====Message object====&lt;br /&gt;
: &#039;&#039;&#039;CAUTION&#039;&#039;&#039;: For security concern, VLC 1.0.0-rc1 is the latest (near-to-stable) version in which this object and its children are supported.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;message.severity&#039;&#039;&#039;: number that indicates the severity of the log message (0 = info, 1 = error, 2 = warning, 3 = debug)&lt;br /&gt;
*&#039;&#039;&#039;message.name&#039;&#039;&#039;: name of VLC module that printed the log message (e.g: main, http, directx, etc...)&lt;br /&gt;
*&#039;&#039;&#039;message.type&#039;&#039;&#039;: type of VLC module that printed the log message (eg: input, access, vout, sout, etc...)&lt;br /&gt;
*&#039;&#039;&#039;message.message&#039;&#039;&#039;: the message text&lt;br /&gt;
&lt;br /&gt;
==Build HTML pages that use the plugin (VLC version up to 0.8.5)==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;WARNING:&#039;&#039;&#039; the APIs described in this section are &#039;&#039;&#039;deprecated&#039;&#039;&#039;, do not use. They no longer work on recent VLC version (&amp;gt; 0.8.5), either it being the ActiveX (Internet Explorer)/ Safari or Mozilla based browsers.&lt;br /&gt;
&lt;br /&gt;
The following API description is only valid uptill version 0.8.5 of the mozilla plugin.&lt;br /&gt;
&lt;br /&gt;
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&lt;br /&gt;
plugin.&lt;br /&gt;
&lt;br /&gt;
The vlc plugin supports the following function calls:&lt;br /&gt;
*&#039;&#039;&#039;play()&#039;&#039;&#039;: Start playing media in the plugin.&lt;br /&gt;
*&#039;&#039;&#039;pause()&#039;&#039;&#039;: Pause playback.&lt;br /&gt;
*&#039;&#039;&#039;stop()&#039;&#039;&#039;: Stop media playback.&lt;br /&gt;
*&#039;&#039;&#039;fullscreen()&#039;&#039;&#039;: Switch the video to full screen.&lt;br /&gt;
*&#039;&#039;&#039;set_volume(vol)&#039;&#039;&#039;: Set the volume. &#039;&#039;&#039;vol&#039;&#039;&#039; has to be an int in the 0-200 range.&lt;br /&gt;
*&#039;&#039;&#039;get_volume()&#039;&#039;&#039;: Get the current volume setting.&lt;br /&gt;
*&#039;&#039;&#039;mute()&#039;&#039;&#039;: Toggle volume muting.&lt;br /&gt;
*&#039;&#039;&#039;set_int_variable(var_name, value)&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;set_bool_variable(var_name, value)&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;set_str_variable(var_name, value)&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;get_int_variable(var_name)&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;get_bool_variable(var_name)&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;get_str_variable(var_name)&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;clear_playlist()&#039;&#039;&#039;: Clear the playlist.&lt;br /&gt;
*&#039;&#039;&#039;add_item(mrl)&#039;&#039;&#039;: Append an item whose location is given by the [[media resource locator]] to the playlist.&lt;br /&gt;
*&#039;&#039;&#039;next()&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;previous()&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;isplaying()&#039;&#039;&#039;: return true if the plugin is playing something.&lt;br /&gt;
*&#039;&#039;&#039;get_length()&#039;&#039;&#039;: Get the media&#039;s length in seconds.&lt;br /&gt;
*&#039;&#039;&#039;get_position()&#039;&#039;&#039;: Get the current position in the media in percent.&lt;br /&gt;
*&#039;&#039;&#039;get_time()&#039;&#039;&#039;: Get the current position in the media in seconds.&lt;br /&gt;
*&#039;&#039;&#039;seek(seconds,is_relative)&#039;&#039;&#039;: If is_relative is true, seek relatively to current time, else seek from beginning of the stream. Seek time is specified in seconds.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Here are a few examples of HTML pages that use the&lt;br /&gt;
Mozilla plugin.&lt;br /&gt;
&lt;br /&gt;
===Example 1===&lt;br /&gt;
&lt;br /&gt;
In this example, the plugin will read an HTTP stream inside the web page. If the user goes fullscreen, he will have to press &#039;&#039;f&#039;&#039; or double-click on the video to go back in normal view.&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;html&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;head&amp;amp;gt;&amp;amp;lt;title&amp;amp;gt;Demo of VLC mozilla plugin&amp;amp;lt;/title&amp;amp;gt;&amp;amp;lt;/head&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;body&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;h1&amp;amp;gt;Demo of VLC mozilla plugin - Example 1&amp;amp;lt;/h1&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;embed type=&amp;quot;application/x-vlc-plugin&amp;quot;&lt;br /&gt;
          name=&amp;quot;video1&amp;quot;&lt;br /&gt;
          autoplay=&amp;quot;no&amp;quot; loop=&amp;quot;yes&amp;quot; width=&amp;quot;400&amp;quot; height=&amp;quot;300&amp;quot;&lt;br /&gt;
          target=&amp;quot;http://server.example.org/video1.vob&amp;quot; /&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;br /&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video1.play()&#039;&amp;amp;gt;Play video1&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video1.pause()&#039;&amp;amp;gt;Pause video1&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video1.stop()&#039;&amp;amp;gt;Stop video1&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video1.fullscreen()&#039;&amp;amp;gt;Fullscreen&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;/body&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/html&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Example 2===&lt;br /&gt;
&lt;br /&gt;
In this example, the plugin will read a multicast UDP/RTP stream in a dedicated video output window.&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;html&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;head&amp;amp;gt;&amp;amp;lt;title&amp;amp;gt;Demo of VLC mozilla plugin&amp;amp;lt;/title&amp;amp;gt;&amp;amp;lt;/head&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;body&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;h1&amp;amp;gt;Demo of VLC mozilla plugin - Example 2&amp;amp;lt;/h1&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;embed type=&amp;quot;application/x-vlc-plugin&amp;quot;&lt;br /&gt;
          name=&amp;quot;video2&amp;quot;&lt;br /&gt;
          autoplay=&amp;quot;no&amp;quot; loop=&amp;quot;no&amp;quot; hidden=&amp;quot;yes&amp;quot;&lt;br /&gt;
          target=&amp;quot;rtp://@239.255.12.42:5004&amp;quot; /&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;br /&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video2.play()&#039;&amp;amp;gt;Play video2&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video2.stop()&#039;&amp;amp;gt;Stop video2&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video2.fullscreen()&#039;&amp;amp;gt;Fullscreen&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;/body&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/html&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Documentation}}&lt;br /&gt;
[[Category:Embedded]]&lt;/div&gt;</summary>
		<author><name>Jpsaman</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=Documentation:WebPlugin&amp;diff=15499</id>
		<title>Documentation:WebPlugin</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=Documentation:WebPlugin&amp;diff=15499"/>
		<updated>2010-02-03T22:44:49Z</updated>

		<summary type="html">&lt;p&gt;Jpsaman: document JS events&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Building HTML pages for Mozilla/Firefox/Internet Explorer/Safari ==&lt;br /&gt;
&lt;br /&gt;
The following description works for any of the browsers VLC supports. The JavaScript API has been unified between Mozilla/Firefox/IE (ActiveX) and Safari, thus targetting at all of the major OS out there. &lt;br /&gt;
&lt;br /&gt;
This is only valid for {{VLC}} version 0.8.6 and above.&lt;br /&gt;
&lt;br /&gt;
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&lt;br /&gt;
plugin.&lt;br /&gt;
&lt;br /&gt;
== API description ==&lt;br /&gt;
The vlc plugin exports serveral objects that can be accessed for setting and getting information. When used improperly the API&#039;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.&lt;br /&gt;
&lt;br /&gt;
The vlc plugin knows the following objects:&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;audio&#039;&#039;&#039;: Access audio properties.&lt;br /&gt;
*&#039;&#039;&#039;input&#039;&#039;&#039;: Access input properties.&lt;br /&gt;
*&#039;&#039;&#039;playlist&#039;&#039;&#039;: Access playlist properties.&lt;br /&gt;
*&#039;&#039;&#039;subtitle&#039;&#039;&#039;: Access subtitle properties.&lt;br /&gt;
*&#039;&#039;&#039;video&#039;&#039;&#039;: Access video properties.&lt;br /&gt;
*&#039;&#039;&#039;video.marquee&#039;&#039;&#039;: Access marquee video filter properties.&lt;br /&gt;
*&#039;&#039;&#039;video.logo&#039;&#039;&#039;: Access logo video filter properties.&lt;br /&gt;
*&#039;&#039;&#039;log&#039;&#039;&#039;: Access log properties.&lt;br /&gt;
*&#039;&#039;&#039;messages&#039;&#039;&#039;: Access to log message properties.&lt;br /&gt;
*&#039;&#039;&#039;iterator&#039;&#039;&#039;: Access to log iterator properties.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;html&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;title&amp;amp;gt;VLC Mozilla plugin test page&amp;amp;lt;/title&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;body&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;embed type=&amp;quot;application/x-vlc-plugin&amp;quot; pluginspage=&amp;quot;http://www.videolan.org&amp;quot; version=&amp;quot;VideoLAN.VLCPlugin.2&amp;quot;&lt;br /&gt;
     width=&amp;quot;640&amp;quot;&lt;br /&gt;
     height=&amp;quot;480&amp;quot;&lt;br /&gt;
     id=&amp;quot;vlc&amp;quot;&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/embed&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;script language=&amp;quot;Javascript&amp;quot;&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;!--&lt;br /&gt;
 var vlc = document.getElementById(&amp;quot;vlc&amp;quot;);&lt;br /&gt;
 vlc.audio.toggleMute();&lt;br /&gt;
 !--&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/script&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/body&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/html&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Root object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;VersionInfo&#039;&#039;&#039;: returns version information string&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;vlc.versionInfo()&#039;&#039;&#039;: returns version information string (same as VersionInfo)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;vlc.addEventListener(eventname, callback, bubble)&#039;&#039;&#039;: (only for Mozilla) add a listener for mentioned event name, callback expects a function and bubble influences the order of eventhandling by JS (usually it is set to false).&lt;br /&gt;
*&#039;&#039;&#039;vlc.removeEventListener(eventname, callback, bubble)&#039;&#039;&#039;: (only for Mozilla) remove listener for mentioned event name, callback expects a function and bubble influences the order of eventhandling by JS (usually it is set to false).&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;vlc.attachEvent(eventname, callback)&#039;&#039;&#039;: ( only for ActiveX) add listener for mentioned event name, callback expects a function&lt;br /&gt;
*&#039;&#039;&#039;vlc.removeEvent(eventname, callback)&#039;&#039;&#039;: ( only for ActiveX) remove listener for mentioned event name, callback expects a function&lt;br /&gt;
&lt;br /&gt;
events&lt;br /&gt;
*&#039;&#039;&#039;Idle&#039;&#039;&#039;: vlc is in idle state doing nothing but waiting for a command to be issued&lt;br /&gt;
*&#039;&#039;&#039;Opening&#039;&#039;&#039;: vlc is opening an media resource locator (MRL)&lt;br /&gt;
*&#039;&#039;&#039;Playing&#039;&#039;&#039;: vlc is playing a media&lt;br /&gt;
*&#039;&#039;&#039;Pausing&#039;&#039;&#039;: vlc is in paused state&lt;br /&gt;
*&#039;&#039;&#039;Forward&#039;&#039;&#039;: vlc is fastforwarding through the media (works only when an input supports forward playback)&lt;br /&gt;
*&#039;&#039;&#039;Backward&#039;&#039;&#039;: vlc is going backwards through the media (works only when an input supports backwards playback)&lt;br /&gt;
*&#039;&#039;&#039;Error&#039;&#039;&#039;: vlc has encountered an error and is unable to continue&lt;br /&gt;
*&#039;&#039;&#039;EndReached&#039;&#039;&#039;: vlc has reached the end of current playlist&lt;br /&gt;
*&#039;&#039;&#039;TimeChanged&#039;&#039;&#039;: time has changed&lt;br /&gt;
*&#039;&#039;&#039;PositionChanged&#039;&#039;&#039;: media position has changed&lt;br /&gt;
*&#039;&#039;&#039;SeekableChanged&#039;&#039;&#039;: media seekable flag has changed (true means media is seekable, false means it is not)&lt;br /&gt;
*&#039;&#039;&#039;PausableChanged&#039;&#039;&#039;: media pausable flag has changed (true means media is pausaable, false means it is not)&lt;br /&gt;
&lt;br /&gt;
The following code snippit provides easy functions to register and unregister event callbacks on all supported platforms (currently only Linux mozilla based browsers and windows activeX objects for Internet Explorer).&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;SCRIPT language=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;amp;lt;!--&lt;br /&gt;
 function registerVLCEvent(event, handler)&lt;br /&gt;
 {&lt;br /&gt;
    var vlc = getVLC(&amp;quot;vlc&amp;quot;);&lt;br /&gt;
    if (vlc) {&lt;br /&gt;
        if (vlc.attachEvent) {&lt;br /&gt;
            // Microsoft&lt;br /&gt;
            vlc.attachEvent (event, handler);&lt;br /&gt;
        } else if (vlc.addEventListener) {&lt;br /&gt;
            // Mozilla: DOM level 2&lt;br /&gt;
            vlc.addEventListener (event, handler, false);&lt;br /&gt;
        } else {&lt;br /&gt;
            // DOM level 0&lt;br /&gt;
            eval(&amp;quot;vlc.on&amp;quot; + event + &amp;quot; = handler&amp;quot;);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
 }&lt;br /&gt;
 // stop listening to event&lt;br /&gt;
 function unregisterVLCEvent(event, handler)&lt;br /&gt;
 {&lt;br /&gt;
    var vlc = getVLC(&amp;quot;vlc&amp;quot;);&lt;br /&gt;
    if (vlc) {&lt;br /&gt;
        if (vlc.detachEvent) {&lt;br /&gt;
            // Microsoft&lt;br /&gt;
            vlc.detachEvent (event, handler);&lt;br /&gt;
        } else if (vlc.removeEventListener) {&lt;br /&gt;
            // Mozilla: DOM level 2&lt;br /&gt;
            vlc.removeEventListener (event, handler, false);&lt;br /&gt;
        } else {&lt;br /&gt;
            // DOM level 0&lt;br /&gt;
            eval(&amp;quot;vlc.on&amp;quot; + event + &amp;quot; = null&amp;quot;);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
 }&lt;br /&gt;
 // event callback function for testing&lt;br /&gt;
 function handleEvents(event)&lt;br /&gt;
 {&lt;br /&gt;
    if (!event)&lt;br /&gt;
        event = window.event;&lt;br /&gt;
    if (event.target) {&lt;br /&gt;
        // Netscape based browser&lt;br /&gt;
        targ = event.target;&lt;br /&gt;
    } else if (event.srcElement) {&lt;br /&gt;
        // ActiveX&lt;br /&gt;
        targ = event.srcElement;&lt;br /&gt;
    } else {&lt;br /&gt;
        // No event object, just the value&lt;br /&gt;
        alert(&amp;quot;Event value&amp;quot; + event );&lt;br /&gt;
        return;&lt;br /&gt;
    }&lt;br /&gt;
    if (targ.nodeType == 3) // defeat Safari bug&lt;br /&gt;
        targ = targ.parentNode;&lt;br /&gt;
    alert(&amp;quot;Event &amp;quot; + event.type + &amp;quot; has fired from &amp;quot; + targ );&lt;br /&gt;
 }&lt;br /&gt;
 // Register a bunch of callbacks.&lt;br /&gt;
 registerVLCEvent(&#039;Idle&#039;, handleEvents);&lt;br /&gt;
 registerVLCEvent(&#039;Opening&#039;, handleEvents);&lt;br /&gt;
 registerVLCEvent(&#039;Playing&#039;, handleEvents);&lt;br /&gt;
 registerVLCEvent(&#039;Pausing&#039;, handleEvents);&lt;br /&gt;
 registerVLCEvent(&#039;Forward&#039;, handleEvents);&lt;br /&gt;
 registerVLCEvent(&#039;Backward&#039;, handleEvents);&lt;br /&gt;
 registerVLCEvent(&#039;Error&#039;, handleEvents);&lt;br /&gt;
 registerVLCEvent(&#039;EndReached&#039;, handleEvents);&lt;br /&gt;
 registerVLCEvent(&#039;TimeChanged&#039;, handleEvents);&lt;br /&gt;
 registerVLCEvent(&#039;PositionChanged&#039;, handleEvents);&lt;br /&gt;
 registerVLCEvent(&#039;SeekableChanged&#039;, handleEvents);&lt;br /&gt;
 registerVLCEvent(&#039;PausableChanged&#039;, handleEvents);&lt;br /&gt;
 &amp;lt;/script&amp;gt;&lt;br /&gt;
 --&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Audio object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.audio.count&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) returns the number of audio track available.&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.audio.mute&#039;&#039;&#039;: boolean value to mute and ummute the audio.&lt;br /&gt;
*&#039;&#039;&#039;vlc.audio.volume&#039;&#039;&#039;: a value between [0-200] which indicates a percentage of the volume.&lt;br /&gt;
*&#039;&#039;&#039;vlc.audio.track&#039;&#039;&#039;: (supported in vlc version &amp;gt; 0.8.6) a value between [1-65535] which indicates the audio track to play or that is playing. a value of 0 means the audio is/will be disabled.&lt;br /&gt;
*&#039;&#039;&#039;vlc.audio.channel&#039;&#039;&#039;: (supported in vlc version &amp;gt; 0.8.6) integer value between [1-5] that indicates which audio channel mode is used, values can be: &amp;quot;1=stereo&amp;quot;, &amp;quot;2=reverse stereo&amp;quot;, &amp;quot;3=left&amp;quot;, &amp;quot;4=right&amp;quot;, &amp;quot;5=dolby&amp;quot;. Use vlc.audio.channel to check if setting of the audio channel mode has succeeded.&lt;br /&gt;
&lt;br /&gt;
 Audio Channel:&lt;br /&gt;
 &amp;lt;SELECT readonly onChange=&#039;doAudioChannel(this.value)&#039;&amp;gt;&lt;br /&gt;
    &amp;lt;OPTION value=1&amp;gt;Stereo&amp;lt;/OPTION&amp;gt;&lt;br /&gt;
    &amp;lt;OPTION value=2&amp;gt;Reverse stereo&amp;lt;/OPTION&amp;gt;&lt;br /&gt;
    &amp;lt;OPTION value=3&amp;gt;Left&amp;lt;/OPTION&amp;gt;&lt;br /&gt;
    &amp;lt;OPTION value=4&amp;gt;Right&amp;lt;/OPTION&amp;gt;&lt;br /&gt;
    &amp;lt;OPTION value=5&amp;gt;Dolby&amp;lt;/OPTION&amp;gt;&lt;br /&gt;
 &amp;lt;/SELECT&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;SCRIPT language=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;amp;lt;!--&lt;br /&gt;
 function doAudioChannel(value)&lt;br /&gt;
 {&lt;br /&gt;
    var vlc = getVLC(&amp;quot;vlc&amp;quot;);&lt;br /&gt;
    vlc.audio.channel = parseInt(value);&lt;br /&gt;
    alert(vlc.audio.channel);&lt;br /&gt;
 };&lt;br /&gt;
 --&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;vlc.audio.toggleMute()&#039;&#039;&#039;: boolean toggle that mutes and unmutes the audio based upon the previous state.&lt;br /&gt;
*&#039;&#039;&#039;vlc.audio.description(int i)&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) give the i-th audio track name. 0 corresponds to disable and 1 to the first audio track.&lt;br /&gt;
&lt;br /&gt;
====Input object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.length&#039;&#039;&#039;: length of the input file in number of milliseconds. 0 is returned for &#039;live&#039; streams or clips whose length cannot be determined by VLC. It returns -1 if no input is playing. &lt;br /&gt;
*&#039;&#039;&#039;vlc.input.fps&#039;&#039;&#039;: frames per second returned as a float (typically 60.0, 50.0, 23.976, etc...)&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.hasVout&#039;&#039;&#039;: a boolean that returns true when the video is being displayed, it returns false when video is not displayed&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.position&#039;&#039;&#039;: normalized position in multimedia stream item given as a float value between [0.0 - 1.0]&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.time&#039;&#039;&#039;: the absolute position in time given in milliseconds, this property can be used to seek through the stream&lt;br /&gt;
 &amp;amp;lt;!-- absolute seek in stream !--&amp;amp;gt;&lt;br /&gt;
 vlc.input.time = &amp;amp;lt;absolute seek&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;!-- relative seek in stream !--&amp;amp;gt;&lt;br /&gt;
 vlc.input.time = vlc.input.time + &amp;amp;lt;relative seek&amp;amp;gt;&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.state&#039;&#039;&#039;: current state of the input chain given as enumeration (IDLE=0, OPENING=1, BUFFERING=2, PLAYING=3, PAUSED=4, STOPPING=5, ENDED=6, ERROR=7). Note: Test for ENDED=6 to catch end of playback. Checking for STOPPING=5 is NOT ENOUGH.&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.rate&#039;&#039;&#039;: input speed given as float (1.0 for normal speed, 0.5 for half speed, 2.0 for twice as fast, etc.).&lt;br /&gt;
 rate &amp;amp;gt; 1              : is fastforward&lt;br /&gt;
 rate &amp;amp;gt; 0 and rate &amp;amp;lt; 1 : is slow motion&lt;br /&gt;
 rate &amp;amp;lt; 0              : is rewind&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Playlist object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.itemCount&#039;&#039;&#039;: number that returns the amount of items currently in the playlist (&#039;&#039;&#039;deprecated&#039;&#039;&#039;, do not use, see [[#Playlist_items_object| Playlist items]])&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.isPlaying&#039;&#039;&#039;: a boolean that returns true if the current playlist item is playing and false when it is not playing&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.items&#039;&#039;&#039;: return the playlist items collection, see [[#Playlist_items_object| Playlist items]]&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.add(mrl)&#039;&#039;&#039;: add a playlist item as [[MRL]]. The MRL must be given as a string. Returns a number as an item identifier in playlist (this is not a position  in playlist).&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.add(mrl,name,options)&#039;&#039;&#039;: add a playlist item as MRL, with metaname &#039;name&#039; and options &#039;options&#039;. options are text arguments which can be provided either as a single string containing space separated values, akin to VLC command line, or as an array of string values. Returns a number as an item identifier in playlist (this is not a position in playlist).&lt;br /&gt;
  var options = new Array(&amp;quot;:aspect-ratio=4:3&amp;quot;, &amp;quot;--rtsp-tcp&amp;quot;);&lt;br /&gt;
  var id = vlc.playlist.add(&amp;quot;rtsp://servername/item/to/play&amp;quot;, &amp;quot;fancy name&amp;quot;, options);&lt;br /&gt;
  vlc.playlist.playItem(id);&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.play()&#039;&#039;&#039;: start playing the current playlist item&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.playItem(number)&#039;&#039;&#039;: start playing the item whose identifier is number&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.togglePause()&#039;&#039;&#039;: toggle the pause state for the current playlist item&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.stop()&#039;&#039;&#039;: stop playing the current playlist item&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.next()&#039;&#039;&#039;: iterate to the next playlist item&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.prev()&#039;&#039;&#039;: iterate to the previous playlist item&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.clear()&#039;&#039;&#039;: empty the current playlist, all items will be deleted from the playlist (&#039;&#039;&#039;deprecated&#039;&#039;&#039;, do not use, see [[#Playlist_items_object| Playlist items]])&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.removeItem(number)&#039;&#039;&#039;: remove the item from playlist whose identifier is number &amp;lt;!-- (note: this number isn&#039;t the position in the playlist, but the number given by vlc.playlist.add() ) --&amp;gt; (&#039;&#039;&#039;deprecated&#039;&#039;&#039;, do not use, see [[#Playlist_items_object| Playlist items]])&lt;br /&gt;
&lt;br /&gt;
====Playlist items object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.items.count&#039;&#039;&#039;: number of items currently in the playlist&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.items.clear()&#039;&#039;&#039;: empty the current playlist, all items will be deleted from the playlist. If a movie is playing, it stop. Note that when this method returns, playlist may not have been entirely been cleared as this operation is performed asynchronously; use the &#039;&#039;count&#039;&#039; property to verify/wait until the playlist is empty.&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.items.remove(number)&#039;&#039;&#039;: remove the item whose identifier is number from playlist. (note: this number isn&#039;t the position in the playlist, but the number given by vlc.playlist.add() )&lt;br /&gt;
&lt;br /&gt;
====Subtitle object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;vlc.subtitle.count&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) returns the number of subtitle available.&lt;br /&gt;
&lt;br /&gt;
read/write properties &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;vlc.subtitle.track&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) get and set the subtitle track to show on the video screen. The property takes an integer as input value [1..65535]. If subtitle track is set to 0, the subtitles will be disabled. If set to a value outside the current subtitle tracks range, then it will return -1 and display an error message.&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;vlc.subtitle.description(int i)&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) give the i-th subtitle name. 0 correspond to disable and 1 to the first subtitle.&lt;br /&gt;
&lt;br /&gt;
====Video object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.width&#039;&#039;&#039;: returns the horizontal size of the video&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.height&#039;&#039;&#039;: returns the vertical size of the video&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.fullscreen&#039;&#039;&#039;: 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.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.aspectRatio&#039;&#039;&#039;: get and set the aspect ratio to use in the video screen. The property takes a string as input value. Typical values are: &amp;quot;1:1&amp;quot;, &amp;quot;4:3&amp;quot;, &amp;quot;16:9&amp;quot;, &amp;quot;16:10&amp;quot;, &amp;quot;221:100&amp;quot; and &amp;quot;5:4&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.subtitle&#039;&#039;&#039;: (supported in vlc version &amp;gt; 0.8.6a) get and set the subtitle track to show on the video screen. The property takes an integer as input value [1..65535]. If subtitle track is set to 0, the subtitles will be disabled. If set to a value outside the current subtitle tracks range, then it will return -1 and display an error message.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.teletext&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 0.9.0) get and set teletext page to show on the video stream. This will only work if a teletext elementary stream is available in the video stream. The property takes an integer as input value [0..999] for indicating the teletext page to view, setting the value to 0 means hide teletext. On error it will return -1 and display an error message.&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.toggleFullscreen()&#039;&#039;&#039;: toggle the fullscreen mode based on the previous setting&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.toggleTeletext()&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 0.9.0) toggle the teletext page to overlay transparent or not, based on the previous setting&lt;br /&gt;
&lt;br /&gt;
=====Deinterlace Object=====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.deinterlace.enable(&amp;quot;my_mode&amp;quot;)&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) enable deinterlacing with my_mode. You can enable it with &amp;quot;blend&amp;quot;, &amp;quot;bob&amp;quot;, &amp;quot;discard&amp;quot;, &amp;quot;linear&amp;quot;, &amp;quot;mean&amp;quot; or &amp;quot;x&amp;quot; mode. Enabling too soon deinterlacing may cause some problems. You have to wait that all variable are available before enabling it.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.deinterlace.disable()&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) disable deinterlacing.&lt;br /&gt;
&lt;br /&gt;
=====Marquee Object=====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.marquee.text&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) display my text on the screen.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.marquee.color&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change the text color. val is the new color to use (WHITE=0x000000, BLACK=0xFFFFFF, RED=0xFF0000, GREEN=0x00FF00, BLUE=0x0000FF...).&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.marquee.opacity&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change the text opacity, val is defined from 0 (completely transparent) to 255 (completely opaque).&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.marquee.position&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change the text position (CENTER=0, LEFT=1, RIGHT=2, TOP=4, TOP-LEFT=5, TOP-RIGHT=6, BOTTOM=8, BOTTOM-LEFT=9, BOTTOM_RIGHT=10).&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.marquee.refresh&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change the marquee refresh period.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.marquee.size&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) val define the new size for the text displayed on the screen. If the text is bigger than the screen then the text is not displayed.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.marquee.timeout&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change the timeout value. val is defined in ms, but 0 value correspond to unlimited.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.marquee.x&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change text abscissa.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.marquee.y&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change text ordinate.&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.marquee.enable()&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) enable marquee filter.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.marquee.disable()&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) disable marquee filter.&lt;br /&gt;
&lt;br /&gt;
Some problems may happen (option like color or text will not be applied) because of the VLC asynchronous functioning. To avoid it, after enabling marquee, you have to wait a little time before changing an option. But it should be fixed by the new vout implementation.&lt;br /&gt;
&lt;br /&gt;
=====Logo Object=====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.logo.opacity&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change the picture opacity, val is defined from 0 (completely transparent) to 255 (completely opaque).&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.logo.position&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change the text position (&amp;quot;center&amp;quot;, &amp;quot;left&amp;quot;, &amp;quot;right&amp;quot;, &amp;quot;top&amp;quot;, &amp;quot;top-left&amp;quot;, &amp;quot;top-right&amp;quot;, &amp;quot;bottom&amp;quot;, &amp;quot;bottom-left&amp;quot;, &amp;quot;bottom-right&amp;quot;).&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.logo.delay&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) display each picture for a duration of 1000 ms (default) before displaying the next  picture.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.logo.repeat&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) number of loops for picture animation (-1=continuous, 0=disabled, n=n-times). The default is -1 (continuous).&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.logo.x&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change the x-offset for displaying the picture counting from top-left on the screen.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.logo.y&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change the y-offset for displaying the picture counting from top-left on the screen.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.logo.width&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change the picture width.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.logo.height&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change the picture height.&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.logo.enable()&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) enable logo video filter.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.logo.disable()&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) disable logo video filter.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.logo.file(&amp;quot;file.png&amp;quot;)&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) display my file.png as logo on the screen.&lt;br /&gt;
&lt;br /&gt;
Some problems may happen because of the VLC asynchronous functioning. To avoid it, after enabling logo video filter, you have to wait a little time before changing an option. But it should be fixed by the new vout implementation.&lt;br /&gt;
&lt;br /&gt;
====Log object====&lt;br /&gt;
: &#039;&#039;&#039;CAUTION&#039;&#039;&#039;: For security concern, VLC 1.0.0-rc1 is the latest (near-to-stable) version in which this object and its children are supported.&lt;br /&gt;
&lt;br /&gt;
This object allows accessing VLC main message logging queue. Typically this queue capacity is very small (no nore than 256 entries) and can easily overflow, therefore messages should be read and cleared as often as possible.&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.log.messages&#039;&#039;&#039;: returns the message collection, see [[#Messages object|Messages object]]&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.log.verbosity&#039;&#039;&#039;: write number [-1,0,1,2,3] for changing the verbosity level of the log messages; messages whose verbosity is higher than set will be not be logged in the queue. The numbers have the following meaning: -1 disable, 0 info, 1 error, 2 warning, 3 debug. &lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Messages object====&lt;br /&gt;
: &#039;&#039;&#039;CAUTION&#039;&#039;&#039;: For security concern, VLC 1.0.0-rc1 is the latest (near-to-stable) version in which this object and its children are supported.&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;messages.count&#039;&#039;&#039;: returns number of messages in the log&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;messages.clear()&#039;&#039;&#039;: clear the current log buffer. It should be called as frequently as possible to not overflow the message queue. Call this method after the log messages of interest are read.&lt;br /&gt;
*&#039;&#039;&#039;messages.iterator()&#039;&#039;&#039;: creates and returns an iterator object, used to iterate over the messages in the log. &#039;&#039;&#039;Don&#039;t clear the log buffer while holding an iterator object.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Messages Iterator object====&lt;br /&gt;
: &#039;&#039;&#039;CAUTION&#039;&#039;&#039;: For security concern, VLC 1.0.0-rc1 is the latest (near-to-stable) version in which this object and its children are supported.&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;iterator.hasNext&#039;&#039;&#039;: returns a boolean that indicates whether &#039;&#039;vlc.log.messages.next()&#039;&#039; will return the next message.&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;iterator.next()&#039;&#039;&#039;: returns the next message object in the log, see [[Message object]]&lt;br /&gt;
&lt;br /&gt;
====Message object====&lt;br /&gt;
: &#039;&#039;&#039;CAUTION&#039;&#039;&#039;: For security concern, VLC 1.0.0-rc1 is the latest (near-to-stable) version in which this object and its children are supported.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;message.severity&#039;&#039;&#039;: number that indicates the severity of the log message (0 = info, 1 = error, 2 = warning, 3 = debug)&lt;br /&gt;
*&#039;&#039;&#039;message.name&#039;&#039;&#039;: name of VLC module that printed the log message (e.g: main, http, directx, etc...)&lt;br /&gt;
*&#039;&#039;&#039;message.type&#039;&#039;&#039;: type of VLC module that printed the log message (eg: input, access, vout, sout, etc...)&lt;br /&gt;
*&#039;&#039;&#039;message.message&#039;&#039;&#039;: the message text&lt;br /&gt;
&lt;br /&gt;
==Build HTML pages that use the plugin (VLC version up to 0.8.5)==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;WARNING:&#039;&#039;&#039; the APIs described in this section are &#039;&#039;&#039;deprecated&#039;&#039;&#039;, do not use. They no longer work on recent VLC version (&amp;gt; 0.8.5), either it being the ActiveX (Internet Explorer)/ Safari or Mozilla based browsers.&lt;br /&gt;
&lt;br /&gt;
The following API description is only valid uptill version 0.8.5 of the mozilla plugin.&lt;br /&gt;
&lt;br /&gt;
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&lt;br /&gt;
plugin.&lt;br /&gt;
&lt;br /&gt;
The vlc plugin supports the following function calls:&lt;br /&gt;
*&#039;&#039;&#039;play()&#039;&#039;&#039;: Start playing media in the plugin.&lt;br /&gt;
*&#039;&#039;&#039;pause()&#039;&#039;&#039;: Pause playback.&lt;br /&gt;
*&#039;&#039;&#039;stop()&#039;&#039;&#039;: Stop media playback.&lt;br /&gt;
*&#039;&#039;&#039;fullscreen()&#039;&#039;&#039;: Switch the video to full screen.&lt;br /&gt;
*&#039;&#039;&#039;set_volume(vol)&#039;&#039;&#039;: Set the volume. &#039;&#039;&#039;vol&#039;&#039;&#039; has to be an int in the 0-200 range.&lt;br /&gt;
*&#039;&#039;&#039;get_volume()&#039;&#039;&#039;: Get the current volume setting.&lt;br /&gt;
*&#039;&#039;&#039;mute()&#039;&#039;&#039;: Toggle volume muting.&lt;br /&gt;
*&#039;&#039;&#039;set_int_variable(var_name, value)&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;set_bool_variable(var_name, value)&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;set_str_variable(var_name, value)&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;get_int_variable(var_name)&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;get_bool_variable(var_name)&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;get_str_variable(var_name)&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;clear_playlist()&#039;&#039;&#039;: Clear the playlist.&lt;br /&gt;
*&#039;&#039;&#039;add_item(mrl)&#039;&#039;&#039;: Append an item whose location is given by the [[media resource locator]] to the playlist.&lt;br /&gt;
*&#039;&#039;&#039;next()&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;previous()&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;isplaying()&#039;&#039;&#039;: return true if the plugin is playing something.&lt;br /&gt;
*&#039;&#039;&#039;get_length()&#039;&#039;&#039;: Get the media&#039;s length in seconds.&lt;br /&gt;
*&#039;&#039;&#039;get_position()&#039;&#039;&#039;: Get the current position in the media in percent.&lt;br /&gt;
*&#039;&#039;&#039;get_time()&#039;&#039;&#039;: Get the current position in the media in seconds.&lt;br /&gt;
*&#039;&#039;&#039;seek(seconds,is_relative)&#039;&#039;&#039;: If is_relative is true, seek relatively to current time, else seek from beginning of the stream. Seek time is specified in seconds.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Here are a few examples of HTML pages that use the&lt;br /&gt;
Mozilla plugin.&lt;br /&gt;
&lt;br /&gt;
===Example 1===&lt;br /&gt;
&lt;br /&gt;
In this example, the plugin will read an HTTP stream inside the web page. If the user goes fullscreen, he will have to press &#039;&#039;f&#039;&#039; or double-click on the video to go back in normal view.&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;html&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;head&amp;amp;gt;&amp;amp;lt;title&amp;amp;gt;Demo of VLC mozilla plugin&amp;amp;lt;/title&amp;amp;gt;&amp;amp;lt;/head&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;body&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;h1&amp;amp;gt;Demo of VLC mozilla plugin - Example 1&amp;amp;lt;/h1&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;embed type=&amp;quot;application/x-vlc-plugin&amp;quot;&lt;br /&gt;
          name=&amp;quot;video1&amp;quot;&lt;br /&gt;
          autoplay=&amp;quot;no&amp;quot; loop=&amp;quot;yes&amp;quot; width=&amp;quot;400&amp;quot; height=&amp;quot;300&amp;quot;&lt;br /&gt;
          target=&amp;quot;http://server.example.org/video1.vob&amp;quot; /&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;br /&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video1.play()&#039;&amp;amp;gt;Play video1&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video1.pause()&#039;&amp;amp;gt;Pause video1&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video1.stop()&#039;&amp;amp;gt;Stop video1&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video1.fullscreen()&#039;&amp;amp;gt;Fullscreen&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;/body&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/html&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Example 2===&lt;br /&gt;
&lt;br /&gt;
In this example, the plugin will read a multicast UDP/RTP stream in a dedicated video output window.&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;html&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;head&amp;amp;gt;&amp;amp;lt;title&amp;amp;gt;Demo of VLC mozilla plugin&amp;amp;lt;/title&amp;amp;gt;&amp;amp;lt;/head&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;body&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;h1&amp;amp;gt;Demo of VLC mozilla plugin - Example 2&amp;amp;lt;/h1&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;embed type=&amp;quot;application/x-vlc-plugin&amp;quot;&lt;br /&gt;
          name=&amp;quot;video2&amp;quot;&lt;br /&gt;
          autoplay=&amp;quot;no&amp;quot; loop=&amp;quot;no&amp;quot; hidden=&amp;quot;yes&amp;quot;&lt;br /&gt;
          target=&amp;quot;rtp://@239.255.12.42:5004&amp;quot; /&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;br /&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video2.play()&#039;&amp;amp;gt;Play video2&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video2.stop()&#039;&amp;amp;gt;Stop video2&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video2.fullscreen()&#039;&amp;amp;gt;Fullscreen&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;/body&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/html&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Documentation}}&lt;br /&gt;
[[Category:Embedded]]&lt;/div&gt;</summary>
		<author><name>Jpsaman</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=Documentation:WebPlugin&amp;diff=15498</id>
		<title>Documentation:WebPlugin</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=Documentation:WebPlugin&amp;diff=15498"/>
		<updated>2010-02-03T22:42:37Z</updated>

		<summary type="html">&lt;p&gt;Jpsaman: document JS events&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Building HTML pages for Mozilla/Firefox/Internet Explorer/Safari ==&lt;br /&gt;
&lt;br /&gt;
The following description works for any of the browsers VLC supports. The JavaScript API has been unified between Mozilla/Firefox/IE (ActiveX) and Safari, thus targetting at all of the major OS out there. &lt;br /&gt;
&lt;br /&gt;
This is only valid for {{VLC}} version 0.8.6 and above.&lt;br /&gt;
&lt;br /&gt;
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&lt;br /&gt;
plugin.&lt;br /&gt;
&lt;br /&gt;
== API description ==&lt;br /&gt;
The vlc plugin exports serveral objects that can be accessed for setting and getting information. When used improperly the API&#039;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.&lt;br /&gt;
&lt;br /&gt;
The vlc plugin knows the following objects:&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;audio&#039;&#039;&#039;: Access audio properties.&lt;br /&gt;
*&#039;&#039;&#039;input&#039;&#039;&#039;: Access input properties.&lt;br /&gt;
*&#039;&#039;&#039;playlist&#039;&#039;&#039;: Access playlist properties.&lt;br /&gt;
*&#039;&#039;&#039;subtitle&#039;&#039;&#039;: Access subtitle properties.&lt;br /&gt;
*&#039;&#039;&#039;video&#039;&#039;&#039;: Access video properties.&lt;br /&gt;
*&#039;&#039;&#039;video.marquee&#039;&#039;&#039;: Access marquee video filter properties.&lt;br /&gt;
*&#039;&#039;&#039;video.logo&#039;&#039;&#039;: Access logo video filter properties.&lt;br /&gt;
*&#039;&#039;&#039;log&#039;&#039;&#039;: Access log properties.&lt;br /&gt;
*&#039;&#039;&#039;messages&#039;&#039;&#039;: Access to log message properties.&lt;br /&gt;
*&#039;&#039;&#039;iterator&#039;&#039;&#039;: Access to log iterator properties.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;html&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;title&amp;amp;gt;VLC Mozilla plugin test page&amp;amp;lt;/title&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;body&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;embed type=&amp;quot;application/x-vlc-plugin&amp;quot; pluginspage=&amp;quot;http://www.videolan.org&amp;quot; version=&amp;quot;VideoLAN.VLCPlugin.2&amp;quot;&lt;br /&gt;
     width=&amp;quot;640&amp;quot;&lt;br /&gt;
     height=&amp;quot;480&amp;quot;&lt;br /&gt;
     id=&amp;quot;vlc&amp;quot;&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/embed&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;script language=&amp;quot;Javascript&amp;quot;&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;!--&lt;br /&gt;
 var vlc = document.getElementById(&amp;quot;vlc&amp;quot;);&lt;br /&gt;
 vlc.audio.toggleMute();&lt;br /&gt;
 !--&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/script&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/body&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/html&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Root object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;VersionInfo&#039;&#039;&#039;: returns version information string&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;vlc.versionInfo()&#039;&#039;&#039;: returns version information string (same as VersionInfo)&lt;br /&gt;
&lt;br /&gt;
*```vlc.addEventListener(eventname, callback, bubble)```: (only for Mozilla) add a listener for mentioned event name, callback expects a function and bubble influences the order of eventhandling by JS (usually it is set to false).&lt;br /&gt;
*```vlc.removeEventListener(eventname, callback, bubble)```: (only for Mozilla) remove listener for mentioned event name, callback expects a function and bubble influences the order of eventhandling by JS (usually it is set to false).&lt;br /&gt;
&lt;br /&gt;
*```vlc.attachEvent(eventname, callback)```: ( only for ActiveX) add listener for mentioned event name, callback expects a function&lt;br /&gt;
*```vlc.removeEvent(eventname, callback)```: ( only for ActiveX) remove listener for mentioned event name, callback expects a function&lt;br /&gt;
&lt;br /&gt;
events&lt;br /&gt;
*```Idle```: vlc is in idle state doing nothing but waiting for a command to be issued&lt;br /&gt;
*```Opening```: vlc is opening an media resource locator (MRL)&lt;br /&gt;
*```Playing```: vlc is playing a media&lt;br /&gt;
*```Pausing```: vlc is in paused state&lt;br /&gt;
*```Forward```: vlc is fastforwarding through the media (works only when an input supports forward playback)&lt;br /&gt;
*```Backward```: vlc is going backwards through the media (works only when an input supports backwards playback)&lt;br /&gt;
*```Error```: vlc has encountered an error and is unable to continue&lt;br /&gt;
*```EndReached```: vlc has reached the end of current playlist&lt;br /&gt;
*```TimeChanged```: time has changed&lt;br /&gt;
*```PositionChanged```: media position has changed&lt;br /&gt;
*```SeekableChanged```: media seekable flag has changed (true means media is seekable, false means it is not)&lt;br /&gt;
*```PausableChanged```: media pausable flag has changed (true means media is pausaable, false means it is not)&lt;br /&gt;
&lt;br /&gt;
The following code snippit provides easy functions to register and unregister event callbacks on all supported platforms (currently only Linux mozilla based browsers and windows activeX objects for Internet Explorer).&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;SCRIPT language=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;amp;lt;!--&lt;br /&gt;
 function registerVLCEvent(event, handler)&lt;br /&gt;
 {&lt;br /&gt;
    var vlc = getVLC(&amp;quot;vlc&amp;quot;);&lt;br /&gt;
    if (vlc) {&lt;br /&gt;
        if (vlc.attachEvent) {&lt;br /&gt;
            // Microsoft&lt;br /&gt;
            vlc.attachEvent (event, handler);&lt;br /&gt;
        } else if (vlc.addEventListener) {&lt;br /&gt;
            // Mozilla: DOM level 2&lt;br /&gt;
            vlc.addEventListener (event, handler, false);&lt;br /&gt;
        } else {&lt;br /&gt;
            // DOM level 0&lt;br /&gt;
            eval(&amp;quot;vlc.on&amp;quot; + event + &amp;quot; = handler&amp;quot;);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
 }&lt;br /&gt;
 // stop listening to event&lt;br /&gt;
 function unregisterVLCEvent(event, handler)&lt;br /&gt;
 {&lt;br /&gt;
    var vlc = getVLC(&amp;quot;vlc&amp;quot;);&lt;br /&gt;
    if (vlc) {&lt;br /&gt;
        if (vlc.detachEvent) {&lt;br /&gt;
            // Microsoft&lt;br /&gt;
            vlc.detachEvent (event, handler);&lt;br /&gt;
        } else if (vlc.removeEventListener) {&lt;br /&gt;
            // Mozilla: DOM level 2&lt;br /&gt;
            vlc.removeEventListener (event, handler, false);&lt;br /&gt;
        } else {&lt;br /&gt;
            // DOM level 0&lt;br /&gt;
            eval(&amp;quot;vlc.on&amp;quot; + event + &amp;quot; = null&amp;quot;);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
 }&lt;br /&gt;
 // event callback function for testing&lt;br /&gt;
 function handleEvents(event)&lt;br /&gt;
 {&lt;br /&gt;
    if (!event)&lt;br /&gt;
        event = window.event;&lt;br /&gt;
    if (event.target) {&lt;br /&gt;
        // Netscape based browser&lt;br /&gt;
        targ = event.target;&lt;br /&gt;
    } else if (event.srcElement) {&lt;br /&gt;
        // ActiveX&lt;br /&gt;
        targ = event.srcElement;&lt;br /&gt;
    } else {&lt;br /&gt;
        // No event object, just the value&lt;br /&gt;
        alert(&amp;quot;Event value&amp;quot; + event );&lt;br /&gt;
        return;&lt;br /&gt;
    }&lt;br /&gt;
    if (targ.nodeType == 3) // defeat Safari bug&lt;br /&gt;
        targ = targ.parentNode;&lt;br /&gt;
    alert(&amp;quot;Event &amp;quot; + event.type + &amp;quot; has fired from &amp;quot; + targ );&lt;br /&gt;
 }&lt;br /&gt;
 // Register a bunch of callbacks.&lt;br /&gt;
 registerVLCEvent(&#039;Idle&#039;, handleEvents);&lt;br /&gt;
 registerVLCEvent(&#039;Opening&#039;, handleEvents);&lt;br /&gt;
 registerVLCEvent(&#039;Playing&#039;, handleEvents);&lt;br /&gt;
 registerVLCEvent(&#039;Pausing&#039;, handleEvents);&lt;br /&gt;
 registerVLCEvent(&#039;Forward&#039;, handleEvents);&lt;br /&gt;
 registerVLCEvent(&#039;Backward&#039;, handleEvents);&lt;br /&gt;
 registerVLCEvent(&#039;Error&#039;, handleEvents);&lt;br /&gt;
 registerVLCEvent(&#039;EndReached&#039;, handleEvents);&lt;br /&gt;
 registerVLCEvent(&#039;TimeChanged&#039;, handleEvents);&lt;br /&gt;
 registerVLCEvent(&#039;PositionChanged&#039;, handleEvents);&lt;br /&gt;
 registerVLCEvent(&#039;SeekableChanged&#039;, handleEvents);&lt;br /&gt;
 registerVLCEvent(&#039;PausableChanged&#039;, handleEvents);&lt;br /&gt;
 &amp;lt;/script&amp;gt;&lt;br /&gt;
 --&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Audio object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.audio.count&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) returns the number of audio track available.&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.audio.mute&#039;&#039;&#039;: boolean value to mute and ummute the audio.&lt;br /&gt;
*&#039;&#039;&#039;vlc.audio.volume&#039;&#039;&#039;: a value between [0-200] which indicates a percentage of the volume.&lt;br /&gt;
*&#039;&#039;&#039;vlc.audio.track&#039;&#039;&#039;: (supported in vlc version &amp;gt; 0.8.6) a value between [1-65535] which indicates the audio track to play or that is playing. a value of 0 means the audio is/will be disabled.&lt;br /&gt;
*&#039;&#039;&#039;vlc.audio.channel&#039;&#039;&#039;: (supported in vlc version &amp;gt; 0.8.6) integer value between [1-5] that indicates which audio channel mode is used, values can be: &amp;quot;1=stereo&amp;quot;, &amp;quot;2=reverse stereo&amp;quot;, &amp;quot;3=left&amp;quot;, &amp;quot;4=right&amp;quot;, &amp;quot;5=dolby&amp;quot;. Use vlc.audio.channel to check if setting of the audio channel mode has succeeded.&lt;br /&gt;
&lt;br /&gt;
 Audio Channel:&lt;br /&gt;
 &amp;lt;SELECT readonly onChange=&#039;doAudioChannel(this.value)&#039;&amp;gt;&lt;br /&gt;
    &amp;lt;OPTION value=1&amp;gt;Stereo&amp;lt;/OPTION&amp;gt;&lt;br /&gt;
    &amp;lt;OPTION value=2&amp;gt;Reverse stereo&amp;lt;/OPTION&amp;gt;&lt;br /&gt;
    &amp;lt;OPTION value=3&amp;gt;Left&amp;lt;/OPTION&amp;gt;&lt;br /&gt;
    &amp;lt;OPTION value=4&amp;gt;Right&amp;lt;/OPTION&amp;gt;&lt;br /&gt;
    &amp;lt;OPTION value=5&amp;gt;Dolby&amp;lt;/OPTION&amp;gt;&lt;br /&gt;
 &amp;lt;/SELECT&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;SCRIPT language=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;amp;lt;!--&lt;br /&gt;
 function doAudioChannel(value)&lt;br /&gt;
 {&lt;br /&gt;
    var vlc = getVLC(&amp;quot;vlc&amp;quot;);&lt;br /&gt;
    vlc.audio.channel = parseInt(value);&lt;br /&gt;
    alert(vlc.audio.channel);&lt;br /&gt;
 };&lt;br /&gt;
 --&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;vlc.audio.toggleMute()&#039;&#039;&#039;: boolean toggle that mutes and unmutes the audio based upon the previous state.&lt;br /&gt;
*&#039;&#039;&#039;vlc.audio.description(int i)&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) give the i-th audio track name. 0 corresponds to disable and 1 to the first audio track.&lt;br /&gt;
&lt;br /&gt;
====Input object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.length&#039;&#039;&#039;: length of the input file in number of milliseconds. 0 is returned for &#039;live&#039; streams or clips whose length cannot be determined by VLC. It returns -1 if no input is playing. &lt;br /&gt;
*&#039;&#039;&#039;vlc.input.fps&#039;&#039;&#039;: frames per second returned as a float (typically 60.0, 50.0, 23.976, etc...)&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.hasVout&#039;&#039;&#039;: a boolean that returns true when the video is being displayed, it returns false when video is not displayed&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.position&#039;&#039;&#039;: normalized position in multimedia stream item given as a float value between [0.0 - 1.0]&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.time&#039;&#039;&#039;: the absolute position in time given in milliseconds, this property can be used to seek through the stream&lt;br /&gt;
 &amp;amp;lt;!-- absolute seek in stream !--&amp;amp;gt;&lt;br /&gt;
 vlc.input.time = &amp;amp;lt;absolute seek&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;!-- relative seek in stream !--&amp;amp;gt;&lt;br /&gt;
 vlc.input.time = vlc.input.time + &amp;amp;lt;relative seek&amp;amp;gt;&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.state&#039;&#039;&#039;: current state of the input chain given as enumeration (IDLE=0, OPENING=1, BUFFERING=2, PLAYING=3, PAUSED=4, STOPPING=5, ENDED=6, ERROR=7). Note: Test for ENDED=6 to catch end of playback. Checking for STOPPING=5 is NOT ENOUGH.&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.rate&#039;&#039;&#039;: input speed given as float (1.0 for normal speed, 0.5 for half speed, 2.0 for twice as fast, etc.).&lt;br /&gt;
 rate &amp;amp;gt; 1              : is fastforward&lt;br /&gt;
 rate &amp;amp;gt; 0 and rate &amp;amp;lt; 1 : is slow motion&lt;br /&gt;
 rate &amp;amp;lt; 0              : is rewind&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Playlist object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.itemCount&#039;&#039;&#039;: number that returns the amount of items currently in the playlist (&#039;&#039;&#039;deprecated&#039;&#039;&#039;, do not use, see [[#Playlist_items_object| Playlist items]])&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.isPlaying&#039;&#039;&#039;: a boolean that returns true if the current playlist item is playing and false when it is not playing&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.items&#039;&#039;&#039;: return the playlist items collection, see [[#Playlist_items_object| Playlist items]]&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.add(mrl)&#039;&#039;&#039;: add a playlist item as [[MRL]]. The MRL must be given as a string. Returns a number as an item identifier in playlist (this is not a position  in playlist).&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.add(mrl,name,options)&#039;&#039;&#039;: add a playlist item as MRL, with metaname &#039;name&#039; and options &#039;options&#039;. options are text arguments which can be provided either as a single string containing space separated values, akin to VLC command line, or as an array of string values. Returns a number as an item identifier in playlist (this is not a position in playlist).&lt;br /&gt;
  var options = new Array(&amp;quot;:aspect-ratio=4:3&amp;quot;, &amp;quot;--rtsp-tcp&amp;quot;);&lt;br /&gt;
  var id = vlc.playlist.add(&amp;quot;rtsp://servername/item/to/play&amp;quot;, &amp;quot;fancy name&amp;quot;, options);&lt;br /&gt;
  vlc.playlist.playItem(id);&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.play()&#039;&#039;&#039;: start playing the current playlist item&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.playItem(number)&#039;&#039;&#039;: start playing the item whose identifier is number&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.togglePause()&#039;&#039;&#039;: toggle the pause state for the current playlist item&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.stop()&#039;&#039;&#039;: stop playing the current playlist item&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.next()&#039;&#039;&#039;: iterate to the next playlist item&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.prev()&#039;&#039;&#039;: iterate to the previous playlist item&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.clear()&#039;&#039;&#039;: empty the current playlist, all items will be deleted from the playlist (&#039;&#039;&#039;deprecated&#039;&#039;&#039;, do not use, see [[#Playlist_items_object| Playlist items]])&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.removeItem(number)&#039;&#039;&#039;: remove the item from playlist whose identifier is number &amp;lt;!-- (note: this number isn&#039;t the position in the playlist, but the number given by vlc.playlist.add() ) --&amp;gt; (&#039;&#039;&#039;deprecated&#039;&#039;&#039;, do not use, see [[#Playlist_items_object| Playlist items]])&lt;br /&gt;
&lt;br /&gt;
====Playlist items object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.items.count&#039;&#039;&#039;: number of items currently in the playlist&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.items.clear()&#039;&#039;&#039;: empty the current playlist, all items will be deleted from the playlist. If a movie is playing, it stop. Note that when this method returns, playlist may not have been entirely been cleared as this operation is performed asynchronously; use the &#039;&#039;count&#039;&#039; property to verify/wait until the playlist is empty.&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.items.remove(number)&#039;&#039;&#039;: remove the item whose identifier is number from playlist. (note: this number isn&#039;t the position in the playlist, but the number given by vlc.playlist.add() )&lt;br /&gt;
&lt;br /&gt;
====Subtitle object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;vlc.subtitle.count&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) returns the number of subtitle available.&lt;br /&gt;
&lt;br /&gt;
read/write properties &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;vlc.subtitle.track&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) get and set the subtitle track to show on the video screen. The property takes an integer as input value [1..65535]. If subtitle track is set to 0, the subtitles will be disabled. If set to a value outside the current subtitle tracks range, then it will return -1 and display an error message.&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;vlc.subtitle.description(int i)&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) give the i-th subtitle name. 0 correspond to disable and 1 to the first subtitle.&lt;br /&gt;
&lt;br /&gt;
====Video object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.width&#039;&#039;&#039;: returns the horizontal size of the video&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.height&#039;&#039;&#039;: returns the vertical size of the video&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.fullscreen&#039;&#039;&#039;: 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.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.aspectRatio&#039;&#039;&#039;: get and set the aspect ratio to use in the video screen. The property takes a string as input value. Typical values are: &amp;quot;1:1&amp;quot;, &amp;quot;4:3&amp;quot;, &amp;quot;16:9&amp;quot;, &amp;quot;16:10&amp;quot;, &amp;quot;221:100&amp;quot; and &amp;quot;5:4&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.subtitle&#039;&#039;&#039;: (supported in vlc version &amp;gt; 0.8.6a) get and set the subtitle track to show on the video screen. The property takes an integer as input value [1..65535]. If subtitle track is set to 0, the subtitles will be disabled. If set to a value outside the current subtitle tracks range, then it will return -1 and display an error message.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.teletext&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 0.9.0) get and set teletext page to show on the video stream. This will only work if a teletext elementary stream is available in the video stream. The property takes an integer as input value [0..999] for indicating the teletext page to view, setting the value to 0 means hide teletext. On error it will return -1 and display an error message.&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.toggleFullscreen()&#039;&#039;&#039;: toggle the fullscreen mode based on the previous setting&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.toggleTeletext()&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 0.9.0) toggle the teletext page to overlay transparent or not, based on the previous setting&lt;br /&gt;
&lt;br /&gt;
=====Deinterlace Object=====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.deinterlace.enable(&amp;quot;my_mode&amp;quot;)&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) enable deinterlacing with my_mode. You can enable it with &amp;quot;blend&amp;quot;, &amp;quot;bob&amp;quot;, &amp;quot;discard&amp;quot;, &amp;quot;linear&amp;quot;, &amp;quot;mean&amp;quot; or &amp;quot;x&amp;quot; mode. Enabling too soon deinterlacing may cause some problems. You have to wait that all variable are available before enabling it.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.deinterlace.disable()&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) disable deinterlacing.&lt;br /&gt;
&lt;br /&gt;
=====Marquee Object=====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.marquee.text&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) display my text on the screen.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.marquee.color&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change the text color. val is the new color to use (WHITE=0x000000, BLACK=0xFFFFFF, RED=0xFF0000, GREEN=0x00FF00, BLUE=0x0000FF...).&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.marquee.opacity&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change the text opacity, val is defined from 0 (completely transparent) to 255 (completely opaque).&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.marquee.position&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change the text position (CENTER=0, LEFT=1, RIGHT=2, TOP=4, TOP-LEFT=5, TOP-RIGHT=6, BOTTOM=8, BOTTOM-LEFT=9, BOTTOM_RIGHT=10).&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.marquee.refresh&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change the marquee refresh period.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.marquee.size&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) val define the new size for the text displayed on the screen. If the text is bigger than the screen then the text is not displayed.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.marquee.timeout&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change the timeout value. val is defined in ms, but 0 value correspond to unlimited.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.marquee.x&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change text abscissa.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.marquee.y&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change text ordinate.&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.marquee.enable()&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) enable marquee filter.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.marquee.disable()&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) disable marquee filter.&lt;br /&gt;
&lt;br /&gt;
Some problems may happen (option like color or text will not be applied) because of the VLC asynchronous functioning. To avoid it, after enabling marquee, you have to wait a little time before changing an option. But it should be fixed by the new vout implementation.&lt;br /&gt;
&lt;br /&gt;
=====Logo Object=====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.logo.opacity&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change the picture opacity, val is defined from 0 (completely transparent) to 255 (completely opaque).&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.logo.position&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change the text position (&amp;quot;center&amp;quot;, &amp;quot;left&amp;quot;, &amp;quot;right&amp;quot;, &amp;quot;top&amp;quot;, &amp;quot;top-left&amp;quot;, &amp;quot;top-right&amp;quot;, &amp;quot;bottom&amp;quot;, &amp;quot;bottom-left&amp;quot;, &amp;quot;bottom-right&amp;quot;).&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.logo.delay&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) display each picture for a duration of 1000 ms (default) before displaying the next  picture.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.logo.repeat&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) number of loops for picture animation (-1=continuous, 0=disabled, n=n-times). The default is -1 (continuous).&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.logo.x&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change the x-offset for displaying the picture counting from top-left on the screen.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.logo.y&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change the y-offset for displaying the picture counting from top-left on the screen.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.logo.width&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change the picture width.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.logo.height&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change the picture height.&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.logo.enable()&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) enable logo video filter.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.logo.disable()&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) disable logo video filter.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.logo.file(&amp;quot;file.png&amp;quot;)&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) display my file.png as logo on the screen.&lt;br /&gt;
&lt;br /&gt;
Some problems may happen because of the VLC asynchronous functioning. To avoid it, after enabling logo video filter, you have to wait a little time before changing an option. But it should be fixed by the new vout implementation.&lt;br /&gt;
&lt;br /&gt;
====Log object====&lt;br /&gt;
: &#039;&#039;&#039;CAUTION&#039;&#039;&#039;: For security concern, VLC 1.0.0-rc1 is the latest (near-to-stable) version in which this object and its children are supported.&lt;br /&gt;
&lt;br /&gt;
This object allows accessing VLC main message logging queue. Typically this queue capacity is very small (no nore than 256 entries) and can easily overflow, therefore messages should be read and cleared as often as possible.&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.log.messages&#039;&#039;&#039;: returns the message collection, see [[#Messages object|Messages object]]&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.log.verbosity&#039;&#039;&#039;: write number [-1,0,1,2,3] for changing the verbosity level of the log messages; messages whose verbosity is higher than set will be not be logged in the queue. The numbers have the following meaning: -1 disable, 0 info, 1 error, 2 warning, 3 debug. &lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Messages object====&lt;br /&gt;
: &#039;&#039;&#039;CAUTION&#039;&#039;&#039;: For security concern, VLC 1.0.0-rc1 is the latest (near-to-stable) version in which this object and its children are supported.&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;messages.count&#039;&#039;&#039;: returns number of messages in the log&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;messages.clear()&#039;&#039;&#039;: clear the current log buffer. It should be called as frequently as possible to not overflow the message queue. Call this method after the log messages of interest are read.&lt;br /&gt;
*&#039;&#039;&#039;messages.iterator()&#039;&#039;&#039;: creates and returns an iterator object, used to iterate over the messages in the log. &#039;&#039;&#039;Don&#039;t clear the log buffer while holding an iterator object.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Messages Iterator object====&lt;br /&gt;
: &#039;&#039;&#039;CAUTION&#039;&#039;&#039;: For security concern, VLC 1.0.0-rc1 is the latest (near-to-stable) version in which this object and its children are supported.&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;iterator.hasNext&#039;&#039;&#039;: returns a boolean that indicates whether &#039;&#039;vlc.log.messages.next()&#039;&#039; will return the next message.&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;iterator.next()&#039;&#039;&#039;: returns the next message object in the log, see [[Message object]]&lt;br /&gt;
&lt;br /&gt;
====Message object====&lt;br /&gt;
: &#039;&#039;&#039;CAUTION&#039;&#039;&#039;: For security concern, VLC 1.0.0-rc1 is the latest (near-to-stable) version in which this object and its children are supported.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;message.severity&#039;&#039;&#039;: number that indicates the severity of the log message (0 = info, 1 = error, 2 = warning, 3 = debug)&lt;br /&gt;
*&#039;&#039;&#039;message.name&#039;&#039;&#039;: name of VLC module that printed the log message (e.g: main, http, directx, etc...)&lt;br /&gt;
*&#039;&#039;&#039;message.type&#039;&#039;&#039;: type of VLC module that printed the log message (eg: input, access, vout, sout, etc...)&lt;br /&gt;
*&#039;&#039;&#039;message.message&#039;&#039;&#039;: the message text&lt;br /&gt;
&lt;br /&gt;
==Build HTML pages that use the plugin (VLC version up to 0.8.5)==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;WARNING:&#039;&#039;&#039; the APIs described in this section are &#039;&#039;&#039;deprecated&#039;&#039;&#039;, do not use. They no longer work on recent VLC version (&amp;gt; 0.8.5), either it being the ActiveX (Internet Explorer)/ Safari or Mozilla based browsers.&lt;br /&gt;
&lt;br /&gt;
The following API description is only valid uptill version 0.8.5 of the mozilla plugin.&lt;br /&gt;
&lt;br /&gt;
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&lt;br /&gt;
plugin.&lt;br /&gt;
&lt;br /&gt;
The vlc plugin supports the following function calls:&lt;br /&gt;
*&#039;&#039;&#039;play()&#039;&#039;&#039;: Start playing media in the plugin.&lt;br /&gt;
*&#039;&#039;&#039;pause()&#039;&#039;&#039;: Pause playback.&lt;br /&gt;
*&#039;&#039;&#039;stop()&#039;&#039;&#039;: Stop media playback.&lt;br /&gt;
*&#039;&#039;&#039;fullscreen()&#039;&#039;&#039;: Switch the video to full screen.&lt;br /&gt;
*&#039;&#039;&#039;set_volume(vol)&#039;&#039;&#039;: Set the volume. &#039;&#039;&#039;vol&#039;&#039;&#039; has to be an int in the 0-200 range.&lt;br /&gt;
*&#039;&#039;&#039;get_volume()&#039;&#039;&#039;: Get the current volume setting.&lt;br /&gt;
*&#039;&#039;&#039;mute()&#039;&#039;&#039;: Toggle volume muting.&lt;br /&gt;
*&#039;&#039;&#039;set_int_variable(var_name, value)&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;set_bool_variable(var_name, value)&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;set_str_variable(var_name, value)&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;get_int_variable(var_name)&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;get_bool_variable(var_name)&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;get_str_variable(var_name)&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;clear_playlist()&#039;&#039;&#039;: Clear the playlist.&lt;br /&gt;
*&#039;&#039;&#039;add_item(mrl)&#039;&#039;&#039;: Append an item whose location is given by the [[media resource locator]] to the playlist.&lt;br /&gt;
*&#039;&#039;&#039;next()&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;previous()&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;isplaying()&#039;&#039;&#039;: return true if the plugin is playing something.&lt;br /&gt;
*&#039;&#039;&#039;get_length()&#039;&#039;&#039;: Get the media&#039;s length in seconds.&lt;br /&gt;
*&#039;&#039;&#039;get_position()&#039;&#039;&#039;: Get the current position in the media in percent.&lt;br /&gt;
*&#039;&#039;&#039;get_time()&#039;&#039;&#039;: Get the current position in the media in seconds.&lt;br /&gt;
*&#039;&#039;&#039;seek(seconds,is_relative)&#039;&#039;&#039;: If is_relative is true, seek relatively to current time, else seek from beginning of the stream. Seek time is specified in seconds.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Here are a few examples of HTML pages that use the&lt;br /&gt;
Mozilla plugin.&lt;br /&gt;
&lt;br /&gt;
===Example 1===&lt;br /&gt;
&lt;br /&gt;
In this example, the plugin will read an HTTP stream inside the web page. If the user goes fullscreen, he will have to press &#039;&#039;f&#039;&#039; or double-click on the video to go back in normal view.&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;html&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;head&amp;amp;gt;&amp;amp;lt;title&amp;amp;gt;Demo of VLC mozilla plugin&amp;amp;lt;/title&amp;amp;gt;&amp;amp;lt;/head&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;body&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;h1&amp;amp;gt;Demo of VLC mozilla plugin - Example 1&amp;amp;lt;/h1&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;embed type=&amp;quot;application/x-vlc-plugin&amp;quot;&lt;br /&gt;
          name=&amp;quot;video1&amp;quot;&lt;br /&gt;
          autoplay=&amp;quot;no&amp;quot; loop=&amp;quot;yes&amp;quot; width=&amp;quot;400&amp;quot; height=&amp;quot;300&amp;quot;&lt;br /&gt;
          target=&amp;quot;http://server.example.org/video1.vob&amp;quot; /&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;br /&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video1.play()&#039;&amp;amp;gt;Play video1&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video1.pause()&#039;&amp;amp;gt;Pause video1&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video1.stop()&#039;&amp;amp;gt;Stop video1&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video1.fullscreen()&#039;&amp;amp;gt;Fullscreen&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;/body&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/html&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Example 2===&lt;br /&gt;
&lt;br /&gt;
In this example, the plugin will read a multicast UDP/RTP stream in a dedicated video output window.&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;html&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;head&amp;amp;gt;&amp;amp;lt;title&amp;amp;gt;Demo of VLC mozilla plugin&amp;amp;lt;/title&amp;amp;gt;&amp;amp;lt;/head&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;body&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;h1&amp;amp;gt;Demo of VLC mozilla plugin - Example 2&amp;amp;lt;/h1&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;embed type=&amp;quot;application/x-vlc-plugin&amp;quot;&lt;br /&gt;
          name=&amp;quot;video2&amp;quot;&lt;br /&gt;
          autoplay=&amp;quot;no&amp;quot; loop=&amp;quot;no&amp;quot; hidden=&amp;quot;yes&amp;quot;&lt;br /&gt;
          target=&amp;quot;rtp://@239.255.12.42:5004&amp;quot; /&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;br /&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video2.play()&#039;&amp;amp;gt;Play video2&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video2.stop()&#039;&amp;amp;gt;Stop video2&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video2.fullscreen()&#039;&amp;amp;gt;Fullscreen&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;/body&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/html&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Documentation}}&lt;br /&gt;
[[Category:Embedded]]&lt;/div&gt;</summary>
		<author><name>Jpsaman</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=Documentation:WebPlugin&amp;diff=15492</id>
		<title>Documentation:WebPlugin</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=Documentation:WebPlugin&amp;diff=15492"/>
		<updated>2010-01-31T08:40:13Z</updated>

		<summary type="html">&lt;p&gt;Jpsaman: Document vlc.video.deinterlace.enabledisable change&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Building HTML pages for Mozilla/Firefox/Internet Explorer/Safari ==&lt;br /&gt;
&lt;br /&gt;
The following description works for any of the browsers VLC supports. The JavaScript API has been unified between Mozilla/Firefox/IE (ActiveX) and Safari, thus targetting at all of the major OS out there. &lt;br /&gt;
&lt;br /&gt;
This is only valid for {{VLC}} version 0.8.6 and above.&lt;br /&gt;
&lt;br /&gt;
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&lt;br /&gt;
plugin.&lt;br /&gt;
&lt;br /&gt;
== API description ==&lt;br /&gt;
The vlc plugin exports serveral objects that can be accessed for setting and getting information. When used improperly the API&#039;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.&lt;br /&gt;
&lt;br /&gt;
The vlc plugin knows the following objects:&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;audio&#039;&#039;&#039;: Access audio properties.&lt;br /&gt;
*&#039;&#039;&#039;input&#039;&#039;&#039;: Access input properties.&lt;br /&gt;
*&#039;&#039;&#039;playlist&#039;&#039;&#039;: Access playlist properties.&lt;br /&gt;
*&#039;&#039;&#039;subtitle&#039;&#039;&#039;: Access subtitle properties.&lt;br /&gt;
*&#039;&#039;&#039;video&#039;&#039;&#039;: Access video properties.&lt;br /&gt;
*&#039;&#039;&#039;video.marquee&#039;&#039;&#039;: Access marquee video filter properties.&lt;br /&gt;
*&#039;&#039;&#039;video.logo&#039;&#039;&#039;: Access logo video filter properties.&lt;br /&gt;
*&#039;&#039;&#039;log&#039;&#039;&#039;: Access log properties.&lt;br /&gt;
*&#039;&#039;&#039;messages&#039;&#039;&#039;: Access to log message properties.&lt;br /&gt;
*&#039;&#039;&#039;iterator&#039;&#039;&#039;: Access to log iterator properties.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;html&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;title&amp;amp;gt;VLC Mozilla plugin test page&amp;amp;lt;/title&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;body&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;embed type=&amp;quot;application/x-vlc-plugin&amp;quot; pluginspage=&amp;quot;http://www.videolan.org&amp;quot; version=&amp;quot;VideoLAN.VLCPlugin.2&amp;quot;&lt;br /&gt;
     width=&amp;quot;640&amp;quot;&lt;br /&gt;
     height=&amp;quot;480&amp;quot;&lt;br /&gt;
     id=&amp;quot;vlc&amp;quot;&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/embed&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;script language=&amp;quot;Javascript&amp;quot;&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;!--&lt;br /&gt;
 var vlc = document.getElementById(&amp;quot;vlc&amp;quot;);&lt;br /&gt;
 vlc.audio.toggleMute();&lt;br /&gt;
 !--&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/script&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/body&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/html&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Root object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;VersionInfo&#039;&#039;&#039;: returns version information string&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;vlc.versionInfo()&#039;&#039;&#039;: returns version information string (same as VersionInfo)&lt;br /&gt;
&lt;br /&gt;
====Audio object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.audio.count&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) returns the number of audio track available.&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.audio.mute&#039;&#039;&#039;: boolean value to mute and ummute the audio.&lt;br /&gt;
*&#039;&#039;&#039;vlc.audio.volume&#039;&#039;&#039;: a value between [0-200] which indicates a percentage of the volume.&lt;br /&gt;
*&#039;&#039;&#039;vlc.audio.track&#039;&#039;&#039;: (supported in vlc version &amp;gt; 0.8.6) a value between [1-65535] which indicates the audio track to play or that is playing. a value of 0 means the audio is/will be disabled.&lt;br /&gt;
*&#039;&#039;&#039;vlc.audio.channel&#039;&#039;&#039;: (supported in vlc version &amp;gt; 0.8.6) integer value between [1-5] that indicates which audio channel mode is used, values can be: &amp;quot;1=stereo&amp;quot;, &amp;quot;2=reverse stereo&amp;quot;, &amp;quot;3=left&amp;quot;, &amp;quot;4=right&amp;quot;, &amp;quot;5=dolby&amp;quot;. Use vlc.audio.channel to check if setting of the audio channel mode has succeeded.&lt;br /&gt;
&lt;br /&gt;
 Audio Channel:&lt;br /&gt;
 &amp;lt;SELECT readonly onChange=&#039;doAudioChannel(this.value)&#039;&amp;gt;&lt;br /&gt;
    &amp;lt;OPTION value=1&amp;gt;Stereo&amp;lt;/OPTION&amp;gt;&lt;br /&gt;
    &amp;lt;OPTION value=2&amp;gt;Reverse stereo&amp;lt;/OPTION&amp;gt;&lt;br /&gt;
    &amp;lt;OPTION value=3&amp;gt;Left&amp;lt;/OPTION&amp;gt;&lt;br /&gt;
    &amp;lt;OPTION value=4&amp;gt;Right&amp;lt;/OPTION&amp;gt;&lt;br /&gt;
    &amp;lt;OPTION value=5&amp;gt;Dolby&amp;lt;/OPTION&amp;gt;&lt;br /&gt;
 &amp;lt;/SELECT&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;SCRIPT language=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;amp;lt;!--&lt;br /&gt;
 function doAudioChannel(value)&lt;br /&gt;
 {&lt;br /&gt;
    var vlc = getVLC(&amp;quot;vlc&amp;quot;);&lt;br /&gt;
    vlc.audio.channel = parseInt(value);&lt;br /&gt;
    alert(vlc.audio.channel);&lt;br /&gt;
 };&lt;br /&gt;
 --&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;vlc.audio.toggleMute()&#039;&#039;&#039;: boolean toggle that mutes and unmutes the audio based upon the previous state.&lt;br /&gt;
*&#039;&#039;&#039;vlc.audio.description(int i)&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) give the i-th audio track name. 0 corresponds to disable and 1 to the first audio track.&lt;br /&gt;
&lt;br /&gt;
====Input object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.length&#039;&#039;&#039;: length of the input file in number of milliseconds. 0 is returned for &#039;live&#039; streams or clips whose length cannot be determined by VLC. It returns -1 if no input is playing. &lt;br /&gt;
*&#039;&#039;&#039;vlc.input.fps&#039;&#039;&#039;: frames per second returned as a float (typically 60.0, 50.0, 23.976, etc...)&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.hasVout&#039;&#039;&#039;: a boolean that returns true when the video is being displayed, it returns false when video is not displayed&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.position&#039;&#039;&#039;: normalized position in multimedia stream item given as a float value between [0.0 - 1.0]&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.time&#039;&#039;&#039;: the absolute position in time given in milliseconds, this property can be used to seek through the stream&lt;br /&gt;
 &amp;amp;lt;!-- absolute seek in stream !--&amp;amp;gt;&lt;br /&gt;
 vlc.input.time = &amp;amp;lt;absolute seek&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;!-- relative seek in stream !--&amp;amp;gt;&lt;br /&gt;
 vlc.input.time = vlc.input.time + &amp;amp;lt;relative seek&amp;amp;gt;&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.state&#039;&#039;&#039;: current state of the input chain given as enumeration (IDLE=0, OPENING=1, BUFFERING=2, PLAYING=3, PAUSED=4, STOPPING=5, ENDED=6, ERROR=7). Note: Test for ENDED=6 to catch end of playback. Checking for STOPPING=5 is NOT ENOUGH.&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.rate&#039;&#039;&#039;: input speed given as float (1.0 for normal speed, 0.5 for half speed, 2.0 for twice as fast, etc.).&lt;br /&gt;
 rate &amp;amp;gt; 1              : is fastforward&lt;br /&gt;
 rate &amp;amp;gt; 0 and rate &amp;amp;lt; 1 : is slow motion&lt;br /&gt;
 rate &amp;amp;lt; 0              : is rewind&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Playlist object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.itemCount&#039;&#039;&#039;: number that returns the amount of items currently in the playlist (&#039;&#039;&#039;deprecated&#039;&#039;&#039;, do not use, see [[#Playlist_items_object| Playlist items]])&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.isPlaying&#039;&#039;&#039;: a boolean that returns true if the current playlist item is playing and false when it is not playing&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.items&#039;&#039;&#039;: return the playlist items collection, see [[#Playlist_items_object| Playlist items]]&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.add(mrl)&#039;&#039;&#039;: add a playlist item as [[MRL]]. The MRL must be given as a string. Returns a number as an item identifier in playlist (this is not a position  in playlist).&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.add(mrl,name,options)&#039;&#039;&#039;: add a playlist item as MRL, with metaname &#039;name&#039; and options &#039;options&#039;. options are text arguments which can be provided either as a single string containing space separated values, akin to VLC command line, or as an array of string values. Returns a number as an item identifier in playlist (this is not a position in playlist).&lt;br /&gt;
  var options = new Array(&amp;quot;:aspect-ratio=4:3&amp;quot;, &amp;quot;--rtsp-tcp&amp;quot;);&lt;br /&gt;
  var id = vlc.playlist.add(&amp;quot;rtsp://servername/item/to/play&amp;quot;, &amp;quot;fancy name&amp;quot;, options);&lt;br /&gt;
  vlc.playlist.playItem(id);&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.play()&#039;&#039;&#039;: start playing the current playlist item&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.playItem(number)&#039;&#039;&#039;: start playing the item whose identifier is number&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.togglePause()&#039;&#039;&#039;: toggle the pause state for the current playlist item&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.stop()&#039;&#039;&#039;: stop playing the current playlist item&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.next()&#039;&#039;&#039;: iterate to the next playlist item&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.prev()&#039;&#039;&#039;: iterate to the previous playlist item&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.clear()&#039;&#039;&#039;: empty the current playlist, all items will be deleted from the playlist (&#039;&#039;&#039;deprecated&#039;&#039;&#039;, do not use, see [[#Playlist_items_object| Playlist items]])&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.removeItem(number)&#039;&#039;&#039;: remove the item from playlist whose identifier is number &amp;lt;!-- (note: this number isn&#039;t the position in the playlist, but the number given by vlc.playlist.add() ) --&amp;gt; (&#039;&#039;&#039;deprecated&#039;&#039;&#039;, do not use, see [[#Playlist_items_object| Playlist items]])&lt;br /&gt;
&lt;br /&gt;
====Playlist items object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.items.count&#039;&#039;&#039;: number of items currently in the playlist&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.items.clear()&#039;&#039;&#039;: empty the current playlist, all items will be deleted from the playlist. If a movie is playing, it stop. Note that when this method returns, playlist may not have been entirely been cleared as this operation is performed asynchronously; use the &#039;&#039;count&#039;&#039; property to verify/wait until the playlist is empty.&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.items.remove(number)&#039;&#039;&#039;: remove the item whose identifier is number from playlist. (note: this number isn&#039;t the position in the playlist, but the number given by vlc.playlist.add() )&lt;br /&gt;
&lt;br /&gt;
====Subtitle object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;vlc.subtitle.count&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) returns the number of subtitle available.&lt;br /&gt;
&lt;br /&gt;
read/write properties &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;vlc.subtitle.track&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) get and set the subtitle track to show on the video screen. The property takes an integer as input value [1..65535]. If subtitle track is set to 0, the subtitles will be disabled. If set to a value outside the current subtitle tracks range, then it will return -1 and display an error message.&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;vlc.subtitle.description(int i)&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) give the i-th subtitle name. 0 correspond to disable and 1 to the first subtitle.&lt;br /&gt;
&lt;br /&gt;
====Video object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.width&#039;&#039;&#039;: returns the horizontal size of the video&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.height&#039;&#039;&#039;: returns the vertical size of the video&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.fullscreen&#039;&#039;&#039;: 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.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.aspectRatio&#039;&#039;&#039;: get and set the aspect ratio to use in the video screen. The property takes a string as input value. Typical values are: &amp;quot;1:1&amp;quot;, &amp;quot;4:3&amp;quot;, &amp;quot;16:9&amp;quot;, &amp;quot;16:10&amp;quot;, &amp;quot;221:100&amp;quot; and &amp;quot;5:4&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.subtitle&#039;&#039;&#039;: (supported in vlc version &amp;gt; 0.8.6a) get and set the subtitle track to show on the video screen. The property takes an integer as input value [1..65535]. If subtitle track is set to 0, the subtitles will be disabled. If set to a value outside the current subtitle tracks range, then it will return -1 and display an error message.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.teletext&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 0.9.0) get and set teletext page to show on the video stream. This will only work if a teletext elementary stream is available in the video stream. The property takes an integer as input value [0..999] for indicating the teletext page to view, setting the value to 0 means hide teletext. On error it will return -1 and display an error message.&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.toggleFullscreen()&#039;&#039;&#039;: toggle the fullscreen mode based on the previous setting&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.toggleTeletext()&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 0.9.0) toggle the teletext page to overlay transparent or not, based on the previous setting&lt;br /&gt;
&lt;br /&gt;
=====Deinterlace Object=====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.deinterlace.enable(&amp;quot;my_mode&amp;quot;)&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) enable deinterlacing with my_mode. You can enable it with &amp;quot;blend&amp;quot;, &amp;quot;bob&amp;quot;, &amp;quot;discard&amp;quot;, &amp;quot;linear&amp;quot;, &amp;quot;mean&amp;quot; or &amp;quot;x&amp;quot; mode. Enabling too soon deinterlacing may cause some problems. You have to wait that all variable are available before enabling it.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.deinterlace.disable()&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) disable deinterlacing.&lt;br /&gt;
&lt;br /&gt;
=====Marquee Object=====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.marquee.text&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) display my text on the screen.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.marquee.color&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change the text color. val is the new color to use (WHITE=0x000000, BLACK=0xFFFFFF, RED=0xFF0000, GREEN=0x00FF00, BLUE=0x0000FF...).&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.marquee.opacity&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change the text opacity, val is defined from 0 (completely transparent) to 255 (completely opaque).&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.marquee.position&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change the text position (CENTER=0, LEFT=1, RIGHT=2, TOP=4, TOP-LEFT=5, TOP-RIGHT=6, BOTTOM=8, BOTTOM-LEFT=9, BOTTOM_RIGHT=10).&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.marquee.refresh&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change the marquee refresh period.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.marquee.size&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) val define the new size for the text displayed on the screen. If the text is bigger than the screen then the text is not displayed.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.marquee.timeout&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change the timeout value. val is defined in ms, but 0 value correspond to unlimited.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.marquee.x&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change text abscissa.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.marquee.y&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change text ordinate.&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.marquee.enable()&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) enable marquee filter.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.marquee.disable()&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) disable marquee filter.&lt;br /&gt;
&lt;br /&gt;
Some problems may happen (option like color or text will not be applied) because of the VLC asynchronous functioning. To avoid it, after enabling marquee, you have to wait a little time before changing an option. But it should be fixed by the new vout implementation.&lt;br /&gt;
&lt;br /&gt;
=====Logo Object=====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.logo.opacity&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change the picture opacity, val is defined from 0 (completely transparent) to 255 (completely opaque).&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.logo.position&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change the text position (&amp;quot;center&amp;quot;, &amp;quot;left&amp;quot;, &amp;quot;right&amp;quot;, &amp;quot;top&amp;quot;, &amp;quot;top-left&amp;quot;, &amp;quot;top-right&amp;quot;, &amp;quot;bottom&amp;quot;, &amp;quot;bottom-left&amp;quot;, &amp;quot;bottom-right&amp;quot;).&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.logo.delay&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) display each picture for a duration of 1000 ms (default) before displaying the next  picture.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.logo.repeat&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) number of loops for picture animation (-1=continuous, 0=disabled, n=n-times). The default is -1 (continuous).&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.logo.x&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change the x-offset for displaying the picture counting from top-left on the screen.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.logo.y&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change the y-offset for displaying the picture counting from top-left on the screen.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.logo.width&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change the picture width.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.logo.height&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change the picture height.&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.logo.enable()&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) enable logo video filter.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.logo.disable()&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) disable logo video filter.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.logo.file(&amp;quot;file.png&amp;quot;)&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) display my file.png as logo on the screen.&lt;br /&gt;
&lt;br /&gt;
Some problems may happen because of the VLC asynchronous functioning. To avoid it, after enabling logo video filter, you have to wait a little time before changing an option. But it should be fixed by the new vout implementation.&lt;br /&gt;
&lt;br /&gt;
====Log object====&lt;br /&gt;
: &#039;&#039;&#039;CAUTION&#039;&#039;&#039;: For security concern, VLC 1.0.0-rc1 is the latest (near-to-stable) version in which this object and its children are supported.&lt;br /&gt;
&lt;br /&gt;
This object allows accessing VLC main message logging queue. Typically this queue capacity is very small (no nore than 256 entries) and can easily overflow, therefore messages should be read and cleared as often as possible.&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.log.messages&#039;&#039;&#039;: returns the message collection, see [[#Messages object|Messages object]]&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.log.verbosity&#039;&#039;&#039;: write number [-1,0,1,2,3] for changing the verbosity level of the log messages; messages whose verbosity is higher than set will be not be logged in the queue. The numbers have the following meaning: -1 disable, 0 info, 1 error, 2 warning, 3 debug. &lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Messages object====&lt;br /&gt;
: &#039;&#039;&#039;CAUTION&#039;&#039;&#039;: For security concern, VLC 1.0.0-rc1 is the latest (near-to-stable) version in which this object and its children are supported.&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;messages.count&#039;&#039;&#039;: returns number of messages in the log&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;messages.clear()&#039;&#039;&#039;: clear the current log buffer. It should be called as frequently as possible to not overflow the message queue. Call this method after the log messages of interest are read.&lt;br /&gt;
*&#039;&#039;&#039;messages.iterator()&#039;&#039;&#039;: creates and returns an iterator object, used to iterate over the messages in the log. &#039;&#039;&#039;Don&#039;t clear the log buffer while holding an iterator object.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Messages Iterator object====&lt;br /&gt;
: &#039;&#039;&#039;CAUTION&#039;&#039;&#039;: For security concern, VLC 1.0.0-rc1 is the latest (near-to-stable) version in which this object and its children are supported.&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;iterator.hasNext&#039;&#039;&#039;: returns a boolean that indicates whether &#039;&#039;vlc.log.messages.next()&#039;&#039; will return the next message.&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;iterator.next()&#039;&#039;&#039;: returns the next message object in the log, see [[Message object]]&lt;br /&gt;
&lt;br /&gt;
====Message object====&lt;br /&gt;
: &#039;&#039;&#039;CAUTION&#039;&#039;&#039;: For security concern, VLC 1.0.0-rc1 is the latest (near-to-stable) version in which this object and its children are supported.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;message.severity&#039;&#039;&#039;: number that indicates the severity of the log message (0 = info, 1 = error, 2 = warning, 3 = debug)&lt;br /&gt;
*&#039;&#039;&#039;message.name&#039;&#039;&#039;: name of VLC module that printed the log message (e.g: main, http, directx, etc...)&lt;br /&gt;
*&#039;&#039;&#039;message.type&#039;&#039;&#039;: type of VLC module that printed the log message (eg: input, access, vout, sout, etc...)&lt;br /&gt;
*&#039;&#039;&#039;message.message&#039;&#039;&#039;: the message text&lt;br /&gt;
&lt;br /&gt;
==Build HTML pages that use the plugin (VLC version up to 0.8.5)==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;WARNING:&#039;&#039;&#039; the APIs described in this section are &#039;&#039;&#039;deprecated&#039;&#039;&#039;, do not use. They no longer work on recent VLC version (&amp;gt; 0.8.5), either it being the ActiveX (Internet Explorer)/ Safari or Mozilla based browsers.&lt;br /&gt;
&lt;br /&gt;
The following API description is only valid uptill version 0.8.5 of the mozilla plugin.&lt;br /&gt;
&lt;br /&gt;
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&lt;br /&gt;
plugin.&lt;br /&gt;
&lt;br /&gt;
The vlc plugin supports the following function calls:&lt;br /&gt;
*&#039;&#039;&#039;play()&#039;&#039;&#039;: Start playing media in the plugin.&lt;br /&gt;
*&#039;&#039;&#039;pause()&#039;&#039;&#039;: Pause playback.&lt;br /&gt;
*&#039;&#039;&#039;stop()&#039;&#039;&#039;: Stop media playback.&lt;br /&gt;
*&#039;&#039;&#039;fullscreen()&#039;&#039;&#039;: Switch the video to full screen.&lt;br /&gt;
*&#039;&#039;&#039;set_volume(vol)&#039;&#039;&#039;: Set the volume. &#039;&#039;&#039;vol&#039;&#039;&#039; has to be an int in the 0-200 range.&lt;br /&gt;
*&#039;&#039;&#039;get_volume()&#039;&#039;&#039;: Get the current volume setting.&lt;br /&gt;
*&#039;&#039;&#039;mute()&#039;&#039;&#039;: Toggle volume muting.&lt;br /&gt;
*&#039;&#039;&#039;set_int_variable(var_name, value)&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;set_bool_variable(var_name, value)&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;set_str_variable(var_name, value)&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;get_int_variable(var_name)&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;get_bool_variable(var_name)&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;get_str_variable(var_name)&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;clear_playlist()&#039;&#039;&#039;: Clear the playlist.&lt;br /&gt;
*&#039;&#039;&#039;add_item(mrl)&#039;&#039;&#039;: Append an item whose location is given by the [[media resource locator]] to the playlist.&lt;br /&gt;
*&#039;&#039;&#039;next()&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;previous()&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;isplaying()&#039;&#039;&#039;: return true if the plugin is playing something.&lt;br /&gt;
*&#039;&#039;&#039;get_length()&#039;&#039;&#039;: Get the media&#039;s length in seconds.&lt;br /&gt;
*&#039;&#039;&#039;get_position()&#039;&#039;&#039;: Get the current position in the media in percent.&lt;br /&gt;
*&#039;&#039;&#039;get_time()&#039;&#039;&#039;: Get the current position in the media in seconds.&lt;br /&gt;
*&#039;&#039;&#039;seek(seconds,is_relative)&#039;&#039;&#039;: If is_relative is true, seek relatively to current time, else seek from beginning of the stream. Seek time is specified in seconds.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Here are a few examples of HTML pages that use the&lt;br /&gt;
Mozilla plugin.&lt;br /&gt;
&lt;br /&gt;
===Example 1===&lt;br /&gt;
&lt;br /&gt;
In this example, the plugin will read an HTTP stream inside the web page. If the user goes fullscreen, he will have to press &#039;&#039;f&#039;&#039; or double-click on the video to go back in normal view.&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;html&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;head&amp;amp;gt;&amp;amp;lt;title&amp;amp;gt;Demo of VLC mozilla plugin&amp;amp;lt;/title&amp;amp;gt;&amp;amp;lt;/head&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;body&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;h1&amp;amp;gt;Demo of VLC mozilla plugin - Example 1&amp;amp;lt;/h1&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;embed type=&amp;quot;application/x-vlc-plugin&amp;quot;&lt;br /&gt;
          name=&amp;quot;video1&amp;quot;&lt;br /&gt;
          autoplay=&amp;quot;no&amp;quot; loop=&amp;quot;yes&amp;quot; width=&amp;quot;400&amp;quot; height=&amp;quot;300&amp;quot;&lt;br /&gt;
          target=&amp;quot;http://server.example.org/video1.vob&amp;quot; /&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;br /&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video1.play()&#039;&amp;amp;gt;Play video1&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video1.pause()&#039;&amp;amp;gt;Pause video1&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video1.stop()&#039;&amp;amp;gt;Stop video1&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video1.fullscreen()&#039;&amp;amp;gt;Fullscreen&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;/body&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/html&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Example 2===&lt;br /&gt;
&lt;br /&gt;
In this example, the plugin will read a multicast UDP/RTP stream in a dedicated video output window.&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;html&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;head&amp;amp;gt;&amp;amp;lt;title&amp;amp;gt;Demo of VLC mozilla plugin&amp;amp;lt;/title&amp;amp;gt;&amp;amp;lt;/head&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;body&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;h1&amp;amp;gt;Demo of VLC mozilla plugin - Example 2&amp;amp;lt;/h1&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;embed type=&amp;quot;application/x-vlc-plugin&amp;quot;&lt;br /&gt;
          name=&amp;quot;video2&amp;quot;&lt;br /&gt;
          autoplay=&amp;quot;no&amp;quot; loop=&amp;quot;no&amp;quot; hidden=&amp;quot;yes&amp;quot;&lt;br /&gt;
          target=&amp;quot;rtp://@239.255.12.42:5004&amp;quot; /&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;br /&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video2.play()&#039;&amp;amp;gt;Play video2&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video2.stop()&#039;&amp;amp;gt;Stop video2&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video2.fullscreen()&#039;&amp;amp;gt;Fullscreen&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;/body&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/html&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Documentation}}&lt;br /&gt;
[[Category:Embedded]]&lt;/div&gt;</summary>
		<author><name>Jpsaman</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=Documentation:WebPlugin&amp;diff=15450</id>
		<title>Documentation:WebPlugin</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=Documentation:WebPlugin&amp;diff=15450"/>
		<updated>2010-01-22T10:33:21Z</updated>

		<summary type="html">&lt;p&gt;Jpsaman: Note removal of Log, Messages and Messages Iterator object&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Building HTML pages for Mozilla/Firefox/Internet Explorer/Safari ==&lt;br /&gt;
&lt;br /&gt;
The following description works for any of the browsers VLC supports. The JavaScript API has been unified between Mozilla/Firefox/IE (ActiveX) and Safari, thus targetting at all of the major OS out there. &lt;br /&gt;
&lt;br /&gt;
This is only valid for {{VLC}} version 0.8.6 and above.&lt;br /&gt;
&lt;br /&gt;
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&lt;br /&gt;
plugin.&lt;br /&gt;
&lt;br /&gt;
== API description ==&lt;br /&gt;
The vlc plugin exports serveral objects that can be accessed for setting and getting information. When used improperly the API&#039;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.&lt;br /&gt;
&lt;br /&gt;
The vlc plugin knows the following objects:&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;audio&#039;&#039;&#039;: Access audio properties.&lt;br /&gt;
*&#039;&#039;&#039;input&#039;&#039;&#039;: Access input properties.&lt;br /&gt;
*&#039;&#039;&#039;playlist&#039;&#039;&#039;: Access playlist properties.&lt;br /&gt;
*&#039;&#039;&#039;subtitle&#039;&#039;&#039;: Access subtitle properties.&lt;br /&gt;
*&#039;&#039;&#039;video&#039;&#039;&#039;: Access video properties.&lt;br /&gt;
*&#039;&#039;&#039;video.marquee&#039;&#039;&#039;: Access marquee video filter properties.&lt;br /&gt;
*&#039;&#039;&#039;video.logo&#039;&#039;&#039;: Access logo video filter properties.&lt;br /&gt;
*&#039;&#039;&#039;log&#039;&#039;&#039;: Access log properties.&lt;br /&gt;
*&#039;&#039;&#039;messages&#039;&#039;&#039;: Access to log message properties.&lt;br /&gt;
*&#039;&#039;&#039;iterator&#039;&#039;&#039;: Access to log iterator properties.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;html&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;title&amp;amp;gt;VLC Mozilla plugin test page&amp;amp;lt;/title&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;body&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;embed type=&amp;quot;application/x-vlc-plugin&amp;quot; pluginspage=&amp;quot;http://www.videolan.org&amp;quot; version=&amp;quot;VideoLAN.VLCPlugin.2&amp;quot;&lt;br /&gt;
     width=&amp;quot;640&amp;quot;&lt;br /&gt;
     height=&amp;quot;480&amp;quot;&lt;br /&gt;
     id=&amp;quot;vlc&amp;quot;&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/embed&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;script language=&amp;quot;Javascript&amp;quot;&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;!--&lt;br /&gt;
 var vlc = document.getElementById(&amp;quot;vlc&amp;quot;);&lt;br /&gt;
 vlc.audio.toggleMute();&lt;br /&gt;
 !--&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/script&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/body&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/html&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Root object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;VersionInfo&#039;&#039;&#039;: returns version information string&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;vlc.versionInfo()&#039;&#039;&#039;: returns version information string (same as VersionInfo)&lt;br /&gt;
&lt;br /&gt;
====Audio object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.audio.count&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) returns the number of audio track available.&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.audio.mute&#039;&#039;&#039;: boolean value to mute and ummute the audio.&lt;br /&gt;
*&#039;&#039;&#039;vlc.audio.volume&#039;&#039;&#039;: a value between [0-200] which indicates a percentage of the volume.&lt;br /&gt;
*&#039;&#039;&#039;vlc.audio.track&#039;&#039;&#039;: (supported in vlc version &amp;gt; 0.8.6) a value between [1-65535] which indicates the audio track to play or that is playing. a value of 0 means the audio is/will be disabled.&lt;br /&gt;
*&#039;&#039;&#039;vlc.audio.channel&#039;&#039;&#039;: (supported in vlc version &amp;gt; 0.8.6) integer value between [1-5] that indicates which audio channel mode is used, values can be: &amp;quot;1=stereo&amp;quot;, &amp;quot;2=reverse stereo&amp;quot;, &amp;quot;3=left&amp;quot;, &amp;quot;4=right&amp;quot;, &amp;quot;5=dolby&amp;quot;. Use vlc.audio.channel to check if setting of the audio channel mode has succeeded.&lt;br /&gt;
&lt;br /&gt;
 Audio Channel:&lt;br /&gt;
 &amp;lt;SELECT readonly onChange=&#039;doAudioChannel(this.value)&#039;&amp;gt;&lt;br /&gt;
    &amp;lt;OPTION value=1&amp;gt;Stereo&amp;lt;/OPTION&amp;gt;&lt;br /&gt;
    &amp;lt;OPTION value=2&amp;gt;Reverse stereo&amp;lt;/OPTION&amp;gt;&lt;br /&gt;
    &amp;lt;OPTION value=3&amp;gt;Left&amp;lt;/OPTION&amp;gt;&lt;br /&gt;
    &amp;lt;OPTION value=4&amp;gt;Right&amp;lt;/OPTION&amp;gt;&lt;br /&gt;
    &amp;lt;OPTION value=5&amp;gt;Dolby&amp;lt;/OPTION&amp;gt;&lt;br /&gt;
 &amp;lt;/SELECT&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;SCRIPT language=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;amp;lt;!--&lt;br /&gt;
 function doAudioChannel(value)&lt;br /&gt;
 {&lt;br /&gt;
    var vlc = getVLC(&amp;quot;vlc&amp;quot;);&lt;br /&gt;
    vlc.audio.channel = parseInt(value);&lt;br /&gt;
    alert(vlc.audio.channel);&lt;br /&gt;
 };&lt;br /&gt;
 --&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;vlc.audio.toggleMute()&#039;&#039;&#039;: boolean toggle that mutes and unmutes the audio based upon the previous state.&lt;br /&gt;
*&#039;&#039;&#039;vlc.audio.description(int i)&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) give the i-th audio track name. 0 corresponds to disable and 1 to the first audio track.&lt;br /&gt;
&lt;br /&gt;
====Input object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.length&#039;&#039;&#039;: length of the input file in number of milliseconds. 0 is returned for &#039;live&#039; streams or clips whose length cannot be determined by VLC. It returns -1 if no input is playing. &lt;br /&gt;
*&#039;&#039;&#039;vlc.input.fps&#039;&#039;&#039;: frames per second returned as a float (typically 60.0, 50.0, 23.976, etc...)&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.hasVout&#039;&#039;&#039;: a boolean that returns true when the video is being displayed, it returns false when video is not displayed&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.position&#039;&#039;&#039;: normalized position in multimedia stream item given as a float value between [0.0 - 1.0]&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.time&#039;&#039;&#039;: the absolute position in time given in milliseconds, this property can be used to seek through the stream&lt;br /&gt;
 &amp;amp;lt;!-- absolute seek in stream !--&amp;amp;gt;&lt;br /&gt;
 vlc.input.time = &amp;amp;lt;absolute seek&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;!-- relative seek in stream !--&amp;amp;gt;&lt;br /&gt;
 vlc.input.time = vlc.input.time + &amp;amp;lt;relative seek&amp;amp;gt;&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.state&#039;&#039;&#039;: current state of the input chain given as enumeration (IDLE=0, OPENING=1, BUFFERING=2, PLAYING=3, PAUSED=4, STOPPING=5, ENDED=6, ERROR=7). Note: Test for ENDED=6 to catch end of playback. Checking for STOPPING=5 is NOT ENOUGH.&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.rate&#039;&#039;&#039;: input speed given as float (1.0 for normal speed, 0.5 for half speed, 2.0 for twice as fast, etc.).&lt;br /&gt;
 rate &amp;amp;gt; 1              : is fastforward&lt;br /&gt;
 rate &amp;amp;gt; 0 and rate &amp;amp;lt; 1 : is slow motion&lt;br /&gt;
 rate &amp;amp;lt; 0              : is rewind&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Playlist object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.itemCount&#039;&#039;&#039;: number that returns the amount of items currently in the playlist (&#039;&#039;&#039;deprecated&#039;&#039;&#039;, do not use, see [[#Playlist_items_object| Playlist items]])&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.isPlaying&#039;&#039;&#039;: a boolean that returns true if the current playlist item is playing and false when it is not playing&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.items&#039;&#039;&#039;: return the playlist items collection, see [[#Playlist_items_object| Playlist items]]&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.add(mrl)&#039;&#039;&#039;: add a playlist item as [[MRL]]. The MRL must be given as a string. Returns a number as an item identifier in playlist (this is not a position  in playlist).&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.add(mrl,name,options)&#039;&#039;&#039;: add a playlist item as MRL, with metaname &#039;name&#039; and options &#039;options&#039;. options are text arguments which can be provided either as a single string containing space separated values, akin to VLC command line, or as an array of string values. Returns a number as an item identifier in playlist (this is not a position in playlist).&lt;br /&gt;
  var options = new Array(&amp;quot;:aspect-ratio=4:3&amp;quot;, &amp;quot;--rtsp-tcp&amp;quot;);&lt;br /&gt;
  var id = vlc.playlist.add(&amp;quot;rtsp://servername/item/to/play&amp;quot;, &amp;quot;fancy name&amp;quot;, options);&lt;br /&gt;
  vlc.playlist.playItem(id);&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.play()&#039;&#039;&#039;: start playing the current playlist item&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.playItem(number)&#039;&#039;&#039;: start playing the item whose identifier is number&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.togglePause()&#039;&#039;&#039;: toggle the pause state for the current playlist item&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.stop()&#039;&#039;&#039;: stop playing the current playlist item&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.next()&#039;&#039;&#039;: iterate to the next playlist item&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.prev()&#039;&#039;&#039;: iterate to the previous playlist item&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.clear()&#039;&#039;&#039;: empty the current playlist, all items will be deleted from the playlist (&#039;&#039;&#039;deprecated&#039;&#039;&#039;, do not use, see [[#Playlist_items_object| Playlist items]])&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.removeItem(number)&#039;&#039;&#039;: remove the item from playlist whose identifier is number &amp;lt;!-- (note: this number isn&#039;t the position in the playlist, but the number given by vlc.playlist.add() ) --&amp;gt; (&#039;&#039;&#039;deprecated&#039;&#039;&#039;, do not use, see [[#Playlist_items_object| Playlist items]])&lt;br /&gt;
&lt;br /&gt;
====Playlist items object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.items.count&#039;&#039;&#039;: number of items currently in the playlist&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.items.clear()&#039;&#039;&#039;: empty the current playlist, all items will be deleted from the playlist. If a movie is playing, it stop. Note that when this method returns, playlist may not have been entirely been cleared as this operation is performed asynchronously; use the &#039;&#039;count&#039;&#039; property to verify/wait until the playlist is empty.&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.items.remove(number)&#039;&#039;&#039;: remove the item whose identifier is number from playlist. (note: this number isn&#039;t the position in the playlist, but the number given by vlc.playlist.add() )&lt;br /&gt;
&lt;br /&gt;
====Subtitle object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;vlc.subtitle.count&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) returns the number of subtitle available.&lt;br /&gt;
&lt;br /&gt;
read/write properties &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;vlc.subtitle.track&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) get and set the subtitle track to show on the video screen. The property takes an integer as input value [1..65535]. If subtitle track is set to 0, the subtitles will be disabled. If set to a value outside the current subtitle tracks range, then it will return -1 and display an error message.&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;vlc.subtitle.description(int i)&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) give the i-th subtitle name. 0 correspond to disable and 1 to the first subtitle.&lt;br /&gt;
&lt;br /&gt;
====Video object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.width&#039;&#039;&#039;: returns the horizontal size of the video&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.height&#039;&#039;&#039;: returns the vertical size of the video&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.fullscreen&#039;&#039;&#039;: 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.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.aspectRatio&#039;&#039;&#039;: get and set the aspect ratio to use in the video screen. The property takes a string as input value. Typical values are: &amp;quot;1:1&amp;quot;, &amp;quot;4:3&amp;quot;, &amp;quot;16:9&amp;quot;, &amp;quot;16:10&amp;quot;, &amp;quot;221:100&amp;quot; and &amp;quot;5:4&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.subtitle&#039;&#039;&#039;: (supported in vlc version &amp;gt; 0.8.6a) get and set the subtitle track to show on the video screen. The property takes an integer as input value [1..65535]. If subtitle track is set to 0, the subtitles will be disabled. If set to a value outside the current subtitle tracks range, then it will return -1 and display an error message.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.teletext&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 0.9.0) get and set teletext page to show on the video stream. This will only work if a teletext elementary stream is available in the video stream. The property takes an integer as input value [0..999] for indicating the teletext page to view, setting the value to 0 means hide teletext. On error it will return -1 and display an error message.&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.toggleFullscreen()&#039;&#039;&#039;: toggle the fullscreen mode based on the previous setting&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.toggleTeletext()&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 0.9.0) toggle the teletext page to overlay transparent or not, based on the previous setting&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.deinterlaceEnable(&amp;quot;my_mode&amp;quot;)&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) enable deinterlacing with my_mode. You can enable it with &amp;quot;blend&amp;quot;, &amp;quot;bob&amp;quot;, &amp;quot;discard&amp;quot;, &amp;quot;linear&amp;quot;, &amp;quot;mean&amp;quot; or &amp;quot;x&amp;quot; mode. Enabling too soon deinterlacing may cause some problems. You have to wait that all variable are available before enabling it.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.deinterlaceDisable()&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) disable deinterlacing.&lt;br /&gt;
&lt;br /&gt;
=====Marquee Object=====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.marquee.text&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) display my text on the screen.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.marquee.color&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change the text color. val is the new color to use (WHITE=0x000000, BLACK=0xFFFFFF, RED=0xFF0000, GREEN=0x00FF00, BLUE=0x0000FF...).&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.marquee.opacity&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change the text opacity, val is defined from 0 (completely transparent) to 255 (completely opaque).&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.marquee.position&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change the text position (CENTER=0, LEFT=1, RIGHT=2, TOP=4, TOP-LEFT=5, TOP-RIGHT=6, BOTTOM=8, BOTTOM-LEFT=9, BOTTOM_RIGHT=10).&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.marquee.refresh&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change the marquee refresh period.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.marquee.size&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) val define the new size for the text displayed on the screen. If the text is bigger than the screen then the text is not displayed.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.marquee.timeout&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change the timeout value. val is defined in ms, but 0 value correspond to unlimited.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.marquee.x&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change text abscissa.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.marquee.y&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change text ordinate.&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.marquee.enable()&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) enable marquee filter.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.marquee.disable()&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) disable marquee filter.&lt;br /&gt;
&lt;br /&gt;
Some problems may happen (option like color or text will not be applied) because of the VLC asynchronous functioning. To avoid it, after enabling marquee, you have to wait a little time before changing an option. But it should be fixed by the new vout implementation.&lt;br /&gt;
&lt;br /&gt;
=====Logo Object=====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.logo.opacity&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change the picture opacity, val is defined from 0 (completely transparent) to 255 (completely opaque).&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.logo.position&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change the text position (&amp;quot;center&amp;quot;, &amp;quot;left&amp;quot;, &amp;quot;right&amp;quot;, &amp;quot;top&amp;quot;, &amp;quot;top-left&amp;quot;, &amp;quot;top-right&amp;quot;, &amp;quot;bottom&amp;quot;, &amp;quot;bottom-left&amp;quot;, &amp;quot;bottom-right&amp;quot;).&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.logo.delay&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) display each picture for a duration of 1000 ms (default) before displaying the next  picture.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.logo.repeat&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) number of loops for picture animation (-1=continuous, 0=disabled, n=n-times). The default is -1 (continuous).&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.logo.x&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change the x-offset for displaying the picture counting from top-left on the screen.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.logo.y&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change the y-offset for displaying the picture counting from top-left on the screen.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.logo.width&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change the picture width.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.logo.height&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change the picture height.&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.logo.enable()&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) enable logo video filter.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.logo.disable()&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) disable logo video filter.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.logo.file(&amp;quot;file.png&amp;quot;)&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) display my file.png as logo on the screen.&lt;br /&gt;
&lt;br /&gt;
Some problems may happen because of the VLC asynchronous functioning. To avoid it, after enabling logo video filter, you have to wait a little time before changing an option. But it should be fixed by the new vout implementation.&lt;br /&gt;
&lt;br /&gt;
====Log object====&lt;br /&gt;
: &#039;&#039;&#039;CAUTION&#039;&#039;&#039;: For security concern, VLC 1.0.0-rc1 is the latest (near-to-stable) version in which this object and its children are supported.&lt;br /&gt;
&lt;br /&gt;
This object allows accessing VLC main message logging queue. Typically this queue capacity is very small (no nore than 256 entries) and can easily overflow, therefore messages should be read and cleared as often as possible.&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.log.messages&#039;&#039;&#039;: returns the message collection, see [[#Messages object|Messages object]]&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.log.verbosity&#039;&#039;&#039;: write number [-1,0,1,2,3] for changing the verbosity level of the log messages; messages whose verbosity is higher than set will be not be logged in the queue. The numbers have the following meaning: -1 disable, 0 info, 1 error, 2 warning, 3 debug. &lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Messages object====&lt;br /&gt;
: &#039;&#039;&#039;CAUTION&#039;&#039;&#039;: For security concern, VLC 1.0.0-rc1 is the latest (near-to-stable) version in which this object and its children are supported.&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;messages.count&#039;&#039;&#039;: returns number of messages in the log&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;messages.clear()&#039;&#039;&#039;: clear the current log buffer. It should be called as frequently as possible to not overflow the message queue. Call this method after the log messages of interest are read.&lt;br /&gt;
*&#039;&#039;&#039;messages.iterator()&#039;&#039;&#039;: creates and returns an iterator object, used to iterate over the messages in the log. &#039;&#039;&#039;Don&#039;t clear the log buffer while holding an iterator object.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Messages Iterator object====&lt;br /&gt;
: &#039;&#039;&#039;CAUTION&#039;&#039;&#039;: For security concern, VLC 1.0.0-rc1 is the latest (near-to-stable) version in which this object and its children are supported.&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;iterator.hasNext&#039;&#039;&#039;: returns a boolean that indicates whether &#039;&#039;vlc.log.messages.next()&#039;&#039; will return the next message.&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;iterator.next()&#039;&#039;&#039;: returns the next message object in the log, see [[Message object]]&lt;br /&gt;
&lt;br /&gt;
====Message object====&lt;br /&gt;
: &#039;&#039;&#039;CAUTION&#039;&#039;&#039;: For security concern, VLC 1.0.0-rc1 is the latest (near-to-stable) version in which this object and its children are supported.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;message.severity&#039;&#039;&#039;: number that indicates the severity of the log message (0 = info, 1 = error, 2 = warning, 3 = debug)&lt;br /&gt;
*&#039;&#039;&#039;message.name&#039;&#039;&#039;: name of VLC module that printed the log message (e.g: main, http, directx, etc...)&lt;br /&gt;
*&#039;&#039;&#039;message.type&#039;&#039;&#039;: type of VLC module that printed the log message (eg: input, access, vout, sout, etc...)&lt;br /&gt;
*&#039;&#039;&#039;message.message&#039;&#039;&#039;: the message text&lt;br /&gt;
&lt;br /&gt;
==Build HTML pages that use the plugin (VLC version up to 0.8.5)==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;WARNING:&#039;&#039;&#039; the APIs described in this section are &#039;&#039;&#039;deprecated&#039;&#039;&#039;, do not use. They no longer work on recent VLC version (&amp;gt; 0.8.5), either it being the ActiveX (Internet Explorer)/ Safari or Mozilla based browsers.&lt;br /&gt;
&lt;br /&gt;
The following API description is only valid uptill version 0.8.5 of the mozilla plugin.&lt;br /&gt;
&lt;br /&gt;
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&lt;br /&gt;
plugin.&lt;br /&gt;
&lt;br /&gt;
The vlc plugin supports the following function calls:&lt;br /&gt;
*&#039;&#039;&#039;play()&#039;&#039;&#039;: Start playing media in the plugin.&lt;br /&gt;
*&#039;&#039;&#039;pause()&#039;&#039;&#039;: Pause playback.&lt;br /&gt;
*&#039;&#039;&#039;stop()&#039;&#039;&#039;: Stop media playback.&lt;br /&gt;
*&#039;&#039;&#039;fullscreen()&#039;&#039;&#039;: Switch the video to full screen.&lt;br /&gt;
*&#039;&#039;&#039;set_volume(vol)&#039;&#039;&#039;: Set the volume. &#039;&#039;&#039;vol&#039;&#039;&#039; has to be an int in the 0-200 range.&lt;br /&gt;
*&#039;&#039;&#039;get_volume()&#039;&#039;&#039;: Get the current volume setting.&lt;br /&gt;
*&#039;&#039;&#039;mute()&#039;&#039;&#039;: Toggle volume muting.&lt;br /&gt;
*&#039;&#039;&#039;set_int_variable(var_name, value)&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;set_bool_variable(var_name, value)&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;set_str_variable(var_name, value)&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;get_int_variable(var_name)&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;get_bool_variable(var_name)&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;get_str_variable(var_name)&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;clear_playlist()&#039;&#039;&#039;: Clear the playlist.&lt;br /&gt;
*&#039;&#039;&#039;add_item(mrl)&#039;&#039;&#039;: Append an item whose location is given by the [[media resource locator]] to the playlist.&lt;br /&gt;
*&#039;&#039;&#039;next()&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;previous()&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;isplaying()&#039;&#039;&#039;: return true if the plugin is playing something.&lt;br /&gt;
*&#039;&#039;&#039;get_length()&#039;&#039;&#039;: Get the media&#039;s length in seconds.&lt;br /&gt;
*&#039;&#039;&#039;get_position()&#039;&#039;&#039;: Get the current position in the media in percent.&lt;br /&gt;
*&#039;&#039;&#039;get_time()&#039;&#039;&#039;: Get the current position in the media in seconds.&lt;br /&gt;
*&#039;&#039;&#039;seek(seconds,is_relative)&#039;&#039;&#039;: If is_relative is true, seek relatively to current time, else seek from beginning of the stream. Seek time is specified in seconds.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Here are a few examples of HTML pages that use the&lt;br /&gt;
Mozilla plugin.&lt;br /&gt;
&lt;br /&gt;
===Example 1===&lt;br /&gt;
&lt;br /&gt;
In this example, the plugin will read an HTTP stream inside the web page. If the user goes fullscreen, he will have to press &#039;&#039;f&#039;&#039; or double-click on the video to go back in normal view.&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;html&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;head&amp;amp;gt;&amp;amp;lt;title&amp;amp;gt;Demo of VLC mozilla plugin&amp;amp;lt;/title&amp;amp;gt;&amp;amp;lt;/head&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;body&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;h1&amp;amp;gt;Demo of VLC mozilla plugin - Example 1&amp;amp;lt;/h1&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;embed type=&amp;quot;application/x-vlc-plugin&amp;quot;&lt;br /&gt;
          name=&amp;quot;video1&amp;quot;&lt;br /&gt;
          autoplay=&amp;quot;no&amp;quot; loop=&amp;quot;yes&amp;quot; width=&amp;quot;400&amp;quot; height=&amp;quot;300&amp;quot;&lt;br /&gt;
          target=&amp;quot;http://server.example.org/video1.vob&amp;quot; /&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;br /&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video1.play()&#039;&amp;amp;gt;Play video1&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video1.pause()&#039;&amp;amp;gt;Pause video1&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video1.stop()&#039;&amp;amp;gt;Stop video1&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video1.fullscreen()&#039;&amp;amp;gt;Fullscreen&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;/body&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/html&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Example 2===&lt;br /&gt;
&lt;br /&gt;
In this example, the plugin will read a multicast UDP/RTP stream in a dedicated video output window.&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;html&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;head&amp;amp;gt;&amp;amp;lt;title&amp;amp;gt;Demo of VLC mozilla plugin&amp;amp;lt;/title&amp;amp;gt;&amp;amp;lt;/head&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;body&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;h1&amp;amp;gt;Demo of VLC mozilla plugin - Example 2&amp;amp;lt;/h1&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;embed type=&amp;quot;application/x-vlc-plugin&amp;quot;&lt;br /&gt;
          name=&amp;quot;video2&amp;quot;&lt;br /&gt;
          autoplay=&amp;quot;no&amp;quot; loop=&amp;quot;no&amp;quot; hidden=&amp;quot;yes&amp;quot;&lt;br /&gt;
          target=&amp;quot;rtp://@239.255.12.42:5004&amp;quot; /&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;br /&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video2.play()&#039;&amp;amp;gt;Play video2&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video2.stop()&#039;&amp;amp;gt;Stop video2&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video2.fullscreen()&#039;&amp;amp;gt;Fullscreen&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;/body&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/html&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Documentation}}&lt;br /&gt;
[[Category:Embedded]]&lt;/div&gt;</summary>
		<author><name>Jpsaman</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=Documentation:WebPlugin&amp;diff=15448</id>
		<title>Documentation:WebPlugin</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=Documentation:WebPlugin&amp;diff=15448"/>
		<updated>2010-01-22T09:55:24Z</updated>

		<summary type="html">&lt;p&gt;Jpsaman: /* Logo Object */ remove &amp;#039;events&amp;#039; section&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Building HTML pages for Mozilla/Firefox/Internet Explorer/Safari ==&lt;br /&gt;
&lt;br /&gt;
The following description works for any of the browsers VLC supports. The JavaScript API has been unified between Mozilla/Firefox/IE (ActiveX) and Safari, thus targetting at all of the major OS out there. &lt;br /&gt;
&lt;br /&gt;
This is only valid for {{VLC}} version 0.8.6 and above.&lt;br /&gt;
&lt;br /&gt;
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&lt;br /&gt;
plugin.&lt;br /&gt;
&lt;br /&gt;
== API description ==&lt;br /&gt;
The vlc plugin exports serveral objects that can be accessed for setting and getting information. When used improperly the API&#039;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.&lt;br /&gt;
&lt;br /&gt;
The vlc plugin knows the following objects:&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;audio&#039;&#039;&#039;: Access audio properties.&lt;br /&gt;
*&#039;&#039;&#039;input&#039;&#039;&#039;: Access input properties.&lt;br /&gt;
*&#039;&#039;&#039;playlist&#039;&#039;&#039;: Access playlist properties.&lt;br /&gt;
*&#039;&#039;&#039;subtitle&#039;&#039;&#039;: Access subtitle properties.&lt;br /&gt;
*&#039;&#039;&#039;video&#039;&#039;&#039;: Access video properties.&lt;br /&gt;
*&#039;&#039;&#039;video.marquee&#039;&#039;&#039;: Access marquee video filter properties.&lt;br /&gt;
*&#039;&#039;&#039;video.logo&#039;&#039;&#039;: Access logo video filter properties.&lt;br /&gt;
*&#039;&#039;&#039;log&#039;&#039;&#039;: Access log properties.&lt;br /&gt;
*&#039;&#039;&#039;messages&#039;&#039;&#039;: Access to log message properties.&lt;br /&gt;
*&#039;&#039;&#039;iterator&#039;&#039;&#039;: Access to log iterator properties.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;html&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;title&amp;amp;gt;VLC Mozilla plugin test page&amp;amp;lt;/title&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;body&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;embed type=&amp;quot;application/x-vlc-plugin&amp;quot; pluginspage=&amp;quot;http://www.videolan.org&amp;quot; version=&amp;quot;VideoLAN.VLCPlugin.2&amp;quot;&lt;br /&gt;
     width=&amp;quot;640&amp;quot;&lt;br /&gt;
     height=&amp;quot;480&amp;quot;&lt;br /&gt;
     id=&amp;quot;vlc&amp;quot;&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/embed&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;script language=&amp;quot;Javascript&amp;quot;&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;!--&lt;br /&gt;
 var vlc = document.getElementById(&amp;quot;vlc&amp;quot;);&lt;br /&gt;
 vlc.audio.toggleMute();&lt;br /&gt;
 !--&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/script&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/body&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/html&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Root object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;VersionInfo&#039;&#039;&#039;: returns version information string&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;vlc.versionInfo()&#039;&#039;&#039;: returns version information string (same as VersionInfo)&lt;br /&gt;
&lt;br /&gt;
====Audio object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.audio.count&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) returns the number of audio track available.&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.audio.mute&#039;&#039;&#039;: boolean value to mute and ummute the audio.&lt;br /&gt;
*&#039;&#039;&#039;vlc.audio.volume&#039;&#039;&#039;: a value between [0-200] which indicates a percentage of the volume.&lt;br /&gt;
*&#039;&#039;&#039;vlc.audio.track&#039;&#039;&#039;: (supported in vlc version &amp;gt; 0.8.6) a value between [1-65535] which indicates the audio track to play or that is playing. a value of 0 means the audio is/will be disabled.&lt;br /&gt;
*&#039;&#039;&#039;vlc.audio.channel&#039;&#039;&#039;: (supported in vlc version &amp;gt; 0.8.6) integer value between [1-5] that indicates which audio channel mode is used, values can be: &amp;quot;1=stereo&amp;quot;, &amp;quot;2=reverse stereo&amp;quot;, &amp;quot;3=left&amp;quot;, &amp;quot;4=right&amp;quot;, &amp;quot;5=dolby&amp;quot;. Use vlc.audio.channel to check if setting of the audio channel mode has succeeded.&lt;br /&gt;
&lt;br /&gt;
 Audio Channel:&lt;br /&gt;
 &amp;lt;SELECT readonly onChange=&#039;doAudioChannel(this.value)&#039;&amp;gt;&lt;br /&gt;
    &amp;lt;OPTION value=1&amp;gt;Stereo&amp;lt;/OPTION&amp;gt;&lt;br /&gt;
    &amp;lt;OPTION value=2&amp;gt;Reverse stereo&amp;lt;/OPTION&amp;gt;&lt;br /&gt;
    &amp;lt;OPTION value=3&amp;gt;Left&amp;lt;/OPTION&amp;gt;&lt;br /&gt;
    &amp;lt;OPTION value=4&amp;gt;Right&amp;lt;/OPTION&amp;gt;&lt;br /&gt;
    &amp;lt;OPTION value=5&amp;gt;Dolby&amp;lt;/OPTION&amp;gt;&lt;br /&gt;
 &amp;lt;/SELECT&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;SCRIPT language=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;amp;lt;!--&lt;br /&gt;
 function doAudioChannel(value)&lt;br /&gt;
 {&lt;br /&gt;
    var vlc = getVLC(&amp;quot;vlc&amp;quot;);&lt;br /&gt;
    vlc.audio.channel = parseInt(value);&lt;br /&gt;
    alert(vlc.audio.channel);&lt;br /&gt;
 };&lt;br /&gt;
 --&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;vlc.audio.toggleMute()&#039;&#039;&#039;: boolean toggle that mutes and unmutes the audio based upon the previous state.&lt;br /&gt;
*&#039;&#039;&#039;vlc.audio.description(int i)&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) give the i-th audio track name. 0 corresponds to disable and 1 to the first audio track.&lt;br /&gt;
&lt;br /&gt;
====Input object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.length&#039;&#039;&#039;: length of the input file in number of milliseconds. 0 is returned for &#039;live&#039; streams or clips whose length cannot be determined by VLC. It returns -1 if no input is playing. &lt;br /&gt;
*&#039;&#039;&#039;vlc.input.fps&#039;&#039;&#039;: frames per second returned as a float (typically 60.0, 50.0, 23.976, etc...)&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.hasVout&#039;&#039;&#039;: a boolean that returns true when the video is being displayed, it returns false when video is not displayed&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.position&#039;&#039;&#039;: normalized position in multimedia stream item given as a float value between [0.0 - 1.0]&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.time&#039;&#039;&#039;: the absolute position in time given in milliseconds, this property can be used to seek through the stream&lt;br /&gt;
 &amp;amp;lt;!-- absolute seek in stream !--&amp;amp;gt;&lt;br /&gt;
 vlc.input.time = &amp;amp;lt;absolute seek&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;!-- relative seek in stream !--&amp;amp;gt;&lt;br /&gt;
 vlc.input.time = vlc.input.time + &amp;amp;lt;relative seek&amp;amp;gt;&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.state&#039;&#039;&#039;: current state of the input chain given as enumeration (IDLE=0, OPENING=1, BUFFERING=2, PLAYING=3, PAUSED=4, STOPPING=5, ENDED=6, ERROR=7). Note: Test for ENDED=6 to catch end of playback. Checking for STOPPING=5 is NOT ENOUGH.&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.rate&#039;&#039;&#039;: input speed given as float (1.0 for normal speed, 0.5 for half speed, 2.0 for twice as fast, etc.).&lt;br /&gt;
 rate &amp;amp;gt; 1              : is fastforward&lt;br /&gt;
 rate &amp;amp;gt; 0 and rate &amp;amp;lt; 1 : is slow motion&lt;br /&gt;
 rate &amp;amp;lt; 0              : is rewind&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Playlist object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.itemCount&#039;&#039;&#039;: number that returns the amount of items currently in the playlist (&#039;&#039;&#039;deprecated&#039;&#039;&#039;, do not use, see [[#Playlist_items_object| Playlist items]])&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.isPlaying&#039;&#039;&#039;: a boolean that returns true if the current playlist item is playing and false when it is not playing&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.items&#039;&#039;&#039;: return the playlist items collection, see [[#Playlist_items_object| Playlist items]]&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.add(mrl)&#039;&#039;&#039;: add a playlist item as [[MRL]]. The MRL must be given as a string. Returns a number as an item identifier in playlist (this is not a position  in playlist).&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.add(mrl,name,options)&#039;&#039;&#039;: add a playlist item as MRL, with metaname &#039;name&#039; and options &#039;options&#039;. options are text arguments which can be provided either as a single string containing space separated values, akin to VLC command line, or as an array of string values. Returns a number as an item identifier in playlist (this is not a position in playlist).&lt;br /&gt;
  var options = new Array(&amp;quot;:aspect-ratio=4:3&amp;quot;, &amp;quot;--rtsp-tcp&amp;quot;);&lt;br /&gt;
  var id = vlc.playlist.add(&amp;quot;rtsp://servername/item/to/play&amp;quot;, &amp;quot;fancy name&amp;quot;, options);&lt;br /&gt;
  vlc.playlist.playItem(id);&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.play()&#039;&#039;&#039;: start playing the current playlist item&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.playItem(number)&#039;&#039;&#039;: start playing the item whose identifier is number&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.togglePause()&#039;&#039;&#039;: toggle the pause state for the current playlist item&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.stop()&#039;&#039;&#039;: stop playing the current playlist item&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.next()&#039;&#039;&#039;: iterate to the next playlist item&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.prev()&#039;&#039;&#039;: iterate to the previous playlist item&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.clear()&#039;&#039;&#039;: empty the current playlist, all items will be deleted from the playlist (&#039;&#039;&#039;deprecated&#039;&#039;&#039;, do not use, see [[#Playlist_items_object| Playlist items]])&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.removeItem(number)&#039;&#039;&#039;: remove the item from playlist whose identifier is number &amp;lt;!-- (note: this number isn&#039;t the position in the playlist, but the number given by vlc.playlist.add() ) --&amp;gt; (&#039;&#039;&#039;deprecated&#039;&#039;&#039;, do not use, see [[#Playlist_items_object| Playlist items]])&lt;br /&gt;
&lt;br /&gt;
====Playlist items object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.items.count&#039;&#039;&#039;: number of items currently in the playlist&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.items.clear()&#039;&#039;&#039;: empty the current playlist, all items will be deleted from the playlist. If a movie is playing, it stop. Note that when this method returns, playlist may not have been entirely been cleared as this operation is performed asynchronously; use the &#039;&#039;count&#039;&#039; property to verify/wait until the playlist is empty.&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.items.remove(number)&#039;&#039;&#039;: remove the item whose identifier is number from playlist. (note: this number isn&#039;t the position in the playlist, but the number given by vlc.playlist.add() )&lt;br /&gt;
&lt;br /&gt;
====Subtitle object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;vlc.subtitle.count&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) returns the number of subtitle available.&lt;br /&gt;
&lt;br /&gt;
read/write properties &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;vlc.subtitle.track&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) get and set the subtitle track to show on the video screen. The property takes an integer as input value [1..65535]. If subtitle track is set to 0, the subtitles will be disabled. If set to a value outside the current subtitle tracks range, then it will return -1 and display an error message.&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;vlc.subtitle.description(int i)&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) give the i-th subtitle name. 0 correspond to disable and 1 to the first subtitle.&lt;br /&gt;
&lt;br /&gt;
====Video object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.width&#039;&#039;&#039;: returns the horizontal size of the video&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.height&#039;&#039;&#039;: returns the vertical size of the video&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.fullscreen&#039;&#039;&#039;: 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.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.aspectRatio&#039;&#039;&#039;: get and set the aspect ratio to use in the video screen. The property takes a string as input value. Typical values are: &amp;quot;1:1&amp;quot;, &amp;quot;4:3&amp;quot;, &amp;quot;16:9&amp;quot;, &amp;quot;16:10&amp;quot;, &amp;quot;221:100&amp;quot; and &amp;quot;5:4&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.subtitle&#039;&#039;&#039;: (supported in vlc version &amp;gt; 0.8.6a) get and set the subtitle track to show on the video screen. The property takes an integer as input value [1..65535]. If subtitle track is set to 0, the subtitles will be disabled. If set to a value outside the current subtitle tracks range, then it will return -1 and display an error message.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.teletext&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 0.9.0) get and set teletext page to show on the video stream. This will only work if a teletext elementary stream is available in the video stream. The property takes an integer as input value [0..999] for indicating the teletext page to view, setting the value to 0 means hide teletext. On error it will return -1 and display an error message.&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.toggleFullscreen()&#039;&#039;&#039;: toggle the fullscreen mode based on the previous setting&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.toggleTeletext()&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 0.9.0) toggle the teletext page to overlay transparent or not, based on the previous setting&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.deinterlaceEnable(&amp;quot;my_mode&amp;quot;)&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) enable deinterlacing with my_mode. You can enable it with &amp;quot;blend&amp;quot;, &amp;quot;bob&amp;quot;, &amp;quot;discard&amp;quot;, &amp;quot;linear&amp;quot;, &amp;quot;mean&amp;quot; or &amp;quot;x&amp;quot; mode. Enabling too soon deinterlacing may cause some problems. You have to wait that all variable are available before enabling it.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.deinterlaceDisable()&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) disable deinterlacing.&lt;br /&gt;
&lt;br /&gt;
=====Marquee Object=====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.marquee.text&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) display my text on the screen.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.marquee.color&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change the text color. val is the new color to use (WHITE=0x000000, BLACK=0xFFFFFF, RED=0xFF0000, GREEN=0x00FF00, BLUE=0x0000FF...).&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.marquee.opacity&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change the text opacity, val is defined from 0 (completely transparent) to 255 (completely opaque).&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.marquee.position&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change the text position (CENTER=0, LEFT=1, RIGHT=2, TOP=4, TOP-LEFT=5, TOP-RIGHT=6, BOTTOM=8, BOTTOM-LEFT=9, BOTTOM_RIGHT=10).&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.marquee.refresh&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change the marquee refresh period.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.marquee.size&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) val define the new size for the text displayed on the screen. If the text is bigger than the screen then the text is not displayed.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.marquee.timeout&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change the timeout value. val is defined in ms, but 0 value correspond to unlimited.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.marquee.x&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change text abscissa.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.marquee.y&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change text ordinate.&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.marquee.enable()&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) enable marquee filter.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.marquee.disable()&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) disable marquee filter.&lt;br /&gt;
&lt;br /&gt;
Some problems may happen (option like color or text will not be applied) because of the VLC asynchronous functioning. To avoid it, after enabling marquee, you have to wait a little time before changing an option. But it should be fixed by the new vout implementation.&lt;br /&gt;
&lt;br /&gt;
=====Logo Object=====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.logo.opacity&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change the picture opacity, val is defined from 0 (completely transparent) to 255 (completely opaque).&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.logo.position&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change the text position (&amp;quot;center&amp;quot;, &amp;quot;left&amp;quot;, &amp;quot;right&amp;quot;, &amp;quot;top&amp;quot;, &amp;quot;top-left&amp;quot;, &amp;quot;top-right&amp;quot;, &amp;quot;bottom&amp;quot;, &amp;quot;bottom-left&amp;quot;, &amp;quot;bottom-right&amp;quot;).&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.logo.delay&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) display each picture for a duration of 1000 ms (default) before displaying the next  picture.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.logo.repeat&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) number of loops for picture animation (-1=continuous, 0=disabled, n=n-times). The default is -1 (continuous).&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.logo.x&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change the x-offset for displaying the picture counting from top-left on the screen.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.logo.y&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change the y-offset for displaying the picture counting from top-left on the screen.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.logo.width&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change the picture width.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.logo.height&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change the picture height.&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.logo.enable()&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) enable logo video filter.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.logo.disable()&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) disable logo video filter.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.logo.file(&amp;quot;file.png&amp;quot;)&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) display my file.png as logo on the screen.&lt;br /&gt;
&lt;br /&gt;
Some problems may happen because of the VLC asynchronous functioning. To avoid it, after enabling logo video filter, you have to wait a little time before changing an option. But it should be fixed by the new vout implementation.&lt;br /&gt;
&lt;br /&gt;
====Log object====&lt;br /&gt;
: &#039;&#039;&#039;CAUTION&#039;&#039;&#039;: For security concern, VLC 1.0.0-rc1 is probably the latest (near-to-stable) version in which this object and its children are supported.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This object allows accessing VLC main message logging queue. Typically this queue capacity is very small (no nore than 256 entries) and can easily overflow, therefore messages should be read and cleared as often as possible.&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.log.messages&#039;&#039;&#039;: returns the message collection, see [[#Messages object|Messages object]]&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.log.verbosity&#039;&#039;&#039;: write number [-1,0,1,2,3] for changing the verbosity level of the log messages; messages whose verbosity is higher than set will be not be logged in the queue. The numbers have the following meaning: -1 disable, 0 info, 1 error, 2 warning, 3 debug. &lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Messages object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;messages.count&#039;&#039;&#039;: returns number of messages in the log&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;messages.clear()&#039;&#039;&#039;: clear the current log buffer. It should be called as frequently as possible to not overflow the message queue. Call this method after the log messages of interest are read.&lt;br /&gt;
*&#039;&#039;&#039;messages.iterator()&#039;&#039;&#039;: creates and returns an iterator object, used to iterate over the messages in the log. &#039;&#039;&#039;Don&#039;t clear the log buffer while holding an iterator object.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Messages Iterator object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;iterator.hasNext&#039;&#039;&#039;: returns a boolean that indicates whether &#039;&#039;vlc.log.messages.next()&#039;&#039; will return the next message.&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;iterator.next()&#039;&#039;&#039;: returns the next message object in the log, see [[Message object]]&lt;br /&gt;
&lt;br /&gt;
====Message object====&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;message.severity&#039;&#039;&#039;: number that indicates the severity of the log message (0 = info, 1 = error, 2 = warning, 3 = debug)&lt;br /&gt;
*&#039;&#039;&#039;message.name&#039;&#039;&#039;: name of VLC module that printed the log message (e.g: main, http, directx, etc...)&lt;br /&gt;
*&#039;&#039;&#039;message.type&#039;&#039;&#039;: type of VLC module that printed the log message (eg: input, access, vout, sout, etc...)&lt;br /&gt;
*&#039;&#039;&#039;message.message&#039;&#039;&#039;: the message text&lt;br /&gt;
&lt;br /&gt;
==Build HTML pages that use the plugin (VLC version up to 0.8.5)==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;WARNING:&#039;&#039;&#039; the APIs described in this section are &#039;&#039;&#039;deprecated&#039;&#039;&#039;, do not use, &lt;br /&gt;
&lt;br /&gt;
The following API description is only valid uptill version 0.8.5 of the mozilla plugin.&lt;br /&gt;
&lt;br /&gt;
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&lt;br /&gt;
plugin.&lt;br /&gt;
&lt;br /&gt;
The vlc plugin supports the following function calls:&lt;br /&gt;
*&#039;&#039;&#039;play()&#039;&#039;&#039;: Start playing media in the plugin.&lt;br /&gt;
*&#039;&#039;&#039;pause()&#039;&#039;&#039;: Pause playback.&lt;br /&gt;
*&#039;&#039;&#039;stop()&#039;&#039;&#039;: Stop media playback.&lt;br /&gt;
*&#039;&#039;&#039;fullscreen()&#039;&#039;&#039;: Switch the video to full screen.&lt;br /&gt;
*&#039;&#039;&#039;set_volume(vol)&#039;&#039;&#039;: Set the volume. &#039;&#039;&#039;vol&#039;&#039;&#039; has to be an int in the 0-200 range.&lt;br /&gt;
*&#039;&#039;&#039;get_volume()&#039;&#039;&#039;: Get the current volume setting.&lt;br /&gt;
*&#039;&#039;&#039;mute()&#039;&#039;&#039;: Toggle volume muting.&lt;br /&gt;
*&#039;&#039;&#039;set_int_variable(var_name, value)&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;set_bool_variable(var_name, value)&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;set_str_variable(var_name, value)&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;get_int_variable(var_name)&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;get_bool_variable(var_name)&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;get_str_variable(var_name)&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;clear_playlist()&#039;&#039;&#039;: Clear the playlist.&lt;br /&gt;
*&#039;&#039;&#039;add_item(mrl)&#039;&#039;&#039;: Append an item whose location is given by the [[media resource locator]] to the playlist.&lt;br /&gt;
*&#039;&#039;&#039;next()&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;previous()&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;isplaying()&#039;&#039;&#039;: return true if the plugin is playing something.&lt;br /&gt;
*&#039;&#039;&#039;get_length()&#039;&#039;&#039;: Get the media&#039;s length in seconds.&lt;br /&gt;
*&#039;&#039;&#039;get_position()&#039;&#039;&#039;: Get the current position in the media in percent.&lt;br /&gt;
*&#039;&#039;&#039;get_time()&#039;&#039;&#039;: Get the current position in the media in seconds.&lt;br /&gt;
*&#039;&#039;&#039;seek(seconds,is_relative)&#039;&#039;&#039;: If is_relative is true, seek relatively to current time, else seek from beginning of the stream. Seek time is specified in seconds.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Here are a few examples of HTML pages that use the&lt;br /&gt;
Mozilla plugin.&lt;br /&gt;
&lt;br /&gt;
===Example 1===&lt;br /&gt;
&lt;br /&gt;
In this example, the plugin will read an HTTP stream inside the web page. If the user goes fullscreen, he will have to press &#039;&#039;f&#039;&#039; or double-click on the video to go back in normal view.&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;html&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;head&amp;amp;gt;&amp;amp;lt;title&amp;amp;gt;Demo of VLC mozilla plugin&amp;amp;lt;/title&amp;amp;gt;&amp;amp;lt;/head&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;body&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;h1&amp;amp;gt;Demo of VLC mozilla plugin - Example 1&amp;amp;lt;/h1&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;embed type=&amp;quot;application/x-vlc-plugin&amp;quot;&lt;br /&gt;
          name=&amp;quot;video1&amp;quot;&lt;br /&gt;
          autoplay=&amp;quot;no&amp;quot; loop=&amp;quot;yes&amp;quot; width=&amp;quot;400&amp;quot; height=&amp;quot;300&amp;quot;&lt;br /&gt;
          target=&amp;quot;http://server.example.org/video1.vob&amp;quot; /&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;br /&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video1.play()&#039;&amp;amp;gt;Play video1&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video1.pause()&#039;&amp;amp;gt;Pause video1&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video1.stop()&#039;&amp;amp;gt;Stop video1&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video1.fullscreen()&#039;&amp;amp;gt;Fullscreen&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;/body&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/html&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Example 2===&lt;br /&gt;
&lt;br /&gt;
In this example, the plugin will read a multicast UDP/RTP stream in a dedicated video output window.&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;html&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;head&amp;amp;gt;&amp;amp;lt;title&amp;amp;gt;Demo of VLC mozilla plugin&amp;amp;lt;/title&amp;amp;gt;&amp;amp;lt;/head&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;body&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;h1&amp;amp;gt;Demo of VLC mozilla plugin - Example 2&amp;amp;lt;/h1&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;embed type=&amp;quot;application/x-vlc-plugin&amp;quot;&lt;br /&gt;
          name=&amp;quot;video2&amp;quot;&lt;br /&gt;
          autoplay=&amp;quot;no&amp;quot; loop=&amp;quot;no&amp;quot; hidden=&amp;quot;yes&amp;quot;&lt;br /&gt;
          target=&amp;quot;rtp://@239.255.12.42:5004&amp;quot; /&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;br /&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video2.play()&#039;&amp;amp;gt;Play video2&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video2.stop()&#039;&amp;amp;gt;Stop video2&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video2.fullscreen()&#039;&amp;amp;gt;Fullscreen&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;/body&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/html&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Documentation}}&lt;br /&gt;
[[Category:Embedded]]&lt;/div&gt;</summary>
		<author><name>Jpsaman</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=Documentation:WebPlugin&amp;diff=15447</id>
		<title>Documentation:WebPlugin</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=Documentation:WebPlugin&amp;diff=15447"/>
		<updated>2010-01-22T09:54:47Z</updated>

		<summary type="html">&lt;p&gt;Jpsaman: /* Marquee Object */ update documentation to match current code&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Building HTML pages for Mozilla/Firefox/Internet Explorer/Safari ==&lt;br /&gt;
&lt;br /&gt;
The following description works for any of the browsers VLC supports. The JavaScript API has been unified between Mozilla/Firefox/IE (ActiveX) and Safari, thus targetting at all of the major OS out there. &lt;br /&gt;
&lt;br /&gt;
This is only valid for {{VLC}} version 0.8.6 and above.&lt;br /&gt;
&lt;br /&gt;
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&lt;br /&gt;
plugin.&lt;br /&gt;
&lt;br /&gt;
== API description ==&lt;br /&gt;
The vlc plugin exports serveral objects that can be accessed for setting and getting information. When used improperly the API&#039;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.&lt;br /&gt;
&lt;br /&gt;
The vlc plugin knows the following objects:&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;audio&#039;&#039;&#039;: Access audio properties.&lt;br /&gt;
*&#039;&#039;&#039;input&#039;&#039;&#039;: Access input properties.&lt;br /&gt;
*&#039;&#039;&#039;playlist&#039;&#039;&#039;: Access playlist properties.&lt;br /&gt;
*&#039;&#039;&#039;subtitle&#039;&#039;&#039;: Access subtitle properties.&lt;br /&gt;
*&#039;&#039;&#039;video&#039;&#039;&#039;: Access video properties.&lt;br /&gt;
*&#039;&#039;&#039;video.marquee&#039;&#039;&#039;: Access marquee video filter properties.&lt;br /&gt;
*&#039;&#039;&#039;video.logo&#039;&#039;&#039;: Access logo video filter properties.&lt;br /&gt;
*&#039;&#039;&#039;log&#039;&#039;&#039;: Access log properties.&lt;br /&gt;
*&#039;&#039;&#039;messages&#039;&#039;&#039;: Access to log message properties.&lt;br /&gt;
*&#039;&#039;&#039;iterator&#039;&#039;&#039;: Access to log iterator properties.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;html&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;title&amp;amp;gt;VLC Mozilla plugin test page&amp;amp;lt;/title&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;body&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;embed type=&amp;quot;application/x-vlc-plugin&amp;quot; pluginspage=&amp;quot;http://www.videolan.org&amp;quot; version=&amp;quot;VideoLAN.VLCPlugin.2&amp;quot;&lt;br /&gt;
     width=&amp;quot;640&amp;quot;&lt;br /&gt;
     height=&amp;quot;480&amp;quot;&lt;br /&gt;
     id=&amp;quot;vlc&amp;quot;&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/embed&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;script language=&amp;quot;Javascript&amp;quot;&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;!--&lt;br /&gt;
 var vlc = document.getElementById(&amp;quot;vlc&amp;quot;);&lt;br /&gt;
 vlc.audio.toggleMute();&lt;br /&gt;
 !--&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/script&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/body&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/html&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Root object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;VersionInfo&#039;&#039;&#039;: returns version information string&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;vlc.versionInfo()&#039;&#039;&#039;: returns version information string (same as VersionInfo)&lt;br /&gt;
&lt;br /&gt;
====Audio object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.audio.count&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) returns the number of audio track available.&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.audio.mute&#039;&#039;&#039;: boolean value to mute and ummute the audio.&lt;br /&gt;
*&#039;&#039;&#039;vlc.audio.volume&#039;&#039;&#039;: a value between [0-200] which indicates a percentage of the volume.&lt;br /&gt;
*&#039;&#039;&#039;vlc.audio.track&#039;&#039;&#039;: (supported in vlc version &amp;gt; 0.8.6) a value between [1-65535] which indicates the audio track to play or that is playing. a value of 0 means the audio is/will be disabled.&lt;br /&gt;
*&#039;&#039;&#039;vlc.audio.channel&#039;&#039;&#039;: (supported in vlc version &amp;gt; 0.8.6) integer value between [1-5] that indicates which audio channel mode is used, values can be: &amp;quot;1=stereo&amp;quot;, &amp;quot;2=reverse stereo&amp;quot;, &amp;quot;3=left&amp;quot;, &amp;quot;4=right&amp;quot;, &amp;quot;5=dolby&amp;quot;. Use vlc.audio.channel to check if setting of the audio channel mode has succeeded.&lt;br /&gt;
&lt;br /&gt;
 Audio Channel:&lt;br /&gt;
 &amp;lt;SELECT readonly onChange=&#039;doAudioChannel(this.value)&#039;&amp;gt;&lt;br /&gt;
    &amp;lt;OPTION value=1&amp;gt;Stereo&amp;lt;/OPTION&amp;gt;&lt;br /&gt;
    &amp;lt;OPTION value=2&amp;gt;Reverse stereo&amp;lt;/OPTION&amp;gt;&lt;br /&gt;
    &amp;lt;OPTION value=3&amp;gt;Left&amp;lt;/OPTION&amp;gt;&lt;br /&gt;
    &amp;lt;OPTION value=4&amp;gt;Right&amp;lt;/OPTION&amp;gt;&lt;br /&gt;
    &amp;lt;OPTION value=5&amp;gt;Dolby&amp;lt;/OPTION&amp;gt;&lt;br /&gt;
 &amp;lt;/SELECT&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;SCRIPT language=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;amp;lt;!--&lt;br /&gt;
 function doAudioChannel(value)&lt;br /&gt;
 {&lt;br /&gt;
    var vlc = getVLC(&amp;quot;vlc&amp;quot;);&lt;br /&gt;
    vlc.audio.channel = parseInt(value);&lt;br /&gt;
    alert(vlc.audio.channel);&lt;br /&gt;
 };&lt;br /&gt;
 --&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;vlc.audio.toggleMute()&#039;&#039;&#039;: boolean toggle that mutes and unmutes the audio based upon the previous state.&lt;br /&gt;
*&#039;&#039;&#039;vlc.audio.description(int i)&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) give the i-th audio track name. 0 corresponds to disable and 1 to the first audio track.&lt;br /&gt;
&lt;br /&gt;
====Input object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.length&#039;&#039;&#039;: length of the input file in number of milliseconds. 0 is returned for &#039;live&#039; streams or clips whose length cannot be determined by VLC. It returns -1 if no input is playing. &lt;br /&gt;
*&#039;&#039;&#039;vlc.input.fps&#039;&#039;&#039;: frames per second returned as a float (typically 60.0, 50.0, 23.976, etc...)&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.hasVout&#039;&#039;&#039;: a boolean that returns true when the video is being displayed, it returns false when video is not displayed&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.position&#039;&#039;&#039;: normalized position in multimedia stream item given as a float value between [0.0 - 1.0]&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.time&#039;&#039;&#039;: the absolute position in time given in milliseconds, this property can be used to seek through the stream&lt;br /&gt;
 &amp;amp;lt;!-- absolute seek in stream !--&amp;amp;gt;&lt;br /&gt;
 vlc.input.time = &amp;amp;lt;absolute seek&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;!-- relative seek in stream !--&amp;amp;gt;&lt;br /&gt;
 vlc.input.time = vlc.input.time + &amp;amp;lt;relative seek&amp;amp;gt;&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.state&#039;&#039;&#039;: current state of the input chain given as enumeration (IDLE=0, OPENING=1, BUFFERING=2, PLAYING=3, PAUSED=4, STOPPING=5, ENDED=6, ERROR=7). Note: Test for ENDED=6 to catch end of playback. Checking for STOPPING=5 is NOT ENOUGH.&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.rate&#039;&#039;&#039;: input speed given as float (1.0 for normal speed, 0.5 for half speed, 2.0 for twice as fast, etc.).&lt;br /&gt;
 rate &amp;amp;gt; 1              : is fastforward&lt;br /&gt;
 rate &amp;amp;gt; 0 and rate &amp;amp;lt; 1 : is slow motion&lt;br /&gt;
 rate &amp;amp;lt; 0              : is rewind&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Playlist object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.itemCount&#039;&#039;&#039;: number that returns the amount of items currently in the playlist (&#039;&#039;&#039;deprecated&#039;&#039;&#039;, do not use, see [[#Playlist_items_object| Playlist items]])&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.isPlaying&#039;&#039;&#039;: a boolean that returns true if the current playlist item is playing and false when it is not playing&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.items&#039;&#039;&#039;: return the playlist items collection, see [[#Playlist_items_object| Playlist items]]&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.add(mrl)&#039;&#039;&#039;: add a playlist item as [[MRL]]. The MRL must be given as a string. Returns a number as an item identifier in playlist (this is not a position  in playlist).&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.add(mrl,name,options)&#039;&#039;&#039;: add a playlist item as MRL, with metaname &#039;name&#039; and options &#039;options&#039;. options are text arguments which can be provided either as a single string containing space separated values, akin to VLC command line, or as an array of string values. Returns a number as an item identifier in playlist (this is not a position in playlist).&lt;br /&gt;
  var options = new Array(&amp;quot;:aspect-ratio=4:3&amp;quot;, &amp;quot;--rtsp-tcp&amp;quot;);&lt;br /&gt;
  var id = vlc.playlist.add(&amp;quot;rtsp://servername/item/to/play&amp;quot;, &amp;quot;fancy name&amp;quot;, options);&lt;br /&gt;
  vlc.playlist.playItem(id);&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.play()&#039;&#039;&#039;: start playing the current playlist item&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.playItem(number)&#039;&#039;&#039;: start playing the item whose identifier is number&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.togglePause()&#039;&#039;&#039;: toggle the pause state for the current playlist item&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.stop()&#039;&#039;&#039;: stop playing the current playlist item&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.next()&#039;&#039;&#039;: iterate to the next playlist item&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.prev()&#039;&#039;&#039;: iterate to the previous playlist item&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.clear()&#039;&#039;&#039;: empty the current playlist, all items will be deleted from the playlist (&#039;&#039;&#039;deprecated&#039;&#039;&#039;, do not use, see [[#Playlist_items_object| Playlist items]])&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.removeItem(number)&#039;&#039;&#039;: remove the item from playlist whose identifier is number &amp;lt;!-- (note: this number isn&#039;t the position in the playlist, but the number given by vlc.playlist.add() ) --&amp;gt; (&#039;&#039;&#039;deprecated&#039;&#039;&#039;, do not use, see [[#Playlist_items_object| Playlist items]])&lt;br /&gt;
&lt;br /&gt;
====Playlist items object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.items.count&#039;&#039;&#039;: number of items currently in the playlist&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.items.clear()&#039;&#039;&#039;: empty the current playlist, all items will be deleted from the playlist. If a movie is playing, it stop. Note that when this method returns, playlist may not have been entirely been cleared as this operation is performed asynchronously; use the &#039;&#039;count&#039;&#039; property to verify/wait until the playlist is empty.&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.items.remove(number)&#039;&#039;&#039;: remove the item whose identifier is number from playlist. (note: this number isn&#039;t the position in the playlist, but the number given by vlc.playlist.add() )&lt;br /&gt;
&lt;br /&gt;
====Subtitle object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;vlc.subtitle.count&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) returns the number of subtitle available.&lt;br /&gt;
&lt;br /&gt;
read/write properties &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;vlc.subtitle.track&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) get and set the subtitle track to show on the video screen. The property takes an integer as input value [1..65535]. If subtitle track is set to 0, the subtitles will be disabled. If set to a value outside the current subtitle tracks range, then it will return -1 and display an error message.&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;vlc.subtitle.description(int i)&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) give the i-th subtitle name. 0 correspond to disable and 1 to the first subtitle.&lt;br /&gt;
&lt;br /&gt;
====Video object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.width&#039;&#039;&#039;: returns the horizontal size of the video&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.height&#039;&#039;&#039;: returns the vertical size of the video&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.fullscreen&#039;&#039;&#039;: 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.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.aspectRatio&#039;&#039;&#039;: get and set the aspect ratio to use in the video screen. The property takes a string as input value. Typical values are: &amp;quot;1:1&amp;quot;, &amp;quot;4:3&amp;quot;, &amp;quot;16:9&amp;quot;, &amp;quot;16:10&amp;quot;, &amp;quot;221:100&amp;quot; and &amp;quot;5:4&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.subtitle&#039;&#039;&#039;: (supported in vlc version &amp;gt; 0.8.6a) get and set the subtitle track to show on the video screen. The property takes an integer as input value [1..65535]. If subtitle track is set to 0, the subtitles will be disabled. If set to a value outside the current subtitle tracks range, then it will return -1 and display an error message.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.teletext&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 0.9.0) get and set teletext page to show on the video stream. This will only work if a teletext elementary stream is available in the video stream. The property takes an integer as input value [0..999] for indicating the teletext page to view, setting the value to 0 means hide teletext. On error it will return -1 and display an error message.&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.toggleFullscreen()&#039;&#039;&#039;: toggle the fullscreen mode based on the previous setting&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.toggleTeletext()&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 0.9.0) toggle the teletext page to overlay transparent or not, based on the previous setting&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.deinterlaceEnable(&amp;quot;my_mode&amp;quot;)&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) enable deinterlacing with my_mode. You can enable it with &amp;quot;blend&amp;quot;, &amp;quot;bob&amp;quot;, &amp;quot;discard&amp;quot;, &amp;quot;linear&amp;quot;, &amp;quot;mean&amp;quot; or &amp;quot;x&amp;quot; mode. Enabling too soon deinterlacing may cause some problems. You have to wait that all variable are available before enabling it.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.deinterlaceDisable()&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) disable deinterlacing.&lt;br /&gt;
&lt;br /&gt;
=====Marquee Object=====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.marquee.text&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) display my text on the screen.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.marquee.color&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change the text color. val is the new color to use (WHITE=0x000000, BLACK=0xFFFFFF, RED=0xFF0000, GREEN=0x00FF00, BLUE=0x0000FF...).&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.marquee.opacity&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change the text opacity, val is defined from 0 (completely transparent) to 255 (completely opaque).&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.marquee.position&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change the text position (CENTER=0, LEFT=1, RIGHT=2, TOP=4, TOP-LEFT=5, TOP-RIGHT=6, BOTTOM=8, BOTTOM-LEFT=9, BOTTOM_RIGHT=10).&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.marquee.refresh&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change the marquee refresh period.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.marquee.size&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) val define the new size for the text displayed on the screen. If the text is bigger than the screen then the text is not displayed.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.marquee.timeout&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change the timeout value. val is defined in ms, but 0 value correspond to unlimited.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.marquee.x&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change text abscissa.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.marquee.y&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change text ordinate.&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.marquee.enable()&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) enable marquee filter.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.marquee.disable()&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) disable marquee filter.&lt;br /&gt;
&lt;br /&gt;
Some problems may happen (option like color or text will not be applied) because of the VLC asynchronous functioning. To avoid it, after enabling marquee, you have to wait a little time before changing an option. But it should be fixed by the new vout implementation.&lt;br /&gt;
&lt;br /&gt;
=====Logo Object=====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.logo.opacity&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change the picture opacity, val is defined from 0 (completely transparent) to 255 (completely opaque).&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.logo.position&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change the text position (&amp;quot;center&amp;quot;, &amp;quot;left&amp;quot;, &amp;quot;right&amp;quot;, &amp;quot;top&amp;quot;, &amp;quot;top-left&amp;quot;, &amp;quot;top-right&amp;quot;, &amp;quot;bottom&amp;quot;, &amp;quot;bottom-left&amp;quot;, &amp;quot;bottom-right&amp;quot;).&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.logo.delay&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) display each picture for a duration of 1000 ms (default) before displaying the next  picture.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.logo.repeat&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) number of loops for picture animation (-1=continuous, 0=disabled, n=n-times). The default is -1 (continuous).&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.logo.x&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change the x-offset for displaying the picture counting from top-left on the screen.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.logo.y&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change the y-offset for displaying the picture counting from top-left on the screen.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.logo.width&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change the picture width.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.logo.height&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change the picture height.&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.logo.enable()&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) enable logo video filter.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.logo.disable()&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) disable logo video filter.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.logo.file(&amp;quot;file.png&amp;quot;)&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) display my file.png as logo on the screen.&lt;br /&gt;
&lt;br /&gt;
events&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Some problems may happen because of the VLC asynchronous functioning. To avoid it, after enabling logo video filter, you have to wait a little time before changing an option. But it should be fixed by the new vout implementation.&lt;br /&gt;
&lt;br /&gt;
====Log object====&lt;br /&gt;
: &#039;&#039;&#039;CAUTION&#039;&#039;&#039;: For security concern, VLC 1.0.0-rc1 is probably the latest (near-to-stable) version in which this object and its children are supported.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This object allows accessing VLC main message logging queue. Typically this queue capacity is very small (no nore than 256 entries) and can easily overflow, therefore messages should be read and cleared as often as possible.&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.log.messages&#039;&#039;&#039;: returns the message collection, see [[#Messages object|Messages object]]&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.log.verbosity&#039;&#039;&#039;: write number [-1,0,1,2,3] for changing the verbosity level of the log messages; messages whose verbosity is higher than set will be not be logged in the queue. The numbers have the following meaning: -1 disable, 0 info, 1 error, 2 warning, 3 debug. &lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Messages object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;messages.count&#039;&#039;&#039;: returns number of messages in the log&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;messages.clear()&#039;&#039;&#039;: clear the current log buffer. It should be called as frequently as possible to not overflow the message queue. Call this method after the log messages of interest are read.&lt;br /&gt;
*&#039;&#039;&#039;messages.iterator()&#039;&#039;&#039;: creates and returns an iterator object, used to iterate over the messages in the log. &#039;&#039;&#039;Don&#039;t clear the log buffer while holding an iterator object.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Messages Iterator object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;iterator.hasNext&#039;&#039;&#039;: returns a boolean that indicates whether &#039;&#039;vlc.log.messages.next()&#039;&#039; will return the next message.&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;iterator.next()&#039;&#039;&#039;: returns the next message object in the log, see [[Message object]]&lt;br /&gt;
&lt;br /&gt;
====Message object====&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;message.severity&#039;&#039;&#039;: number that indicates the severity of the log message (0 = info, 1 = error, 2 = warning, 3 = debug)&lt;br /&gt;
*&#039;&#039;&#039;message.name&#039;&#039;&#039;: name of VLC module that printed the log message (e.g: main, http, directx, etc...)&lt;br /&gt;
*&#039;&#039;&#039;message.type&#039;&#039;&#039;: type of VLC module that printed the log message (eg: input, access, vout, sout, etc...)&lt;br /&gt;
*&#039;&#039;&#039;message.message&#039;&#039;&#039;: the message text&lt;br /&gt;
&lt;br /&gt;
==Build HTML pages that use the plugin (VLC version up to 0.8.5)==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;WARNING:&#039;&#039;&#039; the APIs described in this section are &#039;&#039;&#039;deprecated&#039;&#039;&#039;, do not use, &lt;br /&gt;
&lt;br /&gt;
The following API description is only valid uptill version 0.8.5 of the mozilla plugin.&lt;br /&gt;
&lt;br /&gt;
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&lt;br /&gt;
plugin.&lt;br /&gt;
&lt;br /&gt;
The vlc plugin supports the following function calls:&lt;br /&gt;
*&#039;&#039;&#039;play()&#039;&#039;&#039;: Start playing media in the plugin.&lt;br /&gt;
*&#039;&#039;&#039;pause()&#039;&#039;&#039;: Pause playback.&lt;br /&gt;
*&#039;&#039;&#039;stop()&#039;&#039;&#039;: Stop media playback.&lt;br /&gt;
*&#039;&#039;&#039;fullscreen()&#039;&#039;&#039;: Switch the video to full screen.&lt;br /&gt;
*&#039;&#039;&#039;set_volume(vol)&#039;&#039;&#039;: Set the volume. &#039;&#039;&#039;vol&#039;&#039;&#039; has to be an int in the 0-200 range.&lt;br /&gt;
*&#039;&#039;&#039;get_volume()&#039;&#039;&#039;: Get the current volume setting.&lt;br /&gt;
*&#039;&#039;&#039;mute()&#039;&#039;&#039;: Toggle volume muting.&lt;br /&gt;
*&#039;&#039;&#039;set_int_variable(var_name, value)&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;set_bool_variable(var_name, value)&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;set_str_variable(var_name, value)&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;get_int_variable(var_name)&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;get_bool_variable(var_name)&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;get_str_variable(var_name)&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;clear_playlist()&#039;&#039;&#039;: Clear the playlist.&lt;br /&gt;
*&#039;&#039;&#039;add_item(mrl)&#039;&#039;&#039;: Append an item whose location is given by the [[media resource locator]] to the playlist.&lt;br /&gt;
*&#039;&#039;&#039;next()&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;previous()&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;isplaying()&#039;&#039;&#039;: return true if the plugin is playing something.&lt;br /&gt;
*&#039;&#039;&#039;get_length()&#039;&#039;&#039;: Get the media&#039;s length in seconds.&lt;br /&gt;
*&#039;&#039;&#039;get_position()&#039;&#039;&#039;: Get the current position in the media in percent.&lt;br /&gt;
*&#039;&#039;&#039;get_time()&#039;&#039;&#039;: Get the current position in the media in seconds.&lt;br /&gt;
*&#039;&#039;&#039;seek(seconds,is_relative)&#039;&#039;&#039;: If is_relative is true, seek relatively to current time, else seek from beginning of the stream. Seek time is specified in seconds.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Here are a few examples of HTML pages that use the&lt;br /&gt;
Mozilla plugin.&lt;br /&gt;
&lt;br /&gt;
===Example 1===&lt;br /&gt;
&lt;br /&gt;
In this example, the plugin will read an HTTP stream inside the web page. If the user goes fullscreen, he will have to press &#039;&#039;f&#039;&#039; or double-click on the video to go back in normal view.&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;html&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;head&amp;amp;gt;&amp;amp;lt;title&amp;amp;gt;Demo of VLC mozilla plugin&amp;amp;lt;/title&amp;amp;gt;&amp;amp;lt;/head&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;body&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;h1&amp;amp;gt;Demo of VLC mozilla plugin - Example 1&amp;amp;lt;/h1&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;embed type=&amp;quot;application/x-vlc-plugin&amp;quot;&lt;br /&gt;
          name=&amp;quot;video1&amp;quot;&lt;br /&gt;
          autoplay=&amp;quot;no&amp;quot; loop=&amp;quot;yes&amp;quot; width=&amp;quot;400&amp;quot; height=&amp;quot;300&amp;quot;&lt;br /&gt;
          target=&amp;quot;http://server.example.org/video1.vob&amp;quot; /&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;br /&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video1.play()&#039;&amp;amp;gt;Play video1&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video1.pause()&#039;&amp;amp;gt;Pause video1&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video1.stop()&#039;&amp;amp;gt;Stop video1&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video1.fullscreen()&#039;&amp;amp;gt;Fullscreen&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;/body&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/html&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Example 2===&lt;br /&gt;
&lt;br /&gt;
In this example, the plugin will read a multicast UDP/RTP stream in a dedicated video output window.&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;html&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;head&amp;amp;gt;&amp;amp;lt;title&amp;amp;gt;Demo of VLC mozilla plugin&amp;amp;lt;/title&amp;amp;gt;&amp;amp;lt;/head&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;body&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;h1&amp;amp;gt;Demo of VLC mozilla plugin - Example 2&amp;amp;lt;/h1&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;embed type=&amp;quot;application/x-vlc-plugin&amp;quot;&lt;br /&gt;
          name=&amp;quot;video2&amp;quot;&lt;br /&gt;
          autoplay=&amp;quot;no&amp;quot; loop=&amp;quot;no&amp;quot; hidden=&amp;quot;yes&amp;quot;&lt;br /&gt;
          target=&amp;quot;rtp://@239.255.12.42:5004&amp;quot; /&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;br /&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video2.play()&#039;&amp;amp;gt;Play video2&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video2.stop()&#039;&amp;amp;gt;Stop video2&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video2.fullscreen()&#039;&amp;amp;gt;Fullscreen&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;/body&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/html&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Documentation}}&lt;br /&gt;
[[Category:Embedded]]&lt;/div&gt;</summary>
		<author><name>Jpsaman</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=Documentation:WebPlugin&amp;diff=15432</id>
		<title>Documentation:WebPlugin</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=Documentation:WebPlugin&amp;diff=15432"/>
		<updated>2010-01-19T10:11:18Z</updated>

		<summary type="html">&lt;p&gt;Jpsaman: /* Logo Object */ fix typo&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Building HTML pages for Mozilla/Firefox/Internet Explorer/Safari ==&lt;br /&gt;
&lt;br /&gt;
The following description works for any of the browsers VLC supports. The JavaScript API has been unified between Mozilla/Firefox/IE (ActiveX) and Safari, thus targetting at all of the major OS out there. &lt;br /&gt;
&lt;br /&gt;
This is only valid for {{VLC}} version 0.8.6 and above.&lt;br /&gt;
&lt;br /&gt;
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&lt;br /&gt;
plugin.&lt;br /&gt;
&lt;br /&gt;
== API description ==&lt;br /&gt;
The vlc plugin exports serveral objects that can be accessed for setting and getting information. When used improperly the API&#039;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.&lt;br /&gt;
&lt;br /&gt;
The vlc plugin knows the following objects:&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;audio&#039;&#039;&#039;: Access audio properties.&lt;br /&gt;
*&#039;&#039;&#039;input&#039;&#039;&#039;: Access input properties.&lt;br /&gt;
*&#039;&#039;&#039;playlist&#039;&#039;&#039;: Access playlist properties.&lt;br /&gt;
*&#039;&#039;&#039;subtitle&#039;&#039;&#039;: Access subtitle properties.&lt;br /&gt;
*&#039;&#039;&#039;video&#039;&#039;&#039;: Access video properties.&lt;br /&gt;
*&#039;&#039;&#039;video.marquee&#039;&#039;&#039;: Access marquee video filter properties.&lt;br /&gt;
*&#039;&#039;&#039;video.logo&#039;&#039;&#039;: Access logo video filter properties.&lt;br /&gt;
*&#039;&#039;&#039;log&#039;&#039;&#039;: Access log properties.&lt;br /&gt;
*&#039;&#039;&#039;messages&#039;&#039;&#039;: Access to log message properties.&lt;br /&gt;
*&#039;&#039;&#039;iterator&#039;&#039;&#039;: Access to log iterator properties.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;html&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;title&amp;amp;gt;VLC Mozilla plugin test page&amp;amp;lt;/title&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;body&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;embed type=&amp;quot;application/x-vlc-plugin&amp;quot; pluginspage=&amp;quot;http://www.videolan.org&amp;quot; version=&amp;quot;VideoLAN.VLCPlugin.2&amp;quot;&lt;br /&gt;
     width=&amp;quot;640&amp;quot;&lt;br /&gt;
     height=&amp;quot;480&amp;quot;&lt;br /&gt;
     id=&amp;quot;vlc&amp;quot;&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/embed&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;script language=&amp;quot;Javascript&amp;quot;&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;!--&lt;br /&gt;
 var vlc = document.getElementById(&amp;quot;vlc&amp;quot;);&lt;br /&gt;
 vlc.audio.toggleMute();&lt;br /&gt;
 !--&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/script&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/body&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/html&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Root object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;VersionInfo&#039;&#039;&#039;: returns version information string&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;vlc.versionInfo()&#039;&#039;&#039;: returns version information string (same as VersionInfo)&lt;br /&gt;
&lt;br /&gt;
====Audio object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.audio.count&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) returns the number of audio track available.&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.audio.mute&#039;&#039;&#039;: boolean value to mute and ummute the audio.&lt;br /&gt;
*&#039;&#039;&#039;vlc.audio.volume&#039;&#039;&#039;: a value between [0-200] which indicates a percentage of the volume.&lt;br /&gt;
*&#039;&#039;&#039;vlc.audio.track&#039;&#039;&#039;: (supported in vlc version &amp;gt; 0.8.6) a value between [1-65535] which indicates the audio track to play or that is playing. a value of 0 means the audio is/will be disabled.&lt;br /&gt;
*&#039;&#039;&#039;vlc.audio.channel&#039;&#039;&#039;: (supported in vlc version &amp;gt; 0.8.6) integer value between [1-5] that indicates which audio channel mode is used, values can be: &amp;quot;1=stereo&amp;quot;, &amp;quot;2=reverse stereo&amp;quot;, &amp;quot;3=left&amp;quot;, &amp;quot;4=right&amp;quot;, &amp;quot;5=dolby&amp;quot;. Use vlc.audio.channel to check if setting of the audio channel mode has succeeded.&lt;br /&gt;
&lt;br /&gt;
 Audio Channel:&lt;br /&gt;
 &amp;lt;SELECT readonly onChange=&#039;doAudioChannel(this.value)&#039;&amp;gt;&lt;br /&gt;
    &amp;lt;OPTION value=1&amp;gt;Stereo&amp;lt;/OPTION&amp;gt;&lt;br /&gt;
    &amp;lt;OPTION value=2&amp;gt;Reverse stereo&amp;lt;/OPTION&amp;gt;&lt;br /&gt;
    &amp;lt;OPTION value=3&amp;gt;Left&amp;lt;/OPTION&amp;gt;&lt;br /&gt;
    &amp;lt;OPTION value=4&amp;gt;Right&amp;lt;/OPTION&amp;gt;&lt;br /&gt;
    &amp;lt;OPTION value=5&amp;gt;Dolby&amp;lt;/OPTION&amp;gt;&lt;br /&gt;
 &amp;lt;/SELECT&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;SCRIPT language=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;amp;lt;!--&lt;br /&gt;
 function doAudioChannel(value)&lt;br /&gt;
 {&lt;br /&gt;
    var vlc = getVLC(&amp;quot;vlc&amp;quot;);&lt;br /&gt;
    vlc.audio.channel = parseInt(value);&lt;br /&gt;
    alert(vlc.audio.channel);&lt;br /&gt;
 };&lt;br /&gt;
 --&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;vlc.audio.toggleMute()&#039;&#039;&#039;: boolean toggle that mutes and unmutes the audio based upon the previous state.&lt;br /&gt;
*&#039;&#039;&#039;vlc.audio.description(int i)&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) give the i-th audio track name. 0 corresponds to disable and 1 to the first audio track.&lt;br /&gt;
&lt;br /&gt;
====Input object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.length&#039;&#039;&#039;: length of the input file in number of milliseconds. 0 is returned for &#039;live&#039; streams or clips whose length cannot be determined by VLC. It returns -1 if no input is playing. &lt;br /&gt;
*&#039;&#039;&#039;vlc.input.fps&#039;&#039;&#039;: frames per second returned as a float (typically 60.0, 50.0, 23.976, etc...)&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.hasVout&#039;&#039;&#039;: a boolean that returns true when the video is being displayed, it returns false when video is not displayed&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.position&#039;&#039;&#039;: normalized position in multimedia stream item given as a float value between [0.0 - 1.0]&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.time&#039;&#039;&#039;: the absolute position in time given in milliseconds, this property can be used to seek through the stream&lt;br /&gt;
 &amp;amp;lt;!-- absolute seek in stream !--&amp;amp;gt;&lt;br /&gt;
 vlc.input.time = &amp;amp;lt;absolute seek&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;!-- relative seek in stream !--&amp;amp;gt;&lt;br /&gt;
 vlc.input.time = vlc.input.time + &amp;amp;lt;relative seek&amp;amp;gt;&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.state&#039;&#039;&#039;: current state of the input chain given as enumeration (IDLE=0, OPENING=1, BUFFERING=2, PLAYING=3, PAUSED=4, STOPPING=5, ENDED=6, ERROR=7). Note: Test for ENDED=6 to catch end of playback. Checking for STOPPING=5 is NOT ENOUGH.&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.rate&#039;&#039;&#039;: input speed given as float (1.0 for normal speed, 0.5 for half speed, 2.0 for twice as fast, etc.).&lt;br /&gt;
 rate &amp;amp;gt; 1              : is fastforward&lt;br /&gt;
 rate &amp;amp;gt; 0 and rate &amp;amp;lt; 1 : is slow motion&lt;br /&gt;
 rate &amp;amp;lt; 0              : is rewind&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Playlist object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.itemCount&#039;&#039;&#039;: number that returns the amount of items currently in the playlist (&#039;&#039;&#039;deprecated&#039;&#039;&#039;, do not use, see [[#Playlist_items_object| Playlist items]])&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.isPlaying&#039;&#039;&#039;: a boolean that returns true if the current playlist item is playing and false when it is not playing&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.items&#039;&#039;&#039;: return the playlist items collection, see [[#Playlist_items_object| Playlist items]]&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.add(mrl)&#039;&#039;&#039;: add a playlist item as [[MRL]]. The MRL must be given as a string. Returns a number as an item identifier in playlist (this is not a position  in playlist).&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.add(mrl,name,options)&#039;&#039;&#039;: add a playlist item as MRL, with metaname &#039;name&#039; and options &#039;options&#039;. options are text arguments which can be provided either as a single string containing space separated values, akin to VLC command line, or as an array of string values. Returns a number as an item identifier in playlist (this is not a position in playlist).&lt;br /&gt;
  var options = new Array(&amp;quot;:aspect-ratio=4:3&amp;quot;, &amp;quot;--rtsp-tcp&amp;quot;);&lt;br /&gt;
  var id = vlc.playlist.add(&amp;quot;rtsp://servername/item/to/play&amp;quot;, &amp;quot;fancy name&amp;quot;, options);&lt;br /&gt;
  vlc.playlist.playItem(id);&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.play()&#039;&#039;&#039;: start playing the current playlist item&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.playItem(number)&#039;&#039;&#039;: start playing the item whose identifier is number&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.togglePause()&#039;&#039;&#039;: toggle the pause state for the current playlist item&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.stop()&#039;&#039;&#039;: stop playing the current playlist item&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.next()&#039;&#039;&#039;: iterate to the next playlist item&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.prev()&#039;&#039;&#039;: iterate to the previous playlist item&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.clear()&#039;&#039;&#039;: empty the current playlist, all items will be deleted from the playlist (&#039;&#039;&#039;deprecated&#039;&#039;&#039;, do not use, see [[#Playlist_items_object| Playlist items]])&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.removeItem(number)&#039;&#039;&#039;: remove the item from playlist whose identifier is number &amp;lt;!-- (note: this number isn&#039;t the position in the playlist, but the number given by vlc.playlist.add() ) --&amp;gt; (&#039;&#039;&#039;deprecated&#039;&#039;&#039;, do not use, see [[#Playlist_items_object| Playlist items]])&lt;br /&gt;
&lt;br /&gt;
====Playlist items object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.items.count&#039;&#039;&#039;: number of items currently in the playlist&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.items.clear()&#039;&#039;&#039;: empty the current playlist, all items will be deleted from the playlist. If a movie is playing, it stop. Note that when this method returns, playlist may not have been entirely been cleared as this operation is performed asynchronously; use the &#039;&#039;count&#039;&#039; property to verify/wait until the playlist is empty.&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.items.remove(number)&#039;&#039;&#039;: remove the item whose identifier is number from playlist. (note: this number isn&#039;t the position in the playlist, but the number given by vlc.playlist.add() )&lt;br /&gt;
&lt;br /&gt;
====Subtitle object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;vlc.subtitle.count&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) returns the number of subtitle available.&lt;br /&gt;
&lt;br /&gt;
read/write properties &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;vlc.subtitle.track&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) get and set the subtitle track to show on the video screen. The property takes an integer as input value [1..65535]. If subtitle track is set to 0, the subtitles will be disabled. If set to a value outside the current subtitle tracks range, then it will return -1 and display an error message.&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;vlc.subtitle.description(int i)&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) give the i-th subtitle name. 0 correspond to disable and 1 to the first subtitle.&lt;br /&gt;
&lt;br /&gt;
====Video object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.width&#039;&#039;&#039;: returns the horizontal size of the video&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.height&#039;&#039;&#039;: returns the vertical size of the video&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.fullscreen&#039;&#039;&#039;: 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.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.aspectRatio&#039;&#039;&#039;: get and set the aspect ratio to use in the video screen. The property takes a string as input value. Typical values are: &amp;quot;1:1&amp;quot;, &amp;quot;4:3&amp;quot;, &amp;quot;16:9&amp;quot;, &amp;quot;16:10&amp;quot;, &amp;quot;221:100&amp;quot; and &amp;quot;5:4&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.subtitle&#039;&#039;&#039;: (supported in vlc version &amp;gt; 0.8.6a) get and set the subtitle track to show on the video screen. The property takes an integer as input value [1..65535]. If subtitle track is set to 0, the subtitles will be disabled. If set to a value outside the current subtitle tracks range, then it will return -1 and display an error message.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.teletext&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 0.9.0) get and set teletext page to show on the video stream. This will only work if a teletext elementary stream is available in the video stream. The property takes an integer as input value [0..999] for indicating the teletext page to view, setting the value to 0 means hide teletext. On error it will return -1 and display an error message.&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.toggleFullscreen()&#039;&#039;&#039;: toggle the fullscreen mode based on the previous setting&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.toggleTeletext()&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 0.9.0) toggle the teletext page to overlay transparent or not, based on the previous setting&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.deinterlaceEnable(&amp;quot;my_mode&amp;quot;)&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) enable deinterlacing with my_mode. You can enable it with &amp;quot;blend&amp;quot;, &amp;quot;bob&amp;quot;, &amp;quot;discard&amp;quot;, &amp;quot;linear&amp;quot;, &amp;quot;mean&amp;quot; or &amp;quot;x&amp;quot; mode. Enabling too soon deinterlacing may cause some problems. You have to wait that all variable are available before enabling it.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.deinterlaceDisable()&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) disable deinterlacing.&lt;br /&gt;
&lt;br /&gt;
=====Marquee Object=====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.marquee.enable()&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) enable marquee filter.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.marquee.disable()&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) disable marquee filter.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.marquee.text(&amp;quot;my text&amp;quot;)&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) display my text on the screen.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.marquee.color(int val)&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change the text color. val is the new color to use (WHITE=0x000000, BLACK=0xFFFFFF, RED=0xFF0000, GREEN=0x00FF00, BLUE=0x0000FF...).&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.marquee.opacity(int val)&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change the text opacity, val is defined from 0 (completely transparent) to 255 (completely opaque).&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.marquee.position(int val)&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change the text position (CENTER=0, LEFT=1, RIGHT=2, TOP=4, TOP-LEFT=5, TOP-RIGHT=6, BOTTOM=8, BOTTOM-LEFT=9, BOTTOM_RIGHT=10).&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.marquee.refresh(int val)&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change the marquee refresh period.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.marquee.size(int val)&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) val define the new size for the text displayed on the screen. If the text is bigger than the screen then the text is not displayed.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.marquee.timeout(int val)&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change the timeout value. val is defined in ms, but 0 value correspond to unlimited.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.marquee.x(int val)&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change text abscissa.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.marquee.y(int val)&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change text ordinate.&lt;br /&gt;
&lt;br /&gt;
Some problems may happen (option like color or text will not be applied) because of the VLC asynchronous functioning. To avoid it, after enabling marquee, you have to wait a little time before changing an option. But it should be fixed by the new vout implementation.&lt;br /&gt;
&lt;br /&gt;
=====Logo Object=====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.logo.opacity&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change the picture opacity, val is defined from 0 (completely transparent) to 255 (completely opaque).&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.logo.position&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change the text position (&amp;quot;center&amp;quot;, &amp;quot;left&amp;quot;, &amp;quot;right&amp;quot;, &amp;quot;top&amp;quot;, &amp;quot;top-left&amp;quot;, &amp;quot;top-right&amp;quot;, &amp;quot;bottom&amp;quot;, &amp;quot;bottom-left&amp;quot;, &amp;quot;bottom-right&amp;quot;).&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.logo.delay&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) display each picture for a duration of 1000 ms (default) before displaying the next  picture.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.logo.repeat&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) number of loops for picture animation (-1=continuous, 0=disabled, n=n-times). The default is -1 (continuous).&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.logo.x&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change the x-offset for displaying the picture counting from top-left on the screen.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.logo.y&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change the y-offset for displaying the picture counting from top-left on the screen.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.logo.width&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change the picture width.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.logo.height&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change the picture height.&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.logo.enable()&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) enable logo video filter.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.logo.disable()&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) disable logo video filter.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.logo.file(&amp;quot;file.png&amp;quot;)&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) display my file.png as logo on the screen.&lt;br /&gt;
&lt;br /&gt;
events&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Some problems may happen because of the VLC asynchronous functioning. To avoid it, after enabling logo video filter, you have to wait a little time before changing an option. But it should be fixed by the new vout implementation.&lt;br /&gt;
&lt;br /&gt;
====Log object====&lt;br /&gt;
: &#039;&#039;&#039;CAUTION&#039;&#039;&#039;: For security concern, VLC 1.0.0-rc1 is probably the latest (near-to-stable) version in which this object and its children are supported.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This object allows accessing VLC main message logging queue. Typically this queue capacity is very small (no nore than 256 entries) and can easily overflow, therefore messages should be read and cleared as often as possible.&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.log.messages&#039;&#039;&#039;: returns the message collection, see [[#Messages object|Messages object]]&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.log.verbosity&#039;&#039;&#039;: write number [-1,0,1,2,3] for changing the verbosity level of the log messages; messages whose verbosity is higher than set will be not be logged in the queue. The numbers have the following meaning: -1 disable, 0 info, 1 error, 2 warning, 3 debug. &lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Messages object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;messages.count&#039;&#039;&#039;: returns number of messages in the log&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;messages.clear()&#039;&#039;&#039;: clear the current log buffer. It should be called as frequently as possible to not overflow the message queue. Call this method after the log messages of interest are read.&lt;br /&gt;
*&#039;&#039;&#039;messages.iterator()&#039;&#039;&#039;: creates and returns an iterator object, used to iterate over the messages in the log. &#039;&#039;&#039;Don&#039;t clear the log buffer while holding an iterator object.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Messages Iterator object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;iterator.hasNext&#039;&#039;&#039;: returns a boolean that indicates whether &#039;&#039;vlc.log.messages.next()&#039;&#039; will return the next message.&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;iterator.next()&#039;&#039;&#039;: returns the next message object in the log, see [[Message object]]&lt;br /&gt;
&lt;br /&gt;
====Message object====&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;message.severity&#039;&#039;&#039;: number that indicates the severity of the log message (0 = info, 1 = error, 2 = warning, 3 = debug)&lt;br /&gt;
*&#039;&#039;&#039;message.name&#039;&#039;&#039;: name of VLC module that printed the log message (e.g: main, http, directx, etc...)&lt;br /&gt;
*&#039;&#039;&#039;message.type&#039;&#039;&#039;: type of VLC module that printed the log message (eg: input, access, vout, sout, etc...)&lt;br /&gt;
*&#039;&#039;&#039;message.message&#039;&#039;&#039;: the message text&lt;br /&gt;
&lt;br /&gt;
==Build HTML pages that use the plugin (VLC version up to 0.8.5)==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;WARNING:&#039;&#039;&#039; the APIs described in this section are &#039;&#039;&#039;deprecated&#039;&#039;&#039;, do not use, &lt;br /&gt;
&lt;br /&gt;
The following API description is only valid uptill version 0.8.5 of the mozilla plugin.&lt;br /&gt;
&lt;br /&gt;
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&lt;br /&gt;
plugin.&lt;br /&gt;
&lt;br /&gt;
The vlc plugin supports the following function calls:&lt;br /&gt;
*&#039;&#039;&#039;play()&#039;&#039;&#039;: Start playing media in the plugin.&lt;br /&gt;
*&#039;&#039;&#039;pause()&#039;&#039;&#039;: Pause playback.&lt;br /&gt;
*&#039;&#039;&#039;stop()&#039;&#039;&#039;: Stop media playback.&lt;br /&gt;
*&#039;&#039;&#039;fullscreen()&#039;&#039;&#039;: Switch the video to full screen.&lt;br /&gt;
*&#039;&#039;&#039;set_volume(vol)&#039;&#039;&#039;: Set the volume. &#039;&#039;&#039;vol&#039;&#039;&#039; has to be an int in the 0-200 range.&lt;br /&gt;
*&#039;&#039;&#039;get_volume()&#039;&#039;&#039;: Get the current volume setting.&lt;br /&gt;
*&#039;&#039;&#039;mute()&#039;&#039;&#039;: Toggle volume muting.&lt;br /&gt;
*&#039;&#039;&#039;set_int_variable(var_name, value)&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;set_bool_variable(var_name, value)&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;set_str_variable(var_name, value)&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;get_int_variable(var_name)&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;get_bool_variable(var_name)&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;get_str_variable(var_name)&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;clear_playlist()&#039;&#039;&#039;: Clear the playlist.&lt;br /&gt;
*&#039;&#039;&#039;add_item(mrl)&#039;&#039;&#039;: Append an item whose location is given by the [[media resource locator]] to the playlist.&lt;br /&gt;
*&#039;&#039;&#039;next()&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;previous()&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;isplaying()&#039;&#039;&#039;: return true if the plugin is playing something.&lt;br /&gt;
*&#039;&#039;&#039;get_length()&#039;&#039;&#039;: Get the media&#039;s length in seconds.&lt;br /&gt;
*&#039;&#039;&#039;get_position()&#039;&#039;&#039;: Get the current position in the media in percent.&lt;br /&gt;
*&#039;&#039;&#039;get_time()&#039;&#039;&#039;: Get the current position in the media in seconds.&lt;br /&gt;
*&#039;&#039;&#039;seek(seconds,is_relative)&#039;&#039;&#039;: If is_relative is true, seek relatively to current time, else seek from beginning of the stream. Seek time is specified in seconds.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Here are a few examples of HTML pages that use the&lt;br /&gt;
Mozilla plugin.&lt;br /&gt;
&lt;br /&gt;
===Example 1===&lt;br /&gt;
&lt;br /&gt;
In this example, the plugin will read an HTTP stream inside the web page. If the user goes fullscreen, he will have to press &#039;&#039;f&#039;&#039; or double-click on the video to go back in normal view.&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;html&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;head&amp;amp;gt;&amp;amp;lt;title&amp;amp;gt;Demo of VLC mozilla plugin&amp;amp;lt;/title&amp;amp;gt;&amp;amp;lt;/head&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;body&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;h1&amp;amp;gt;Demo of VLC mozilla plugin - Example 1&amp;amp;lt;/h1&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;embed type=&amp;quot;application/x-vlc-plugin&amp;quot;&lt;br /&gt;
          name=&amp;quot;video1&amp;quot;&lt;br /&gt;
          autoplay=&amp;quot;no&amp;quot; loop=&amp;quot;yes&amp;quot; width=&amp;quot;400&amp;quot; height=&amp;quot;300&amp;quot;&lt;br /&gt;
          target=&amp;quot;http://server.example.org/video1.vob&amp;quot; /&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;br /&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video1.play()&#039;&amp;amp;gt;Play video1&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video1.pause()&#039;&amp;amp;gt;Pause video1&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video1.stop()&#039;&amp;amp;gt;Stop video1&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video1.fullscreen()&#039;&amp;amp;gt;Fullscreen&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;/body&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/html&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Example 2===&lt;br /&gt;
&lt;br /&gt;
In this example, the plugin will read a multicast UDP/RTP stream in a dedicated video output window.&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;html&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;head&amp;amp;gt;&amp;amp;lt;title&amp;amp;gt;Demo of VLC mozilla plugin&amp;amp;lt;/title&amp;amp;gt;&amp;amp;lt;/head&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;body&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;h1&amp;amp;gt;Demo of VLC mozilla plugin - Example 2&amp;amp;lt;/h1&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;embed type=&amp;quot;application/x-vlc-plugin&amp;quot;&lt;br /&gt;
          name=&amp;quot;video2&amp;quot;&lt;br /&gt;
          autoplay=&amp;quot;no&amp;quot; loop=&amp;quot;no&amp;quot; hidden=&amp;quot;yes&amp;quot;&lt;br /&gt;
          target=&amp;quot;rtp://@239.255.12.42:5004&amp;quot; /&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;br /&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video2.play()&#039;&amp;amp;gt;Play video2&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video2.stop()&#039;&amp;amp;gt;Stop video2&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video2.fullscreen()&#039;&amp;amp;gt;Fullscreen&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;/body&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/html&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Documentation}}&lt;br /&gt;
[[Category:Embedded]]&lt;/div&gt;</summary>
		<author><name>Jpsaman</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=Documentation:WebPlugin&amp;diff=15431</id>
		<title>Documentation:WebPlugin</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=Documentation:WebPlugin&amp;diff=15431"/>
		<updated>2010-01-19T10:10:55Z</updated>

		<summary type="html">&lt;p&gt;Jpsaman: /* Logo Object */ reflect reality&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Building HTML pages for Mozilla/Firefox/Internet Explorer/Safari ==&lt;br /&gt;
&lt;br /&gt;
The following description works for any of the browsers VLC supports. The JavaScript API has been unified between Mozilla/Firefox/IE (ActiveX) and Safari, thus targetting at all of the major OS out there. &lt;br /&gt;
&lt;br /&gt;
This is only valid for {{VLC}} version 0.8.6 and above.&lt;br /&gt;
&lt;br /&gt;
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&lt;br /&gt;
plugin.&lt;br /&gt;
&lt;br /&gt;
== API description ==&lt;br /&gt;
The vlc plugin exports serveral objects that can be accessed for setting and getting information. When used improperly the API&#039;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.&lt;br /&gt;
&lt;br /&gt;
The vlc plugin knows the following objects:&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;audio&#039;&#039;&#039;: Access audio properties.&lt;br /&gt;
*&#039;&#039;&#039;input&#039;&#039;&#039;: Access input properties.&lt;br /&gt;
*&#039;&#039;&#039;playlist&#039;&#039;&#039;: Access playlist properties.&lt;br /&gt;
*&#039;&#039;&#039;subtitle&#039;&#039;&#039;: Access subtitle properties.&lt;br /&gt;
*&#039;&#039;&#039;video&#039;&#039;&#039;: Access video properties.&lt;br /&gt;
*&#039;&#039;&#039;video.marquee&#039;&#039;&#039;: Access marquee video filter properties.&lt;br /&gt;
*&#039;&#039;&#039;video.logo&#039;&#039;&#039;: Access logo video filter properties.&lt;br /&gt;
*&#039;&#039;&#039;log&#039;&#039;&#039;: Access log properties.&lt;br /&gt;
*&#039;&#039;&#039;messages&#039;&#039;&#039;: Access to log message properties.&lt;br /&gt;
*&#039;&#039;&#039;iterator&#039;&#039;&#039;: Access to log iterator properties.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;html&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;title&amp;amp;gt;VLC Mozilla plugin test page&amp;amp;lt;/title&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;body&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;embed type=&amp;quot;application/x-vlc-plugin&amp;quot; pluginspage=&amp;quot;http://www.videolan.org&amp;quot; version=&amp;quot;VideoLAN.VLCPlugin.2&amp;quot;&lt;br /&gt;
     width=&amp;quot;640&amp;quot;&lt;br /&gt;
     height=&amp;quot;480&amp;quot;&lt;br /&gt;
     id=&amp;quot;vlc&amp;quot;&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/embed&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;script language=&amp;quot;Javascript&amp;quot;&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;!--&lt;br /&gt;
 var vlc = document.getElementById(&amp;quot;vlc&amp;quot;);&lt;br /&gt;
 vlc.audio.toggleMute();&lt;br /&gt;
 !--&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/script&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/body&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/html&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Root object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;VersionInfo&#039;&#039;&#039;: returns version information string&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;vlc.versionInfo()&#039;&#039;&#039;: returns version information string (same as VersionInfo)&lt;br /&gt;
&lt;br /&gt;
====Audio object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.audio.count&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) returns the number of audio track available.&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.audio.mute&#039;&#039;&#039;: boolean value to mute and ummute the audio.&lt;br /&gt;
*&#039;&#039;&#039;vlc.audio.volume&#039;&#039;&#039;: a value between [0-200] which indicates a percentage of the volume.&lt;br /&gt;
*&#039;&#039;&#039;vlc.audio.track&#039;&#039;&#039;: (supported in vlc version &amp;gt; 0.8.6) a value between [1-65535] which indicates the audio track to play or that is playing. a value of 0 means the audio is/will be disabled.&lt;br /&gt;
*&#039;&#039;&#039;vlc.audio.channel&#039;&#039;&#039;: (supported in vlc version &amp;gt; 0.8.6) integer value between [1-5] that indicates which audio channel mode is used, values can be: &amp;quot;1=stereo&amp;quot;, &amp;quot;2=reverse stereo&amp;quot;, &amp;quot;3=left&amp;quot;, &amp;quot;4=right&amp;quot;, &amp;quot;5=dolby&amp;quot;. Use vlc.audio.channel to check if setting of the audio channel mode has succeeded.&lt;br /&gt;
&lt;br /&gt;
 Audio Channel:&lt;br /&gt;
 &amp;lt;SELECT readonly onChange=&#039;doAudioChannel(this.value)&#039;&amp;gt;&lt;br /&gt;
    &amp;lt;OPTION value=1&amp;gt;Stereo&amp;lt;/OPTION&amp;gt;&lt;br /&gt;
    &amp;lt;OPTION value=2&amp;gt;Reverse stereo&amp;lt;/OPTION&amp;gt;&lt;br /&gt;
    &amp;lt;OPTION value=3&amp;gt;Left&amp;lt;/OPTION&amp;gt;&lt;br /&gt;
    &amp;lt;OPTION value=4&amp;gt;Right&amp;lt;/OPTION&amp;gt;&lt;br /&gt;
    &amp;lt;OPTION value=5&amp;gt;Dolby&amp;lt;/OPTION&amp;gt;&lt;br /&gt;
 &amp;lt;/SELECT&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;SCRIPT language=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;amp;lt;!--&lt;br /&gt;
 function doAudioChannel(value)&lt;br /&gt;
 {&lt;br /&gt;
    var vlc = getVLC(&amp;quot;vlc&amp;quot;);&lt;br /&gt;
    vlc.audio.channel = parseInt(value);&lt;br /&gt;
    alert(vlc.audio.channel);&lt;br /&gt;
 };&lt;br /&gt;
 --&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;vlc.audio.toggleMute()&#039;&#039;&#039;: boolean toggle that mutes and unmutes the audio based upon the previous state.&lt;br /&gt;
*&#039;&#039;&#039;vlc.audio.description(int i)&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) give the i-th audio track name. 0 corresponds to disable and 1 to the first audio track.&lt;br /&gt;
&lt;br /&gt;
====Input object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.length&#039;&#039;&#039;: length of the input file in number of milliseconds. 0 is returned for &#039;live&#039; streams or clips whose length cannot be determined by VLC. It returns -1 if no input is playing. &lt;br /&gt;
*&#039;&#039;&#039;vlc.input.fps&#039;&#039;&#039;: frames per second returned as a float (typically 60.0, 50.0, 23.976, etc...)&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.hasVout&#039;&#039;&#039;: a boolean that returns true when the video is being displayed, it returns false when video is not displayed&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.position&#039;&#039;&#039;: normalized position in multimedia stream item given as a float value between [0.0 - 1.0]&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.time&#039;&#039;&#039;: the absolute position in time given in milliseconds, this property can be used to seek through the stream&lt;br /&gt;
 &amp;amp;lt;!-- absolute seek in stream !--&amp;amp;gt;&lt;br /&gt;
 vlc.input.time = &amp;amp;lt;absolute seek&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;!-- relative seek in stream !--&amp;amp;gt;&lt;br /&gt;
 vlc.input.time = vlc.input.time + &amp;amp;lt;relative seek&amp;amp;gt;&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.state&#039;&#039;&#039;: current state of the input chain given as enumeration (IDLE=0, OPENING=1, BUFFERING=2, PLAYING=3, PAUSED=4, STOPPING=5, ENDED=6, ERROR=7). Note: Test for ENDED=6 to catch end of playback. Checking for STOPPING=5 is NOT ENOUGH.&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.rate&#039;&#039;&#039;: input speed given as float (1.0 for normal speed, 0.5 for half speed, 2.0 for twice as fast, etc.).&lt;br /&gt;
 rate &amp;amp;gt; 1              : is fastforward&lt;br /&gt;
 rate &amp;amp;gt; 0 and rate &amp;amp;lt; 1 : is slow motion&lt;br /&gt;
 rate &amp;amp;lt; 0              : is rewind&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Playlist object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.itemCount&#039;&#039;&#039;: number that returns the amount of items currently in the playlist (&#039;&#039;&#039;deprecated&#039;&#039;&#039;, do not use, see [[#Playlist_items_object| Playlist items]])&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.isPlaying&#039;&#039;&#039;: a boolean that returns true if the current playlist item is playing and false when it is not playing&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.items&#039;&#039;&#039;: return the playlist items collection, see [[#Playlist_items_object| Playlist items]]&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.add(mrl)&#039;&#039;&#039;: add a playlist item as [[MRL]]. The MRL must be given as a string. Returns a number as an item identifier in playlist (this is not a position  in playlist).&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.add(mrl,name,options)&#039;&#039;&#039;: add a playlist item as MRL, with metaname &#039;name&#039; and options &#039;options&#039;. options are text arguments which can be provided either as a single string containing space separated values, akin to VLC command line, or as an array of string values. Returns a number as an item identifier in playlist (this is not a position in playlist).&lt;br /&gt;
  var options = new Array(&amp;quot;:aspect-ratio=4:3&amp;quot;, &amp;quot;--rtsp-tcp&amp;quot;);&lt;br /&gt;
  var id = vlc.playlist.add(&amp;quot;rtsp://servername/item/to/play&amp;quot;, &amp;quot;fancy name&amp;quot;, options);&lt;br /&gt;
  vlc.playlist.playItem(id);&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.play()&#039;&#039;&#039;: start playing the current playlist item&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.playItem(number)&#039;&#039;&#039;: start playing the item whose identifier is number&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.togglePause()&#039;&#039;&#039;: toggle the pause state for the current playlist item&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.stop()&#039;&#039;&#039;: stop playing the current playlist item&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.next()&#039;&#039;&#039;: iterate to the next playlist item&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.prev()&#039;&#039;&#039;: iterate to the previous playlist item&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.clear()&#039;&#039;&#039;: empty the current playlist, all items will be deleted from the playlist (&#039;&#039;&#039;deprecated&#039;&#039;&#039;, do not use, see [[#Playlist_items_object| Playlist items]])&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.removeItem(number)&#039;&#039;&#039;: remove the item from playlist whose identifier is number &amp;lt;!-- (note: this number isn&#039;t the position in the playlist, but the number given by vlc.playlist.add() ) --&amp;gt; (&#039;&#039;&#039;deprecated&#039;&#039;&#039;, do not use, see [[#Playlist_items_object| Playlist items]])&lt;br /&gt;
&lt;br /&gt;
====Playlist items object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.items.count&#039;&#039;&#039;: number of items currently in the playlist&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.items.clear()&#039;&#039;&#039;: empty the current playlist, all items will be deleted from the playlist. If a movie is playing, it stop. Note that when this method returns, playlist may not have been entirely been cleared as this operation is performed asynchronously; use the &#039;&#039;count&#039;&#039; property to verify/wait until the playlist is empty.&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.items.remove(number)&#039;&#039;&#039;: remove the item whose identifier is number from playlist. (note: this number isn&#039;t the position in the playlist, but the number given by vlc.playlist.add() )&lt;br /&gt;
&lt;br /&gt;
====Subtitle object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;vlc.subtitle.count&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) returns the number of subtitle available.&lt;br /&gt;
&lt;br /&gt;
read/write properties &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;vlc.subtitle.track&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) get and set the subtitle track to show on the video screen. The property takes an integer as input value [1..65535]. If subtitle track is set to 0, the subtitles will be disabled. If set to a value outside the current subtitle tracks range, then it will return -1 and display an error message.&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;vlc.subtitle.description(int i)&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) give the i-th subtitle name. 0 correspond to disable and 1 to the first subtitle.&lt;br /&gt;
&lt;br /&gt;
====Video object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.width&#039;&#039;&#039;: returns the horizontal size of the video&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.height&#039;&#039;&#039;: returns the vertical size of the video&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.fullscreen&#039;&#039;&#039;: 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.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.aspectRatio&#039;&#039;&#039;: get and set the aspect ratio to use in the video screen. The property takes a string as input value. Typical values are: &amp;quot;1:1&amp;quot;, &amp;quot;4:3&amp;quot;, &amp;quot;16:9&amp;quot;, &amp;quot;16:10&amp;quot;, &amp;quot;221:100&amp;quot; and &amp;quot;5:4&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.subtitle&#039;&#039;&#039;: (supported in vlc version &amp;gt; 0.8.6a) get and set the subtitle track to show on the video screen. The property takes an integer as input value [1..65535]. If subtitle track is set to 0, the subtitles will be disabled. If set to a value outside the current subtitle tracks range, then it will return -1 and display an error message.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.teletext&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 0.9.0) get and set teletext page to show on the video stream. This will only work if a teletext elementary stream is available in the video stream. The property takes an integer as input value [0..999] for indicating the teletext page to view, setting the value to 0 means hide teletext. On error it will return -1 and display an error message.&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.toggleFullscreen()&#039;&#039;&#039;: toggle the fullscreen mode based on the previous setting&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.toggleTeletext()&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 0.9.0) toggle the teletext page to overlay transparent or not, based on the previous setting&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.deinterlaceEnable(&amp;quot;my_mode&amp;quot;)&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) enable deinterlacing with my_mode. You can enable it with &amp;quot;blend&amp;quot;, &amp;quot;bob&amp;quot;, &amp;quot;discard&amp;quot;, &amp;quot;linear&amp;quot;, &amp;quot;mean&amp;quot; or &amp;quot;x&amp;quot; mode. Enabling too soon deinterlacing may cause some problems. You have to wait that all variable are available before enabling it.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.deinterlaceDisable()&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) disable deinterlacing.&lt;br /&gt;
&lt;br /&gt;
=====Marquee Object=====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.marquee.enable()&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) enable marquee filter.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.marquee.disable()&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) disable marquee filter.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.marquee.text(&amp;quot;my text&amp;quot;)&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) display my text on the screen.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.marquee.color(int val)&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change the text color. val is the new color to use (WHITE=0x000000, BLACK=0xFFFFFF, RED=0xFF0000, GREEN=0x00FF00, BLUE=0x0000FF...).&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.marquee.opacity(int val)&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change the text opacity, val is defined from 0 (completely transparent) to 255 (completely opaque).&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.marquee.position(int val)&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change the text position (CENTER=0, LEFT=1, RIGHT=2, TOP=4, TOP-LEFT=5, TOP-RIGHT=6, BOTTOM=8, BOTTOM-LEFT=9, BOTTOM_RIGHT=10).&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.marquee.refresh(int val)&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change the marquee refresh period.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.marquee.size(int val)&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) val define the new size for the text displayed on the screen. If the text is bigger than the screen then the text is not displayed.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.marquee.timeout(int val)&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change the timeout value. val is defined in ms, but 0 value correspond to unlimited.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.marquee.x(int val)&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change text abscissa.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.marquee.y(int val)&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change text ordinate.&lt;br /&gt;
&lt;br /&gt;
Some problems may happen (option like color or text will not be applied) because of the VLC asynchronous functioning. To avoid it, after enabling marquee, you have to wait a little time before changing an option. But it should be fixed by the new vout implementation.&lt;br /&gt;
&lt;br /&gt;
=====Logo Object=====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.logo.opacity&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change the picture opacity, val is defined from 0 (completely transparent) to 255 (completely opaque).&lt;br /&gt;
&#039;&#039;&#039;vlc.video.logo.position&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change the text position (&amp;quot;center&amp;quot;, &amp;quot;left&amp;quot;, &amp;quot;right&amp;quot;, &amp;quot;top&amp;quot;, &amp;quot;top-left&amp;quot;, &amp;quot;top-right&amp;quot;, &amp;quot;bottom&amp;quot;, &amp;quot;bottom-left&amp;quot;, &amp;quot;bottom-right&amp;quot;).&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.logo.delay&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) display each picture for a duration of 1000 ms (default) before displaying the next  picture.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.logo.repeat&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) number of loops for picture animation (-1=continuous, 0=disabled, n=n-times). The default is -1 (continuous).&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.logo.x&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change the x-offset for displaying the picture counting from top-left on the screen.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.logo.y&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change the y-offset for displaying the picture counting from top-left on the screen.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.logo.width&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change the picture width.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.logo.height&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change the picture height.&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.logo.enable()&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) enable logo video filter.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.logo.disable()&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) disable logo video filter.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.logo.file(&amp;quot;file.png&amp;quot;)&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) display my file.png as logo on the screen.&lt;br /&gt;
&lt;br /&gt;
events&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Some problems may happen because of the VLC asynchronous functioning. To avoid it, after enabling logo video filter, you have to wait a little time before changing an option. But it should be fixed by the new vout implementation.&lt;br /&gt;
&lt;br /&gt;
====Log object====&lt;br /&gt;
: &#039;&#039;&#039;CAUTION&#039;&#039;&#039;: For security concern, VLC 1.0.0-rc1 is probably the latest (near-to-stable) version in which this object and its children are supported.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This object allows accessing VLC main message logging queue. Typically this queue capacity is very small (no nore than 256 entries) and can easily overflow, therefore messages should be read and cleared as often as possible.&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.log.messages&#039;&#039;&#039;: returns the message collection, see [[#Messages object|Messages object]]&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.log.verbosity&#039;&#039;&#039;: write number [-1,0,1,2,3] for changing the verbosity level of the log messages; messages whose verbosity is higher than set will be not be logged in the queue. The numbers have the following meaning: -1 disable, 0 info, 1 error, 2 warning, 3 debug. &lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Messages object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;messages.count&#039;&#039;&#039;: returns number of messages in the log&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;messages.clear()&#039;&#039;&#039;: clear the current log buffer. It should be called as frequently as possible to not overflow the message queue. Call this method after the log messages of interest are read.&lt;br /&gt;
*&#039;&#039;&#039;messages.iterator()&#039;&#039;&#039;: creates and returns an iterator object, used to iterate over the messages in the log. &#039;&#039;&#039;Don&#039;t clear the log buffer while holding an iterator object.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Messages Iterator object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;iterator.hasNext&#039;&#039;&#039;: returns a boolean that indicates whether &#039;&#039;vlc.log.messages.next()&#039;&#039; will return the next message.&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;iterator.next()&#039;&#039;&#039;: returns the next message object in the log, see [[Message object]]&lt;br /&gt;
&lt;br /&gt;
====Message object====&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;message.severity&#039;&#039;&#039;: number that indicates the severity of the log message (0 = info, 1 = error, 2 = warning, 3 = debug)&lt;br /&gt;
*&#039;&#039;&#039;message.name&#039;&#039;&#039;: name of VLC module that printed the log message (e.g: main, http, directx, etc...)&lt;br /&gt;
*&#039;&#039;&#039;message.type&#039;&#039;&#039;: type of VLC module that printed the log message (eg: input, access, vout, sout, etc...)&lt;br /&gt;
*&#039;&#039;&#039;message.message&#039;&#039;&#039;: the message text&lt;br /&gt;
&lt;br /&gt;
==Build HTML pages that use the plugin (VLC version up to 0.8.5)==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;WARNING:&#039;&#039;&#039; the APIs described in this section are &#039;&#039;&#039;deprecated&#039;&#039;&#039;, do not use, &lt;br /&gt;
&lt;br /&gt;
The following API description is only valid uptill version 0.8.5 of the mozilla plugin.&lt;br /&gt;
&lt;br /&gt;
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&lt;br /&gt;
plugin.&lt;br /&gt;
&lt;br /&gt;
The vlc plugin supports the following function calls:&lt;br /&gt;
*&#039;&#039;&#039;play()&#039;&#039;&#039;: Start playing media in the plugin.&lt;br /&gt;
*&#039;&#039;&#039;pause()&#039;&#039;&#039;: Pause playback.&lt;br /&gt;
*&#039;&#039;&#039;stop()&#039;&#039;&#039;: Stop media playback.&lt;br /&gt;
*&#039;&#039;&#039;fullscreen()&#039;&#039;&#039;: Switch the video to full screen.&lt;br /&gt;
*&#039;&#039;&#039;set_volume(vol)&#039;&#039;&#039;: Set the volume. &#039;&#039;&#039;vol&#039;&#039;&#039; has to be an int in the 0-200 range.&lt;br /&gt;
*&#039;&#039;&#039;get_volume()&#039;&#039;&#039;: Get the current volume setting.&lt;br /&gt;
*&#039;&#039;&#039;mute()&#039;&#039;&#039;: Toggle volume muting.&lt;br /&gt;
*&#039;&#039;&#039;set_int_variable(var_name, value)&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;set_bool_variable(var_name, value)&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;set_str_variable(var_name, value)&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;get_int_variable(var_name)&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;get_bool_variable(var_name)&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;get_str_variable(var_name)&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;clear_playlist()&#039;&#039;&#039;: Clear the playlist.&lt;br /&gt;
*&#039;&#039;&#039;add_item(mrl)&#039;&#039;&#039;: Append an item whose location is given by the [[media resource locator]] to the playlist.&lt;br /&gt;
*&#039;&#039;&#039;next()&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;previous()&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;isplaying()&#039;&#039;&#039;: return true if the plugin is playing something.&lt;br /&gt;
*&#039;&#039;&#039;get_length()&#039;&#039;&#039;: Get the media&#039;s length in seconds.&lt;br /&gt;
*&#039;&#039;&#039;get_position()&#039;&#039;&#039;: Get the current position in the media in percent.&lt;br /&gt;
*&#039;&#039;&#039;get_time()&#039;&#039;&#039;: Get the current position in the media in seconds.&lt;br /&gt;
*&#039;&#039;&#039;seek(seconds,is_relative)&#039;&#039;&#039;: If is_relative is true, seek relatively to current time, else seek from beginning of the stream. Seek time is specified in seconds.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Here are a few examples of HTML pages that use the&lt;br /&gt;
Mozilla plugin.&lt;br /&gt;
&lt;br /&gt;
===Example 1===&lt;br /&gt;
&lt;br /&gt;
In this example, the plugin will read an HTTP stream inside the web page. If the user goes fullscreen, he will have to press &#039;&#039;f&#039;&#039; or double-click on the video to go back in normal view.&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;html&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;head&amp;amp;gt;&amp;amp;lt;title&amp;amp;gt;Demo of VLC mozilla plugin&amp;amp;lt;/title&amp;amp;gt;&amp;amp;lt;/head&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;body&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;h1&amp;amp;gt;Demo of VLC mozilla plugin - Example 1&amp;amp;lt;/h1&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;embed type=&amp;quot;application/x-vlc-plugin&amp;quot;&lt;br /&gt;
          name=&amp;quot;video1&amp;quot;&lt;br /&gt;
          autoplay=&amp;quot;no&amp;quot; loop=&amp;quot;yes&amp;quot; width=&amp;quot;400&amp;quot; height=&amp;quot;300&amp;quot;&lt;br /&gt;
          target=&amp;quot;http://server.example.org/video1.vob&amp;quot; /&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;br /&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video1.play()&#039;&amp;amp;gt;Play video1&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video1.pause()&#039;&amp;amp;gt;Pause video1&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video1.stop()&#039;&amp;amp;gt;Stop video1&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video1.fullscreen()&#039;&amp;amp;gt;Fullscreen&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;/body&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/html&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Example 2===&lt;br /&gt;
&lt;br /&gt;
In this example, the plugin will read a multicast UDP/RTP stream in a dedicated video output window.&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;html&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;head&amp;amp;gt;&amp;amp;lt;title&amp;amp;gt;Demo of VLC mozilla plugin&amp;amp;lt;/title&amp;amp;gt;&amp;amp;lt;/head&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;body&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;h1&amp;amp;gt;Demo of VLC mozilla plugin - Example 2&amp;amp;lt;/h1&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;embed type=&amp;quot;application/x-vlc-plugin&amp;quot;&lt;br /&gt;
          name=&amp;quot;video2&amp;quot;&lt;br /&gt;
          autoplay=&amp;quot;no&amp;quot; loop=&amp;quot;no&amp;quot; hidden=&amp;quot;yes&amp;quot;&lt;br /&gt;
          target=&amp;quot;rtp://@239.255.12.42:5004&amp;quot; /&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;br /&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video2.play()&#039;&amp;amp;gt;Play video2&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video2.stop()&#039;&amp;amp;gt;Stop video2&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video2.fullscreen()&#039;&amp;amp;gt;Fullscreen&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;/body&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/html&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Documentation}}&lt;br /&gt;
[[Category:Embedded]]&lt;/div&gt;</summary>
		<author><name>Jpsaman</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=Documentation:WebPlugin&amp;diff=15425</id>
		<title>Documentation:WebPlugin</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=Documentation:WebPlugin&amp;diff=15425"/>
		<updated>2010-01-18T09:20:38Z</updated>

		<summary type="html">&lt;p&gt;Jpsaman: /* Logo Object */ cleanup vlc.video.logo API&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Building HTML pages for Mozilla/Firefox/Internet Explorer/Safari ==&lt;br /&gt;
&lt;br /&gt;
The following description works for any of the browsers VLC supports. The JavaScript API has been unified between Mozilla/Firefox/IE (ActiveX) and Safari, thus targetting at all of the major OS out there. &lt;br /&gt;
&lt;br /&gt;
This is only valid for {{VLC}} version 0.8.6 and above.&lt;br /&gt;
&lt;br /&gt;
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&lt;br /&gt;
plugin.&lt;br /&gt;
&lt;br /&gt;
== API description ==&lt;br /&gt;
The vlc plugin exports serveral objects that can be accessed for setting and getting information. When used improperly the API&#039;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.&lt;br /&gt;
&lt;br /&gt;
The vlc plugin knows the following objects:&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;audio&#039;&#039;&#039;: Access audio properties.&lt;br /&gt;
*&#039;&#039;&#039;input&#039;&#039;&#039;: Access input properties.&lt;br /&gt;
*&#039;&#039;&#039;playlist&#039;&#039;&#039;: Access playlist properties.&lt;br /&gt;
*&#039;&#039;&#039;subtitle&#039;&#039;&#039;: Access subtitle properties.&lt;br /&gt;
*&#039;&#039;&#039;video&#039;&#039;&#039;: Access video properties.&lt;br /&gt;
*&#039;&#039;&#039;video.marquee&#039;&#039;&#039;: Access marquee video filter properties.&lt;br /&gt;
*&#039;&#039;&#039;video.logo&#039;&#039;&#039;: Access logo video filter properties.&lt;br /&gt;
*&#039;&#039;&#039;log&#039;&#039;&#039;: Access log properties.&lt;br /&gt;
*&#039;&#039;&#039;messages&#039;&#039;&#039;: Access to log message properties.&lt;br /&gt;
*&#039;&#039;&#039;iterator&#039;&#039;&#039;: Access to log iterator properties.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;html&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;title&amp;amp;gt;VLC Mozilla plugin test page&amp;amp;lt;/title&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;body&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;embed type=&amp;quot;application/x-vlc-plugin&amp;quot; pluginspage=&amp;quot;http://www.videolan.org&amp;quot; version=&amp;quot;VideoLAN.VLCPlugin.2&amp;quot;&lt;br /&gt;
     width=&amp;quot;640&amp;quot;&lt;br /&gt;
     height=&amp;quot;480&amp;quot;&lt;br /&gt;
     id=&amp;quot;vlc&amp;quot;&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/embed&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;script language=&amp;quot;Javascript&amp;quot;&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;!--&lt;br /&gt;
 var vlc = document.getElementById(&amp;quot;vlc&amp;quot;);&lt;br /&gt;
 vlc.audio.toggleMute();&lt;br /&gt;
 !--&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/script&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/body&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/html&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Root object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;VersionInfo&#039;&#039;&#039;: returns version information string&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;vlc.versionInfo()&#039;&#039;&#039;: returns version information string (same as VersionInfo)&lt;br /&gt;
&lt;br /&gt;
====Audio object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.audio.count&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) returns the number of audio track available.&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.audio.mute&#039;&#039;&#039;: boolean value to mute and ummute the audio.&lt;br /&gt;
*&#039;&#039;&#039;vlc.audio.volume&#039;&#039;&#039;: a value between [0-200] which indicates a percentage of the volume.&lt;br /&gt;
*&#039;&#039;&#039;vlc.audio.track&#039;&#039;&#039;: (supported in vlc version &amp;gt; 0.8.6) a value between [1-65535] which indicates the audio track to play or that is playing. a value of 0 means the audio is/will be disabled.&lt;br /&gt;
*&#039;&#039;&#039;vlc.audio.channel&#039;&#039;&#039;: (supported in vlc version &amp;gt; 0.8.6) integer value between [1-5] that indicates which audio channel mode is used, values can be: &amp;quot;1=stereo&amp;quot;, &amp;quot;2=reverse stereo&amp;quot;, &amp;quot;3=left&amp;quot;, &amp;quot;4=right&amp;quot;, &amp;quot;5=dolby&amp;quot;. Use vlc.audio.channel to check if setting of the audio channel mode has succeeded.&lt;br /&gt;
&lt;br /&gt;
 Audio Channel:&lt;br /&gt;
 &amp;lt;SELECT readonly onChange=&#039;doAudioChannel(this.value)&#039;&amp;gt;&lt;br /&gt;
    &amp;lt;OPTION value=1&amp;gt;Stereo&amp;lt;/OPTION&amp;gt;&lt;br /&gt;
    &amp;lt;OPTION value=2&amp;gt;Reverse stereo&amp;lt;/OPTION&amp;gt;&lt;br /&gt;
    &amp;lt;OPTION value=3&amp;gt;Left&amp;lt;/OPTION&amp;gt;&lt;br /&gt;
    &amp;lt;OPTION value=4&amp;gt;Right&amp;lt;/OPTION&amp;gt;&lt;br /&gt;
    &amp;lt;OPTION value=5&amp;gt;Dolby&amp;lt;/OPTION&amp;gt;&lt;br /&gt;
 &amp;lt;/SELECT&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;SCRIPT language=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;amp;lt;!--&lt;br /&gt;
 function doAudioChannel(value)&lt;br /&gt;
 {&lt;br /&gt;
    var vlc = getVLC(&amp;quot;vlc&amp;quot;);&lt;br /&gt;
    vlc.audio.channel = parseInt(value);&lt;br /&gt;
    alert(vlc.audio.channel);&lt;br /&gt;
 };&lt;br /&gt;
 --&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;vlc.audio.toggleMute()&#039;&#039;&#039;: boolean toggle that mutes and unmutes the audio based upon the previous state.&lt;br /&gt;
*&#039;&#039;&#039;vlc.audio.description(int i)&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) give the i-th audio track name. 0 corresponds to disable and 1 to the first audio track.&lt;br /&gt;
&lt;br /&gt;
====Input object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.length&#039;&#039;&#039;: length of the input file in number of milliseconds. 0 is returned for &#039;live&#039; streams or clips whose length cannot be determined by VLC. It returns -1 if no input is playing. &lt;br /&gt;
*&#039;&#039;&#039;vlc.input.fps&#039;&#039;&#039;: frames per second returned as a float (typically 60.0, 50.0, 23.976, etc...)&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.hasVout&#039;&#039;&#039;: a boolean that returns true when the video is being displayed, it returns false when video is not displayed&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.position&#039;&#039;&#039;: normalized position in multimedia stream item given as a float value between [0.0 - 1.0]&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.time&#039;&#039;&#039;: the absolute position in time given in milliseconds, this property can be used to seek through the stream&lt;br /&gt;
 &amp;amp;lt;!-- absolute seek in stream !--&amp;amp;gt;&lt;br /&gt;
 vlc.input.time = &amp;amp;lt;absolute seek&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;!-- relative seek in stream !--&amp;amp;gt;&lt;br /&gt;
 vlc.input.time = vlc.input.time + &amp;amp;lt;relative seek&amp;amp;gt;&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.state&#039;&#039;&#039;: current state of the input chain given as enumeration (IDLE=0, OPENING=1, BUFFERING=2, PLAYING=3, PAUSED=4, STOPPING=5, ENDED=6, ERROR=7). Note: Test for ENDED=6 to catch end of playback. Checking for STOPPING=5 is NOT ENOUGH.&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.rate&#039;&#039;&#039;: input speed given as float (1.0 for normal speed, 0.5 for half speed, 2.0 for twice as fast, etc.).&lt;br /&gt;
 rate &amp;amp;gt; 1              : is fastforward&lt;br /&gt;
 rate &amp;amp;gt; 0 and rate &amp;amp;lt; 1 : is slow motion&lt;br /&gt;
 rate &amp;amp;lt; 0              : is rewind&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Playlist object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.itemCount&#039;&#039;&#039;: number that returns the amount of items currently in the playlist (&#039;&#039;&#039;deprecated&#039;&#039;&#039;, do not use, see [[#Playlist_items_object| Playlist items]])&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.isPlaying&#039;&#039;&#039;: a boolean that returns true if the current playlist item is playing and false when it is not playing&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.items&#039;&#039;&#039;: return the playlist items collection, see [[#Playlist_items_object| Playlist items]]&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.add(mrl)&#039;&#039;&#039;: add a playlist item as [[MRL]]. The MRL must be given as a string. Returns a number as an item identifier in playlist (this is not a position  in playlist).&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.add(mrl,name,options)&#039;&#039;&#039;: add a playlist item as MRL, with metaname &#039;name&#039; and options &#039;options&#039;. options are text arguments which can be provided either as a single string containing space separated values, akin to VLC command line, or as an array of string values. Returns a number as an item identifier in playlist (this is not a position in playlist).&lt;br /&gt;
  var options = new Array(&amp;quot;:aspect-ratio=4:3&amp;quot;, &amp;quot;--rtsp-tcp&amp;quot;);&lt;br /&gt;
  var id = vlc.playlist.add(&amp;quot;rtsp://servername/item/to/play&amp;quot;, &amp;quot;fancy name&amp;quot;, options);&lt;br /&gt;
  vlc.playlist.playItem(id);&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.play()&#039;&#039;&#039;: start playing the current playlist item&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.playItem(number)&#039;&#039;&#039;: start playing the item whose identifier is number&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.togglePause()&#039;&#039;&#039;: toggle the pause state for the current playlist item&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.stop()&#039;&#039;&#039;: stop playing the current playlist item&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.next()&#039;&#039;&#039;: iterate to the next playlist item&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.prev()&#039;&#039;&#039;: iterate to the previous playlist item&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.clear()&#039;&#039;&#039;: empty the current playlist, all items will be deleted from the playlist (&#039;&#039;&#039;deprecated&#039;&#039;&#039;, do not use, see [[#Playlist_items_object| Playlist items]])&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.removeItem(number)&#039;&#039;&#039;: remove the item from playlist whose identifier is number &amp;lt;!-- (note: this number isn&#039;t the position in the playlist, but the number given by vlc.playlist.add() ) --&amp;gt; (&#039;&#039;&#039;deprecated&#039;&#039;&#039;, do not use, see [[#Playlist_items_object| Playlist items]])&lt;br /&gt;
&lt;br /&gt;
====Playlist items object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.items.count&#039;&#039;&#039;: number of items currently in the playlist&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.items.clear()&#039;&#039;&#039;: empty the current playlist, all items will be deleted from the playlist. If a movie is playing, it stop. Note that when this method returns, playlist may not have been entirely been cleared as this operation is performed asynchronously; use the &#039;&#039;count&#039;&#039; property to verify/wait until the playlist is empty.&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.items.remove(number)&#039;&#039;&#039;: remove the item whose identifier is number from playlist. (note: this number isn&#039;t the position in the playlist, but the number given by vlc.playlist.add() )&lt;br /&gt;
&lt;br /&gt;
====Subtitle object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;vlc.subtitle.count&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) returns the number of subtitle available.&lt;br /&gt;
&lt;br /&gt;
read/write properties &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;vlc.subtitle.track&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) get and set the subtitle track to show on the video screen. The property takes an integer as input value [1..65535]. If subtitle track is set to 0, the subtitles will be disabled. If set to a value outside the current subtitle tracks range, then it will return -1 and display an error message.&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;vlc.subtitle.description(int i)&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) give the i-th subtitle name. 0 correspond to disable and 1 to the first subtitle.&lt;br /&gt;
&lt;br /&gt;
====Video object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.width&#039;&#039;&#039;: returns the horizontal size of the video&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.height&#039;&#039;&#039;: returns the vertical size of the video&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.fullscreen&#039;&#039;&#039;: 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.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.aspectRatio&#039;&#039;&#039;: get and set the aspect ratio to use in the video screen. The property takes a string as input value. Typical values are: &amp;quot;1:1&amp;quot;, &amp;quot;4:3&amp;quot;, &amp;quot;16:9&amp;quot;, &amp;quot;16:10&amp;quot;, &amp;quot;221:100&amp;quot; and &amp;quot;5:4&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.subtitle&#039;&#039;&#039;: (supported in vlc version &amp;gt; 0.8.6a) get and set the subtitle track to show on the video screen. The property takes an integer as input value [1..65535]. If subtitle track is set to 0, the subtitles will be disabled. If set to a value outside the current subtitle tracks range, then it will return -1 and display an error message.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.teletext&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 0.9.0) get and set teletext page to show on the video stream. This will only work if a teletext elementary stream is available in the video stream. The property takes an integer as input value [0..999] for indicating the teletext page to view, setting the value to 0 means hide teletext. On error it will return -1 and display an error message.&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.toggleFullscreen()&#039;&#039;&#039;: toggle the fullscreen mode based on the previous setting&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.toggleTeletext()&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 0.9.0) toggle the teletext page to overlay transparent or not, based on the previous setting&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.deinterlaceEnable(&amp;quot;my_mode&amp;quot;)&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) enable deinterlacing with my_mode. You can enable it with &amp;quot;blend&amp;quot;, &amp;quot;bob&amp;quot;, &amp;quot;discard&amp;quot;, &amp;quot;linear&amp;quot;, &amp;quot;mean&amp;quot; or &amp;quot;x&amp;quot; mode. Enabling too soon deinterlacing may cause some problems. You have to wait that all variable are available before enabling it.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.deinterlaceDisable()&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) disable deinterlacing.&lt;br /&gt;
&lt;br /&gt;
=====Marquee Object=====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.marquee.enable()&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) enable marquee filter.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.marquee.disable()&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) disable marquee filter.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.marquee.text(&amp;quot;my text&amp;quot;)&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) display my text on the screen.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.marquee.color(int val)&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change the text color. val is the new color to use (WHITE=0x000000, BLACK=0xFFFFFF, RED=0xFF0000, GREEN=0x00FF00, BLUE=0x0000FF...).&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.marquee.opacity(int val)&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change the text opacity, val is defined from 0 (completely transparent) to 255 (completely opaque).&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.marquee.position(int val)&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change the text position (CENTER=0, LEFT=1, RIGHT=2, TOP=4, TOP-LEFT=5, TOP-RIGHT=6, BOTTOM=8, BOTTOM-LEFT=9, BOTTOM_RIGHT=10).&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.marquee.refresh(int val)&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change the marquee refresh period.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.marquee.size(int val)&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) val define the new size for the text displayed on the screen. If the text is bigger than the screen then the text is not displayed.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.marquee.timeout(int val)&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change the timeout value. val is defined in ms, but 0 value correspond to unlimited.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.marquee.x(int val)&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change text abscissa.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.marquee.y(int val)&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change text ordinate.&lt;br /&gt;
&lt;br /&gt;
Some problems may happen (option like color or text will not be applied) because of the VLC asynchronous functioning. To avoid it, after enabling marquee, you have to wait a little time before changing an option. But it should be fixed by the new vout implementation.&lt;br /&gt;
&lt;br /&gt;
=====Logo Object=====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.logo.transparency&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change the picture opacity, val is defined from 0 (completely opaque) to 255 (completely transparent).&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.logo.position&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change the text position (CENTER=0, LEFT=1, RIGHT=2, TOP=4, TOP-LEFT=5, TOP-RIGHT=6, BOTTOM=8, BOTTOM-LEFT=9, BOTTOM_RIGHT=10).&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.logo.delay&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) display each picture for a duration of 1000 ms (default) before displaying the next  picture.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.logo.repeat&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) number of loops for picture animation (-1=continuous, 0=disabled, n=n-times). The default is -1 (continuous).&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.logo.x&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change the x-offset for displaying the picture counting from top-left on the screen.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.logo.y&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change the y-offset for displaying the picture counting from top-left on the screen.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.logo.width&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change the picture width.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.logo.height&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change the picture height.&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.logo.enable()&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) enable logo video filter.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.logo.disable()&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) disable logo video filter.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.logo.file(&amp;quot;file.png&amp;quot;)&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) display my file.png as logo on the screen.&lt;br /&gt;
&lt;br /&gt;
events&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Some problems may happen because of the VLC asynchronous functioning. To avoid it, after enabling logo video filter, you have to wait a little time before changing an option. But it should be fixed by the new vout implementation.&lt;br /&gt;
&lt;br /&gt;
====Log object====&lt;br /&gt;
: &#039;&#039;&#039;CAUTION&#039;&#039;&#039;: For security concern, VLC 1.0.0-rc1 is probably the latest (near-to-stable) version in which this object and its children are supported.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This object allows accessing VLC main message logging queue. Typically this queue capacity is very small (no nore than 256 entries) and can easily overflow, therefore messages should be read and cleared as often as possible.&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.log.messages&#039;&#039;&#039;: returns the message collection, see [[#Messages object|Messages object]]&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.log.verbosity&#039;&#039;&#039;: write number [-1,0,1,2,3] for changing the verbosity level of the log messages; messages whose verbosity is higher than set will be not be logged in the queue. The numbers have the following meaning: -1 disable, 0 info, 1 error, 2 warning, 3 debug. &lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Messages object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;messages.count&#039;&#039;&#039;: returns number of messages in the log&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;messages.clear()&#039;&#039;&#039;: clear the current log buffer. It should be called as frequently as possible to not overflow the message queue. Call this method after the log messages of interest are read.&lt;br /&gt;
*&#039;&#039;&#039;messages.iterator()&#039;&#039;&#039;: creates and returns an iterator object, used to iterate over the messages in the log. &#039;&#039;&#039;Don&#039;t clear the log buffer while holding an iterator object.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Messages Iterator object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;iterator.hasNext&#039;&#039;&#039;: returns a boolean that indicates whether &#039;&#039;vlc.log.messages.next()&#039;&#039; will return the next message.&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;iterator.next()&#039;&#039;&#039;: returns the next message object in the log, see [[Message object]]&lt;br /&gt;
&lt;br /&gt;
====Message object====&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;message.severity&#039;&#039;&#039;: number that indicates the severity of the log message (0 = info, 1 = error, 2 = warning, 3 = debug)&lt;br /&gt;
*&#039;&#039;&#039;message.name&#039;&#039;&#039;: name of VLC module that printed the log message (e.g: main, http, directx, etc...)&lt;br /&gt;
*&#039;&#039;&#039;message.type&#039;&#039;&#039;: type of VLC module that printed the log message (eg: input, access, vout, sout, etc...)&lt;br /&gt;
*&#039;&#039;&#039;message.message&#039;&#039;&#039;: the message text&lt;br /&gt;
&lt;br /&gt;
==Build HTML pages that use the plugin (VLC version up to 0.8.5)==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;WARNING:&#039;&#039;&#039; the APIs described in this section are &#039;&#039;&#039;deprecated&#039;&#039;&#039;, do not use, &lt;br /&gt;
&lt;br /&gt;
The following API description is only valid uptill version 0.8.5 of the mozilla plugin.&lt;br /&gt;
&lt;br /&gt;
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&lt;br /&gt;
plugin.&lt;br /&gt;
&lt;br /&gt;
The vlc plugin supports the following function calls:&lt;br /&gt;
*&#039;&#039;&#039;play()&#039;&#039;&#039;: Start playing media in the plugin.&lt;br /&gt;
*&#039;&#039;&#039;pause()&#039;&#039;&#039;: Pause playback.&lt;br /&gt;
*&#039;&#039;&#039;stop()&#039;&#039;&#039;: Stop media playback.&lt;br /&gt;
*&#039;&#039;&#039;fullscreen()&#039;&#039;&#039;: Switch the video to full screen.&lt;br /&gt;
*&#039;&#039;&#039;set_volume(vol)&#039;&#039;&#039;: Set the volume. &#039;&#039;&#039;vol&#039;&#039;&#039; has to be an int in the 0-200 range.&lt;br /&gt;
*&#039;&#039;&#039;get_volume()&#039;&#039;&#039;: Get the current volume setting.&lt;br /&gt;
*&#039;&#039;&#039;mute()&#039;&#039;&#039;: Toggle volume muting.&lt;br /&gt;
*&#039;&#039;&#039;set_int_variable(var_name, value)&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;set_bool_variable(var_name, value)&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;set_str_variable(var_name, value)&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;get_int_variable(var_name)&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;get_bool_variable(var_name)&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;get_str_variable(var_name)&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;clear_playlist()&#039;&#039;&#039;: Clear the playlist.&lt;br /&gt;
*&#039;&#039;&#039;add_item(mrl)&#039;&#039;&#039;: Append an item whose location is given by the [[media resource locator]] to the playlist.&lt;br /&gt;
*&#039;&#039;&#039;next()&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;previous()&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;isplaying()&#039;&#039;&#039;: return true if the plugin is playing something.&lt;br /&gt;
*&#039;&#039;&#039;get_length()&#039;&#039;&#039;: Get the media&#039;s length in seconds.&lt;br /&gt;
*&#039;&#039;&#039;get_position()&#039;&#039;&#039;: Get the current position in the media in percent.&lt;br /&gt;
*&#039;&#039;&#039;get_time()&#039;&#039;&#039;: Get the current position in the media in seconds.&lt;br /&gt;
*&#039;&#039;&#039;seek(seconds,is_relative)&#039;&#039;&#039;: If is_relative is true, seek relatively to current time, else seek from beginning of the stream. Seek time is specified in seconds.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Here are a few examples of HTML pages that use the&lt;br /&gt;
Mozilla plugin.&lt;br /&gt;
&lt;br /&gt;
===Example 1===&lt;br /&gt;
&lt;br /&gt;
In this example, the plugin will read an HTTP stream inside the web page. If the user goes fullscreen, he will have to press &#039;&#039;f&#039;&#039; or double-click on the video to go back in normal view.&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;html&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;head&amp;amp;gt;&amp;amp;lt;title&amp;amp;gt;Demo of VLC mozilla plugin&amp;amp;lt;/title&amp;amp;gt;&amp;amp;lt;/head&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;body&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;h1&amp;amp;gt;Demo of VLC mozilla plugin - Example 1&amp;amp;lt;/h1&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;embed type=&amp;quot;application/x-vlc-plugin&amp;quot;&lt;br /&gt;
          name=&amp;quot;video1&amp;quot;&lt;br /&gt;
          autoplay=&amp;quot;no&amp;quot; loop=&amp;quot;yes&amp;quot; width=&amp;quot;400&amp;quot; height=&amp;quot;300&amp;quot;&lt;br /&gt;
          target=&amp;quot;http://server.example.org/video1.vob&amp;quot; /&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;br /&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video1.play()&#039;&amp;amp;gt;Play video1&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video1.pause()&#039;&amp;amp;gt;Pause video1&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video1.stop()&#039;&amp;amp;gt;Stop video1&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video1.fullscreen()&#039;&amp;amp;gt;Fullscreen&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;/body&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/html&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Example 2===&lt;br /&gt;
&lt;br /&gt;
In this example, the plugin will read a multicast UDP/RTP stream in a dedicated video output window.&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;html&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;head&amp;amp;gt;&amp;amp;lt;title&amp;amp;gt;Demo of VLC mozilla plugin&amp;amp;lt;/title&amp;amp;gt;&amp;amp;lt;/head&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;body&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;h1&amp;amp;gt;Demo of VLC mozilla plugin - Example 2&amp;amp;lt;/h1&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;embed type=&amp;quot;application/x-vlc-plugin&amp;quot;&lt;br /&gt;
          name=&amp;quot;video2&amp;quot;&lt;br /&gt;
          autoplay=&amp;quot;no&amp;quot; loop=&amp;quot;no&amp;quot; hidden=&amp;quot;yes&amp;quot;&lt;br /&gt;
          target=&amp;quot;rtp://@239.255.12.42:5004&amp;quot; /&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;br /&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video2.play()&#039;&amp;amp;gt;Play video2&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video2.stop()&#039;&amp;amp;gt;Stop video2&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video2.fullscreen()&#039;&amp;amp;gt;Fullscreen&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;/body&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/html&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Documentation}}&lt;br /&gt;
[[Category:Embedded]]&lt;/div&gt;</summary>
		<author><name>Jpsaman</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=Documentation:WebPlugin&amp;diff=15424</id>
		<title>Documentation:WebPlugin</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=Documentation:WebPlugin&amp;diff=15424"/>
		<updated>2010-01-18T09:02:36Z</updated>

		<summary type="html">&lt;p&gt;Jpsaman: /* API description */ vlc.video.logo&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Building HTML pages for Mozilla/Firefox/Internet Explorer/Safari ==&lt;br /&gt;
&lt;br /&gt;
The following description works for any of the browsers VLC supports. The JavaScript API has been unified between Mozilla/Firefox/IE (ActiveX) and Safari, thus targetting at all of the major OS out there. &lt;br /&gt;
&lt;br /&gt;
This is only valid for {{VLC}} version 0.8.6 and above.&lt;br /&gt;
&lt;br /&gt;
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&lt;br /&gt;
plugin.&lt;br /&gt;
&lt;br /&gt;
== API description ==&lt;br /&gt;
The vlc plugin exports serveral objects that can be accessed for setting and getting information. When used improperly the API&#039;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.&lt;br /&gt;
&lt;br /&gt;
The vlc plugin knows the following objects:&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;audio&#039;&#039;&#039;: Access audio properties.&lt;br /&gt;
*&#039;&#039;&#039;input&#039;&#039;&#039;: Access input properties.&lt;br /&gt;
*&#039;&#039;&#039;playlist&#039;&#039;&#039;: Access playlist properties.&lt;br /&gt;
*&#039;&#039;&#039;subtitle&#039;&#039;&#039;: Access subtitle properties.&lt;br /&gt;
*&#039;&#039;&#039;video&#039;&#039;&#039;: Access video properties.&lt;br /&gt;
*&#039;&#039;&#039;video.marquee&#039;&#039;&#039;: Access marquee video filter properties.&lt;br /&gt;
*&#039;&#039;&#039;video.logo&#039;&#039;&#039;: Access logo video filter properties.&lt;br /&gt;
*&#039;&#039;&#039;log&#039;&#039;&#039;: Access log properties.&lt;br /&gt;
*&#039;&#039;&#039;messages&#039;&#039;&#039;: Access to log message properties.&lt;br /&gt;
*&#039;&#039;&#039;iterator&#039;&#039;&#039;: Access to log iterator properties.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;html&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;title&amp;amp;gt;VLC Mozilla plugin test page&amp;amp;lt;/title&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;body&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;embed type=&amp;quot;application/x-vlc-plugin&amp;quot; pluginspage=&amp;quot;http://www.videolan.org&amp;quot; version=&amp;quot;VideoLAN.VLCPlugin.2&amp;quot;&lt;br /&gt;
     width=&amp;quot;640&amp;quot;&lt;br /&gt;
     height=&amp;quot;480&amp;quot;&lt;br /&gt;
     id=&amp;quot;vlc&amp;quot;&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/embed&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;script language=&amp;quot;Javascript&amp;quot;&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;!--&lt;br /&gt;
 var vlc = document.getElementById(&amp;quot;vlc&amp;quot;);&lt;br /&gt;
 vlc.audio.toggleMute();&lt;br /&gt;
 !--&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/script&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/body&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/html&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Root object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;VersionInfo&#039;&#039;&#039;: returns version information string&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;vlc.versionInfo()&#039;&#039;&#039;: returns version information string (same as VersionInfo)&lt;br /&gt;
&lt;br /&gt;
====Audio object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.audio.count&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) returns the number of audio track available.&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.audio.mute&#039;&#039;&#039;: boolean value to mute and ummute the audio.&lt;br /&gt;
*&#039;&#039;&#039;vlc.audio.volume&#039;&#039;&#039;: a value between [0-200] which indicates a percentage of the volume.&lt;br /&gt;
*&#039;&#039;&#039;vlc.audio.track&#039;&#039;&#039;: (supported in vlc version &amp;gt; 0.8.6) a value between [1-65535] which indicates the audio track to play or that is playing. a value of 0 means the audio is/will be disabled.&lt;br /&gt;
*&#039;&#039;&#039;vlc.audio.channel&#039;&#039;&#039;: (supported in vlc version &amp;gt; 0.8.6) integer value between [1-5] that indicates which audio channel mode is used, values can be: &amp;quot;1=stereo&amp;quot;, &amp;quot;2=reverse stereo&amp;quot;, &amp;quot;3=left&amp;quot;, &amp;quot;4=right&amp;quot;, &amp;quot;5=dolby&amp;quot;. Use vlc.audio.channel to check if setting of the audio channel mode has succeeded.&lt;br /&gt;
&lt;br /&gt;
 Audio Channel:&lt;br /&gt;
 &amp;lt;SELECT readonly onChange=&#039;doAudioChannel(this.value)&#039;&amp;gt;&lt;br /&gt;
    &amp;lt;OPTION value=1&amp;gt;Stereo&amp;lt;/OPTION&amp;gt;&lt;br /&gt;
    &amp;lt;OPTION value=2&amp;gt;Reverse stereo&amp;lt;/OPTION&amp;gt;&lt;br /&gt;
    &amp;lt;OPTION value=3&amp;gt;Left&amp;lt;/OPTION&amp;gt;&lt;br /&gt;
    &amp;lt;OPTION value=4&amp;gt;Right&amp;lt;/OPTION&amp;gt;&lt;br /&gt;
    &amp;lt;OPTION value=5&amp;gt;Dolby&amp;lt;/OPTION&amp;gt;&lt;br /&gt;
 &amp;lt;/SELECT&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;SCRIPT language=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;amp;lt;!--&lt;br /&gt;
 function doAudioChannel(value)&lt;br /&gt;
 {&lt;br /&gt;
    var vlc = getVLC(&amp;quot;vlc&amp;quot;);&lt;br /&gt;
    vlc.audio.channel = parseInt(value);&lt;br /&gt;
    alert(vlc.audio.channel);&lt;br /&gt;
 };&lt;br /&gt;
 --&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;vlc.audio.toggleMute()&#039;&#039;&#039;: boolean toggle that mutes and unmutes the audio based upon the previous state.&lt;br /&gt;
*&#039;&#039;&#039;vlc.audio.description(int i)&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) give the i-th audio track name. 0 corresponds to disable and 1 to the first audio track.&lt;br /&gt;
&lt;br /&gt;
====Input object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.length&#039;&#039;&#039;: length of the input file in number of milliseconds. 0 is returned for &#039;live&#039; streams or clips whose length cannot be determined by VLC. It returns -1 if no input is playing. &lt;br /&gt;
*&#039;&#039;&#039;vlc.input.fps&#039;&#039;&#039;: frames per second returned as a float (typically 60.0, 50.0, 23.976, etc...)&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.hasVout&#039;&#039;&#039;: a boolean that returns true when the video is being displayed, it returns false when video is not displayed&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.position&#039;&#039;&#039;: normalized position in multimedia stream item given as a float value between [0.0 - 1.0]&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.time&#039;&#039;&#039;: the absolute position in time given in milliseconds, this property can be used to seek through the stream&lt;br /&gt;
 &amp;amp;lt;!-- absolute seek in stream !--&amp;amp;gt;&lt;br /&gt;
 vlc.input.time = &amp;amp;lt;absolute seek&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;!-- relative seek in stream !--&amp;amp;gt;&lt;br /&gt;
 vlc.input.time = vlc.input.time + &amp;amp;lt;relative seek&amp;amp;gt;&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.state&#039;&#039;&#039;: current state of the input chain given as enumeration (IDLE=0, OPENING=1, BUFFERING=2, PLAYING=3, PAUSED=4, STOPPING=5, ENDED=6, ERROR=7). Note: Test for ENDED=6 to catch end of playback. Checking for STOPPING=5 is NOT ENOUGH.&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.rate&#039;&#039;&#039;: input speed given as float (1.0 for normal speed, 0.5 for half speed, 2.0 for twice as fast, etc.).&lt;br /&gt;
 rate &amp;amp;gt; 1              : is fastforward&lt;br /&gt;
 rate &amp;amp;gt; 0 and rate &amp;amp;lt; 1 : is slow motion&lt;br /&gt;
 rate &amp;amp;lt; 0              : is rewind&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Playlist object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.itemCount&#039;&#039;&#039;: number that returns the amount of items currently in the playlist (&#039;&#039;&#039;deprecated&#039;&#039;&#039;, do not use, see [[#Playlist_items_object| Playlist items]])&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.isPlaying&#039;&#039;&#039;: a boolean that returns true if the current playlist item is playing and false when it is not playing&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.items&#039;&#039;&#039;: return the playlist items collection, see [[#Playlist_items_object| Playlist items]]&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.add(mrl)&#039;&#039;&#039;: add a playlist item as [[MRL]]. The MRL must be given as a string. Returns a number as an item identifier in playlist (this is not a position  in playlist).&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.add(mrl,name,options)&#039;&#039;&#039;: add a playlist item as MRL, with metaname &#039;name&#039; and options &#039;options&#039;. options are text arguments which can be provided either as a single string containing space separated values, akin to VLC command line, or as an array of string values. Returns a number as an item identifier in playlist (this is not a position in playlist).&lt;br /&gt;
  var options = new Array(&amp;quot;:aspect-ratio=4:3&amp;quot;, &amp;quot;--rtsp-tcp&amp;quot;);&lt;br /&gt;
  var id = vlc.playlist.add(&amp;quot;rtsp://servername/item/to/play&amp;quot;, &amp;quot;fancy name&amp;quot;, options);&lt;br /&gt;
  vlc.playlist.playItem(id);&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.play()&#039;&#039;&#039;: start playing the current playlist item&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.playItem(number)&#039;&#039;&#039;: start playing the item whose identifier is number&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.togglePause()&#039;&#039;&#039;: toggle the pause state for the current playlist item&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.stop()&#039;&#039;&#039;: stop playing the current playlist item&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.next()&#039;&#039;&#039;: iterate to the next playlist item&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.prev()&#039;&#039;&#039;: iterate to the previous playlist item&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.clear()&#039;&#039;&#039;: empty the current playlist, all items will be deleted from the playlist (&#039;&#039;&#039;deprecated&#039;&#039;&#039;, do not use, see [[#Playlist_items_object| Playlist items]])&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.removeItem(number)&#039;&#039;&#039;: remove the item from playlist whose identifier is number &amp;lt;!-- (note: this number isn&#039;t the position in the playlist, but the number given by vlc.playlist.add() ) --&amp;gt; (&#039;&#039;&#039;deprecated&#039;&#039;&#039;, do not use, see [[#Playlist_items_object| Playlist items]])&lt;br /&gt;
&lt;br /&gt;
====Playlist items object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.items.count&#039;&#039;&#039;: number of items currently in the playlist&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.items.clear()&#039;&#039;&#039;: empty the current playlist, all items will be deleted from the playlist. If a movie is playing, it stop. Note that when this method returns, playlist may not have been entirely been cleared as this operation is performed asynchronously; use the &#039;&#039;count&#039;&#039; property to verify/wait until the playlist is empty.&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.items.remove(number)&#039;&#039;&#039;: remove the item whose identifier is number from playlist. (note: this number isn&#039;t the position in the playlist, but the number given by vlc.playlist.add() )&lt;br /&gt;
&lt;br /&gt;
====Subtitle object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;vlc.subtitle.count&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) returns the number of subtitle available.&lt;br /&gt;
&lt;br /&gt;
read/write properties &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;vlc.subtitle.track&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) get and set the subtitle track to show on the video screen. The property takes an integer as input value [1..65535]. If subtitle track is set to 0, the subtitles will be disabled. If set to a value outside the current subtitle tracks range, then it will return -1 and display an error message.&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;vlc.subtitle.description(int i)&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) give the i-th subtitle name. 0 correspond to disable and 1 to the first subtitle.&lt;br /&gt;
&lt;br /&gt;
====Video object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.width&#039;&#039;&#039;: returns the horizontal size of the video&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.height&#039;&#039;&#039;: returns the vertical size of the video&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.fullscreen&#039;&#039;&#039;: 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.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.aspectRatio&#039;&#039;&#039;: get and set the aspect ratio to use in the video screen. The property takes a string as input value. Typical values are: &amp;quot;1:1&amp;quot;, &amp;quot;4:3&amp;quot;, &amp;quot;16:9&amp;quot;, &amp;quot;16:10&amp;quot;, &amp;quot;221:100&amp;quot; and &amp;quot;5:4&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.subtitle&#039;&#039;&#039;: (supported in vlc version &amp;gt; 0.8.6a) get and set the subtitle track to show on the video screen. The property takes an integer as input value [1..65535]. If subtitle track is set to 0, the subtitles will be disabled. If set to a value outside the current subtitle tracks range, then it will return -1 and display an error message.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.teletext&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 0.9.0) get and set teletext page to show on the video stream. This will only work if a teletext elementary stream is available in the video stream. The property takes an integer as input value [0..999] for indicating the teletext page to view, setting the value to 0 means hide teletext. On error it will return -1 and display an error message.&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.toggleFullscreen()&#039;&#039;&#039;: toggle the fullscreen mode based on the previous setting&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.toggleTeletext()&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 0.9.0) toggle the teletext page to overlay transparent or not, based on the previous setting&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.deinterlaceEnable(&amp;quot;my_mode&amp;quot;)&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) enable deinterlacing with my_mode. You can enable it with &amp;quot;blend&amp;quot;, &amp;quot;bob&amp;quot;, &amp;quot;discard&amp;quot;, &amp;quot;linear&amp;quot;, &amp;quot;mean&amp;quot; or &amp;quot;x&amp;quot; mode. Enabling too soon deinterlacing may cause some problems. You have to wait that all variable are available before enabling it.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.deinterlaceDisable()&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) disable deinterlacing.&lt;br /&gt;
&lt;br /&gt;
=====Marquee Object=====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.marquee.enable()&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) enable marquee filter.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.marquee.disable()&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) disable marquee filter.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.marquee.text(&amp;quot;my text&amp;quot;)&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) display my text on the screen.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.marquee.color(int val)&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change the text color. val is the new color to use (WHITE=0x000000, BLACK=0xFFFFFF, RED=0xFF0000, GREEN=0x00FF00, BLUE=0x0000FF...).&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.marquee.opacity(int val)&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change the text opacity, val is defined from 0 (completely transparent) to 255 (completely opaque).&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.marquee.position(int val)&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change the text position (CENTER=0, LEFT=1, RIGHT=2, TOP=4, TOP-LEFT=5, TOP-RIGHT=6, BOTTOM=8, BOTTOM-LEFT=9, BOTTOM_RIGHT=10).&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.marquee.refresh(int val)&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change the marquee refresh period.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.marquee.size(int val)&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) val define the new size for the text displayed on the screen. If the text is bigger than the screen then the text is not displayed.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.marquee.timeout(int val)&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change the timeout value. val is defined in ms, but 0 value correspond to unlimited.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.marquee.x(int val)&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change text abscissa.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.marquee.y(int val)&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change text ordinate.&lt;br /&gt;
&lt;br /&gt;
Some problems may happen (option like color or text will not be applied) because of the VLC asynchronous functioning. To avoid it, after enabling marquee, you have to wait a little time before changing an option. But it should be fixed by the new vout implementation.&lt;br /&gt;
&lt;br /&gt;
=====Logo Object=====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.logo.enable()&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) enable logo video filter.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.logo.disable()&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) disable logo video filter.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.logo.file(&amp;quot;file.png&amp;quot;)&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) display my file.png as logo on the screen.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.logo.transparency(int val)&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change the picture opacity, val is defined from 0 (completely opaque) to 255 (completely transparent).&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.logo.position(int val)&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change the text position (CENTER=0, LEFT=1, RIGHT=2, TOP=4, TOP-LEFT=5, TOP-RIGHT=6, BOTTOM=8, BOTTOM-LEFT=9, BOTTOM_RIGHT=10).&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.logo.delay(int val)&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) display each picture for a duration of 1000 ms (default) before displaying the next  picture.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.logo.repeata(int val)&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) number of loops for picture animation (-1=continuous, 0=disabled, n=n-times). The default is -1 (continuous).&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.logo.x(int val)&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change the x-offset for displaying the picture counting from top-left on the screen.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.logo.y(int val)&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change the y-offset for displaying the picture counting from top-left on the screen.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.logo.width(int val)&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change the picture width.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.logo.height(int val)&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 1.1.0) change the picture height.&lt;br /&gt;
&lt;br /&gt;
events&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Some problems may happen because of the VLC asynchronous functioning. To avoid it, after enabling logo video filter, you have to wait a little time before changing an option. But it should be fixed by the new vout implementation.&lt;br /&gt;
&lt;br /&gt;
====Log object====&lt;br /&gt;
: &#039;&#039;&#039;CAUTION&#039;&#039;&#039;: For security concern, VLC 1.0.0-rc1 is probably the latest (near-to-stable) version in which this object and its children are supported.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This object allows accessing VLC main message logging queue. Typically this queue capacity is very small (no nore than 256 entries) and can easily overflow, therefore messages should be read and cleared as often as possible.&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.log.messages&#039;&#039;&#039;: returns the message collection, see [[#Messages object|Messages object]]&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.log.verbosity&#039;&#039;&#039;: write number [-1,0,1,2,3] for changing the verbosity level of the log messages; messages whose verbosity is higher than set will be not be logged in the queue. The numbers have the following meaning: -1 disable, 0 info, 1 error, 2 warning, 3 debug. &lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Messages object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;messages.count&#039;&#039;&#039;: returns number of messages in the log&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;messages.clear()&#039;&#039;&#039;: clear the current log buffer. It should be called as frequently as possible to not overflow the message queue. Call this method after the log messages of interest are read.&lt;br /&gt;
*&#039;&#039;&#039;messages.iterator()&#039;&#039;&#039;: creates and returns an iterator object, used to iterate over the messages in the log. &#039;&#039;&#039;Don&#039;t clear the log buffer while holding an iterator object.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Messages Iterator object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;iterator.hasNext&#039;&#039;&#039;: returns a boolean that indicates whether &#039;&#039;vlc.log.messages.next()&#039;&#039; will return the next message.&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;iterator.next()&#039;&#039;&#039;: returns the next message object in the log, see [[Message object]]&lt;br /&gt;
&lt;br /&gt;
====Message object====&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;message.severity&#039;&#039;&#039;: number that indicates the severity of the log message (0 = info, 1 = error, 2 = warning, 3 = debug)&lt;br /&gt;
*&#039;&#039;&#039;message.name&#039;&#039;&#039;: name of VLC module that printed the log message (e.g: main, http, directx, etc...)&lt;br /&gt;
*&#039;&#039;&#039;message.type&#039;&#039;&#039;: type of VLC module that printed the log message (eg: input, access, vout, sout, etc...)&lt;br /&gt;
*&#039;&#039;&#039;message.message&#039;&#039;&#039;: the message text&lt;br /&gt;
&lt;br /&gt;
==Build HTML pages that use the plugin (VLC version up to 0.8.5)==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;WARNING:&#039;&#039;&#039; the APIs described in this section are &#039;&#039;&#039;deprecated&#039;&#039;&#039;, do not use, &lt;br /&gt;
&lt;br /&gt;
The following API description is only valid uptill version 0.8.5 of the mozilla plugin.&lt;br /&gt;
&lt;br /&gt;
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&lt;br /&gt;
plugin.&lt;br /&gt;
&lt;br /&gt;
The vlc plugin supports the following function calls:&lt;br /&gt;
*&#039;&#039;&#039;play()&#039;&#039;&#039;: Start playing media in the plugin.&lt;br /&gt;
*&#039;&#039;&#039;pause()&#039;&#039;&#039;: Pause playback.&lt;br /&gt;
*&#039;&#039;&#039;stop()&#039;&#039;&#039;: Stop media playback.&lt;br /&gt;
*&#039;&#039;&#039;fullscreen()&#039;&#039;&#039;: Switch the video to full screen.&lt;br /&gt;
*&#039;&#039;&#039;set_volume(vol)&#039;&#039;&#039;: Set the volume. &#039;&#039;&#039;vol&#039;&#039;&#039; has to be an int in the 0-200 range.&lt;br /&gt;
*&#039;&#039;&#039;get_volume()&#039;&#039;&#039;: Get the current volume setting.&lt;br /&gt;
*&#039;&#039;&#039;mute()&#039;&#039;&#039;: Toggle volume muting.&lt;br /&gt;
*&#039;&#039;&#039;set_int_variable(var_name, value)&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;set_bool_variable(var_name, value)&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;set_str_variable(var_name, value)&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;get_int_variable(var_name)&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;get_bool_variable(var_name)&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;get_str_variable(var_name)&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;clear_playlist()&#039;&#039;&#039;: Clear the playlist.&lt;br /&gt;
*&#039;&#039;&#039;add_item(mrl)&#039;&#039;&#039;: Append an item whose location is given by the [[media resource locator]] to the playlist.&lt;br /&gt;
*&#039;&#039;&#039;next()&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;previous()&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;isplaying()&#039;&#039;&#039;: return true if the plugin is playing something.&lt;br /&gt;
*&#039;&#039;&#039;get_length()&#039;&#039;&#039;: Get the media&#039;s length in seconds.&lt;br /&gt;
*&#039;&#039;&#039;get_position()&#039;&#039;&#039;: Get the current position in the media in percent.&lt;br /&gt;
*&#039;&#039;&#039;get_time()&#039;&#039;&#039;: Get the current position in the media in seconds.&lt;br /&gt;
*&#039;&#039;&#039;seek(seconds,is_relative)&#039;&#039;&#039;: If is_relative is true, seek relatively to current time, else seek from beginning of the stream. Seek time is specified in seconds.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Here are a few examples of HTML pages that use the&lt;br /&gt;
Mozilla plugin.&lt;br /&gt;
&lt;br /&gt;
===Example 1===&lt;br /&gt;
&lt;br /&gt;
In this example, the plugin will read an HTTP stream inside the web page. If the user goes fullscreen, he will have to press &#039;&#039;f&#039;&#039; or double-click on the video to go back in normal view.&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;html&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;head&amp;amp;gt;&amp;amp;lt;title&amp;amp;gt;Demo of VLC mozilla plugin&amp;amp;lt;/title&amp;amp;gt;&amp;amp;lt;/head&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;body&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;h1&amp;amp;gt;Demo of VLC mozilla plugin - Example 1&amp;amp;lt;/h1&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;embed type=&amp;quot;application/x-vlc-plugin&amp;quot;&lt;br /&gt;
          name=&amp;quot;video1&amp;quot;&lt;br /&gt;
          autoplay=&amp;quot;no&amp;quot; loop=&amp;quot;yes&amp;quot; width=&amp;quot;400&amp;quot; height=&amp;quot;300&amp;quot;&lt;br /&gt;
          target=&amp;quot;http://server.example.org/video1.vob&amp;quot; /&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;br /&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video1.play()&#039;&amp;amp;gt;Play video1&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video1.pause()&#039;&amp;amp;gt;Pause video1&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video1.stop()&#039;&amp;amp;gt;Stop video1&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video1.fullscreen()&#039;&amp;amp;gt;Fullscreen&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;/body&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/html&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Example 2===&lt;br /&gt;
&lt;br /&gt;
In this example, the plugin will read a multicast UDP/RTP stream in a dedicated video output window.&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;html&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;head&amp;amp;gt;&amp;amp;lt;title&amp;amp;gt;Demo of VLC mozilla plugin&amp;amp;lt;/title&amp;amp;gt;&amp;amp;lt;/head&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;body&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;h1&amp;amp;gt;Demo of VLC mozilla plugin - Example 2&amp;amp;lt;/h1&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;embed type=&amp;quot;application/x-vlc-plugin&amp;quot;&lt;br /&gt;
          name=&amp;quot;video2&amp;quot;&lt;br /&gt;
          autoplay=&amp;quot;no&amp;quot; loop=&amp;quot;no&amp;quot; hidden=&amp;quot;yes&amp;quot;&lt;br /&gt;
          target=&amp;quot;rtp://@239.255.12.42:5004&amp;quot; /&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;br /&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video2.play()&#039;&amp;amp;gt;Play video2&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video2.stop()&#039;&amp;amp;gt;Stop video2&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video2.fullscreen()&#039;&amp;amp;gt;Fullscreen&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;/body&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/html&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Documentation}}&lt;br /&gt;
[[Category:Embedded]]&lt;/div&gt;</summary>
		<author><name>Jpsaman</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=TS_Info&amp;diff=15155</id>
		<title>TS Info</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=TS_Info&amp;diff=15155"/>
		<updated>2009-12-21T16:46:51Z</updated>

		<summary type="html">&lt;p&gt;Jpsaman: /* Architecture */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= TS Info =&lt;br /&gt;
&lt;br /&gt;
In the Open Source multimedia field there are various choices for multimedia streaming and playback. However analysing and checking validity of MPEG-TS streams is not really possible. DVBsnoop (http://dvbsnoop.sourceforge.net/) is the only application that is only one that comes near this goal, but it is a commandline utility. This doesn&#039;t make it easy to be used.&lt;br /&gt;
&lt;br /&gt;
The goal of TS Info is to be an easy to use MPEG-TS (MPTS/SPTS) analyser with all the information, analysis and validation right under you finger tips. &lt;br /&gt;
&lt;br /&gt;
It should also be possible to insert the TS Analyser/TS Monitor in between the client and the server and monitor the stream for the boundaries configured. If the boundaries (or rules) are crossed, then a trigger will be sent to indicate a deviation from the required settings.&lt;br /&gt;
&lt;br /&gt;
== Features ==&lt;br /&gt;
&lt;br /&gt;
* Input from TS/RTP/UDP or TS/UDP&lt;br /&gt;
* Possible extension to use linux-dvb device (maybe use dvblast as input)&lt;br /&gt;
* PID list and bandwidths / %age - bargraph&lt;br /&gt;
* Bitrates (also audio and video separate)&lt;br /&gt;
* Mux distance of audio and video packets&lt;br /&gt;
* SI table parsing (NIT, PMT, PAT, EIT, CAT, etc.) / descriptor parsing&lt;br /&gt;
* Detect scrambled content (check scrambling bits 11, 10, optional 01/00)&lt;br /&gt;
* I-frame gap&lt;br /&gt;
* Determine GOP length&lt;br /&gt;
* Detect Open/Closed GOP&lt;br /&gt;
* Teletext/closed captioning detection&lt;br /&gt;
* CRC errors&lt;br /&gt;
* I-frame decoding&lt;br /&gt;
* Discontinuity indication&lt;br /&gt;
* Subtitle decoding&lt;br /&gt;
* EPG grid&lt;br /&gt;
* PID selection and forwarding to VLC (via UDP stream?)&lt;br /&gt;
* Triggers on deviation from set boundaries (mux distance &amp;lt; 500ms, if not then sent trigger eg: sms/e-mail)&lt;br /&gt;
* Mention conformance to which standard and link to it if online source is available&lt;br /&gt;
&lt;br /&gt;
== Architecture ==&lt;br /&gt;
&lt;br /&gt;
proposal:&lt;br /&gt;
TS Analyser GUI - user interface to browse the MPEG-TS stream content (information gathered is similar to DVBsnoop)&lt;br /&gt;
TS Analyser     - real-time MPEG-TS analyser that informs the GUI/TS Monitor of features discovered and various measurements&lt;br /&gt;
TS Monitor      - real-time MPEG-TS monitor that triggers on deviations of preferred features in the MPEG-TS stream&lt;br /&gt;
&lt;br /&gt;
                                     TS Analyser GUI&lt;br /&gt;
                                           |&lt;br /&gt;
&lt;br /&gt;
MPEG-TS --------&amp;gt; RTP/UDP input ---&amp;gt; TS Analyser --&amp;gt; RTP/UDP output&lt;br /&gt;
(MPTS/SPTS)                                |&lt;br /&gt;
                                     TS Monitor --&amp;gt; send trigger if deviation detected&lt;br /&gt;
&lt;br /&gt;
== License ==&lt;br /&gt;
&lt;br /&gt;
TS Analyser GUI : GPLv2&lt;br /&gt;
TS Analyser library : LGPLv2.1&lt;br /&gt;
TS Monitor daemon : GPLv2&lt;/div&gt;</summary>
		<author><name>Jpsaman</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=TS_Info&amp;diff=15154</id>
		<title>TS Info</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=TS_Info&amp;diff=15154"/>
		<updated>2009-12-21T16:46:15Z</updated>

		<summary type="html">&lt;p&gt;Jpsaman: /* Architecture */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= TS Info =&lt;br /&gt;
&lt;br /&gt;
In the Open Source multimedia field there are various choices for multimedia streaming and playback. However analysing and checking validity of MPEG-TS streams is not really possible. DVBsnoop (http://dvbsnoop.sourceforge.net/) is the only application that is only one that comes near this goal, but it is a commandline utility. This doesn&#039;t make it easy to be used.&lt;br /&gt;
&lt;br /&gt;
The goal of TS Info is to be an easy to use MPEG-TS (MPTS/SPTS) analyser with all the information, analysis and validation right under you finger tips. &lt;br /&gt;
&lt;br /&gt;
It should also be possible to insert the TS Analyser/TS Monitor in between the client and the server and monitor the stream for the boundaries configured. If the boundaries (or rules) are crossed, then a trigger will be sent to indicate a deviation from the required settings.&lt;br /&gt;
&lt;br /&gt;
== Features ==&lt;br /&gt;
&lt;br /&gt;
* Input from TS/RTP/UDP or TS/UDP&lt;br /&gt;
* Possible extension to use linux-dvb device (maybe use dvblast as input)&lt;br /&gt;
* PID list and bandwidths / %age - bargraph&lt;br /&gt;
* Bitrates (also audio and video separate)&lt;br /&gt;
* Mux distance of audio and video packets&lt;br /&gt;
* SI table parsing (NIT, PMT, PAT, EIT, CAT, etc.) / descriptor parsing&lt;br /&gt;
* Detect scrambled content (check scrambling bits 11, 10, optional 01/00)&lt;br /&gt;
* I-frame gap&lt;br /&gt;
* Determine GOP length&lt;br /&gt;
* Detect Open/Closed GOP&lt;br /&gt;
* Teletext/closed captioning detection&lt;br /&gt;
* CRC errors&lt;br /&gt;
* I-frame decoding&lt;br /&gt;
* Discontinuity indication&lt;br /&gt;
* Subtitle decoding&lt;br /&gt;
* EPG grid&lt;br /&gt;
* PID selection and forwarding to VLC (via UDP stream?)&lt;br /&gt;
* Triggers on deviation from set boundaries (mux distance &amp;lt; 500ms, if not then sent trigger eg: sms/e-mail)&lt;br /&gt;
* Mention conformance to which standard and link to it if online source is available&lt;br /&gt;
&lt;br /&gt;
== Architecture ==&lt;br /&gt;
&lt;br /&gt;
proposal:&lt;br /&gt;
TS Analyser GUI - user interface to browse the MPEG-TS stream content (information gathered is similar to DVBsnoop)&lt;br /&gt;
TS Analyser     - real-time MPEG-TS analyser that informs the GUI/TS Monitor of features discovered and various measurements&lt;br /&gt;
TS Monitor      - real-time MPEG-TS monitor that triggers on deviations of preferred features in the MPEG-TS stream&lt;br /&gt;
&lt;br /&gt;
{{{&lt;br /&gt;
                                     TS Analyser GUI&lt;br /&gt;
                                           |&lt;br /&gt;
&lt;br /&gt;
MPEG-TS --------&amp;gt; RTP/UDP input ---&amp;gt; TS Analyser --&amp;gt; RTP/UDP output&lt;br /&gt;
(MPTS/SPTS)                                |&lt;br /&gt;
                                     TS Monitor --&amp;gt; send trigger if deviation detected&lt;br /&gt;
}}}&lt;br /&gt;
&lt;br /&gt;
== License ==&lt;br /&gt;
&lt;br /&gt;
TS Analyser GUI : GPLv2&lt;br /&gt;
TS Analyser library : LGPLv2.1&lt;br /&gt;
TS Monitor daemon : GPLv2&lt;/div&gt;</summary>
		<author><name>Jpsaman</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=TS_Info&amp;diff=15153</id>
		<title>TS Info</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=TS_Info&amp;diff=15153"/>
		<updated>2009-12-21T15:23:48Z</updated>

		<summary type="html">&lt;p&gt;Jpsaman: TS Info description&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= TS Info =&lt;br /&gt;
&lt;br /&gt;
In the Open Source multimedia field there are various choices for multimedia streaming and playback. However analysing and checking validity of MPEG-TS streams is not really possible. DVBsnoop (http://dvbsnoop.sourceforge.net/) is the only application that is only one that comes near this goal, but it is a commandline utility. This doesn&#039;t make it easy to be used.&lt;br /&gt;
&lt;br /&gt;
The goal of TS Info is to be an easy to use MPEG-TS (MPTS/SPTS) analyser with all the information, analysis and validation right under you finger tips. &lt;br /&gt;
&lt;br /&gt;
It should also be possible to insert the TS Analyser/TS Monitor in between the client and the server and monitor the stream for the boundaries configured. If the boundaries (or rules) are crossed, then a trigger will be sent to indicate a deviation from the required settings.&lt;br /&gt;
&lt;br /&gt;
== Features ==&lt;br /&gt;
&lt;br /&gt;
* Input from TS/RTP/UDP or TS/UDP&lt;br /&gt;
* Possible extension to use linux-dvb device (maybe use dvblast as input)&lt;br /&gt;
* PID list and bandwidths / %age - bargraph&lt;br /&gt;
* Bitrates (also audio and video separate)&lt;br /&gt;
* Mux distance of audio and video packets&lt;br /&gt;
* SI table parsing (NIT, PMT, PAT, EIT, CAT, etc.) / descriptor parsing&lt;br /&gt;
* Detect scrambled content (check scrambling bits 11, 10, optional 01/00)&lt;br /&gt;
* I-frame gap&lt;br /&gt;
* Determine GOP length&lt;br /&gt;
* Detect Open/Closed GOP&lt;br /&gt;
* Teletext/closed captioning detection&lt;br /&gt;
* CRC errors&lt;br /&gt;
* I-frame decoding&lt;br /&gt;
* Discontinuity indication&lt;br /&gt;
* Subtitle decoding&lt;br /&gt;
* EPG grid&lt;br /&gt;
* PID selection and forwarding to VLC (via UDP stream?)&lt;br /&gt;
* Triggers on deviation from set boundaries (mux distance &amp;lt; 500ms, if not then sent trigger eg: sms/e-mail)&lt;br /&gt;
* Mention conformance to which standard and link to it if online source is available&lt;br /&gt;
&lt;br /&gt;
== Architecture ==&lt;br /&gt;
&lt;br /&gt;
proposal:&lt;br /&gt;
TS Analyser GUI - user interface to browse the MPEG-TS stream content (information gathered is similar to DVBsnoop)&lt;br /&gt;
TS Analyser     - real-time MPEG-TS analyser that informs the GUI/TS Monitor of features discovered and various measurements&lt;br /&gt;
TS Monitor      - real-time MPEG-TS monitor that triggers on deviations of preferred features in the MPEG-TS stream&lt;br /&gt;
&lt;br /&gt;
                                     TS Analyser GUI&lt;br /&gt;
                                           |&lt;br /&gt;
&lt;br /&gt;
MPEG-TS --------&amp;gt; RTP/UDP input ---&amp;gt; TS Analyser --&amp;gt; RTP/UDP output&lt;br /&gt;
(MPTS/SPTS)                                |&lt;br /&gt;
                                     TS Monitor --&amp;gt; send trigger if deviation detected&lt;br /&gt;
&lt;br /&gt;
                                          &lt;br /&gt;
== License ==&lt;br /&gt;
&lt;br /&gt;
TS Analyser GUI : GPLv2&lt;br /&gt;
TS Analyser library : LGPLv2.1&lt;br /&gt;
TS Monitor daemon : GPLv2&lt;/div&gt;</summary>
		<author><name>Jpsaman</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=Documentation:Advanced_Use_of_VLC&amp;diff=13921</id>
		<title>Documentation:Advanced Use of VLC</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=Documentation:Advanced_Use_of_VLC&amp;diff=13921"/>
		<updated>2009-05-05T09:19:29Z</updated>

		<summary type="html">&lt;p&gt;Jpsaman: /* Input object */ use html safe &amp;amp;lt; and &amp;amp;gt;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{RightMenu|documentation play howto toc}}&lt;br /&gt;
&lt;br /&gt;
==Use the command line==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;TODO: completely outdated&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
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&#039;t need or want a GUI. Here is the complete description of VLC&#039;s command line and how to use it.&lt;br /&gt;
&lt;br /&gt;
You need to be quite comfortable with command line usage to use this.&lt;br /&gt;
&lt;br /&gt;
 Note: Windows users have to use the &#039;&#039;--option-name=&amp;quot;value&amp;quot;&#039;&#039; syntax instead of the &#039;&#039;--option-name value&#039;&#039; syntax.&lt;br /&gt;
&lt;br /&gt;
===Getting help===&lt;br /&gt;
&lt;br /&gt;
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, ...&lt;br /&gt;
&lt;br /&gt;
This chapter will only describe the &amp;quot;general&amp;quot; options, i.e. the core options. Each module adds new options. For example, the HTTP input module will add options for caching, proxy, authentication, ...&lt;br /&gt;
&lt;br /&gt;
By using &#039;&#039;&#039;vlc --help&#039;&#039;&#039;, you will get the basic core options. &#039;&#039;&#039;vlc --longhelp&#039;&#039;&#039; will give all the basic options (core + modules). Adding &#039;&#039;&#039;--advanced&#039;&#039;&#039; will give the &amp;quot;advanced options&amp;quot; (for advanced users). So &#039;&#039;&#039;vlc --longhelp --advanced&#039;&#039;&#039; will give you all options. You can also append &#039;&#039;&#039;--help-verbose&#039;&#039;&#039; if you want more detailed help.&lt;br /&gt;
&lt;br /&gt;
Also, you might want to get debug informations. To do this, use &#039;&#039;&#039;-v&#039;&#039;&#039; or &#039;&#039;&#039;-vv&#039;&#039;&#039; (this will show lower severity messages). If your console supports it, you can add &#039;&#039;&#039;--color to get messages in color.&lt;br /&gt;
&lt;br /&gt;
===Opening streams===&lt;br /&gt;
&lt;br /&gt;
The following commands start VLC and start reading the given element(s)&lt;br /&gt;
&lt;br /&gt;
====Opening a file====&lt;br /&gt;
&lt;br /&gt;
Start VLC with:&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc my_file&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
VLC should be able to recognize the file type. If it does not, you can force demultiplexer and decoder (see below).&lt;br /&gt;
&lt;br /&gt;
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].&lt;br /&gt;
&lt;br /&gt;
====Opening a DVD or VCD, or an audio CD====&lt;br /&gt;
&lt;br /&gt;
Start VLC with:&lt;br /&gt;
&lt;br /&gt;
For a DVD with menus:&lt;br /&gt;
 % &#039;&#039;&#039;vlc dvd://[device][@raw_device][@[title][:[chapter][:angle]]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
In most cases, &#039;&#039;&#039;vlc dvd://&#039;&#039;&#039; or &#039;&#039;&#039;vlc dvd://[device]&#039;&#039;&#039; will do. [device] is for example &#039;&#039;&#039;/dev/dvd&#039;&#039;&#039; on GNU/Linux or &#039;&#039;&#039;D:&#039;&#039;&#039; on Windows (complete path to your DVD drive).&lt;br /&gt;
&lt;br /&gt;
or&lt;br /&gt;
&lt;br /&gt;
(DVD without menus):&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc dvdsimple://[device][@raw_device][@[title][:[chapter][:angle]]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
or&lt;br /&gt;
&lt;br /&gt;
(VCD):&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc vcd://[device][@{E|P|E|T|S}[number]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
or&lt;br /&gt;
&lt;br /&gt;
(Audio CD):&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc cdda://[device][@[track]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Receiving a network stream====&lt;br /&gt;
&lt;br /&gt;
To receive an unicast RTP/UDP stream (sent by VLC&#039;s stream output), start VLC with:&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc  rtp://@:5004&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If 5004 is the port to which packets are sent. 1234 is another commonly used port number. you use the default port (1234), &#039;&#039;&#039;vlc rtp://&#039;&#039;&#039; will do.&lt;br /&gt;
For more information, look at the Streaming Howto.&lt;br /&gt;
&lt;br /&gt;
To receive an multicast UDP/RTP stream (sent by VLC&#039;s stream output), start VLC with:&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc rtp://@multicast_address:port&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
To receive a SSM (source specific multicast) stream, you can use:&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc rtp://server_address@multicast_address:port&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This only works on OSs that support SSM (Windows XP and Linux).&lt;br /&gt;
&lt;br /&gt;
To receive a HTTP stream, start VLC with:&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc http://www.example.org/your_file.mpg&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
To receive a RTSP stream, start VLC with:&amp;lt;/para&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc rtsp://www.example.org/your_stream&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Modules selection===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--intf  &amp;lt;module&amp;gt;&#039;&#039;&#039; allows you to select the interface module.&lt;br /&gt;
*&#039;&#039;&#039;--extraintf  &amp;lt;module&amp;gt;&#039;&#039;&#039; allows you to select extra interface modules that will be launched in addition to the main one. This is mainly useful for special &#039;&#039;control&#039;&#039; interfaces, like HTTP, RC (Remote Control), ... (see below)&lt;br /&gt;
*&#039;&#039;&#039;--aout  &amp;lt;module&amp;gt;&#039;&#039;&#039; allows you to select the audio output module.&lt;br /&gt;
*&#039;&#039;&#039;--vout  &amp;lt;module&amp;gt;&#039;&#039;&#039; allows you to select the video output module.&lt;br /&gt;
*&#039;&#039;&#039;--memcpy  &amp;lt;module&amp;gt;&#039;&#039;&#039; allows you to choose a memory copy module. You should probably never touch that.&lt;br /&gt;
&lt;br /&gt;
You can get a listing of the available modules by using &#039;&#039;&#039;vlc -l&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Stream Output===&lt;br /&gt;
&lt;br /&gt;
The Stream output system allows vlc to become a streaming server.&lt;br /&gt;
&lt;br /&gt;
For more details on the stream output system, please have a look at the [[Documentation:Streaming HowTo|Streaming HowTo]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Other Options===&lt;br /&gt;
&lt;br /&gt;
====Audio options====&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--noaudio&#039;&#039;&#039; disables audio output.&lt;br /&gt;
*&#039;&#039;&#039;--mono&#039;&#039;&#039; forces VLC to treat the stream in mono audio.&lt;br /&gt;
*&#039;&#039;&#039;--volume &amp;lt;integer&amp;gt;&#039;&#039;&#039; sets the level of audio output (between 0 and 1024).&lt;br /&gt;
*&#039;&#039;&#039;--aout-rate &amp;lt;integer&amp;gt;&#039;&#039;&#039; sets the audio output frequency (Hz). By default, VLC will try to autodetect this.&lt;br /&gt;
*&#039;&#039;&#039;--desync &amp;lt;integer&amp;gt;&#039;&#039;&#039; compensates desynchronization of audio (ms). (If audio and video streams are not synchronized, use this setting to delay the audio stream)&lt;br /&gt;
*&#039;&#039;&#039;--audio-filter &amp;lt;string&amp;gt;&#039;&#039;&#039; 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)&lt;br /&gt;
&lt;br /&gt;
====Video options====&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--novideo&#039;&#039;&#039; disables video output.&lt;br /&gt;
*&#039;&#039;&#039;--grayscale&#039;&#039;&#039; turns video output into grayscale mode.&lt;br /&gt;
*&#039;&#039;&#039;--fullscreen&#039;&#039;&#039; ( or &#039;&#039;&#039;-f&#039;&#039;&#039;) sets fullscreen video.&lt;br /&gt;
*&#039;&#039;&#039;--nooverlay&#039;&#039;&#039; disables hardware acceleration for the video output.&lt;br /&gt;
*&#039;&#039;&#039;--width, --height &amp;lt;integer&amp;gt;&#039;&#039;&#039; sets the video window dimensions. By default, the video window size will be adjusted to match the video dimensions.&lt;br /&gt;
*&#039;&#039;&#039;--zoom &amp;lt;float&amp;gt;&#039;&#039;&#039; adds a zoom factor.&lt;br /&gt;
*&#039;&#039;&#039;--aspect-ratio &amp;lt;mode&amp;gt;&#039;&#039;&#039; forces source aspect ratio. Modes are 4x3, 16x9, ...&lt;br /&gt;
*&#039;&#039;&#039;--spumargin  &amp;lt;integer&amp;gt;&#039;&#039;&#039; forces SPU subtitles postion.&lt;br /&gt;
*&#039;&#039;&#039;--filter &amp;lt;string&amp;gt;&#039;&#039;&#039; adds video filters to the processing chain. You can add several filters, separated by commas&lt;br /&gt;
*&#039;&#039;&#039;--sub-filter &amp;lt;string&amp;gt;&#039;&#039;&#039; adds video subpictures filter to the processing chain.&lt;br /&gt;
&lt;br /&gt;
====Playlist options====&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--random&#039;&#039;&#039; plays files randomly forever.&lt;br /&gt;
*&#039;&#039;&#039;--loop&#039;&#039;&#039; loops playlist on end.&lt;br /&gt;
*&#039;&#039;&#039;--repeat&#039;&#039;&#039; repeats current item until another item is forced&lt;br /&gt;
*&#039;&#039;&#039;--play-and-stop&#039;&#039;&#039; stops the playlist after each played item.&lt;br /&gt;
&lt;br /&gt;
====Network options====&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--server-port &amp;lt;integer&amp;gt;&#039;&#039;&#039; sets server port.&lt;br /&gt;
*&#039;&#039;&#039;--iface  &amp;lt;string&amp;gt;&#039;&#039;&#039; specifies the network interface to use.&lt;br /&gt;
*&#039;&#039;&#039;--iface-addr  &amp;lt;string&amp;gt;&#039;&#039;&#039; specifies your network interface IP address.&lt;br /&gt;
*&#039;&#039;&#039;--mtu  &amp;lt;integer&amp;gt;&#039;&#039;&#039; specifies the MTU of the network interface.&lt;br /&gt;
*&#039;&#039;&#039;--ipv6&#039;&#039;&#039; forces IPv6.&lt;br /&gt;
*&#039;&#039;&#039;--ipv4&#039;&#039;&#039; forces IPv4.&lt;br /&gt;
&lt;br /&gt;
====CPU options====&lt;br /&gt;
&lt;br /&gt;
You should probably not touch these options unless you know what you are doing.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--nommx&#039;&#039;&#039; disables the use of MMX CPU extensions.&lt;br /&gt;
*&#039;&#039;&#039;--no3dn&#039;&#039;&#039; disables the use of 3D Now! CPU extensions.&lt;br /&gt;
*&#039;&#039;&#039;--nommxext&#039;&#039;&#039; disables the use of MMX Ext CPU extensions.&lt;br /&gt;
*&#039;&#039;&#039;--nosse&#039;&#039;&#039; disables the use of SSE CPU extensions.&lt;br /&gt;
*&#039;&#039;&#039;--noaltivec&#039;&#039;&#039; disables the use of Altivec CPU extensions.&lt;br /&gt;
&lt;br /&gt;
====Miscellaneous options====&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--quiet&#039;&#039;&#039;  deactivates all console messages.&lt;br /&gt;
*&#039;&#039;&#039;--color&#039;&#039;&#039; displays color messages.&lt;br /&gt;
*&#039;&#039;&#039;--search-path  &amp;lt;string&amp;gt;&#039;&#039;&#039; specifies interface default search path.&lt;br /&gt;
*&#039;&#039;&#039;--plugin-path  &amp;lt;string&amp;gt;&#039;&#039;&#039; specifies plugin search path.&lt;br /&gt;
*&#039;&#039;&#039;--no-plugins-cache&#039;&#039;&#039; disables the plugin cache (plugins cache speeds up startup)&lt;br /&gt;
*&#039;&#039;&#039;--dvd  &amp;lt;string&amp;gt;&#039;&#039;&#039; specifies the default DVD device.&lt;br /&gt;
*&#039;&#039;&#039;--vcd  &amp;lt;string&amp;gt;&#039;&#039;&#039; specifies the default VCD device.&lt;br /&gt;
*&#039;&#039;&#039;--program  &amp;lt;integer&amp;gt;&#039;&#039;&#039; specifies program (SID) (for streams with several programs, like satellite ones).&lt;br /&gt;
*&#039;&#039;&#039;--audio-type  &amp;lt;integer&amp;gt;&#039;&#039;&#039; specifies the default audio type to use with dvds.&lt;br /&gt;
*&#039;&#039;&#039;--audio-channel  &amp;lt;integer&amp;gt;&#039;&#039;&#039; specifies the default audio channel to use with dvds.&lt;br /&gt;
*&#039;&#039;&#039;--spu-channel  &amp;lt;integer&amp;gt;&#039;&#039;&#039; specifies the default subtitle channel to use with dvds.&lt;br /&gt;
*&#039;&#039;&#039;--version&#039;&#039;&#039; gives you information about the current VLC version.&lt;br /&gt;
*&#039;&#039;&#039;--module  &amp;lt;module&amp;gt; &#039;&#039;&#039; displays help about specified module. (Shortcut: &#039;&#039;&#039;-p&#039;&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
===Item-specific options===&lt;br /&gt;
&lt;br /&gt;
There are many options that are related to items (like &#039;&#039;&#039;--novideo&#039;&#039;&#039;, &#039;&#039;&#039;--codec&#039;&#039;&#039;, &#039;&#039;&#039;--fullscreen&#039;&#039;&#039;).&lt;br /&gt;
&lt;br /&gt;
For all of these, you have the possibility to make them item-specific, using &amp;quot;:&amp;quot; instead of &amp;quot;--&amp;quot; and putting the option just after the concerned item.&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc file1.mpg :fullscreen file2.mpg&#039;&#039;&#039;&lt;br /&gt;
will play file1.mpg in fullscreen mode and file2.mpg in the default mode (which is generally no fullscreen), whereas&lt;br /&gt;
 % &#039;&#039;&#039;vlc --fullscreen file1.mpg file2.mpg&#039;&#039;&#039;&lt;br /&gt;
will play both files in fullscreen mode&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc --fullscreen file1.mpg :sub-file=file1.srt :no-fullscreen file2.mpg :filter=distort&#039;&#039;&#039;&lt;br /&gt;
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)&lt;br /&gt;
&lt;br /&gt;
==Advanced use of filters==&lt;br /&gt;
&lt;br /&gt;
===Filters===&lt;br /&gt;
&lt;br /&gt;
These are the old style VLC filters. They only apply to on screen display and thus cannot be streamed.&lt;br /&gt;
&lt;br /&gt;
====Deinterlacing video filter====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;deinterlace&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--deinterlace-mode {discard,blend,mean,bob,linear}&#039;&#039;&#039; choose a deinterlacing mode.&lt;br /&gt;
&lt;br /&gt;
====Invert video filter====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;invert&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Image properties filter====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;adjust&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--contrast &amp;lt;float&amp;gt;&#039;&#039;&#039; Image contrast in the 0-2 range.&lt;br /&gt;
*&#039;&#039;&#039;--brightness &amp;lt;float&amp;gt;&#039;&#039;&#039; Image brightness in the 0-2 range.&lt;br /&gt;
*&#039;&#039;&#039;--hue &amp;lt;integer&amp;gt;&#039;&#039;&#039; Image hue in the 0-360 range.&lt;br /&gt;
*&#039;&#039;&#039;--saturation &amp;lt;float&amp;gt;&#039;&#039;&#039; Image saturation in the 0-3 range.&lt;br /&gt;
*&#039;&#039;&#039;-gamma &amp;lt;float&amp;gt;&#039;&#039;&#039; Image gamma in the 0-10 range.&lt;br /&gt;
&lt;br /&gt;
====Wall video filter====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;wall&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This filter splits the output in several windows.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--wall-cols &amp;lt;integer&amp;gt;&#039;&#039;&#039; Number of columns.&lt;br /&gt;
*&#039;&#039;&#039;--wall-rows &amp;lt;integer&amp;gt;&#039;&#039;&#039; Number of rows.&lt;br /&gt;
*&#039;&#039;&#039;--wall-active &amp;lt;string&amp;gt;&#039;&#039;&#039; Select the windows you want to display. To select windows 2 and 4 you would write &#039;&#039;&#039;--wall-active 2,4&#039;&#039;&#039;. When this option isn&#039;t specified, all windows are displayed.&lt;br /&gt;
&lt;br /&gt;
====Video transformation filter====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;transform&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--transform-type {90,180,270,hflip,vflip}&#039;&#039;&#039; Select rotation angle or symmetry.&lt;br /&gt;
&lt;br /&gt;
====Distort video filter====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;distort&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Clone video filter====&lt;br /&gt;
&lt;br /&gt;
This filter clones the output window.&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;clone&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--clone-count &amp;lt;integer&amp;gt;&#039;&#039;&#039; Number of clones.&lt;br /&gt;
*&#039;&#039;&#039;--clone-vout-list &amp;lt;string&amp;gt;&#039;&#039;&#039; Comma separated string of video output modules.&lt;br /&gt;
&lt;br /&gt;
====Crop video filter====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;crop&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--crop-geometry &amp;lt;string&amp;gt;&#039;&#039;&#039; Set the geometry of the zone to crop. This is set as &amp;lt;width&amp;gt; x &amp;lt;height&amp;gt; + &amp;lt;left offset&amp;gt; + &amp;lt;top offset&amp;gt;.&lt;br /&gt;
*&#039;&#039;&#039;--autocrop&#039;&#039;&#039; Enable automatic black border cropping.&lt;br /&gt;
&lt;br /&gt;
====Motion blur filter====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;motionblur&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;blur-factor &amp;lt;integer&amp;gt;&#039;&#039;&#039; Blur factor in the 1-127 range.&lt;br /&gt;
&lt;br /&gt;
====Video pictures blending====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;blend&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Video scaling filter====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;scale&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Subpictures Filters===&lt;br /&gt;
&lt;br /&gt;
These are the new VLC filters. They can be streamed.&lt;br /&gt;
&lt;br /&gt;
====Time display sub filter====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;time&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--time-format &amp;lt;string&amp;gt;&#039;&#039;&#039; Time format string. You can use the following special characters %Y = year, %m = month, %d = day, %H = hour, %M = minute, %S = second.&lt;br /&gt;
*&#039;&#039;&#039;--time-x &amp;lt;integer&amp;gt;&#039;&#039;&#039; X offset from the left in pixels.&lt;br /&gt;
*&#039;&#039;&#039;--time-y &amp;lt;integer&amp;gt;&#039;&#039;&#039; Y offset from the top in pixels.&lt;br /&gt;
&lt;br /&gt;
====Marquee display sub filter====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;marq&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--marq-marquee &amp;lt;string&amp;gt;&#039;&#039;&#039; Marquee text to display.&lt;br /&gt;
*&#039;&#039;&#039;--marq-x &amp;lt;integer&amp;gt;&#039;&#039;&#039; X offset from the left in pixels.&lt;br /&gt;
*&#039;&#039;&#039;--marq-y &amp;lt;integer&amp;gt;&#039;&#039;&#039; Y offset from the top in pixels.&lt;br /&gt;
*&#039;&#039;&#039;--marq-timeout &amp;lt;timeout&amp;gt;&#039;&#039;&#039; Defines the time the marquee must remain displayed in milliseconds. Default value is 0 (remain forever).&lt;br /&gt;
&lt;br /&gt;
====Logo video filter====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;logo&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This filter can be used both as an old style filter or a subpictures filter.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--logo-file &amp;lt;string&amp;gt;&#039;&#039;&#039; Full path of the PNG file to use.&lt;br /&gt;
*&#039;&#039;&#039;--logo-x &amp;lt;integer&amp;gt;&#039;&#039;&#039; X offset from the left in pixels.&lt;br /&gt;
*&#039;&#039;&#039;--logo-y &amp;lt;integer&amp;gt;&#039;&#039;&#039; Y offset from the top in pixels.&lt;br /&gt;
*&#039;&#039;&#039;--logo-transparency &amp;lt;integer&amp;gt;&#039;&#039;&#039; You can set the logo transparency value here (from 0 for full transparency to 255 for full opacity).&lt;br /&gt;
&lt;br /&gt;
Note: You can move the logo by left-clicking on it.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==The HTTP interface==&lt;br /&gt;
&lt;br /&gt;
VLC ships with a little HTTP server integrated. It is used both to stream using HTTP, and for the HTTP remote control interface.&lt;br /&gt;
&lt;br /&gt;
To start VLC with the HTTP interface, use:&lt;br /&gt;
 % &#039;&#039;&#039;vlc -I http [--http-src /directory/] [--http-host host:port]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If you want to have both the &amp;quot;normal&amp;quot; interface and the HTTP interface, use &#039;&#039;&#039;vlc --extraintf http&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
The HTTP interface will start listening at host:port (&amp;lt;all interfaces&amp;gt;:8080 if omitted), and will reproduce the structure of /directory at http://host:port/ ( vlc_source_path/share/http if omitted ).&lt;br /&gt;
&lt;br /&gt;
Use a browser to go to http://your_host_machine:port. You should be taken to the main page.&lt;br /&gt;
&lt;br /&gt;
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]].&lt;br /&gt;
&lt;br /&gt;
Available pages are:&lt;br /&gt;
* &#039;&#039;&#039;list was obsolete&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Other control interfaces==&lt;br /&gt;
&lt;br /&gt;
VLC includes a number of so-called interfaces that are not really 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 &#039;&#039;&#039;-I&#039;&#039;&#039; or &#039;&#039;&#039;--extraintf&#039;&#039;&#039; on the command line.&lt;br /&gt;
&lt;br /&gt;
===Hotkeys===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Hotkeys can be hacked by:&lt;br /&gt;
 % &#039;&#039;&#039;vlc --key-&amp;lt;function&amp;gt; &amp;amp;lt;code&amp;amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Code is composed by modifiers keys (Alt, Shift, Ctrl, Meta,Command) separated by a dash (-) and terminated by a key (a...z, +, =, -, &#039;,&#039;, +, &amp;amp;lt;, &amp;amp;gt;, `, /, ;, &#039;, \, [, ], *, 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 &#039;&#039;&#039;--longhelp&#039;&#039;&#039; option for full list of functions).&lt;br /&gt;
For example, for binding fullscreen to Ctrl-f, run:&lt;br /&gt;
 % &#039;&#039;&#039;vlc --key-fullscreen &#039;Ctrl-f&#039; &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===RC and RTCI===&lt;br /&gt;
&lt;br /&gt;
These two interfaces allow you to control VLC from a command shell (possibly using a remote connexion or a Unix socket).&lt;br /&gt;
&lt;br /&gt;
Start VLC with &#039;&#039;&#039;-I rc&#039;&#039;&#039; or &#039;&#039;&#039;--extraintf rc&#039;&#039;&#039;. When you get the &#039;&#039;&#039;Remote control interface initialized, `h&#039; for help&#039;&#039;&#039; message, press h and Enter to get help about available commands.&lt;br /&gt;
&lt;br /&gt;
To be able to remote connect to your VLC using a TCP socket (telnet-like connexion), use &#039;&#039;&#039;--rc-host your_host:port&#039;&#039;&#039;. Then, by connecting (using telnet or netcat) to the host on the given port, you will get the command shell.&lt;br /&gt;
&lt;br /&gt;
To use a UNIX socket (local socket, this does not work for Windows), use &#039;&#039;&#039;--rc-unix /path/to/socket&#039;&#039;&#039;. Commands can then be passed using this UNIX socket.&lt;br /&gt;
&lt;br /&gt;
The RTCI interface gives you more advanced options, such as marquee control for the marquee subpicture filter (See filter section).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Ncurses===&lt;br /&gt;
&lt;br /&gt;
This is a text interface, using ncurses library.&lt;br /&gt;
&lt;br /&gt;
Start VLC with &#039;&#039;&#039;-I ncurses&#039;&#039;&#039; or &#039;&#039;&#039;--extraintf ncurses&#039;&#039;&#039;. You will then get something like that:&lt;br /&gt;
&lt;br /&gt;
http://www.videolan.org/doc/play-howto/en/images/play-howto/intf-ncurses-playlist.jpg The ncurses interface&lt;br /&gt;
&lt;br /&gt;
Press h to get the list of all available commands, with a short description.&lt;br /&gt;
&lt;br /&gt;
There is also a filebrowser available for the ncurses interface in order to add playlist items. Press &#039;B&#039; to use it.&lt;br /&gt;
&lt;br /&gt;
http://www.videolan.org/doc/play-howto/en/images/play-howto/intf-ncurses-filebrowser.jpg The ncurses filebrowser&lt;br /&gt;
&lt;br /&gt;
You can set the filebrowser starting point by launching vlc with the &#039;&#039;&#039;--browse-dir&#039;&#039;&#039; option:&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc -I ncurses --browse-dir /filebrowser/starting/point/&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Gestures===&lt;br /&gt;
&lt;br /&gt;
Gestures provide a simple mouse gestures control. TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==The Mozilla plugin==&lt;br /&gt;
&lt;br /&gt;
VLC can also be embedded in a web browser! The following browsers are supported [http://www.mozilla.org/ Mozilla], [http://www.mozilla.org/products/firefox/ Firefox] and [http://www.apple.com/macosx/features/safari Safari].&lt;br /&gt;
&lt;br /&gt;
===Install the plugin===&lt;br /&gt;
&lt;br /&gt;
====GNU/Linux Debian====&lt;br /&gt;
&lt;br /&gt;
Install the &#039;&#039;mozilla-plugin-vlc&#039;&#039; package:&lt;br /&gt;
&lt;br /&gt;
 # &#039;&#039;&#039;apt-get update&#039;&#039;&#039;&lt;br /&gt;
 # &#039;&#039;&#039;apt-get install mozilla-plugin-vlc&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Windows====&lt;br /&gt;
&lt;br /&gt;
Quit Firefox or Mozilla.&lt;br /&gt;
&lt;br /&gt;
Copy the two files in &#039;&#039;&#039;VLC_Installation_folder\mozilla&#039;&#039;&#039; (usually &#039;&#039;&#039;C:\Program Files\VideoLAN\VLC\mozilla&#039;&#039;&#039;) to your mozilla plugins directory (Usually &#039;&#039;&#039;C:\Program Files\Mozilla\plugins&#039;&#039;&#039; or &#039;&#039;&#039;C:\Program Files\Mozilla&lt;br /&gt;
Firefox\plugins&#039;&#039;&#039;).&lt;br /&gt;
&lt;br /&gt;
Restart Firefox or Mozilla.&lt;br /&gt;
&lt;br /&gt;
====MacOS X====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;The Mozilla/Safari plugin for MacOS X is only available from vlc version 0.8.5.1 and onwards.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Quit Safari browser.&lt;br /&gt;
&lt;br /&gt;
Download the Mozilla/safari plugin package from [http://www.videolan.org/vlc/download-macosx.html MacOS X download page].&lt;br /&gt;
&lt;br /&gt;
Run the installer from the dmg image.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Compile the sources yourself====&lt;br /&gt;
&lt;br /&gt;
Please look at the [http://developers.videolan.org developers page] for information on how to do this.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Use the mozilla plugin===&lt;br /&gt;
&lt;br /&gt;
If you open a link to a video file handled by the VLC plugin (To get the list of handled types, browse to &#039;&#039;&#039;about:plugins&#039;&#039;&#039;) or a page with an embedded video, the plugin should open and read the&lt;br /&gt;
video.&lt;br /&gt;
&lt;br /&gt;
===Build HTML pages that use the plugin (VLC version up to 0.8.5)===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;WARNING:&#039;&#039;&#039; the APIs described in this section are &#039;&#039;&#039;deprecated&#039;&#039;&#039;, do not use, &lt;br /&gt;
&lt;br /&gt;
The following API description is only valid uptill version 0.8.5 of the mozilla plugin.&lt;br /&gt;
&lt;br /&gt;
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&lt;br /&gt;
plugin.&lt;br /&gt;
&lt;br /&gt;
The vlc plugin supports the following function calls:&lt;br /&gt;
*&#039;&#039;&#039;play()&#039;&#039;&#039;: Start playing media in the plugin.&lt;br /&gt;
*&#039;&#039;&#039;pause()&#039;&#039;&#039;: Pause playback.&lt;br /&gt;
*&#039;&#039;&#039;stop()&#039;&#039;&#039;: Stop media playback.&lt;br /&gt;
*&#039;&#039;&#039;fullscreen()&#039;&#039;&#039;: Switch the video to full screen.&lt;br /&gt;
*&#039;&#039;&#039;set_volume(vol)&#039;&#039;&#039;: Set the volume. &#039;&#039;&#039;vol&#039;&#039;&#039; has to be an int in the 0-200 range.&lt;br /&gt;
*&#039;&#039;&#039;get_volume()&#039;&#039;&#039;: Get the current volume setting.&lt;br /&gt;
*&#039;&#039;&#039;mute()&#039;&#039;&#039;: Toggle volume muting.&lt;br /&gt;
*&#039;&#039;&#039;set_int_variable(var_name, value)&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;set_bool_variable(var_name, value)&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;set_str_variable(var_name, value)&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;get_int_variable(var_name)&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;get_bool_variable(var_name)&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;get_str_variable(var_name)&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;clear_playlist()&#039;&#039;&#039;: Clear the playlist.&lt;br /&gt;
*&#039;&#039;&#039;add_item(mrl)&#039;&#039;&#039;: Append an item whose location is given by the [[media resource locator]] to the playlist.&lt;br /&gt;
*&#039;&#039;&#039;next()&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;previous()&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;isplaying()&#039;&#039;&#039;: return true if the plugin is playing something.&lt;br /&gt;
*&#039;&#039;&#039;get_length()&#039;&#039;&#039;: Get the media&#039;s length in seconds.&lt;br /&gt;
*&#039;&#039;&#039;get_position()&#039;&#039;&#039;: Get the current position in the media in percent.&lt;br /&gt;
*&#039;&#039;&#039;get_time()&#039;&#039;&#039;: Get the current position in the media in seconds.&lt;br /&gt;
*&#039;&#039;&#039;seek(seconds,is_relative)&#039;&#039;&#039;: If is_relative is true, seek relatively to current time, else seek from beginning of the stream. Seek time is specified in seconds.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Here are a few examples of HTML pages that use the&lt;br /&gt;
Mozilla plugin.&lt;br /&gt;
&lt;br /&gt;
====Example 1====&lt;br /&gt;
&lt;br /&gt;
In this example, the plugin will read an HTTP stream inside the web page. If the user goes fullscreen, he will have to press &#039;&#039;f&#039;&#039; or double-click on the video to go back in normal view.&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;html&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;head&amp;amp;gt;&amp;amp;lt;title&amp;amp;gt;Demo of VLC mozilla plugin&amp;amp;lt;/title&amp;amp;gt;&amp;amp;lt;/head&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;body&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;h1&amp;amp;gt;Demo of VLC mozilla plugin - Example 1&amp;amp;lt;/h1&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;embed type=&amp;quot;application/x-vlc-plugin&amp;quot;&lt;br /&gt;
          name=&amp;quot;video1&amp;quot;&lt;br /&gt;
          autoplay=&amp;quot;no&amp;quot; loop=&amp;quot;yes&amp;quot; width=&amp;quot;400&amp;quot; height=&amp;quot;300&amp;quot;&lt;br /&gt;
          target=&amp;quot;http://server.example.org/video1.vob&amp;quot; /&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;br /&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video1.play()&#039;&amp;amp;gt;Play video1&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video1.pause()&#039;&amp;amp;gt;Pause video1&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video1.stop()&#039;&amp;amp;gt;Stop video1&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video1.fullscreen()&#039;&amp;amp;gt;Fullscreen&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;/body&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/html&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Example 2====&lt;br /&gt;
&lt;br /&gt;
In this example, the plugin will read a multicast UDP/RTP stream in a dedicated video output window.&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;html&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;head&amp;amp;gt;&amp;amp;lt;title&amp;amp;gt;Demo of VLC mozilla plugin&amp;amp;lt;/title&amp;amp;gt;&amp;amp;lt;/head&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;body&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;h1&amp;amp;gt;Demo of VLC mozilla plugin - Example 2&amp;amp;lt;/h1&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;embed type=&amp;quot;application/x-vlc-plugin&amp;quot;&lt;br /&gt;
          name=&amp;quot;video2&amp;quot;&lt;br /&gt;
          autoplay=&amp;quot;no&amp;quot; loop=&amp;quot;no&amp;quot; hidden=&amp;quot;yes&amp;quot;&lt;br /&gt;
          target=&amp;quot;rtp://@239.255.12.42:5004&amp;quot; /&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;br /&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video2.play()&#039;&amp;amp;gt;Play video2&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video2.stop()&#039;&amp;amp;gt;Stop video2&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video2.fullscreen()&#039;&amp;amp;gt;Fullscreen&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;/body&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/html&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Building HTML pages for Mozilla/Firefox/Internet Explorer/Safari (VLC version 0.8.6 and above)==&lt;br /&gt;
&lt;br /&gt;
The following description works for any of the browsers VLC supports. The JavaScript API has been unified between Mozilla/Firefox/IE (ActiveX) and Safari, thus targetting at all of the major OS out there. This is only valid for VLC version 0.8.6 and above.&lt;br /&gt;
&lt;br /&gt;
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&lt;br /&gt;
plugin.&lt;br /&gt;
&lt;br /&gt;
The vlc plugin exports serveral objects that can be accessed for setting and getting information. When used improperly the API&#039;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.&lt;br /&gt;
&lt;br /&gt;
The vlc plugin knows the following objects:&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;audio&#039;&#039;&#039;: Access audio properties.&lt;br /&gt;
*&#039;&#039;&#039;input&#039;&#039;&#039;: Access input properties.&lt;br /&gt;
*&#039;&#039;&#039;playlist&#039;&#039;&#039;: Access playlist properties.&lt;br /&gt;
*&#039;&#039;&#039;video&#039;&#039;&#039;: Access video properties.&lt;br /&gt;
*&#039;&#039;&#039;log&#039;&#039;&#039;: Access log properties.&lt;br /&gt;
*&#039;&#039;&#039;messages&#039;&#039;&#039;: Access to log message properties.&lt;br /&gt;
*&#039;&#039;&#039;iterator&#039;&#039;&#039;: Access to log iterator properties.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;html&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;title&amp;amp;gt;VLC Mozilla plugin test page&amp;amp;lt;/title&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;body&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;embed type=&amp;quot;application/x-vlc-plugin&amp;quot; pluginspage=&amp;quot;http://www.videolan.org&amp;quot; version=&amp;quot;VideoLAN.VLCPlugin.2&amp;quot;&lt;br /&gt;
     width=&amp;quot;640&amp;quot;&lt;br /&gt;
     height=&amp;quot;480&amp;quot;&lt;br /&gt;
     id=&amp;quot;vlc&amp;quot;&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/embed&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;script language=&amp;quot;Javascript&amp;quot;&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;!--&lt;br /&gt;
 var vlc = document.getElementById(&amp;quot;vlc&amp;quot;);&lt;br /&gt;
 vlc.audio.toggleMute();&lt;br /&gt;
 !--&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/script&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/body&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/html&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Root object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;VersionInfo&#039;&#039;&#039;: returns version information string&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;vlc.versionInfo()&#039;&#039;&#039;: returns version information string (same as VersionInfo)&lt;br /&gt;
&lt;br /&gt;
====Audio object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.audio.mute&#039;&#039;&#039;: boolean value to mute and ummute the audio&lt;br /&gt;
*&#039;&#039;&#039;vlc.audio.volume&#039;&#039;&#039;: a value between [0-200] which indicates a percentage of the volume.&lt;br /&gt;
*&#039;&#039;&#039;vlc.audio.track&#039;&#039;&#039;: (supported in vlc version &amp;gt; 0.8.6) a value between [1-65535] which indicates the audio track to play or that is playing. a value of 0 means the audio is/will be disabled.&lt;br /&gt;
*&#039;&#039;&#039;vlc.audio.channel&#039;&#039;&#039;: (supported in vlc version &amp;gt; 0.8.6) integer value between [1-5] that indicates which audio channel mode is used, values can be: &amp;quot;1=stereo&amp;quot;, &amp;quot;2=reverse stereo&amp;quot;, &amp;quot;3=left&amp;quot;, &amp;quot;4=right&amp;quot;, &amp;quot;5=dolby&amp;quot;. Use vlc.audio.channel to check if setting of the audio channel mode has succeeded.&lt;br /&gt;
&lt;br /&gt;
 Audio Channel:&lt;br /&gt;
 &amp;lt;SELECT readonly onChange=&#039;doAudioChannel(this.value)&#039;&amp;gt;&lt;br /&gt;
    &amp;lt;OPTION value=1&amp;gt;Stereo&amp;lt;/OPTION&amp;gt;&lt;br /&gt;
    &amp;lt;OPTION value=2&amp;gt;Reverse stereo&amp;lt;/OPTION&amp;gt;&lt;br /&gt;
    &amp;lt;OPTION value=3&amp;gt;Left&amp;lt;/OPTION&amp;gt;&lt;br /&gt;
    &amp;lt;OPTION value=4&amp;gt;Right&amp;lt;/OPTION&amp;gt;&lt;br /&gt;
    &amp;lt;OPTION value=5&amp;gt;Dolby&amp;lt;/OPTION&amp;gt;&lt;br /&gt;
 &amp;lt;/SELECT&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;SCRIPT language=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;amp;lt;!--&lt;br /&gt;
 function doAudioChannel(value)&lt;br /&gt;
 {&lt;br /&gt;
    var vlc = getVLC(&amp;quot;vlc&amp;quot;);&lt;br /&gt;
    vlc.audio.channel = parseInt(value);&lt;br /&gt;
    alert(vlc.audio.channel);&lt;br /&gt;
 };&lt;br /&gt;
 --&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;vlc.audio.toggleMute()&#039;&#039;&#039;: boolean toggle that mutes and unmutes the audio based upon the previous state&lt;br /&gt;
&lt;br /&gt;
====Input object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.length&#039;&#039;&#039;: length of the input file in number of milliseconds. 0 is returned for &#039;live&#039; streams or clips whose length cannot be determined by VLC. It returns -1 if no input is playing. &lt;br /&gt;
*&#039;&#039;&#039;vlc.input.fps&#039;&#039;&#039;: frames per second returned as a float (typically 60.0, 50.0, 23.976, etc...)&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.hasVout&#039;&#039;&#039;: a boolean that returns true when the video is being displayed, it returns false when video is not displayed&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.position&#039;&#039;&#039;: normalized position in multimedia stream item given as a float value between [0.0 - 1.0]&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.time&#039;&#039;&#039;: the absolute position in time given in milliseconds, this property can be used to seek through the stream&lt;br /&gt;
 &amp;amp;lt;!-- absolute seek in stream !--&amp;amp;gt;&lt;br /&gt;
 vlc.input.time = &amp;amp;lt;absolute seek&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;!-- relative seek in stream !--&amp;amp;gt;&lt;br /&gt;
 vlc.input.time = vlc.input.time + &amp;amp;lt;relative seek&amp;amp;gt;&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.state&#039;&#039;&#039;: current state of the input chain given as enumeration (IDLE=0, OPENING=1, BUFFERING=2, PLAYING=3, PAUSED=4, STOPPING=5, ENDED=6, ERROR=7). Note: Test for ENDED=6 to catch end of playback. Checking for STOPPING=5 is NOT ENOUGH.&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.rate&#039;&#039;&#039;: input speed given as float (1.0 for normal speed, 0.5 for half speed, 2.0 for twice as fast, etc.).&lt;br /&gt;
 rate &amp;amp;gt; 1              : is fastforward&lt;br /&gt;
 rate &amp;amp;gt; 0 and rate &amp;amp;lt; 1 : is slow motion&lt;br /&gt;
 rate &amp;amp;lt; 0              : is rewind&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Playlist object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.itemCount&#039;&#039;&#039;: number that returns the amount of items currently in the playlist (&#039;&#039;&#039;deprecated&#039;&#039;&#039;, do not use, see [[#Playlist_items_object| Playlist items]])&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.isPlaying&#039;&#039;&#039;: a boolean that returns true if the current playlist item is playing and false when it is not playing&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.items&#039;&#039;&#039;: return the playlist items collection, see [[#Playlist_items_object| Playlist items]]&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.add(mrl)&#039;&#039;&#039;: add a playlist item as [[MRL]]. The MRL must be given as a string. Returns a number as an item identifier in playlist (this is not a position  in playlist).&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.add(mrl,name,options)&#039;&#039;&#039;: add a playlist item as MRL, with metaname &#039;name&#039; and options &#039;options&#039;. options are text arguments which can be provided either as a single string containing space separated values, akin to VLC command line, or as an array of string values. Returns a number as an item identifier in playlist (this is not a position in playlist).&lt;br /&gt;
  var options = new Array(&amp;quot;:aspect-ratio=4:3&amp;quot;, &amp;quot;--rtsp-tcp&amp;quot;);&lt;br /&gt;
  var id = vlc.playlist.add(&amp;quot;rtsp://servername/item/to/play&amp;quot;, &amp;quot;fancy name&amp;quot;, options);&lt;br /&gt;
  vlc.playlist.playItem(id);&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.play()&#039;&#039;&#039;: start playing the current playlist item&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.playItem(number)&#039;&#039;&#039;: start playing the item whose identifier is number&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.togglePause()&#039;&#039;&#039;: toggle the pause state for the current playlist item&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.stop()&#039;&#039;&#039;: stop playing the current playlist item&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.next()&#039;&#039;&#039;: iterate to the next playlist item&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.prev()&#039;&#039;&#039;: iterate to the previous playlist item&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.clear()&#039;&#039;&#039;: empty the current playlist, all items will be deleted from the playlist (&#039;&#039;&#039;deprecated&#039;&#039;&#039;, do not use, see [[#Playlist_items_object| Playlist items]])&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.removeItem(number)&#039;&#039;&#039;: remove the item from playlist whose identifier is number &amp;lt;!-- (note: this number isn&#039;t the position in the playlist, but the number given by vlc.playlist.add() ) --&amp;gt; (&#039;&#039;&#039;deprecated&#039;&#039;&#039;, do not use, see [[#Playlist_items_object| Playlist items]])&lt;br /&gt;
&lt;br /&gt;
====Playlist items object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.items.count&#039;&#039;&#039;: number of items currently in the playlist&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.items.clear()&#039;&#039;&#039;: empty the current playlist, all items will be deleted from the playlist. If a movie is playing, it stop. Note that when this method returns, playlist may not have been entirely been cleared as this operation is performed asynchronously; use the &#039;&#039;count&#039;&#039; property to verify/wait until the playlist is empty.&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.items.remove(number)&#039;&#039;&#039;: remove the item whose identifier is number from playlist. (note: this number isn&#039;t the position in the playlist, but the number given by vlc.playlist.add() )&lt;br /&gt;
&lt;br /&gt;
====Video object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.width&#039;&#039;&#039;: returns the horizontal size of the video&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.height&#039;&#039;&#039;: returns the vertical size of the video&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.fullscreen&#039;&#039;&#039;: 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.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.aspectRatio&#039;&#039;&#039;: get and set the aspect ratio to use in the video screen. The property takes a string as input value. Typical values are: &amp;quot;1:1&amp;quot;, &amp;quot;4:3&amp;quot;, &amp;quot;16:9&amp;quot;, &amp;quot;16:10&amp;quot;, &amp;quot;221:100&amp;quot; and &amp;quot;5:4&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.subtitle&#039;&#039;&#039;: (supported in vlc version &amp;gt; 0.8.6a) get and set the subtitle track to show on the video screen. The property takes an integer as input value [1..65535]. If subtitle track is set to 0, the subtitles will be disabled. If set to a value outside the current subtitle tracks range, then it will return -1 and display an error message.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.teletext&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 0.9.0) get and set teletext page to show on the video stream. This will only work if a teletext elementary stream is available in the video stream. The property takes an integer as input value [0..999] for indicating the teletext page to view, setting the value to 0 means hide teletext. On error it will return -1 and display an error message.&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.toggleFullscreen()&#039;&#039;&#039;: toggle the fullscreen mode based on the previous setting&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.toggleTeletext()&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 0.9.0) toggle the teletext page to overlay transparent or not, based on the previous setting&lt;br /&gt;
&lt;br /&gt;
====Log object====&lt;br /&gt;
&lt;br /&gt;
this object allows accessing VLC main message logging queue. Typically this queue capacity is very small (no nore than 256 entries) and can easily overflow, therefore messages should be read and cleared as often as possible.&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.log.messages&#039;&#039;&#039;: returns the message collection, see [[Messages object]]&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.log.verbosity&#039;&#039;&#039;: write number [-1,0,1,2,3] for changing the verbosity level of the log messages; messages whose verbosity is higher than set will be not be logged in the queue. The numbers have the following meaning: -1 disable, 0 info, 1 error, 2 warning, 3 debug. &lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Messages object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;messages.count&#039;&#039;&#039;: returns number of messages in the log&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;messages.clear()&#039;&#039;&#039;: clear the current log buffer. It should be called as frequently as possible to not overflow the message queue. Call this method after the log messages of interest are read.&lt;br /&gt;
*&#039;&#039;&#039;messages.iterator()&#039;&#039;&#039;: creates and returns an iterator object, used to iterate over the messages in the log. &#039;&#039;&#039;Don&#039;t clear the log buffer while holding an iterator object.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Messages Iterator object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;iterator.hasNext&#039;&#039;&#039;: returns a boolean that indicates whether &#039;&#039;vlc.log.messages.next()&#039;&#039; will return the next message.&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;iterator.next()&#039;&#039;&#039;: returns the next message object in the log, see [[Message object]]&lt;br /&gt;
&lt;br /&gt;
====Message object====&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;message.severity&#039;&#039;&#039;: number that indicates the severity of the log message (0 = info, 1 = error, 2 = warning, 3 = debug)&lt;br /&gt;
*&#039;&#039;&#039;message.name&#039;&#039;&#039;: name of VLC module that printed the log message (e.g: main, http, directx, etc...)&lt;br /&gt;
*&#039;&#039;&#039;message.type&#039;&#039;&#039;: type of VLC module that printed the log message (eg: input, access, vout, sout, etc...)&lt;br /&gt;
*&#039;&#039;&#039;message.message&#039;&#039;&#039;: the message text&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Documentation}}&lt;/div&gt;</summary>
		<author><name>Jpsaman</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=Documentation:Advanced_Use_of_VLC&amp;diff=13919</id>
		<title>Documentation:Advanced Use of VLC</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=Documentation:Advanced_Use_of_VLC&amp;diff=13919"/>
		<updated>2009-05-05T09:01:09Z</updated>

		<summary type="html">&lt;p&gt;Jpsaman: /* Input object */ clarify return value for input.length&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{RightMenu|documentation play howto toc}}&lt;br /&gt;
&lt;br /&gt;
==Use the command line==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;TODO: completely outdated&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
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&#039;t need or want a GUI. Here is the complete description of VLC&#039;s command line and how to use it.&lt;br /&gt;
&lt;br /&gt;
You need to be quite comfortable with command line usage to use this.&lt;br /&gt;
&lt;br /&gt;
 Note: Windows users have to use the &#039;&#039;--option-name=&amp;quot;value&amp;quot;&#039;&#039; syntax instead of the &#039;&#039;--option-name value&#039;&#039; syntax.&lt;br /&gt;
&lt;br /&gt;
===Getting help===&lt;br /&gt;
&lt;br /&gt;
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, ...&lt;br /&gt;
&lt;br /&gt;
This chapter will only describe the &amp;quot;general&amp;quot; options, i.e. the core options. Each module adds new options. For example, the HTTP input module will add options for caching, proxy, authentication, ...&lt;br /&gt;
&lt;br /&gt;
By using &#039;&#039;&#039;vlc --help&#039;&#039;&#039;, you will get the basic core options. &#039;&#039;&#039;vlc --longhelp&#039;&#039;&#039; will give all the basic options (core + modules). Adding &#039;&#039;&#039;--advanced&#039;&#039;&#039; will give the &amp;quot;advanced options&amp;quot; (for advanced users). So &#039;&#039;&#039;vlc --longhelp --advanced&#039;&#039;&#039; will give you all options. You can also append &#039;&#039;&#039;--help-verbose&#039;&#039;&#039; if you want more detailed help.&lt;br /&gt;
&lt;br /&gt;
Also, you might want to get debug informations. To do this, use &#039;&#039;&#039;-v&#039;&#039;&#039; or &#039;&#039;&#039;-vv&#039;&#039;&#039; (this will show lower severity messages). If your console supports it, you can add &#039;&#039;&#039;--color to get messages in color.&lt;br /&gt;
&lt;br /&gt;
===Opening streams===&lt;br /&gt;
&lt;br /&gt;
The following commands start VLC and start reading the given element(s)&lt;br /&gt;
&lt;br /&gt;
====Opening a file====&lt;br /&gt;
&lt;br /&gt;
Start VLC with:&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc my_file&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
VLC should be able to recognize the file type. If it does not, you can force demultiplexer and decoder (see below).&lt;br /&gt;
&lt;br /&gt;
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].&lt;br /&gt;
&lt;br /&gt;
====Opening a DVD or VCD, or an audio CD====&lt;br /&gt;
&lt;br /&gt;
Start VLC with:&lt;br /&gt;
&lt;br /&gt;
For a DVD with menus:&lt;br /&gt;
 % &#039;&#039;&#039;vlc dvd://[device][@raw_device][@[title][:[chapter][:angle]]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
In most cases, &#039;&#039;&#039;vlc dvd://&#039;&#039;&#039; or &#039;&#039;&#039;vlc dvd://[device]&#039;&#039;&#039; will do. [device] is for example &#039;&#039;&#039;/dev/dvd&#039;&#039;&#039; on GNU/Linux or &#039;&#039;&#039;D:&#039;&#039;&#039; on Windows (complete path to your DVD drive).&lt;br /&gt;
&lt;br /&gt;
or&lt;br /&gt;
&lt;br /&gt;
(DVD without menus):&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc dvdsimple://[device][@raw_device][@[title][:[chapter][:angle]]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
or&lt;br /&gt;
&lt;br /&gt;
(VCD):&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc vcd://[device][@{E|P|E|T|S}[number]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
or&lt;br /&gt;
&lt;br /&gt;
(Audio CD):&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc cdda://[device][@[track]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Receiving a network stream====&lt;br /&gt;
&lt;br /&gt;
To receive an unicast RTP/UDP stream (sent by VLC&#039;s stream output), start VLC with:&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc  rtp://@:5004&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If 5004 is the port to which packets are sent. 1234 is another commonly used port number. you use the default port (1234), &#039;&#039;&#039;vlc rtp://&#039;&#039;&#039; will do.&lt;br /&gt;
For more information, look at the Streaming Howto.&lt;br /&gt;
&lt;br /&gt;
To receive an multicast UDP/RTP stream (sent by VLC&#039;s stream output), start VLC with:&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc rtp://@multicast_address:port&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
To receive a SSM (source specific multicast) stream, you can use:&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc rtp://server_address@multicast_address:port&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This only works on OSs that support SSM (Windows XP and Linux).&lt;br /&gt;
&lt;br /&gt;
To receive a HTTP stream, start VLC with:&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc http://www.example.org/your_file.mpg&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
To receive a RTSP stream, start VLC with:&amp;lt;/para&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc rtsp://www.example.org/your_stream&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Modules selection===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--intf  &amp;lt;module&amp;gt;&#039;&#039;&#039; allows you to select the interface module.&lt;br /&gt;
*&#039;&#039;&#039;--extraintf  &amp;lt;module&amp;gt;&#039;&#039;&#039; allows you to select extra interface modules that will be launched in addition to the main one. This is mainly useful for special &#039;&#039;control&#039;&#039; interfaces, like HTTP, RC (Remote Control), ... (see below)&lt;br /&gt;
*&#039;&#039;&#039;--aout  &amp;lt;module&amp;gt;&#039;&#039;&#039; allows you to select the audio output module.&lt;br /&gt;
*&#039;&#039;&#039;--vout  &amp;lt;module&amp;gt;&#039;&#039;&#039; allows you to select the video output module.&lt;br /&gt;
*&#039;&#039;&#039;--memcpy  &amp;lt;module&amp;gt;&#039;&#039;&#039; allows you to choose a memory copy module. You should probably never touch that.&lt;br /&gt;
&lt;br /&gt;
You can get a listing of the available modules by using &#039;&#039;&#039;vlc -l&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Stream Output===&lt;br /&gt;
&lt;br /&gt;
The Stream output system allows vlc to become a streaming server.&lt;br /&gt;
&lt;br /&gt;
For more details on the stream output system, please have a look at the [[Documentation:Streaming HowTo|Streaming HowTo]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Other Options===&lt;br /&gt;
&lt;br /&gt;
====Audio options====&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--noaudio&#039;&#039;&#039; disables audio output.&lt;br /&gt;
*&#039;&#039;&#039;--mono&#039;&#039;&#039; forces VLC to treat the stream in mono audio.&lt;br /&gt;
*&#039;&#039;&#039;--volume &amp;lt;integer&amp;gt;&#039;&#039;&#039; sets the level of audio output (between 0 and 1024).&lt;br /&gt;
*&#039;&#039;&#039;--aout-rate &amp;lt;integer&amp;gt;&#039;&#039;&#039; sets the audio output frequency (Hz). By default, VLC will try to autodetect this.&lt;br /&gt;
*&#039;&#039;&#039;--desync &amp;lt;integer&amp;gt;&#039;&#039;&#039; compensates desynchronization of audio (ms). (If audio and video streams are not synchronized, use this setting to delay the audio stream)&lt;br /&gt;
*&#039;&#039;&#039;--audio-filter &amp;lt;string&amp;gt;&#039;&#039;&#039; 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)&lt;br /&gt;
&lt;br /&gt;
====Video options====&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--novideo&#039;&#039;&#039; disables video output.&lt;br /&gt;
*&#039;&#039;&#039;--grayscale&#039;&#039;&#039; turns video output into grayscale mode.&lt;br /&gt;
*&#039;&#039;&#039;--fullscreen&#039;&#039;&#039; ( or &#039;&#039;&#039;-f&#039;&#039;&#039;) sets fullscreen video.&lt;br /&gt;
*&#039;&#039;&#039;--nooverlay&#039;&#039;&#039; disables hardware acceleration for the video output.&lt;br /&gt;
*&#039;&#039;&#039;--width, --height &amp;lt;integer&amp;gt;&#039;&#039;&#039; sets the video window dimensions. By default, the video window size will be adjusted to match the video dimensions.&lt;br /&gt;
*&#039;&#039;&#039;--zoom &amp;lt;float&amp;gt;&#039;&#039;&#039; adds a zoom factor.&lt;br /&gt;
*&#039;&#039;&#039;--aspect-ratio &amp;lt;mode&amp;gt;&#039;&#039;&#039; forces source aspect ratio. Modes are 4x3, 16x9, ...&lt;br /&gt;
*&#039;&#039;&#039;--spumargin  &amp;lt;integer&amp;gt;&#039;&#039;&#039; forces SPU subtitles postion.&lt;br /&gt;
*&#039;&#039;&#039;--filter &amp;lt;string&amp;gt;&#039;&#039;&#039; adds video filters to the processing chain. You can add several filters, separated by commas&lt;br /&gt;
*&#039;&#039;&#039;--sub-filter &amp;lt;string&amp;gt;&#039;&#039;&#039; adds video subpictures filter to the processing chain.&lt;br /&gt;
&lt;br /&gt;
====Playlist options====&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--random&#039;&#039;&#039; plays files randomly forever.&lt;br /&gt;
*&#039;&#039;&#039;--loop&#039;&#039;&#039; loops playlist on end.&lt;br /&gt;
*&#039;&#039;&#039;--repeat&#039;&#039;&#039; repeats current item until another item is forced&lt;br /&gt;
*&#039;&#039;&#039;--play-and-stop&#039;&#039;&#039; stops the playlist after each played item.&lt;br /&gt;
&lt;br /&gt;
====Network options====&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--server-port &amp;lt;integer&amp;gt;&#039;&#039;&#039; sets server port.&lt;br /&gt;
*&#039;&#039;&#039;--iface  &amp;lt;string&amp;gt;&#039;&#039;&#039; specifies the network interface to use.&lt;br /&gt;
*&#039;&#039;&#039;--iface-addr  &amp;lt;string&amp;gt;&#039;&#039;&#039; specifies your network interface IP address.&lt;br /&gt;
*&#039;&#039;&#039;--mtu  &amp;lt;integer&amp;gt;&#039;&#039;&#039; specifies the MTU of the network interface.&lt;br /&gt;
*&#039;&#039;&#039;--ipv6&#039;&#039;&#039; forces IPv6.&lt;br /&gt;
*&#039;&#039;&#039;--ipv4&#039;&#039;&#039; forces IPv4.&lt;br /&gt;
&lt;br /&gt;
====CPU options====&lt;br /&gt;
&lt;br /&gt;
You should probably not touch these options unless you know what you are doing.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--nommx&#039;&#039;&#039; disables the use of MMX CPU extensions.&lt;br /&gt;
*&#039;&#039;&#039;--no3dn&#039;&#039;&#039; disables the use of 3D Now! CPU extensions.&lt;br /&gt;
*&#039;&#039;&#039;--nommxext&#039;&#039;&#039; disables the use of MMX Ext CPU extensions.&lt;br /&gt;
*&#039;&#039;&#039;--nosse&#039;&#039;&#039; disables the use of SSE CPU extensions.&lt;br /&gt;
*&#039;&#039;&#039;--noaltivec&#039;&#039;&#039; disables the use of Altivec CPU extensions.&lt;br /&gt;
&lt;br /&gt;
====Miscellaneous options====&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--quiet&#039;&#039;&#039;  deactivates all console messages.&lt;br /&gt;
*&#039;&#039;&#039;--color&#039;&#039;&#039; displays color messages.&lt;br /&gt;
*&#039;&#039;&#039;--search-path  &amp;lt;string&amp;gt;&#039;&#039;&#039; specifies interface default search path.&lt;br /&gt;
*&#039;&#039;&#039;--plugin-path  &amp;lt;string&amp;gt;&#039;&#039;&#039; specifies plugin search path.&lt;br /&gt;
*&#039;&#039;&#039;--no-plugins-cache&#039;&#039;&#039; disables the plugin cache (plugins cache speeds up startup)&lt;br /&gt;
*&#039;&#039;&#039;--dvd  &amp;lt;string&amp;gt;&#039;&#039;&#039; specifies the default DVD device.&lt;br /&gt;
*&#039;&#039;&#039;--vcd  &amp;lt;string&amp;gt;&#039;&#039;&#039; specifies the default VCD device.&lt;br /&gt;
*&#039;&#039;&#039;--program  &amp;lt;integer&amp;gt;&#039;&#039;&#039; specifies program (SID) (for streams with several programs, like satellite ones).&lt;br /&gt;
*&#039;&#039;&#039;--audio-type  &amp;lt;integer&amp;gt;&#039;&#039;&#039; specifies the default audio type to use with dvds.&lt;br /&gt;
*&#039;&#039;&#039;--audio-channel  &amp;lt;integer&amp;gt;&#039;&#039;&#039; specifies the default audio channel to use with dvds.&lt;br /&gt;
*&#039;&#039;&#039;--spu-channel  &amp;lt;integer&amp;gt;&#039;&#039;&#039; specifies the default subtitle channel to use with dvds.&lt;br /&gt;
*&#039;&#039;&#039;--version&#039;&#039;&#039; gives you information about the current VLC version.&lt;br /&gt;
*&#039;&#039;&#039;--module  &amp;lt;module&amp;gt; &#039;&#039;&#039; displays help about specified module. (Shortcut: &#039;&#039;&#039;-p&#039;&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
===Item-specific options===&lt;br /&gt;
&lt;br /&gt;
There are many options that are related to items (like &#039;&#039;&#039;--novideo&#039;&#039;&#039;, &#039;&#039;&#039;--codec&#039;&#039;&#039;, &#039;&#039;&#039;--fullscreen&#039;&#039;&#039;).&lt;br /&gt;
&lt;br /&gt;
For all of these, you have the possibility to make them item-specific, using &amp;quot;:&amp;quot; instead of &amp;quot;--&amp;quot; and putting the option just after the concerned item.&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc file1.mpg :fullscreen file2.mpg&#039;&#039;&#039;&lt;br /&gt;
will play file1.mpg in fullscreen mode and file2.mpg in the default mode (which is generally no fullscreen), whereas&lt;br /&gt;
 % &#039;&#039;&#039;vlc --fullscreen file1.mpg file2.mpg&#039;&#039;&#039;&lt;br /&gt;
will play both files in fullscreen mode&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc --fullscreen file1.mpg :sub-file=file1.srt :no-fullscreen file2.mpg :filter=distort&#039;&#039;&#039;&lt;br /&gt;
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)&lt;br /&gt;
&lt;br /&gt;
==Advanced use of filters==&lt;br /&gt;
&lt;br /&gt;
===Filters===&lt;br /&gt;
&lt;br /&gt;
These are the old style VLC filters. They only apply to on screen display and thus cannot be streamed.&lt;br /&gt;
&lt;br /&gt;
====Deinterlacing video filter====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;deinterlace&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--deinterlace-mode {discard,blend,mean,bob,linear}&#039;&#039;&#039; choose a deinterlacing mode.&lt;br /&gt;
&lt;br /&gt;
====Invert video filter====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;invert&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Image properties filter====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;adjust&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--contrast &amp;lt;float&amp;gt;&#039;&#039;&#039; Image contrast in the 0-2 range.&lt;br /&gt;
*&#039;&#039;&#039;--brightness &amp;lt;float&amp;gt;&#039;&#039;&#039; Image brightness in the 0-2 range.&lt;br /&gt;
*&#039;&#039;&#039;--hue &amp;lt;integer&amp;gt;&#039;&#039;&#039; Image hue in the 0-360 range.&lt;br /&gt;
*&#039;&#039;&#039;--saturation &amp;lt;float&amp;gt;&#039;&#039;&#039; Image saturation in the 0-3 range.&lt;br /&gt;
*&#039;&#039;&#039;-gamma &amp;lt;float&amp;gt;&#039;&#039;&#039; Image gamma in the 0-10 range.&lt;br /&gt;
&lt;br /&gt;
====Wall video filter====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;wall&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This filter splits the output in several windows.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--wall-cols &amp;lt;integer&amp;gt;&#039;&#039;&#039; Number of columns.&lt;br /&gt;
*&#039;&#039;&#039;--wall-rows &amp;lt;integer&amp;gt;&#039;&#039;&#039; Number of rows.&lt;br /&gt;
*&#039;&#039;&#039;--wall-active &amp;lt;string&amp;gt;&#039;&#039;&#039; Select the windows you want to display. To select windows 2 and 4 you would write &#039;&#039;&#039;--wall-active 2,4&#039;&#039;&#039;. When this option isn&#039;t specified, all windows are displayed.&lt;br /&gt;
&lt;br /&gt;
====Video transformation filter====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;transform&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--transform-type {90,180,270,hflip,vflip}&#039;&#039;&#039; Select rotation angle or symmetry.&lt;br /&gt;
&lt;br /&gt;
====Distort video filter====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;distort&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Clone video filter====&lt;br /&gt;
&lt;br /&gt;
This filter clones the output window.&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;clone&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--clone-count &amp;lt;integer&amp;gt;&#039;&#039;&#039; Number of clones.&lt;br /&gt;
*&#039;&#039;&#039;--clone-vout-list &amp;lt;string&amp;gt;&#039;&#039;&#039; Comma separated string of video output modules.&lt;br /&gt;
&lt;br /&gt;
====Crop video filter====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;crop&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--crop-geometry &amp;lt;string&amp;gt;&#039;&#039;&#039; Set the geometry of the zone to crop. This is set as &amp;lt;width&amp;gt; x &amp;lt;height&amp;gt; + &amp;lt;left offset&amp;gt; + &amp;lt;top offset&amp;gt;.&lt;br /&gt;
*&#039;&#039;&#039;--autocrop&#039;&#039;&#039; Enable automatic black border cropping.&lt;br /&gt;
&lt;br /&gt;
====Motion blur filter====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;motionblur&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;blur-factor &amp;lt;integer&amp;gt;&#039;&#039;&#039; Blur factor in the 1-127 range.&lt;br /&gt;
&lt;br /&gt;
====Video pictures blending====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;blend&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Video scaling filter====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;scale&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Subpictures Filters===&lt;br /&gt;
&lt;br /&gt;
These are the new VLC filters. They can be streamed.&lt;br /&gt;
&lt;br /&gt;
====Time display sub filter====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;time&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--time-format &amp;lt;string&amp;gt;&#039;&#039;&#039; Time format string. You can use the following special characters %Y = year, %m = month, %d = day, %H = hour, %M = minute, %S = second.&lt;br /&gt;
*&#039;&#039;&#039;--time-x &amp;lt;integer&amp;gt;&#039;&#039;&#039; X offset from the left in pixels.&lt;br /&gt;
*&#039;&#039;&#039;--time-y &amp;lt;integer&amp;gt;&#039;&#039;&#039; Y offset from the top in pixels.&lt;br /&gt;
&lt;br /&gt;
====Marquee display sub filter====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;marq&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--marq-marquee &amp;lt;string&amp;gt;&#039;&#039;&#039; Marquee text to display.&lt;br /&gt;
*&#039;&#039;&#039;--marq-x &amp;lt;integer&amp;gt;&#039;&#039;&#039; X offset from the left in pixels.&lt;br /&gt;
*&#039;&#039;&#039;--marq-y &amp;lt;integer&amp;gt;&#039;&#039;&#039; Y offset from the top in pixels.&lt;br /&gt;
*&#039;&#039;&#039;--marq-timeout &amp;lt;timeout&amp;gt;&#039;&#039;&#039; Defines the time the marquee must remain displayed in milliseconds. Default value is 0 (remain forever).&lt;br /&gt;
&lt;br /&gt;
====Logo video filter====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;logo&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This filter can be used both as an old style filter or a subpictures filter.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--logo-file &amp;lt;string&amp;gt;&#039;&#039;&#039; Full path of the PNG file to use.&lt;br /&gt;
*&#039;&#039;&#039;--logo-x &amp;lt;integer&amp;gt;&#039;&#039;&#039; X offset from the left in pixels.&lt;br /&gt;
*&#039;&#039;&#039;--logo-y &amp;lt;integer&amp;gt;&#039;&#039;&#039; Y offset from the top in pixels.&lt;br /&gt;
*&#039;&#039;&#039;--logo-transparency &amp;lt;integer&amp;gt;&#039;&#039;&#039; You can set the logo transparency value here (from 0 for full transparency to 255 for full opacity).&lt;br /&gt;
&lt;br /&gt;
Note: You can move the logo by left-clicking on it.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==The HTTP interface==&lt;br /&gt;
&lt;br /&gt;
VLC ships with a little HTTP server integrated. It is used both to stream using HTTP, and for the HTTP remote control interface.&lt;br /&gt;
&lt;br /&gt;
To start VLC with the HTTP interface, use:&lt;br /&gt;
 % &#039;&#039;&#039;vlc -I http [--http-src /directory/] [--http-host host:port]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If you want to have both the &amp;quot;normal&amp;quot; interface and the HTTP interface, use &#039;&#039;&#039;vlc --extraintf http&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
The HTTP interface will start listening at host:port (&amp;lt;all interfaces&amp;gt;:8080 if omitted), and will reproduce the structure of /directory at http://host:port/ ( vlc_source_path/share/http if omitted ).&lt;br /&gt;
&lt;br /&gt;
Use a browser to go to http://your_host_machine:port. You should be taken to the main page.&lt;br /&gt;
&lt;br /&gt;
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]].&lt;br /&gt;
&lt;br /&gt;
Available pages are:&lt;br /&gt;
* &#039;&#039;&#039;list was obsolete&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Other control interfaces==&lt;br /&gt;
&lt;br /&gt;
VLC includes a number of so-called interfaces that are not really 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 &#039;&#039;&#039;-I&#039;&#039;&#039; or &#039;&#039;&#039;--extraintf&#039;&#039;&#039; on the command line.&lt;br /&gt;
&lt;br /&gt;
===Hotkeys===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Hotkeys can be hacked by:&lt;br /&gt;
 % &#039;&#039;&#039;vlc --key-&amp;lt;function&amp;gt; &amp;amp;lt;code&amp;amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Code is composed by modifiers keys (Alt, Shift, Ctrl, Meta,Command) separated by a dash (-) and terminated by a key (a...z, +, =, -, &#039;,&#039;, +, &amp;amp;lt;, &amp;amp;gt;, `, /, ;, &#039;, \, [, ], *, 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 &#039;&#039;&#039;--longhelp&#039;&#039;&#039; option for full list of functions).&lt;br /&gt;
For example, for binding fullscreen to Ctrl-f, run:&lt;br /&gt;
 % &#039;&#039;&#039;vlc --key-fullscreen &#039;Ctrl-f&#039; &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===RC and RTCI===&lt;br /&gt;
&lt;br /&gt;
These two interfaces allow you to control VLC from a command shell (possibly using a remote connexion or a Unix socket).&lt;br /&gt;
&lt;br /&gt;
Start VLC with &#039;&#039;&#039;-I rc&#039;&#039;&#039; or &#039;&#039;&#039;--extraintf rc&#039;&#039;&#039;. When you get the &#039;&#039;&#039;Remote control interface initialized, `h&#039; for help&#039;&#039;&#039; message, press h and Enter to get help about available commands.&lt;br /&gt;
&lt;br /&gt;
To be able to remote connect to your VLC using a TCP socket (telnet-like connexion), use &#039;&#039;&#039;--rc-host your_host:port&#039;&#039;&#039;. Then, by connecting (using telnet or netcat) to the host on the given port, you will get the command shell.&lt;br /&gt;
&lt;br /&gt;
To use a UNIX socket (local socket, this does not work for Windows), use &#039;&#039;&#039;--rc-unix /path/to/socket&#039;&#039;&#039;. Commands can then be passed using this UNIX socket.&lt;br /&gt;
&lt;br /&gt;
The RTCI interface gives you more advanced options, such as marquee control for the marquee subpicture filter (See filter section).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Ncurses===&lt;br /&gt;
&lt;br /&gt;
This is a text interface, using ncurses library.&lt;br /&gt;
&lt;br /&gt;
Start VLC with &#039;&#039;&#039;-I ncurses&#039;&#039;&#039; or &#039;&#039;&#039;--extraintf ncurses&#039;&#039;&#039;. You will then get something like that:&lt;br /&gt;
&lt;br /&gt;
http://www.videolan.org/doc/play-howto/en/images/play-howto/intf-ncurses-playlist.jpg The ncurses interface&lt;br /&gt;
&lt;br /&gt;
Press h to get the list of all available commands, with a short description.&lt;br /&gt;
&lt;br /&gt;
There is also a filebrowser available for the ncurses interface in order to add playlist items. Press &#039;B&#039; to use it.&lt;br /&gt;
&lt;br /&gt;
http://www.videolan.org/doc/play-howto/en/images/play-howto/intf-ncurses-filebrowser.jpg The ncurses filebrowser&lt;br /&gt;
&lt;br /&gt;
You can set the filebrowser starting point by launching vlc with the &#039;&#039;&#039;--browse-dir&#039;&#039;&#039; option:&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc -I ncurses --browse-dir /filebrowser/starting/point/&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Gestures===&lt;br /&gt;
&lt;br /&gt;
Gestures provide a simple mouse gestures control. TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==The Mozilla plugin==&lt;br /&gt;
&lt;br /&gt;
VLC can also be embedded in a web browser! The following browsers are supported [http://www.mozilla.org/ Mozilla], [http://www.mozilla.org/products/firefox/ Firefox] and [http://www.apple.com/macosx/features/safari Safari].&lt;br /&gt;
&lt;br /&gt;
===Install the plugin===&lt;br /&gt;
&lt;br /&gt;
====GNU/Linux Debian====&lt;br /&gt;
&lt;br /&gt;
Install the &#039;&#039;mozilla-plugin-vlc&#039;&#039; package:&lt;br /&gt;
&lt;br /&gt;
 # &#039;&#039;&#039;apt-get update&#039;&#039;&#039;&lt;br /&gt;
 # &#039;&#039;&#039;apt-get install mozilla-plugin-vlc&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Windows====&lt;br /&gt;
&lt;br /&gt;
Quit Firefox or Mozilla.&lt;br /&gt;
&lt;br /&gt;
Copy the two files in &#039;&#039;&#039;VLC_Installation_folder\mozilla&#039;&#039;&#039; (usually &#039;&#039;&#039;C:\Program Files\VideoLAN\VLC\mozilla&#039;&#039;&#039;) to your mozilla plugins directory (Usually &#039;&#039;&#039;C:\Program Files\Mozilla\plugins&#039;&#039;&#039; or &#039;&#039;&#039;C:\Program Files\Mozilla&lt;br /&gt;
Firefox\plugins&#039;&#039;&#039;).&lt;br /&gt;
&lt;br /&gt;
Restart Firefox or Mozilla.&lt;br /&gt;
&lt;br /&gt;
====MacOS X====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;The Mozilla/Safari plugin for MacOS X is only available from vlc version 0.8.5.1 and onwards.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Quit Safari browser.&lt;br /&gt;
&lt;br /&gt;
Download the Mozilla/safari plugin package from [http://www.videolan.org/vlc/download-macosx.html MacOS X download page].&lt;br /&gt;
&lt;br /&gt;
Run the installer from the dmg image.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Compile the sources yourself====&lt;br /&gt;
&lt;br /&gt;
Please look at the [http://developers.videolan.org developers page] for information on how to do this.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Use the mozilla plugin===&lt;br /&gt;
&lt;br /&gt;
If you open a link to a video file handled by the VLC plugin (To get the list of handled types, browse to &#039;&#039;&#039;about:plugins&#039;&#039;&#039;) or a page with an embedded video, the plugin should open and read the&lt;br /&gt;
video.&lt;br /&gt;
&lt;br /&gt;
===Build HTML pages that use the plugin (VLC version up to 0.8.5)===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;WARNING:&#039;&#039;&#039; the APIs described in this section are &#039;&#039;&#039;deprecated&#039;&#039;&#039;, do not use, &lt;br /&gt;
&lt;br /&gt;
The following API description is only valid uptill version 0.8.5 of the mozilla plugin.&lt;br /&gt;
&lt;br /&gt;
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&lt;br /&gt;
plugin.&lt;br /&gt;
&lt;br /&gt;
The vlc plugin supports the following function calls:&lt;br /&gt;
*&#039;&#039;&#039;play()&#039;&#039;&#039;: Start playing media in the plugin.&lt;br /&gt;
*&#039;&#039;&#039;pause()&#039;&#039;&#039;: Pause playback.&lt;br /&gt;
*&#039;&#039;&#039;stop()&#039;&#039;&#039;: Stop media playback.&lt;br /&gt;
*&#039;&#039;&#039;fullscreen()&#039;&#039;&#039;: Switch the video to full screen.&lt;br /&gt;
*&#039;&#039;&#039;set_volume(vol)&#039;&#039;&#039;: Set the volume. &#039;&#039;&#039;vol&#039;&#039;&#039; has to be an int in the 0-200 range.&lt;br /&gt;
*&#039;&#039;&#039;get_volume()&#039;&#039;&#039;: Get the current volume setting.&lt;br /&gt;
*&#039;&#039;&#039;mute()&#039;&#039;&#039;: Toggle volume muting.&lt;br /&gt;
*&#039;&#039;&#039;set_int_variable(var_name, value)&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;set_bool_variable(var_name, value)&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;set_str_variable(var_name, value)&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;get_int_variable(var_name)&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;get_bool_variable(var_name)&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;get_str_variable(var_name)&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;clear_playlist()&#039;&#039;&#039;: Clear the playlist.&lt;br /&gt;
*&#039;&#039;&#039;add_item(mrl)&#039;&#039;&#039;: Append an item whose location is given by the [[media resource locator]] to the playlist.&lt;br /&gt;
*&#039;&#039;&#039;next()&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;previous()&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;isplaying()&#039;&#039;&#039;: return true if the plugin is playing something.&lt;br /&gt;
*&#039;&#039;&#039;get_length()&#039;&#039;&#039;: Get the media&#039;s length in seconds.&lt;br /&gt;
*&#039;&#039;&#039;get_position()&#039;&#039;&#039;: Get the current position in the media in percent.&lt;br /&gt;
*&#039;&#039;&#039;get_time()&#039;&#039;&#039;: Get the current position in the media in seconds.&lt;br /&gt;
*&#039;&#039;&#039;seek(seconds,is_relative)&#039;&#039;&#039;: If is_relative is true, seek relatively to current time, else seek from beginning of the stream. Seek time is specified in seconds.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Here are a few examples of HTML pages that use the&lt;br /&gt;
Mozilla plugin.&lt;br /&gt;
&lt;br /&gt;
====Example 1====&lt;br /&gt;
&lt;br /&gt;
In this example, the plugin will read an HTTP stream inside the web page. If the user goes fullscreen, he will have to press &#039;&#039;f&#039;&#039; or double-click on the video to go back in normal view.&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;html&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;head&amp;amp;gt;&amp;amp;lt;title&amp;amp;gt;Demo of VLC mozilla plugin&amp;amp;lt;/title&amp;amp;gt;&amp;amp;lt;/head&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;body&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;h1&amp;amp;gt;Demo of VLC mozilla plugin - Example 1&amp;amp;lt;/h1&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;embed type=&amp;quot;application/x-vlc-plugin&amp;quot;&lt;br /&gt;
          name=&amp;quot;video1&amp;quot;&lt;br /&gt;
          autoplay=&amp;quot;no&amp;quot; loop=&amp;quot;yes&amp;quot; width=&amp;quot;400&amp;quot; height=&amp;quot;300&amp;quot;&lt;br /&gt;
          target=&amp;quot;http://server.example.org/video1.vob&amp;quot; /&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;br /&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video1.play()&#039;&amp;amp;gt;Play video1&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video1.pause()&#039;&amp;amp;gt;Pause video1&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video1.stop()&#039;&amp;amp;gt;Stop video1&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video1.fullscreen()&#039;&amp;amp;gt;Fullscreen&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;/body&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/html&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Example 2====&lt;br /&gt;
&lt;br /&gt;
In this example, the plugin will read a multicast UDP/RTP stream in a dedicated video output window.&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;html&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;head&amp;amp;gt;&amp;amp;lt;title&amp;amp;gt;Demo of VLC mozilla plugin&amp;amp;lt;/title&amp;amp;gt;&amp;amp;lt;/head&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;body&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;h1&amp;amp;gt;Demo of VLC mozilla plugin - Example 2&amp;amp;lt;/h1&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;embed type=&amp;quot;application/x-vlc-plugin&amp;quot;&lt;br /&gt;
          name=&amp;quot;video2&amp;quot;&lt;br /&gt;
          autoplay=&amp;quot;no&amp;quot; loop=&amp;quot;no&amp;quot; hidden=&amp;quot;yes&amp;quot;&lt;br /&gt;
          target=&amp;quot;rtp://@239.255.12.42:5004&amp;quot; /&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;br /&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video2.play()&#039;&amp;amp;gt;Play video2&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video2.stop()&#039;&amp;amp;gt;Stop video2&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video2.fullscreen()&#039;&amp;amp;gt;Fullscreen&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;/body&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/html&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Building HTML pages for Mozilla/Firefox/Internet Explorer/Safari (VLC version 0.8.6 and above)==&lt;br /&gt;
&lt;br /&gt;
The following description works for any of the browsers VLC supports. The JavaScript API has been unified between Mozilla/Firefox/IE (ActiveX) and Safari, thus targetting at all of the major OS out there. This is only valid for VLC version 0.8.6 and above.&lt;br /&gt;
&lt;br /&gt;
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&lt;br /&gt;
plugin.&lt;br /&gt;
&lt;br /&gt;
The vlc plugin exports serveral objects that can be accessed for setting and getting information. When used improperly the API&#039;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.&lt;br /&gt;
&lt;br /&gt;
The vlc plugin knows the following objects:&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;audio&#039;&#039;&#039;: Access audio properties.&lt;br /&gt;
*&#039;&#039;&#039;input&#039;&#039;&#039;: Access input properties.&lt;br /&gt;
*&#039;&#039;&#039;playlist&#039;&#039;&#039;: Access playlist properties.&lt;br /&gt;
*&#039;&#039;&#039;video&#039;&#039;&#039;: Access video properties.&lt;br /&gt;
*&#039;&#039;&#039;log&#039;&#039;&#039;: Access log properties.&lt;br /&gt;
*&#039;&#039;&#039;messages&#039;&#039;&#039;: Access to log message properties.&lt;br /&gt;
*&#039;&#039;&#039;iterator&#039;&#039;&#039;: Access to log iterator properties.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;html&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;title&amp;amp;gt;VLC Mozilla plugin test page&amp;amp;lt;/title&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;body&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;embed type=&amp;quot;application/x-vlc-plugin&amp;quot; pluginspage=&amp;quot;http://www.videolan.org&amp;quot; version=&amp;quot;VideoLAN.VLCPlugin.2&amp;quot;&lt;br /&gt;
     width=&amp;quot;640&amp;quot;&lt;br /&gt;
     height=&amp;quot;480&amp;quot;&lt;br /&gt;
     id=&amp;quot;vlc&amp;quot;&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/embed&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;script language=&amp;quot;Javascript&amp;quot;&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;!--&lt;br /&gt;
 var vlc = document.getElementById(&amp;quot;vlc&amp;quot;);&lt;br /&gt;
 vlc.audio.toggleMute();&lt;br /&gt;
 !--&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/script&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/body&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/html&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Root object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;VersionInfo&#039;&#039;&#039;: returns version information string&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;vlc.versionInfo()&#039;&#039;&#039;: returns version information string (same as VersionInfo)&lt;br /&gt;
&lt;br /&gt;
====Audio object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.audio.mute&#039;&#039;&#039;: boolean value to mute and ummute the audio&lt;br /&gt;
*&#039;&#039;&#039;vlc.audio.volume&#039;&#039;&#039;: a value between [0-200] which indicates a percentage of the volume.&lt;br /&gt;
*&#039;&#039;&#039;vlc.audio.track&#039;&#039;&#039;: (supported in vlc version &amp;gt; 0.8.6) a value between [1-65535] which indicates the audio track to play or that is playing. a value of 0 means the audio is/will be disabled.&lt;br /&gt;
*&#039;&#039;&#039;vlc.audio.channel&#039;&#039;&#039;: (supported in vlc version &amp;gt; 0.8.6) integer value between [1-5] that indicates which audio channel mode is used, values can be: &amp;quot;1=stereo&amp;quot;, &amp;quot;2=reverse stereo&amp;quot;, &amp;quot;3=left&amp;quot;, &amp;quot;4=right&amp;quot;, &amp;quot;5=dolby&amp;quot;. Use vlc.audio.channel to check if setting of the audio channel mode has succeeded.&lt;br /&gt;
&lt;br /&gt;
 Audio Channel:&lt;br /&gt;
 &amp;lt;SELECT readonly onChange=&#039;doAudioChannel(this.value)&#039;&amp;gt;&lt;br /&gt;
    &amp;lt;OPTION value=1&amp;gt;Stereo&amp;lt;/OPTION&amp;gt;&lt;br /&gt;
    &amp;lt;OPTION value=2&amp;gt;Reverse stereo&amp;lt;/OPTION&amp;gt;&lt;br /&gt;
    &amp;lt;OPTION value=3&amp;gt;Left&amp;lt;/OPTION&amp;gt;&lt;br /&gt;
    &amp;lt;OPTION value=4&amp;gt;Right&amp;lt;/OPTION&amp;gt;&lt;br /&gt;
    &amp;lt;OPTION value=5&amp;gt;Dolby&amp;lt;/OPTION&amp;gt;&lt;br /&gt;
 &amp;lt;/SELECT&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;SCRIPT language=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;amp;lt;!--&lt;br /&gt;
 function doAudioChannel(value)&lt;br /&gt;
 {&lt;br /&gt;
    var vlc = getVLC(&amp;quot;vlc&amp;quot;);&lt;br /&gt;
    vlc.audio.channel = parseInt(value);&lt;br /&gt;
    alert(vlc.audio.channel);&lt;br /&gt;
 };&lt;br /&gt;
 --&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;vlc.audio.toggleMute()&#039;&#039;&#039;: boolean toggle that mutes and unmutes the audio based upon the previous state&lt;br /&gt;
&lt;br /&gt;
====Input object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.length&#039;&#039;&#039;: length of the input file in number of milliseconds. 0 is returned for &#039;live&#039; streams or clips whose length cannot be determined by VLC. It returns -1 if no input is playing. &lt;br /&gt;
*&#039;&#039;&#039;vlc.input.fps&#039;&#039;&#039;: frames per second returned as a float (typically 60.0, 50.0, 23.976, etc...)&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.hasVout&#039;&#039;&#039;: a boolean that returns true when the video is being displayed, it returns false when video is not displayed&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.position&#039;&#039;&#039;: normalized position in multimedia stream item given as a float value between [0.0 - 1.0]&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.time&#039;&#039;&#039;: the absolute position in time given in milliseconds, this property can be used to seek through the stream&lt;br /&gt;
 &amp;amp;lt;!-- absolute seek in stream !--&amp;amp;gt;&lt;br /&gt;
 vlc.input.time = &amp;amp;lt;absolute seek&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;!-- relative seek in stream !--&amp;amp;gt;&lt;br /&gt;
 vlc.input.time = vlc.input.time + &amp;amp;lt;relative seek&amp;amp;gt;&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.state&#039;&#039;&#039;: current state of the input chain given as enumeration (IDLE=0, OPENING=1, BUFFERING=2, PLAYING=3, PAUSED=4, STOPPING=5, ENDED=6, ERROR=7). Note: Test for ENDED=6 to catch end of playback. Checking for STOPPING=5 is NOT ENOUGH.&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.rate&#039;&#039;&#039;: input speed given as float (1.0 for normal speed, 0.5 for half speed, 2.0 for twice as fast, etc.).&lt;br /&gt;
 rate &amp;gt; 1              : is fastforward&lt;br /&gt;
 rate &amp;gt; 0 and rate &amp;lt; 1 : is slow motion&lt;br /&gt;
 rate &amp;lt; 0              : is rewind&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Playlist object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.itemCount&#039;&#039;&#039;: number that returns the amount of items currently in the playlist (&#039;&#039;&#039;deprecated&#039;&#039;&#039;, do not use, see [[#Playlist_items_object| Playlist items]])&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.isPlaying&#039;&#039;&#039;: a boolean that returns true if the current playlist item is playing and false when it is not playing&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.items&#039;&#039;&#039;: return the playlist items collection, see [[#Playlist_items_object| Playlist items]]&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.add(mrl)&#039;&#039;&#039;: add a playlist item as [[MRL]]. The MRL must be given as a string. Returns a number as an item identifier in playlist (this is not a position  in playlist).&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.add(mrl,name,options)&#039;&#039;&#039;: add a playlist item as MRL, with metaname &#039;name&#039; and options &#039;options&#039;. options are text arguments which can be provided either as a single string containing space separated values, akin to VLC command line, or as an array of string values. Returns a number as an item identifier in playlist (this is not a position in playlist).&lt;br /&gt;
  var options = new Array(&amp;quot;:aspect-ratio=4:3&amp;quot;, &amp;quot;--rtsp-tcp&amp;quot;);&lt;br /&gt;
  var id = vlc.playlist.add(&amp;quot;rtsp://servername/item/to/play&amp;quot;, &amp;quot;fancy name&amp;quot;, options);&lt;br /&gt;
  vlc.playlist.playItem(id);&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.play()&#039;&#039;&#039;: start playing the current playlist item&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.playItem(number)&#039;&#039;&#039;: start playing the item whose identifier is number&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.togglePause()&#039;&#039;&#039;: toggle the pause state for the current playlist item&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.stop()&#039;&#039;&#039;: stop playing the current playlist item&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.next()&#039;&#039;&#039;: iterate to the next playlist item&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.prev()&#039;&#039;&#039;: iterate to the previous playlist item&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.clear()&#039;&#039;&#039;: empty the current playlist, all items will be deleted from the playlist (&#039;&#039;&#039;deprecated&#039;&#039;&#039;, do not use, see [[#Playlist_items_object| Playlist items]])&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.removeItem(number)&#039;&#039;&#039;: remove the item from playlist whose identifier is number &amp;lt;!-- (note: this number isn&#039;t the position in the playlist, but the number given by vlc.playlist.add() ) --&amp;gt; (&#039;&#039;&#039;deprecated&#039;&#039;&#039;, do not use, see [[#Playlist_items_object| Playlist items]])&lt;br /&gt;
&lt;br /&gt;
====Playlist items object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.items.count&#039;&#039;&#039;: number of items currently in the playlist&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.items.clear()&#039;&#039;&#039;: empty the current playlist, all items will be deleted from the playlist. If a movie is playing, it stop. Note that when this method returns, playlist may not have been entirely been cleared as this operation is performed asynchronously; use the &#039;&#039;count&#039;&#039; property to verify/wait until the playlist is empty.&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.items.remove(number)&#039;&#039;&#039;: remove the item whose identifier is number from playlist. (note: this number isn&#039;t the position in the playlist, but the number given by vlc.playlist.add() )&lt;br /&gt;
&lt;br /&gt;
====Video object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.width&#039;&#039;&#039;: returns the horizontal size of the video&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.height&#039;&#039;&#039;: returns the vertical size of the video&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.fullscreen&#039;&#039;&#039;: 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.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.aspectRatio&#039;&#039;&#039;: get and set the aspect ratio to use in the video screen. The property takes a string as input value. Typical values are: &amp;quot;1:1&amp;quot;, &amp;quot;4:3&amp;quot;, &amp;quot;16:9&amp;quot;, &amp;quot;16:10&amp;quot;, &amp;quot;221:100&amp;quot; and &amp;quot;5:4&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.subtitle&#039;&#039;&#039;: (supported in vlc version &amp;gt; 0.8.6a) get and set the subtitle track to show on the video screen. The property takes an integer as input value [1..65535]. If subtitle track is set to 0, the subtitles will be disabled. If set to a value outside the current subtitle tracks range, then it will return -1 and display an error message.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.teletext&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 0.9.0) get and set teletext page to show on the video stream. This will only work if a teletext elementary stream is available in the video stream. The property takes an integer as input value [0..999] for indicating the teletext page to view, setting the value to 0 means hide teletext. On error it will return -1 and display an error message.&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.toggleFullscreen()&#039;&#039;&#039;: toggle the fullscreen mode based on the previous setting&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.toggleTeletext()&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 0.9.0) toggle the teletext page to overlay transparent or not, based on the previous setting&lt;br /&gt;
&lt;br /&gt;
====Log object====&lt;br /&gt;
&lt;br /&gt;
this object allows accessing VLC main message logging queue. Typically this queue capacity is very small (no nore than 256 entries) and can easily overflow, therefore messages should be read and cleared as often as possible.&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.log.messages&#039;&#039;&#039;: returns the message collection, see [[Messages object]]&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.log.verbosity&#039;&#039;&#039;: write number [-1,0,1,2,3] for changing the verbosity level of the log messages; messages whose verbosity is higher than set will be not be logged in the queue. The numbers have the following meaning: -1 disable, 0 info, 1 error, 2 warning, 3 debug. &lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Messages object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;messages.count&#039;&#039;&#039;: returns number of messages in the log&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;messages.clear()&#039;&#039;&#039;: clear the current log buffer. It should be called as frequently as possible to not overflow the message queue. Call this method after the log messages of interest are read.&lt;br /&gt;
*&#039;&#039;&#039;messages.iterator()&#039;&#039;&#039;: creates and returns an iterator object, used to iterate over the messages in the log. &#039;&#039;&#039;Don&#039;t clear the log buffer while holding an iterator object.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Messages Iterator object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;iterator.hasNext&#039;&#039;&#039;: returns a boolean that indicates whether &#039;&#039;vlc.log.messages.next()&#039;&#039; will return the next message.&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;iterator.next()&#039;&#039;&#039;: returns the next message object in the log, see [[Message object]]&lt;br /&gt;
&lt;br /&gt;
====Message object====&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;message.severity&#039;&#039;&#039;: number that indicates the severity of the log message (0 = info, 1 = error, 2 = warning, 3 = debug)&lt;br /&gt;
*&#039;&#039;&#039;message.name&#039;&#039;&#039;: name of VLC module that printed the log message (e.g: main, http, directx, etc...)&lt;br /&gt;
*&#039;&#039;&#039;message.type&#039;&#039;&#039;: type of VLC module that printed the log message (eg: input, access, vout, sout, etc...)&lt;br /&gt;
*&#039;&#039;&#039;message.message&#039;&#039;&#039;: the message text&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Documentation}}&lt;/div&gt;</summary>
		<author><name>Jpsaman</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=Documentation:Advanced_Use_of_VLC&amp;diff=13918</id>
		<title>Documentation:Advanced Use of VLC</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=Documentation:Advanced_Use_of_VLC&amp;diff=13918"/>
		<updated>2009-05-05T07:46:20Z</updated>

		<summary type="html">&lt;p&gt;Jpsaman: /* Playlist object */ aspect-ratio is with : iso x&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{RightMenu|documentation play howto toc}}&lt;br /&gt;
&lt;br /&gt;
==Use the command line==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;TODO: completely outdated&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
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&#039;t need or want a GUI. Here is the complete description of VLC&#039;s command line and how to use it.&lt;br /&gt;
&lt;br /&gt;
You need to be quite comfortable with command line usage to use this.&lt;br /&gt;
&lt;br /&gt;
 Note: Windows users have to use the &#039;&#039;--option-name=&amp;quot;value&amp;quot;&#039;&#039; syntax instead of the &#039;&#039;--option-name value&#039;&#039; syntax.&lt;br /&gt;
&lt;br /&gt;
===Getting help===&lt;br /&gt;
&lt;br /&gt;
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, ...&lt;br /&gt;
&lt;br /&gt;
This chapter will only describe the &amp;quot;general&amp;quot; options, i.e. the core options. Each module adds new options. For example, the HTTP input module will add options for caching, proxy, authentication, ...&lt;br /&gt;
&lt;br /&gt;
By using &#039;&#039;&#039;vlc --help&#039;&#039;&#039;, you will get the basic core options. &#039;&#039;&#039;vlc --longhelp&#039;&#039;&#039; will give all the basic options (core + modules). Adding &#039;&#039;&#039;--advanced&#039;&#039;&#039; will give the &amp;quot;advanced options&amp;quot; (for advanced users). So &#039;&#039;&#039;vlc --longhelp --advanced&#039;&#039;&#039; will give you all options. You can also append &#039;&#039;&#039;--help-verbose&#039;&#039;&#039; if you want more detailed help.&lt;br /&gt;
&lt;br /&gt;
Also, you might want to get debug informations. To do this, use &#039;&#039;&#039;-v&#039;&#039;&#039; or &#039;&#039;&#039;-vv&#039;&#039;&#039; (this will show lower severity messages). If your console supports it, you can add &#039;&#039;&#039;--color to get messages in color.&lt;br /&gt;
&lt;br /&gt;
===Opening streams===&lt;br /&gt;
&lt;br /&gt;
The following commands start VLC and start reading the given element(s)&lt;br /&gt;
&lt;br /&gt;
====Opening a file====&lt;br /&gt;
&lt;br /&gt;
Start VLC with:&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc my_file&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
VLC should be able to recognize the file type. If it does not, you can force demultiplexer and decoder (see below).&lt;br /&gt;
&lt;br /&gt;
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].&lt;br /&gt;
&lt;br /&gt;
====Opening a DVD or VCD, or an audio CD====&lt;br /&gt;
&lt;br /&gt;
Start VLC with:&lt;br /&gt;
&lt;br /&gt;
For a DVD with menus:&lt;br /&gt;
 % &#039;&#039;&#039;vlc dvd://[device][@raw_device][@[title][:[chapter][:angle]]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
In most cases, &#039;&#039;&#039;vlc dvd://&#039;&#039;&#039; or &#039;&#039;&#039;vlc dvd://[device]&#039;&#039;&#039; will do. [device] is for example &#039;&#039;&#039;/dev/dvd&#039;&#039;&#039; on GNU/Linux or &#039;&#039;&#039;D:&#039;&#039;&#039; on Windows (complete path to your DVD drive).&lt;br /&gt;
&lt;br /&gt;
or&lt;br /&gt;
&lt;br /&gt;
(DVD without menus):&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc dvdsimple://[device][@raw_device][@[title][:[chapter][:angle]]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
or&lt;br /&gt;
&lt;br /&gt;
(VCD):&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc vcd://[device][@{E|P|E|T|S}[number]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
or&lt;br /&gt;
&lt;br /&gt;
(Audio CD):&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc cdda://[device][@[track]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Receiving a network stream====&lt;br /&gt;
&lt;br /&gt;
To receive an unicast RTP/UDP stream (sent by VLC&#039;s stream output), start VLC with:&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc  rtp://@:5004&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If 5004 is the port to which packets are sent. 1234 is another commonly used port number. you use the default port (1234), &#039;&#039;&#039;vlc rtp://&#039;&#039;&#039; will do.&lt;br /&gt;
For more information, look at the Streaming Howto.&lt;br /&gt;
&lt;br /&gt;
To receive an multicast UDP/RTP stream (sent by VLC&#039;s stream output), start VLC with:&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc rtp://@multicast_address:port&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
To receive a SSM (source specific multicast) stream, you can use:&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc rtp://server_address@multicast_address:port&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This only works on OSs that support SSM (Windows XP and Linux).&lt;br /&gt;
&lt;br /&gt;
To receive a HTTP stream, start VLC with:&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc http://www.example.org/your_file.mpg&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
To receive a RTSP stream, start VLC with:&amp;lt;/para&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc rtsp://www.example.org/your_stream&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Modules selection===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--intf  &amp;lt;module&amp;gt;&#039;&#039;&#039; allows you to select the interface module.&lt;br /&gt;
*&#039;&#039;&#039;--extraintf  &amp;lt;module&amp;gt;&#039;&#039;&#039; allows you to select extra interface modules that will be launched in addition to the main one. This is mainly useful for special &#039;&#039;control&#039;&#039; interfaces, like HTTP, RC (Remote Control), ... (see below)&lt;br /&gt;
*&#039;&#039;&#039;--aout  &amp;lt;module&amp;gt;&#039;&#039;&#039; allows you to select the audio output module.&lt;br /&gt;
*&#039;&#039;&#039;--vout  &amp;lt;module&amp;gt;&#039;&#039;&#039; allows you to select the video output module.&lt;br /&gt;
*&#039;&#039;&#039;--memcpy  &amp;lt;module&amp;gt;&#039;&#039;&#039; allows you to choose a memory copy module. You should probably never touch that.&lt;br /&gt;
&lt;br /&gt;
You can get a listing of the available modules by using &#039;&#039;&#039;vlc -l&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Stream Output===&lt;br /&gt;
&lt;br /&gt;
The Stream output system allows vlc to become a streaming server.&lt;br /&gt;
&lt;br /&gt;
For more details on the stream output system, please have a look at the [[Documentation:Streaming HowTo|Streaming HowTo]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Other Options===&lt;br /&gt;
&lt;br /&gt;
====Audio options====&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--noaudio&#039;&#039;&#039; disables audio output.&lt;br /&gt;
*&#039;&#039;&#039;--mono&#039;&#039;&#039; forces VLC to treat the stream in mono audio.&lt;br /&gt;
*&#039;&#039;&#039;--volume &amp;lt;integer&amp;gt;&#039;&#039;&#039; sets the level of audio output (between 0 and 1024).&lt;br /&gt;
*&#039;&#039;&#039;--aout-rate &amp;lt;integer&amp;gt;&#039;&#039;&#039; sets the audio output frequency (Hz). By default, VLC will try to autodetect this.&lt;br /&gt;
*&#039;&#039;&#039;--desync &amp;lt;integer&amp;gt;&#039;&#039;&#039; compensates desynchronization of audio (ms). (If audio and video streams are not synchronized, use this setting to delay the audio stream)&lt;br /&gt;
*&#039;&#039;&#039;--audio-filter &amp;lt;string&amp;gt;&#039;&#039;&#039; 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)&lt;br /&gt;
&lt;br /&gt;
====Video options====&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--novideo&#039;&#039;&#039; disables video output.&lt;br /&gt;
*&#039;&#039;&#039;--grayscale&#039;&#039;&#039; turns video output into grayscale mode.&lt;br /&gt;
*&#039;&#039;&#039;--fullscreen&#039;&#039;&#039; ( or &#039;&#039;&#039;-f&#039;&#039;&#039;) sets fullscreen video.&lt;br /&gt;
*&#039;&#039;&#039;--nooverlay&#039;&#039;&#039; disables hardware acceleration for the video output.&lt;br /&gt;
*&#039;&#039;&#039;--width, --height &amp;lt;integer&amp;gt;&#039;&#039;&#039; sets the video window dimensions. By default, the video window size will be adjusted to match the video dimensions.&lt;br /&gt;
*&#039;&#039;&#039;--zoom &amp;lt;float&amp;gt;&#039;&#039;&#039; adds a zoom factor.&lt;br /&gt;
*&#039;&#039;&#039;--aspect-ratio &amp;lt;mode&amp;gt;&#039;&#039;&#039; forces source aspect ratio. Modes are 4x3, 16x9, ...&lt;br /&gt;
*&#039;&#039;&#039;--spumargin  &amp;lt;integer&amp;gt;&#039;&#039;&#039; forces SPU subtitles postion.&lt;br /&gt;
*&#039;&#039;&#039;--filter &amp;lt;string&amp;gt;&#039;&#039;&#039; adds video filters to the processing chain. You can add several filters, separated by commas&lt;br /&gt;
*&#039;&#039;&#039;--sub-filter &amp;lt;string&amp;gt;&#039;&#039;&#039; adds video subpictures filter to the processing chain.&lt;br /&gt;
&lt;br /&gt;
====Playlist options====&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--random&#039;&#039;&#039; plays files randomly forever.&lt;br /&gt;
*&#039;&#039;&#039;--loop&#039;&#039;&#039; loops playlist on end.&lt;br /&gt;
*&#039;&#039;&#039;--repeat&#039;&#039;&#039; repeats current item until another item is forced&lt;br /&gt;
*&#039;&#039;&#039;--play-and-stop&#039;&#039;&#039; stops the playlist after each played item.&lt;br /&gt;
&lt;br /&gt;
====Network options====&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--server-port &amp;lt;integer&amp;gt;&#039;&#039;&#039; sets server port.&lt;br /&gt;
*&#039;&#039;&#039;--iface  &amp;lt;string&amp;gt;&#039;&#039;&#039; specifies the network interface to use.&lt;br /&gt;
*&#039;&#039;&#039;--iface-addr  &amp;lt;string&amp;gt;&#039;&#039;&#039; specifies your network interface IP address.&lt;br /&gt;
*&#039;&#039;&#039;--mtu  &amp;lt;integer&amp;gt;&#039;&#039;&#039; specifies the MTU of the network interface.&lt;br /&gt;
*&#039;&#039;&#039;--ipv6&#039;&#039;&#039; forces IPv6.&lt;br /&gt;
*&#039;&#039;&#039;--ipv4&#039;&#039;&#039; forces IPv4.&lt;br /&gt;
&lt;br /&gt;
====CPU options====&lt;br /&gt;
&lt;br /&gt;
You should probably not touch these options unless you know what you are doing.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--nommx&#039;&#039;&#039; disables the use of MMX CPU extensions.&lt;br /&gt;
*&#039;&#039;&#039;--no3dn&#039;&#039;&#039; disables the use of 3D Now! CPU extensions.&lt;br /&gt;
*&#039;&#039;&#039;--nommxext&#039;&#039;&#039; disables the use of MMX Ext CPU extensions.&lt;br /&gt;
*&#039;&#039;&#039;--nosse&#039;&#039;&#039; disables the use of SSE CPU extensions.&lt;br /&gt;
*&#039;&#039;&#039;--noaltivec&#039;&#039;&#039; disables the use of Altivec CPU extensions.&lt;br /&gt;
&lt;br /&gt;
====Miscellaneous options====&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--quiet&#039;&#039;&#039;  deactivates all console messages.&lt;br /&gt;
*&#039;&#039;&#039;--color&#039;&#039;&#039; displays color messages.&lt;br /&gt;
*&#039;&#039;&#039;--search-path  &amp;lt;string&amp;gt;&#039;&#039;&#039; specifies interface default search path.&lt;br /&gt;
*&#039;&#039;&#039;--plugin-path  &amp;lt;string&amp;gt;&#039;&#039;&#039; specifies plugin search path.&lt;br /&gt;
*&#039;&#039;&#039;--no-plugins-cache&#039;&#039;&#039; disables the plugin cache (plugins cache speeds up startup)&lt;br /&gt;
*&#039;&#039;&#039;--dvd  &amp;lt;string&amp;gt;&#039;&#039;&#039; specifies the default DVD device.&lt;br /&gt;
*&#039;&#039;&#039;--vcd  &amp;lt;string&amp;gt;&#039;&#039;&#039; specifies the default VCD device.&lt;br /&gt;
*&#039;&#039;&#039;--program  &amp;lt;integer&amp;gt;&#039;&#039;&#039; specifies program (SID) (for streams with several programs, like satellite ones).&lt;br /&gt;
*&#039;&#039;&#039;--audio-type  &amp;lt;integer&amp;gt;&#039;&#039;&#039; specifies the default audio type to use with dvds.&lt;br /&gt;
*&#039;&#039;&#039;--audio-channel  &amp;lt;integer&amp;gt;&#039;&#039;&#039; specifies the default audio channel to use with dvds.&lt;br /&gt;
*&#039;&#039;&#039;--spu-channel  &amp;lt;integer&amp;gt;&#039;&#039;&#039; specifies the default subtitle channel to use with dvds.&lt;br /&gt;
*&#039;&#039;&#039;--version&#039;&#039;&#039; gives you information about the current VLC version.&lt;br /&gt;
*&#039;&#039;&#039;--module  &amp;lt;module&amp;gt; &#039;&#039;&#039; displays help about specified module. (Shortcut: &#039;&#039;&#039;-p&#039;&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
===Item-specific options===&lt;br /&gt;
&lt;br /&gt;
There are many options that are related to items (like &#039;&#039;&#039;--novideo&#039;&#039;&#039;, &#039;&#039;&#039;--codec&#039;&#039;&#039;, &#039;&#039;&#039;--fullscreen&#039;&#039;&#039;).&lt;br /&gt;
&lt;br /&gt;
For all of these, you have the possibility to make them item-specific, using &amp;quot;:&amp;quot; instead of &amp;quot;--&amp;quot; and putting the option just after the concerned item.&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc file1.mpg :fullscreen file2.mpg&#039;&#039;&#039;&lt;br /&gt;
will play file1.mpg in fullscreen mode and file2.mpg in the default mode (which is generally no fullscreen), whereas&lt;br /&gt;
 % &#039;&#039;&#039;vlc --fullscreen file1.mpg file2.mpg&#039;&#039;&#039;&lt;br /&gt;
will play both files in fullscreen mode&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc --fullscreen file1.mpg :sub-file=file1.srt :no-fullscreen file2.mpg :filter=distort&#039;&#039;&#039;&lt;br /&gt;
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)&lt;br /&gt;
&lt;br /&gt;
==Advanced use of filters==&lt;br /&gt;
&lt;br /&gt;
===Filters===&lt;br /&gt;
&lt;br /&gt;
These are the old style VLC filters. They only apply to on screen display and thus cannot be streamed.&lt;br /&gt;
&lt;br /&gt;
====Deinterlacing video filter====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;deinterlace&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--deinterlace-mode {discard,blend,mean,bob,linear}&#039;&#039;&#039; choose a deinterlacing mode.&lt;br /&gt;
&lt;br /&gt;
====Invert video filter====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;invert&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Image properties filter====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;adjust&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--contrast &amp;lt;float&amp;gt;&#039;&#039;&#039; Image contrast in the 0-2 range.&lt;br /&gt;
*&#039;&#039;&#039;--brightness &amp;lt;float&amp;gt;&#039;&#039;&#039; Image brightness in the 0-2 range.&lt;br /&gt;
*&#039;&#039;&#039;--hue &amp;lt;integer&amp;gt;&#039;&#039;&#039; Image hue in the 0-360 range.&lt;br /&gt;
*&#039;&#039;&#039;--saturation &amp;lt;float&amp;gt;&#039;&#039;&#039; Image saturation in the 0-3 range.&lt;br /&gt;
*&#039;&#039;&#039;-gamma &amp;lt;float&amp;gt;&#039;&#039;&#039; Image gamma in the 0-10 range.&lt;br /&gt;
&lt;br /&gt;
====Wall video filter====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;wall&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This filter splits the output in several windows.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--wall-cols &amp;lt;integer&amp;gt;&#039;&#039;&#039; Number of columns.&lt;br /&gt;
*&#039;&#039;&#039;--wall-rows &amp;lt;integer&amp;gt;&#039;&#039;&#039; Number of rows.&lt;br /&gt;
*&#039;&#039;&#039;--wall-active &amp;lt;string&amp;gt;&#039;&#039;&#039; Select the windows you want to display. To select windows 2 and 4 you would write &#039;&#039;&#039;--wall-active 2,4&#039;&#039;&#039;. When this option isn&#039;t specified, all windows are displayed.&lt;br /&gt;
&lt;br /&gt;
====Video transformation filter====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;transform&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--transform-type {90,180,270,hflip,vflip}&#039;&#039;&#039; Select rotation angle or symmetry.&lt;br /&gt;
&lt;br /&gt;
====Distort video filter====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;distort&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Clone video filter====&lt;br /&gt;
&lt;br /&gt;
This filter clones the output window.&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;clone&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--clone-count &amp;lt;integer&amp;gt;&#039;&#039;&#039; Number of clones.&lt;br /&gt;
*&#039;&#039;&#039;--clone-vout-list &amp;lt;string&amp;gt;&#039;&#039;&#039; Comma separated string of video output modules.&lt;br /&gt;
&lt;br /&gt;
====Crop video filter====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;crop&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--crop-geometry &amp;lt;string&amp;gt;&#039;&#039;&#039; Set the geometry of the zone to crop. This is set as &amp;lt;width&amp;gt; x &amp;lt;height&amp;gt; + &amp;lt;left offset&amp;gt; + &amp;lt;top offset&amp;gt;.&lt;br /&gt;
*&#039;&#039;&#039;--autocrop&#039;&#039;&#039; Enable automatic black border cropping.&lt;br /&gt;
&lt;br /&gt;
====Motion blur filter====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;motionblur&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;blur-factor &amp;lt;integer&amp;gt;&#039;&#039;&#039; Blur factor in the 1-127 range.&lt;br /&gt;
&lt;br /&gt;
====Video pictures blending====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;blend&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Video scaling filter====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;scale&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Subpictures Filters===&lt;br /&gt;
&lt;br /&gt;
These are the new VLC filters. They can be streamed.&lt;br /&gt;
&lt;br /&gt;
====Time display sub filter====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;time&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--time-format &amp;lt;string&amp;gt;&#039;&#039;&#039; Time format string. You can use the following special characters %Y = year, %m = month, %d = day, %H = hour, %M = minute, %S = second.&lt;br /&gt;
*&#039;&#039;&#039;--time-x &amp;lt;integer&amp;gt;&#039;&#039;&#039; X offset from the left in pixels.&lt;br /&gt;
*&#039;&#039;&#039;--time-y &amp;lt;integer&amp;gt;&#039;&#039;&#039; Y offset from the top in pixels.&lt;br /&gt;
&lt;br /&gt;
====Marquee display sub filter====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;marq&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--marq-marquee &amp;lt;string&amp;gt;&#039;&#039;&#039; Marquee text to display.&lt;br /&gt;
*&#039;&#039;&#039;--marq-x &amp;lt;integer&amp;gt;&#039;&#039;&#039; X offset from the left in pixels.&lt;br /&gt;
*&#039;&#039;&#039;--marq-y &amp;lt;integer&amp;gt;&#039;&#039;&#039; Y offset from the top in pixels.&lt;br /&gt;
*&#039;&#039;&#039;--marq-timeout &amp;lt;timeout&amp;gt;&#039;&#039;&#039; Defines the time the marquee must remain displayed in milliseconds. Default value is 0 (remain forever).&lt;br /&gt;
&lt;br /&gt;
====Logo video filter====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;logo&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This filter can be used both as an old style filter or a subpictures filter.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--logo-file &amp;lt;string&amp;gt;&#039;&#039;&#039; Full path of the PNG file to use.&lt;br /&gt;
*&#039;&#039;&#039;--logo-x &amp;lt;integer&amp;gt;&#039;&#039;&#039; X offset from the left in pixels.&lt;br /&gt;
*&#039;&#039;&#039;--logo-y &amp;lt;integer&amp;gt;&#039;&#039;&#039; Y offset from the top in pixels.&lt;br /&gt;
*&#039;&#039;&#039;--logo-transparency &amp;lt;integer&amp;gt;&#039;&#039;&#039; You can set the logo transparency value here (from 0 for full transparency to 255 for full opacity).&lt;br /&gt;
&lt;br /&gt;
Note: You can move the logo by left-clicking on it.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==The HTTP interface==&lt;br /&gt;
&lt;br /&gt;
VLC ships with a little HTTP server integrated. It is used both to stream using HTTP, and for the HTTP remote control interface.&lt;br /&gt;
&lt;br /&gt;
To start VLC with the HTTP interface, use:&lt;br /&gt;
 % &#039;&#039;&#039;vlc -I http [--http-src /directory/] [--http-host host:port]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If you want to have both the &amp;quot;normal&amp;quot; interface and the HTTP interface, use &#039;&#039;&#039;vlc --extraintf http&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
The HTTP interface will start listening at host:port (&amp;lt;all interfaces&amp;gt;:8080 if omitted), and will reproduce the structure of /directory at http://host:port/ ( vlc_source_path/share/http if omitted ).&lt;br /&gt;
&lt;br /&gt;
Use a browser to go to http://your_host_machine:port. You should be taken to the main page.&lt;br /&gt;
&lt;br /&gt;
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]].&lt;br /&gt;
&lt;br /&gt;
Available pages are:&lt;br /&gt;
* &#039;&#039;&#039;list was obsolete&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Other control interfaces==&lt;br /&gt;
&lt;br /&gt;
VLC includes a number of so-called interfaces that are not really 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 &#039;&#039;&#039;-I&#039;&#039;&#039; or &#039;&#039;&#039;--extraintf&#039;&#039;&#039; on the command line.&lt;br /&gt;
&lt;br /&gt;
===Hotkeys===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Hotkeys can be hacked by:&lt;br /&gt;
 % &#039;&#039;&#039;vlc --key-&amp;lt;function&amp;gt; &amp;amp;lt;code&amp;amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Code is composed by modifiers keys (Alt, Shift, Ctrl, Meta,Command) separated by a dash (-) and terminated by a key (a...z, +, =, -, &#039;,&#039;, +, &amp;amp;lt;, &amp;amp;gt;, `, /, ;, &#039;, \, [, ], *, 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 &#039;&#039;&#039;--longhelp&#039;&#039;&#039; option for full list of functions).&lt;br /&gt;
For example, for binding fullscreen to Ctrl-f, run:&lt;br /&gt;
 % &#039;&#039;&#039;vlc --key-fullscreen &#039;Ctrl-f&#039; &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===RC and RTCI===&lt;br /&gt;
&lt;br /&gt;
These two interfaces allow you to control VLC from a command shell (possibly using a remote connexion or a Unix socket).&lt;br /&gt;
&lt;br /&gt;
Start VLC with &#039;&#039;&#039;-I rc&#039;&#039;&#039; or &#039;&#039;&#039;--extraintf rc&#039;&#039;&#039;. When you get the &#039;&#039;&#039;Remote control interface initialized, `h&#039; for help&#039;&#039;&#039; message, press h and Enter to get help about available commands.&lt;br /&gt;
&lt;br /&gt;
To be able to remote connect to your VLC using a TCP socket (telnet-like connexion), use &#039;&#039;&#039;--rc-host your_host:port&#039;&#039;&#039;. Then, by connecting (using telnet or netcat) to the host on the given port, you will get the command shell.&lt;br /&gt;
&lt;br /&gt;
To use a UNIX socket (local socket, this does not work for Windows), use &#039;&#039;&#039;--rc-unix /path/to/socket&#039;&#039;&#039;. Commands can then be passed using this UNIX socket.&lt;br /&gt;
&lt;br /&gt;
The RTCI interface gives you more advanced options, such as marquee control for the marquee subpicture filter (See filter section).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Ncurses===&lt;br /&gt;
&lt;br /&gt;
This is a text interface, using ncurses library.&lt;br /&gt;
&lt;br /&gt;
Start VLC with &#039;&#039;&#039;-I ncurses&#039;&#039;&#039; or &#039;&#039;&#039;--extraintf ncurses&#039;&#039;&#039;. You will then get something like that:&lt;br /&gt;
&lt;br /&gt;
http://www.videolan.org/doc/play-howto/en/images/play-howto/intf-ncurses-playlist.jpg The ncurses interface&lt;br /&gt;
&lt;br /&gt;
Press h to get the list of all available commands, with a short description.&lt;br /&gt;
&lt;br /&gt;
There is also a filebrowser available for the ncurses interface in order to add playlist items. Press &#039;B&#039; to use it.&lt;br /&gt;
&lt;br /&gt;
http://www.videolan.org/doc/play-howto/en/images/play-howto/intf-ncurses-filebrowser.jpg The ncurses filebrowser&lt;br /&gt;
&lt;br /&gt;
You can set the filebrowser starting point by launching vlc with the &#039;&#039;&#039;--browse-dir&#039;&#039;&#039; option:&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc -I ncurses --browse-dir /filebrowser/starting/point/&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Gestures===&lt;br /&gt;
&lt;br /&gt;
Gestures provide a simple mouse gestures control. TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==The Mozilla plugin==&lt;br /&gt;
&lt;br /&gt;
VLC can also be embedded in a web browser! The following browsers are supported [http://www.mozilla.org/ Mozilla], [http://www.mozilla.org/products/firefox/ Firefox] and [http://www.apple.com/macosx/features/safari Safari].&lt;br /&gt;
&lt;br /&gt;
===Install the plugin===&lt;br /&gt;
&lt;br /&gt;
====GNU/Linux Debian====&lt;br /&gt;
&lt;br /&gt;
Install the &#039;&#039;mozilla-plugin-vlc&#039;&#039; package:&lt;br /&gt;
&lt;br /&gt;
 # &#039;&#039;&#039;apt-get update&#039;&#039;&#039;&lt;br /&gt;
 # &#039;&#039;&#039;apt-get install mozilla-plugin-vlc&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Windows====&lt;br /&gt;
&lt;br /&gt;
Quit Firefox or Mozilla.&lt;br /&gt;
&lt;br /&gt;
Copy the two files in &#039;&#039;&#039;VLC_Installation_folder\mozilla&#039;&#039;&#039; (usually &#039;&#039;&#039;C:\Program Files\VideoLAN\VLC\mozilla&#039;&#039;&#039;) to your mozilla plugins directory (Usually &#039;&#039;&#039;C:\Program Files\Mozilla\plugins&#039;&#039;&#039; or &#039;&#039;&#039;C:\Program Files\Mozilla&lt;br /&gt;
Firefox\plugins&#039;&#039;&#039;).&lt;br /&gt;
&lt;br /&gt;
Restart Firefox or Mozilla.&lt;br /&gt;
&lt;br /&gt;
====MacOS X====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;The Mozilla/Safari plugin for MacOS X is only available from vlc version 0.8.5.1 and onwards.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Quit Safari browser.&lt;br /&gt;
&lt;br /&gt;
Download the Mozilla/safari plugin package from [http://www.videolan.org/vlc/download-macosx.html MacOS X download page].&lt;br /&gt;
&lt;br /&gt;
Run the installer from the dmg image.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Compile the sources yourself====&lt;br /&gt;
&lt;br /&gt;
Please look at the [http://developers.videolan.org developers page] for information on how to do this.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Use the mozilla plugin===&lt;br /&gt;
&lt;br /&gt;
If you open a link to a video file handled by the VLC plugin (To get the list of handled types, browse to &#039;&#039;&#039;about:plugins&#039;&#039;&#039;) or a page with an embedded video, the plugin should open and read the&lt;br /&gt;
video.&lt;br /&gt;
&lt;br /&gt;
===Build HTML pages that use the plugin (VLC version up to 0.8.5)===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;WARNING:&#039;&#039;&#039; the APIs described in this section are &#039;&#039;&#039;deprecated&#039;&#039;&#039;, do not use, &lt;br /&gt;
&lt;br /&gt;
The following API description is only valid uptill version 0.8.5 of the mozilla plugin.&lt;br /&gt;
&lt;br /&gt;
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&lt;br /&gt;
plugin.&lt;br /&gt;
&lt;br /&gt;
The vlc plugin supports the following function calls:&lt;br /&gt;
*&#039;&#039;&#039;play()&#039;&#039;&#039;: Start playing media in the plugin.&lt;br /&gt;
*&#039;&#039;&#039;pause()&#039;&#039;&#039;: Pause playback.&lt;br /&gt;
*&#039;&#039;&#039;stop()&#039;&#039;&#039;: Stop media playback.&lt;br /&gt;
*&#039;&#039;&#039;fullscreen()&#039;&#039;&#039;: Switch the video to full screen.&lt;br /&gt;
*&#039;&#039;&#039;set_volume(vol)&#039;&#039;&#039;: Set the volume. &#039;&#039;&#039;vol&#039;&#039;&#039; has to be an int in the 0-200 range.&lt;br /&gt;
*&#039;&#039;&#039;get_volume()&#039;&#039;&#039;: Get the current volume setting.&lt;br /&gt;
*&#039;&#039;&#039;mute()&#039;&#039;&#039;: Toggle volume muting.&lt;br /&gt;
*&#039;&#039;&#039;set_int_variable(var_name, value)&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;set_bool_variable(var_name, value)&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;set_str_variable(var_name, value)&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;get_int_variable(var_name)&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;get_bool_variable(var_name)&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;get_str_variable(var_name)&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;clear_playlist()&#039;&#039;&#039;: Clear the playlist.&lt;br /&gt;
*&#039;&#039;&#039;add_item(mrl)&#039;&#039;&#039;: Append an item whose location is given by the [[media resource locator]] to the playlist.&lt;br /&gt;
*&#039;&#039;&#039;next()&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;previous()&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;isplaying()&#039;&#039;&#039;: return true if the plugin is playing something.&lt;br /&gt;
*&#039;&#039;&#039;get_length()&#039;&#039;&#039;: Get the media&#039;s length in seconds.&lt;br /&gt;
*&#039;&#039;&#039;get_position()&#039;&#039;&#039;: Get the current position in the media in percent.&lt;br /&gt;
*&#039;&#039;&#039;get_time()&#039;&#039;&#039;: Get the current position in the media in seconds.&lt;br /&gt;
*&#039;&#039;&#039;seek(seconds,is_relative)&#039;&#039;&#039;: If is_relative is true, seek relatively to current time, else seek from beginning of the stream. Seek time is specified in seconds.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Here are a few examples of HTML pages that use the&lt;br /&gt;
Mozilla plugin.&lt;br /&gt;
&lt;br /&gt;
====Example 1====&lt;br /&gt;
&lt;br /&gt;
In this example, the plugin will read an HTTP stream inside the web page. If the user goes fullscreen, he will have to press &#039;&#039;f&#039;&#039; or double-click on the video to go back in normal view.&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;html&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;head&amp;amp;gt;&amp;amp;lt;title&amp;amp;gt;Demo of VLC mozilla plugin&amp;amp;lt;/title&amp;amp;gt;&amp;amp;lt;/head&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;body&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;h1&amp;amp;gt;Demo of VLC mozilla plugin - Example 1&amp;amp;lt;/h1&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;embed type=&amp;quot;application/x-vlc-plugin&amp;quot;&lt;br /&gt;
          name=&amp;quot;video1&amp;quot;&lt;br /&gt;
          autoplay=&amp;quot;no&amp;quot; loop=&amp;quot;yes&amp;quot; width=&amp;quot;400&amp;quot; height=&amp;quot;300&amp;quot;&lt;br /&gt;
          target=&amp;quot;http://server.example.org/video1.vob&amp;quot; /&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;br /&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video1.play()&#039;&amp;amp;gt;Play video1&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video1.pause()&#039;&amp;amp;gt;Pause video1&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video1.stop()&#039;&amp;amp;gt;Stop video1&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video1.fullscreen()&#039;&amp;amp;gt;Fullscreen&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;/body&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/html&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Example 2====&lt;br /&gt;
&lt;br /&gt;
In this example, the plugin will read a multicast UDP/RTP stream in a dedicated video output window.&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;html&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;head&amp;amp;gt;&amp;amp;lt;title&amp;amp;gt;Demo of VLC mozilla plugin&amp;amp;lt;/title&amp;amp;gt;&amp;amp;lt;/head&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;body&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;h1&amp;amp;gt;Demo of VLC mozilla plugin - Example 2&amp;amp;lt;/h1&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;embed type=&amp;quot;application/x-vlc-plugin&amp;quot;&lt;br /&gt;
          name=&amp;quot;video2&amp;quot;&lt;br /&gt;
          autoplay=&amp;quot;no&amp;quot; loop=&amp;quot;no&amp;quot; hidden=&amp;quot;yes&amp;quot;&lt;br /&gt;
          target=&amp;quot;rtp://@239.255.12.42:5004&amp;quot; /&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;br /&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video2.play()&#039;&amp;amp;gt;Play video2&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video2.stop()&#039;&amp;amp;gt;Stop video2&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video2.fullscreen()&#039;&amp;amp;gt;Fullscreen&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;/body&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/html&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Building HTML pages for Mozilla/Firefox/Internet Explorer/Safari (VLC version 0.8.6 and above)==&lt;br /&gt;
&lt;br /&gt;
The following description works for any of the browsers VLC supports. The JavaScript API has been unified between Mozilla/Firefox/IE (ActiveX) and Safari, thus targetting at all of the major OS out there. This is only valid for VLC version 0.8.6 and above.&lt;br /&gt;
&lt;br /&gt;
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&lt;br /&gt;
plugin.&lt;br /&gt;
&lt;br /&gt;
The vlc plugin exports serveral objects that can be accessed for setting and getting information. When used improperly the API&#039;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.&lt;br /&gt;
&lt;br /&gt;
The vlc plugin knows the following objects:&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;audio&#039;&#039;&#039;: Access audio properties.&lt;br /&gt;
*&#039;&#039;&#039;input&#039;&#039;&#039;: Access input properties.&lt;br /&gt;
*&#039;&#039;&#039;playlist&#039;&#039;&#039;: Access playlist properties.&lt;br /&gt;
*&#039;&#039;&#039;video&#039;&#039;&#039;: Access video properties.&lt;br /&gt;
*&#039;&#039;&#039;log&#039;&#039;&#039;: Access log properties.&lt;br /&gt;
*&#039;&#039;&#039;messages&#039;&#039;&#039;: Access to log message properties.&lt;br /&gt;
*&#039;&#039;&#039;iterator&#039;&#039;&#039;: Access to log iterator properties.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;html&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;title&amp;amp;gt;VLC Mozilla plugin test page&amp;amp;lt;/title&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;body&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;embed type=&amp;quot;application/x-vlc-plugin&amp;quot; pluginspage=&amp;quot;http://www.videolan.org&amp;quot; version=&amp;quot;VideoLAN.VLCPlugin.2&amp;quot;&lt;br /&gt;
     width=&amp;quot;640&amp;quot;&lt;br /&gt;
     height=&amp;quot;480&amp;quot;&lt;br /&gt;
     id=&amp;quot;vlc&amp;quot;&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/embed&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;script language=&amp;quot;Javascript&amp;quot;&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;!--&lt;br /&gt;
 var vlc = document.getElementById(&amp;quot;vlc&amp;quot;);&lt;br /&gt;
 vlc.audio.toggleMute();&lt;br /&gt;
 !--&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/script&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/body&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/html&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Root object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;VersionInfo&#039;&#039;&#039;: returns version information string&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;vlc.versionInfo()&#039;&#039;&#039;: returns version information string (same as VersionInfo)&lt;br /&gt;
&lt;br /&gt;
====Audio object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.audio.mute&#039;&#039;&#039;: boolean value to mute and ummute the audio&lt;br /&gt;
*&#039;&#039;&#039;vlc.audio.volume&#039;&#039;&#039;: a value between [0-200] which indicates a percentage of the volume.&lt;br /&gt;
*&#039;&#039;&#039;vlc.audio.track&#039;&#039;&#039;: (supported in vlc version &amp;gt; 0.8.6) a value between [1-65535] which indicates the audio track to play or that is playing. a value of 0 means the audio is/will be disabled.&lt;br /&gt;
*&#039;&#039;&#039;vlc.audio.channel&#039;&#039;&#039;: (supported in vlc version &amp;gt; 0.8.6) integer value between [1-5] that indicates which audio channel mode is used, values can be: &amp;quot;1=stereo&amp;quot;, &amp;quot;2=reverse stereo&amp;quot;, &amp;quot;3=left&amp;quot;, &amp;quot;4=right&amp;quot;, &amp;quot;5=dolby&amp;quot;. Use vlc.audio.channel to check if setting of the audio channel mode has succeeded.&lt;br /&gt;
&lt;br /&gt;
 Audio Channel:&lt;br /&gt;
 &amp;lt;SELECT readonly onChange=&#039;doAudioChannel(this.value)&#039;&amp;gt;&lt;br /&gt;
    &amp;lt;OPTION value=1&amp;gt;Stereo&amp;lt;/OPTION&amp;gt;&lt;br /&gt;
    &amp;lt;OPTION value=2&amp;gt;Reverse stereo&amp;lt;/OPTION&amp;gt;&lt;br /&gt;
    &amp;lt;OPTION value=3&amp;gt;Left&amp;lt;/OPTION&amp;gt;&lt;br /&gt;
    &amp;lt;OPTION value=4&amp;gt;Right&amp;lt;/OPTION&amp;gt;&lt;br /&gt;
    &amp;lt;OPTION value=5&amp;gt;Dolby&amp;lt;/OPTION&amp;gt;&lt;br /&gt;
 &amp;lt;/SELECT&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;SCRIPT language=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;amp;lt;!--&lt;br /&gt;
 function doAudioChannel(value)&lt;br /&gt;
 {&lt;br /&gt;
    var vlc = getVLC(&amp;quot;vlc&amp;quot;);&lt;br /&gt;
    vlc.audio.channel = parseInt(value);&lt;br /&gt;
    alert(vlc.audio.channel);&lt;br /&gt;
 };&lt;br /&gt;
 --&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;vlc.audio.toggleMute()&#039;&#039;&#039;: boolean toggle that mutes and unmutes the audio based upon the previous state&lt;br /&gt;
&lt;br /&gt;
====Input object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.length&#039;&#039;&#039;: length of the input file in number of milliseconds. 0 is returned for &#039;live&#039; streams or clips whose length cannot be determined by VLC&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.fps&#039;&#039;&#039;: frames per second returned as a float (typically 60.0, 50.0, 23.976, etc...)&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.hasVout&#039;&#039;&#039;: a boolean that returns true when the video is being displayed, it returns false when video is not displayed&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.position&#039;&#039;&#039;: normalized position in multimedia stream item given as a float value between [0.0 - 1.0]&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.time&#039;&#039;&#039;: the absolute position in time given in milliseconds, this property can be used to seek through the stream&lt;br /&gt;
 &amp;amp;lt;!-- absolute seek in stream !--&amp;amp;gt;&lt;br /&gt;
 vlc.input.time = &amp;amp;lt;absolute seek&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;!-- relative seek in stream !--&amp;amp;gt;&lt;br /&gt;
 vlc.input.time = vlc.input.time + &amp;amp;lt;relative seek&amp;amp;gt;&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.state&#039;&#039;&#039;: current state of the input chain given as enumeration (IDLE=0, OPENING=1, BUFFERING=2, PLAYING=3, PAUSED=4, STOPPING=5, ENDED=6, ERROR=7). Note: Test for ENDED=6 to catch end of playback. Checking for STOPPING=5 is NOT ENOUGH.&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.rate&#039;&#039;&#039;: input speed given as float (1.0 for normal speed, 0.5 for half speed, 2.0 for twice as fast, etc.).&lt;br /&gt;
 rate &amp;gt; 1              : is fastforward&lt;br /&gt;
 rate &amp;gt; 0 and rate &amp;lt; 1 : is slow motion&lt;br /&gt;
 rate &amp;lt; 0              : is rewind&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Playlist object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.itemCount&#039;&#039;&#039;: number that returns the amount of items currently in the playlist (&#039;&#039;&#039;deprecated&#039;&#039;&#039;, do not use, see [[#Playlist_items_object| Playlist items]])&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.isPlaying&#039;&#039;&#039;: a boolean that returns true if the current playlist item is playing and false when it is not playing&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.items&#039;&#039;&#039;: return the playlist items collection, see [[#Playlist_items_object| Playlist items]]&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.add(mrl)&#039;&#039;&#039;: add a playlist item as [[MRL]]. The MRL must be given as a string. Returns a number as an item identifier in playlist (this is not a position  in playlist).&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.add(mrl,name,options)&#039;&#039;&#039;: add a playlist item as MRL, with metaname &#039;name&#039; and options &#039;options&#039;. options are text arguments which can be provided either as a single string containing space separated values, akin to VLC command line, or as an array of string values. Returns a number as an item identifier in playlist (this is not a position in playlist).&lt;br /&gt;
  var options = new Array(&amp;quot;:aspect-ratio=4:3&amp;quot;, &amp;quot;--rtsp-tcp&amp;quot;);&lt;br /&gt;
  var id = vlc.playlist.add(&amp;quot;rtsp://servername/item/to/play&amp;quot;, &amp;quot;fancy name&amp;quot;, options);&lt;br /&gt;
  vlc.playlist.playItem(id);&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.play()&#039;&#039;&#039;: start playing the current playlist item&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.playItem(number)&#039;&#039;&#039;: start playing the item whose identifier is number&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.togglePause()&#039;&#039;&#039;: toggle the pause state for the current playlist item&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.stop()&#039;&#039;&#039;: stop playing the current playlist item&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.next()&#039;&#039;&#039;: iterate to the next playlist item&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.prev()&#039;&#039;&#039;: iterate to the previous playlist item&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.clear()&#039;&#039;&#039;: empty the current playlist, all items will be deleted from the playlist (&#039;&#039;&#039;deprecated&#039;&#039;&#039;, do not use, see [[#Playlist_items_object| Playlist items]])&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.removeItem(number)&#039;&#039;&#039;: remove the item from playlist whose identifier is number &amp;lt;!-- (note: this number isn&#039;t the position in the playlist, but the number given by vlc.playlist.add() ) --&amp;gt; (&#039;&#039;&#039;deprecated&#039;&#039;&#039;, do not use, see [[#Playlist_items_object| Playlist items]])&lt;br /&gt;
&lt;br /&gt;
====Playlist items object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.items.count&#039;&#039;&#039;: number of items currently in the playlist&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.items.clear()&#039;&#039;&#039;: empty the current playlist, all items will be deleted from the playlist. If a movie is playing, it stop. Note that when this method returns, playlist may not have been entirely been cleared as this operation is performed asynchronously; use the &#039;&#039;count&#039;&#039; property to verify/wait until the playlist is empty.&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.items.remove(number)&#039;&#039;&#039;: remove the item whose identifier is number from playlist. (note: this number isn&#039;t the position in the playlist, but the number given by vlc.playlist.add() )&lt;br /&gt;
&lt;br /&gt;
====Video object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.width&#039;&#039;&#039;: returns the horizontal size of the video&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.height&#039;&#039;&#039;: returns the vertical size of the video&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.fullscreen&#039;&#039;&#039;: 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.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.aspectRatio&#039;&#039;&#039;: get and set the aspect ratio to use in the video screen. The property takes a string as input value. Typical values are: &amp;quot;1:1&amp;quot;, &amp;quot;4:3&amp;quot;, &amp;quot;16:9&amp;quot;, &amp;quot;16:10&amp;quot;, &amp;quot;221:100&amp;quot; and &amp;quot;5:4&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.subtitle&#039;&#039;&#039;: (supported in vlc version &amp;gt; 0.8.6a) get and set the subtitle track to show on the video screen. The property takes an integer as input value [1..65535]. If subtitle track is set to 0, the subtitles will be disabled. If set to a value outside the current subtitle tracks range, then it will return -1 and display an error message.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.teletext&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 0.9.0) get and set teletext page to show on the video stream. This will only work if a teletext elementary stream is available in the video stream. The property takes an integer as input value [0..999] for indicating the teletext page to view, setting the value to 0 means hide teletext. On error it will return -1 and display an error message.&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.toggleFullscreen()&#039;&#039;&#039;: toggle the fullscreen mode based on the previous setting&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.toggleTeletext()&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 0.9.0) toggle the teletext page to overlay transparent or not, based on the previous setting&lt;br /&gt;
&lt;br /&gt;
====Log object====&lt;br /&gt;
&lt;br /&gt;
this object allows accessing VLC main message logging queue. Typically this queue capacity is very small (no nore than 256 entries) and can easily overflow, therefore messages should be read and cleared as often as possible.&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.log.messages&#039;&#039;&#039;: returns the message collection, see [[Messages object]]&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.log.verbosity&#039;&#039;&#039;: write number [-1,0,1,2,3] for changing the verbosity level of the log messages; messages whose verbosity is higher than set will be not be logged in the queue. The numbers have the following meaning: -1 disable, 0 info, 1 error, 2 warning, 3 debug. &lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Messages object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;messages.count&#039;&#039;&#039;: returns number of messages in the log&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;messages.clear()&#039;&#039;&#039;: clear the current log buffer. It should be called as frequently as possible to not overflow the message queue. Call this method after the log messages of interest are read.&lt;br /&gt;
*&#039;&#039;&#039;messages.iterator()&#039;&#039;&#039;: creates and returns an iterator object, used to iterate over the messages in the log. &#039;&#039;&#039;Don&#039;t clear the log buffer while holding an iterator object.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Messages Iterator object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;iterator.hasNext&#039;&#039;&#039;: returns a boolean that indicates whether &#039;&#039;vlc.log.messages.next()&#039;&#039; will return the next message.&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;iterator.next()&#039;&#039;&#039;: returns the next message object in the log, see [[Message object]]&lt;br /&gt;
&lt;br /&gt;
====Message object====&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;message.severity&#039;&#039;&#039;: number that indicates the severity of the log message (0 = info, 1 = error, 2 = warning, 3 = debug)&lt;br /&gt;
*&#039;&#039;&#039;message.name&#039;&#039;&#039;: name of VLC module that printed the log message (e.g: main, http, directx, etc...)&lt;br /&gt;
*&#039;&#039;&#039;message.type&#039;&#039;&#039;: type of VLC module that printed the log message (eg: input, access, vout, sout, etc...)&lt;br /&gt;
*&#039;&#039;&#039;message.message&#039;&#039;&#039;: the message text&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Documentation}}&lt;/div&gt;</summary>
		<author><name>Jpsaman</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=Documentation:Advanced_Use_of_VLC&amp;diff=13917</id>
		<title>Documentation:Advanced Use of VLC</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=Documentation:Advanced_Use_of_VLC&amp;diff=13917"/>
		<updated>2009-05-05T07:41:39Z</updated>

		<summary type="html">&lt;p&gt;Jpsaman: /* Playlist object */ add option array example&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{RightMenu|documentation play howto toc}}&lt;br /&gt;
&lt;br /&gt;
==Use the command line==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;TODO: completely outdated&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
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&#039;t need or want a GUI. Here is the complete description of VLC&#039;s command line and how to use it.&lt;br /&gt;
&lt;br /&gt;
You need to be quite comfortable with command line usage to use this.&lt;br /&gt;
&lt;br /&gt;
 Note: Windows users have to use the &#039;&#039;--option-name=&amp;quot;value&amp;quot;&#039;&#039; syntax instead of the &#039;&#039;--option-name value&#039;&#039; syntax.&lt;br /&gt;
&lt;br /&gt;
===Getting help===&lt;br /&gt;
&lt;br /&gt;
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, ...&lt;br /&gt;
&lt;br /&gt;
This chapter will only describe the &amp;quot;general&amp;quot; options, i.e. the core options. Each module adds new options. For example, the HTTP input module will add options for caching, proxy, authentication, ...&lt;br /&gt;
&lt;br /&gt;
By using &#039;&#039;&#039;vlc --help&#039;&#039;&#039;, you will get the basic core options. &#039;&#039;&#039;vlc --longhelp&#039;&#039;&#039; will give all the basic options (core + modules). Adding &#039;&#039;&#039;--advanced&#039;&#039;&#039; will give the &amp;quot;advanced options&amp;quot; (for advanced users). So &#039;&#039;&#039;vlc --longhelp --advanced&#039;&#039;&#039; will give you all options. You can also append &#039;&#039;&#039;--help-verbose&#039;&#039;&#039; if you want more detailed help.&lt;br /&gt;
&lt;br /&gt;
Also, you might want to get debug informations. To do this, use &#039;&#039;&#039;-v&#039;&#039;&#039; or &#039;&#039;&#039;-vv&#039;&#039;&#039; (this will show lower severity messages). If your console supports it, you can add &#039;&#039;&#039;--color to get messages in color.&lt;br /&gt;
&lt;br /&gt;
===Opening streams===&lt;br /&gt;
&lt;br /&gt;
The following commands start VLC and start reading the given element(s)&lt;br /&gt;
&lt;br /&gt;
====Opening a file====&lt;br /&gt;
&lt;br /&gt;
Start VLC with:&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc my_file&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
VLC should be able to recognize the file type. If it does not, you can force demultiplexer and decoder (see below).&lt;br /&gt;
&lt;br /&gt;
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].&lt;br /&gt;
&lt;br /&gt;
====Opening a DVD or VCD, or an audio CD====&lt;br /&gt;
&lt;br /&gt;
Start VLC with:&lt;br /&gt;
&lt;br /&gt;
For a DVD with menus:&lt;br /&gt;
 % &#039;&#039;&#039;vlc dvd://[device][@raw_device][@[title][:[chapter][:angle]]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
In most cases, &#039;&#039;&#039;vlc dvd://&#039;&#039;&#039; or &#039;&#039;&#039;vlc dvd://[device]&#039;&#039;&#039; will do. [device] is for example &#039;&#039;&#039;/dev/dvd&#039;&#039;&#039; on GNU/Linux or &#039;&#039;&#039;D:&#039;&#039;&#039; on Windows (complete path to your DVD drive).&lt;br /&gt;
&lt;br /&gt;
or&lt;br /&gt;
&lt;br /&gt;
(DVD without menus):&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc dvdsimple://[device][@raw_device][@[title][:[chapter][:angle]]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
or&lt;br /&gt;
&lt;br /&gt;
(VCD):&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc vcd://[device][@{E|P|E|T|S}[number]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
or&lt;br /&gt;
&lt;br /&gt;
(Audio CD):&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc cdda://[device][@[track]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Receiving a network stream====&lt;br /&gt;
&lt;br /&gt;
To receive an unicast RTP/UDP stream (sent by VLC&#039;s stream output), start VLC with:&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc  rtp://@:5004&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If 5004 is the port to which packets are sent. 1234 is another commonly used port number. you use the default port (1234), &#039;&#039;&#039;vlc rtp://&#039;&#039;&#039; will do.&lt;br /&gt;
For more information, look at the Streaming Howto.&lt;br /&gt;
&lt;br /&gt;
To receive an multicast UDP/RTP stream (sent by VLC&#039;s stream output), start VLC with:&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc rtp://@multicast_address:port&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
To receive a SSM (source specific multicast) stream, you can use:&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc rtp://server_address@multicast_address:port&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This only works on OSs that support SSM (Windows XP and Linux).&lt;br /&gt;
&lt;br /&gt;
To receive a HTTP stream, start VLC with:&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc http://www.example.org/your_file.mpg&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
To receive a RTSP stream, start VLC with:&amp;lt;/para&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc rtsp://www.example.org/your_stream&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Modules selection===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--intf  &amp;lt;module&amp;gt;&#039;&#039;&#039; allows you to select the interface module.&lt;br /&gt;
*&#039;&#039;&#039;--extraintf  &amp;lt;module&amp;gt;&#039;&#039;&#039; allows you to select extra interface modules that will be launched in addition to the main one. This is mainly useful for special &#039;&#039;control&#039;&#039; interfaces, like HTTP, RC (Remote Control), ... (see below)&lt;br /&gt;
*&#039;&#039;&#039;--aout  &amp;lt;module&amp;gt;&#039;&#039;&#039; allows you to select the audio output module.&lt;br /&gt;
*&#039;&#039;&#039;--vout  &amp;lt;module&amp;gt;&#039;&#039;&#039; allows you to select the video output module.&lt;br /&gt;
*&#039;&#039;&#039;--memcpy  &amp;lt;module&amp;gt;&#039;&#039;&#039; allows you to choose a memory copy module. You should probably never touch that.&lt;br /&gt;
&lt;br /&gt;
You can get a listing of the available modules by using &#039;&#039;&#039;vlc -l&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Stream Output===&lt;br /&gt;
&lt;br /&gt;
The Stream output system allows vlc to become a streaming server.&lt;br /&gt;
&lt;br /&gt;
For more details on the stream output system, please have a look at the [[Documentation:Streaming HowTo|Streaming HowTo]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Other Options===&lt;br /&gt;
&lt;br /&gt;
====Audio options====&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--noaudio&#039;&#039;&#039; disables audio output.&lt;br /&gt;
*&#039;&#039;&#039;--mono&#039;&#039;&#039; forces VLC to treat the stream in mono audio.&lt;br /&gt;
*&#039;&#039;&#039;--volume &amp;lt;integer&amp;gt;&#039;&#039;&#039; sets the level of audio output (between 0 and 1024).&lt;br /&gt;
*&#039;&#039;&#039;--aout-rate &amp;lt;integer&amp;gt;&#039;&#039;&#039; sets the audio output frequency (Hz). By default, VLC will try to autodetect this.&lt;br /&gt;
*&#039;&#039;&#039;--desync &amp;lt;integer&amp;gt;&#039;&#039;&#039; compensates desynchronization of audio (ms). (If audio and video streams are not synchronized, use this setting to delay the audio stream)&lt;br /&gt;
*&#039;&#039;&#039;--audio-filter &amp;lt;string&amp;gt;&#039;&#039;&#039; 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)&lt;br /&gt;
&lt;br /&gt;
====Video options====&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--novideo&#039;&#039;&#039; disables video output.&lt;br /&gt;
*&#039;&#039;&#039;--grayscale&#039;&#039;&#039; turns video output into grayscale mode.&lt;br /&gt;
*&#039;&#039;&#039;--fullscreen&#039;&#039;&#039; ( or &#039;&#039;&#039;-f&#039;&#039;&#039;) sets fullscreen video.&lt;br /&gt;
*&#039;&#039;&#039;--nooverlay&#039;&#039;&#039; disables hardware acceleration for the video output.&lt;br /&gt;
*&#039;&#039;&#039;--width, --height &amp;lt;integer&amp;gt;&#039;&#039;&#039; sets the video window dimensions. By default, the video window size will be adjusted to match the video dimensions.&lt;br /&gt;
*&#039;&#039;&#039;--zoom &amp;lt;float&amp;gt;&#039;&#039;&#039; adds a zoom factor.&lt;br /&gt;
*&#039;&#039;&#039;--aspect-ratio &amp;lt;mode&amp;gt;&#039;&#039;&#039; forces source aspect ratio. Modes are 4x3, 16x9, ...&lt;br /&gt;
*&#039;&#039;&#039;--spumargin  &amp;lt;integer&amp;gt;&#039;&#039;&#039; forces SPU subtitles postion.&lt;br /&gt;
*&#039;&#039;&#039;--filter &amp;lt;string&amp;gt;&#039;&#039;&#039; adds video filters to the processing chain. You can add several filters, separated by commas&lt;br /&gt;
*&#039;&#039;&#039;--sub-filter &amp;lt;string&amp;gt;&#039;&#039;&#039; adds video subpictures filter to the processing chain.&lt;br /&gt;
&lt;br /&gt;
====Playlist options====&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--random&#039;&#039;&#039; plays files randomly forever.&lt;br /&gt;
*&#039;&#039;&#039;--loop&#039;&#039;&#039; loops playlist on end.&lt;br /&gt;
*&#039;&#039;&#039;--repeat&#039;&#039;&#039; repeats current item until another item is forced&lt;br /&gt;
*&#039;&#039;&#039;--play-and-stop&#039;&#039;&#039; stops the playlist after each played item.&lt;br /&gt;
&lt;br /&gt;
====Network options====&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--server-port &amp;lt;integer&amp;gt;&#039;&#039;&#039; sets server port.&lt;br /&gt;
*&#039;&#039;&#039;--iface  &amp;lt;string&amp;gt;&#039;&#039;&#039; specifies the network interface to use.&lt;br /&gt;
*&#039;&#039;&#039;--iface-addr  &amp;lt;string&amp;gt;&#039;&#039;&#039; specifies your network interface IP address.&lt;br /&gt;
*&#039;&#039;&#039;--mtu  &amp;lt;integer&amp;gt;&#039;&#039;&#039; specifies the MTU of the network interface.&lt;br /&gt;
*&#039;&#039;&#039;--ipv6&#039;&#039;&#039; forces IPv6.&lt;br /&gt;
*&#039;&#039;&#039;--ipv4&#039;&#039;&#039; forces IPv4.&lt;br /&gt;
&lt;br /&gt;
====CPU options====&lt;br /&gt;
&lt;br /&gt;
You should probably not touch these options unless you know what you are doing.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--nommx&#039;&#039;&#039; disables the use of MMX CPU extensions.&lt;br /&gt;
*&#039;&#039;&#039;--no3dn&#039;&#039;&#039; disables the use of 3D Now! CPU extensions.&lt;br /&gt;
*&#039;&#039;&#039;--nommxext&#039;&#039;&#039; disables the use of MMX Ext CPU extensions.&lt;br /&gt;
*&#039;&#039;&#039;--nosse&#039;&#039;&#039; disables the use of SSE CPU extensions.&lt;br /&gt;
*&#039;&#039;&#039;--noaltivec&#039;&#039;&#039; disables the use of Altivec CPU extensions.&lt;br /&gt;
&lt;br /&gt;
====Miscellaneous options====&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--quiet&#039;&#039;&#039;  deactivates all console messages.&lt;br /&gt;
*&#039;&#039;&#039;--color&#039;&#039;&#039; displays color messages.&lt;br /&gt;
*&#039;&#039;&#039;--search-path  &amp;lt;string&amp;gt;&#039;&#039;&#039; specifies interface default search path.&lt;br /&gt;
*&#039;&#039;&#039;--plugin-path  &amp;lt;string&amp;gt;&#039;&#039;&#039; specifies plugin search path.&lt;br /&gt;
*&#039;&#039;&#039;--no-plugins-cache&#039;&#039;&#039; disables the plugin cache (plugins cache speeds up startup)&lt;br /&gt;
*&#039;&#039;&#039;--dvd  &amp;lt;string&amp;gt;&#039;&#039;&#039; specifies the default DVD device.&lt;br /&gt;
*&#039;&#039;&#039;--vcd  &amp;lt;string&amp;gt;&#039;&#039;&#039; specifies the default VCD device.&lt;br /&gt;
*&#039;&#039;&#039;--program  &amp;lt;integer&amp;gt;&#039;&#039;&#039; specifies program (SID) (for streams with several programs, like satellite ones).&lt;br /&gt;
*&#039;&#039;&#039;--audio-type  &amp;lt;integer&amp;gt;&#039;&#039;&#039; specifies the default audio type to use with dvds.&lt;br /&gt;
*&#039;&#039;&#039;--audio-channel  &amp;lt;integer&amp;gt;&#039;&#039;&#039; specifies the default audio channel to use with dvds.&lt;br /&gt;
*&#039;&#039;&#039;--spu-channel  &amp;lt;integer&amp;gt;&#039;&#039;&#039; specifies the default subtitle channel to use with dvds.&lt;br /&gt;
*&#039;&#039;&#039;--version&#039;&#039;&#039; gives you information about the current VLC version.&lt;br /&gt;
*&#039;&#039;&#039;--module  &amp;lt;module&amp;gt; &#039;&#039;&#039; displays help about specified module. (Shortcut: &#039;&#039;&#039;-p&#039;&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
===Item-specific options===&lt;br /&gt;
&lt;br /&gt;
There are many options that are related to items (like &#039;&#039;&#039;--novideo&#039;&#039;&#039;, &#039;&#039;&#039;--codec&#039;&#039;&#039;, &#039;&#039;&#039;--fullscreen&#039;&#039;&#039;).&lt;br /&gt;
&lt;br /&gt;
For all of these, you have the possibility to make them item-specific, using &amp;quot;:&amp;quot; instead of &amp;quot;--&amp;quot; and putting the option just after the concerned item.&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc file1.mpg :fullscreen file2.mpg&#039;&#039;&#039;&lt;br /&gt;
will play file1.mpg in fullscreen mode and file2.mpg in the default mode (which is generally no fullscreen), whereas&lt;br /&gt;
 % &#039;&#039;&#039;vlc --fullscreen file1.mpg file2.mpg&#039;&#039;&#039;&lt;br /&gt;
will play both files in fullscreen mode&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc --fullscreen file1.mpg :sub-file=file1.srt :no-fullscreen file2.mpg :filter=distort&#039;&#039;&#039;&lt;br /&gt;
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)&lt;br /&gt;
&lt;br /&gt;
==Advanced use of filters==&lt;br /&gt;
&lt;br /&gt;
===Filters===&lt;br /&gt;
&lt;br /&gt;
These are the old style VLC filters. They only apply to on screen display and thus cannot be streamed.&lt;br /&gt;
&lt;br /&gt;
====Deinterlacing video filter====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;deinterlace&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--deinterlace-mode {discard,blend,mean,bob,linear}&#039;&#039;&#039; choose a deinterlacing mode.&lt;br /&gt;
&lt;br /&gt;
====Invert video filter====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;invert&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Image properties filter====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;adjust&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--contrast &amp;lt;float&amp;gt;&#039;&#039;&#039; Image contrast in the 0-2 range.&lt;br /&gt;
*&#039;&#039;&#039;--brightness &amp;lt;float&amp;gt;&#039;&#039;&#039; Image brightness in the 0-2 range.&lt;br /&gt;
*&#039;&#039;&#039;--hue &amp;lt;integer&amp;gt;&#039;&#039;&#039; Image hue in the 0-360 range.&lt;br /&gt;
*&#039;&#039;&#039;--saturation &amp;lt;float&amp;gt;&#039;&#039;&#039; Image saturation in the 0-3 range.&lt;br /&gt;
*&#039;&#039;&#039;-gamma &amp;lt;float&amp;gt;&#039;&#039;&#039; Image gamma in the 0-10 range.&lt;br /&gt;
&lt;br /&gt;
====Wall video filter====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;wall&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This filter splits the output in several windows.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--wall-cols &amp;lt;integer&amp;gt;&#039;&#039;&#039; Number of columns.&lt;br /&gt;
*&#039;&#039;&#039;--wall-rows &amp;lt;integer&amp;gt;&#039;&#039;&#039; Number of rows.&lt;br /&gt;
*&#039;&#039;&#039;--wall-active &amp;lt;string&amp;gt;&#039;&#039;&#039; Select the windows you want to display. To select windows 2 and 4 you would write &#039;&#039;&#039;--wall-active 2,4&#039;&#039;&#039;. When this option isn&#039;t specified, all windows are displayed.&lt;br /&gt;
&lt;br /&gt;
====Video transformation filter====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;transform&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--transform-type {90,180,270,hflip,vflip}&#039;&#039;&#039; Select rotation angle or symmetry.&lt;br /&gt;
&lt;br /&gt;
====Distort video filter====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;distort&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Clone video filter====&lt;br /&gt;
&lt;br /&gt;
This filter clones the output window.&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;clone&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--clone-count &amp;lt;integer&amp;gt;&#039;&#039;&#039; Number of clones.&lt;br /&gt;
*&#039;&#039;&#039;--clone-vout-list &amp;lt;string&amp;gt;&#039;&#039;&#039; Comma separated string of video output modules.&lt;br /&gt;
&lt;br /&gt;
====Crop video filter====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;crop&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--crop-geometry &amp;lt;string&amp;gt;&#039;&#039;&#039; Set the geometry of the zone to crop. This is set as &amp;lt;width&amp;gt; x &amp;lt;height&amp;gt; + &amp;lt;left offset&amp;gt; + &amp;lt;top offset&amp;gt;.&lt;br /&gt;
*&#039;&#039;&#039;--autocrop&#039;&#039;&#039; Enable automatic black border cropping.&lt;br /&gt;
&lt;br /&gt;
====Motion blur filter====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;motionblur&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;blur-factor &amp;lt;integer&amp;gt;&#039;&#039;&#039; Blur factor in the 1-127 range.&lt;br /&gt;
&lt;br /&gt;
====Video pictures blending====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;blend&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Video scaling filter====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;scale&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Subpictures Filters===&lt;br /&gt;
&lt;br /&gt;
These are the new VLC filters. They can be streamed.&lt;br /&gt;
&lt;br /&gt;
====Time display sub filter====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;time&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--time-format &amp;lt;string&amp;gt;&#039;&#039;&#039; Time format string. You can use the following special characters %Y = year, %m = month, %d = day, %H = hour, %M = minute, %S = second.&lt;br /&gt;
*&#039;&#039;&#039;--time-x &amp;lt;integer&amp;gt;&#039;&#039;&#039; X offset from the left in pixels.&lt;br /&gt;
*&#039;&#039;&#039;--time-y &amp;lt;integer&amp;gt;&#039;&#039;&#039; Y offset from the top in pixels.&lt;br /&gt;
&lt;br /&gt;
====Marquee display sub filter====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;marq&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--marq-marquee &amp;lt;string&amp;gt;&#039;&#039;&#039; Marquee text to display.&lt;br /&gt;
*&#039;&#039;&#039;--marq-x &amp;lt;integer&amp;gt;&#039;&#039;&#039; X offset from the left in pixels.&lt;br /&gt;
*&#039;&#039;&#039;--marq-y &amp;lt;integer&amp;gt;&#039;&#039;&#039; Y offset from the top in pixels.&lt;br /&gt;
*&#039;&#039;&#039;--marq-timeout &amp;lt;timeout&amp;gt;&#039;&#039;&#039; Defines the time the marquee must remain displayed in milliseconds. Default value is 0 (remain forever).&lt;br /&gt;
&lt;br /&gt;
====Logo video filter====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;logo&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This filter can be used both as an old style filter or a subpictures filter.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--logo-file &amp;lt;string&amp;gt;&#039;&#039;&#039; Full path of the PNG file to use.&lt;br /&gt;
*&#039;&#039;&#039;--logo-x &amp;lt;integer&amp;gt;&#039;&#039;&#039; X offset from the left in pixels.&lt;br /&gt;
*&#039;&#039;&#039;--logo-y &amp;lt;integer&amp;gt;&#039;&#039;&#039; Y offset from the top in pixels.&lt;br /&gt;
*&#039;&#039;&#039;--logo-transparency &amp;lt;integer&amp;gt;&#039;&#039;&#039; You can set the logo transparency value here (from 0 for full transparency to 255 for full opacity).&lt;br /&gt;
&lt;br /&gt;
Note: You can move the logo by left-clicking on it.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==The HTTP interface==&lt;br /&gt;
&lt;br /&gt;
VLC ships with a little HTTP server integrated. It is used both to stream using HTTP, and for the HTTP remote control interface.&lt;br /&gt;
&lt;br /&gt;
To start VLC with the HTTP interface, use:&lt;br /&gt;
 % &#039;&#039;&#039;vlc -I http [--http-src /directory/] [--http-host host:port]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If you want to have both the &amp;quot;normal&amp;quot; interface and the HTTP interface, use &#039;&#039;&#039;vlc --extraintf http&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
The HTTP interface will start listening at host:port (&amp;lt;all interfaces&amp;gt;:8080 if omitted), and will reproduce the structure of /directory at http://host:port/ ( vlc_source_path/share/http if omitted ).&lt;br /&gt;
&lt;br /&gt;
Use a browser to go to http://your_host_machine:port. You should be taken to the main page.&lt;br /&gt;
&lt;br /&gt;
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]].&lt;br /&gt;
&lt;br /&gt;
Available pages are:&lt;br /&gt;
* &#039;&#039;&#039;list was obsolete&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Other control interfaces==&lt;br /&gt;
&lt;br /&gt;
VLC includes a number of so-called interfaces that are not really 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 &#039;&#039;&#039;-I&#039;&#039;&#039; or &#039;&#039;&#039;--extraintf&#039;&#039;&#039; on the command line.&lt;br /&gt;
&lt;br /&gt;
===Hotkeys===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Hotkeys can be hacked by:&lt;br /&gt;
 % &#039;&#039;&#039;vlc --key-&amp;lt;function&amp;gt; &amp;amp;lt;code&amp;amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Code is composed by modifiers keys (Alt, Shift, Ctrl, Meta,Command) separated by a dash (-) and terminated by a key (a...z, +, =, -, &#039;,&#039;, +, &amp;amp;lt;, &amp;amp;gt;, `, /, ;, &#039;, \, [, ], *, 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 &#039;&#039;&#039;--longhelp&#039;&#039;&#039; option for full list of functions).&lt;br /&gt;
For example, for binding fullscreen to Ctrl-f, run:&lt;br /&gt;
 % &#039;&#039;&#039;vlc --key-fullscreen &#039;Ctrl-f&#039; &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===RC and RTCI===&lt;br /&gt;
&lt;br /&gt;
These two interfaces allow you to control VLC from a command shell (possibly using a remote connexion or a Unix socket).&lt;br /&gt;
&lt;br /&gt;
Start VLC with &#039;&#039;&#039;-I rc&#039;&#039;&#039; or &#039;&#039;&#039;--extraintf rc&#039;&#039;&#039;. When you get the &#039;&#039;&#039;Remote control interface initialized, `h&#039; for help&#039;&#039;&#039; message, press h and Enter to get help about available commands.&lt;br /&gt;
&lt;br /&gt;
To be able to remote connect to your VLC using a TCP socket (telnet-like connexion), use &#039;&#039;&#039;--rc-host your_host:port&#039;&#039;&#039;. Then, by connecting (using telnet or netcat) to the host on the given port, you will get the command shell.&lt;br /&gt;
&lt;br /&gt;
To use a UNIX socket (local socket, this does not work for Windows), use &#039;&#039;&#039;--rc-unix /path/to/socket&#039;&#039;&#039;. Commands can then be passed using this UNIX socket.&lt;br /&gt;
&lt;br /&gt;
The RTCI interface gives you more advanced options, such as marquee control for the marquee subpicture filter (See filter section).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Ncurses===&lt;br /&gt;
&lt;br /&gt;
This is a text interface, using ncurses library.&lt;br /&gt;
&lt;br /&gt;
Start VLC with &#039;&#039;&#039;-I ncurses&#039;&#039;&#039; or &#039;&#039;&#039;--extraintf ncurses&#039;&#039;&#039;. You will then get something like that:&lt;br /&gt;
&lt;br /&gt;
http://www.videolan.org/doc/play-howto/en/images/play-howto/intf-ncurses-playlist.jpg The ncurses interface&lt;br /&gt;
&lt;br /&gt;
Press h to get the list of all available commands, with a short description.&lt;br /&gt;
&lt;br /&gt;
There is also a filebrowser available for the ncurses interface in order to add playlist items. Press &#039;B&#039; to use it.&lt;br /&gt;
&lt;br /&gt;
http://www.videolan.org/doc/play-howto/en/images/play-howto/intf-ncurses-filebrowser.jpg The ncurses filebrowser&lt;br /&gt;
&lt;br /&gt;
You can set the filebrowser starting point by launching vlc with the &#039;&#039;&#039;--browse-dir&#039;&#039;&#039; option:&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc -I ncurses --browse-dir /filebrowser/starting/point/&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Gestures===&lt;br /&gt;
&lt;br /&gt;
Gestures provide a simple mouse gestures control. TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==The Mozilla plugin==&lt;br /&gt;
&lt;br /&gt;
VLC can also be embedded in a web browser! The following browsers are supported [http://www.mozilla.org/ Mozilla], [http://www.mozilla.org/products/firefox/ Firefox] and [http://www.apple.com/macosx/features/safari Safari].&lt;br /&gt;
&lt;br /&gt;
===Install the plugin===&lt;br /&gt;
&lt;br /&gt;
====GNU/Linux Debian====&lt;br /&gt;
&lt;br /&gt;
Install the &#039;&#039;mozilla-plugin-vlc&#039;&#039; package:&lt;br /&gt;
&lt;br /&gt;
 # &#039;&#039;&#039;apt-get update&#039;&#039;&#039;&lt;br /&gt;
 # &#039;&#039;&#039;apt-get install mozilla-plugin-vlc&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Windows====&lt;br /&gt;
&lt;br /&gt;
Quit Firefox or Mozilla.&lt;br /&gt;
&lt;br /&gt;
Copy the two files in &#039;&#039;&#039;VLC_Installation_folder\mozilla&#039;&#039;&#039; (usually &#039;&#039;&#039;C:\Program Files\VideoLAN\VLC\mozilla&#039;&#039;&#039;) to your mozilla plugins directory (Usually &#039;&#039;&#039;C:\Program Files\Mozilla\plugins&#039;&#039;&#039; or &#039;&#039;&#039;C:\Program Files\Mozilla&lt;br /&gt;
Firefox\plugins&#039;&#039;&#039;).&lt;br /&gt;
&lt;br /&gt;
Restart Firefox or Mozilla.&lt;br /&gt;
&lt;br /&gt;
====MacOS X====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;The Mozilla/Safari plugin for MacOS X is only available from vlc version 0.8.5.1 and onwards.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Quit Safari browser.&lt;br /&gt;
&lt;br /&gt;
Download the Mozilla/safari plugin package from [http://www.videolan.org/vlc/download-macosx.html MacOS X download page].&lt;br /&gt;
&lt;br /&gt;
Run the installer from the dmg image.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Compile the sources yourself====&lt;br /&gt;
&lt;br /&gt;
Please look at the [http://developers.videolan.org developers page] for information on how to do this.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Use the mozilla plugin===&lt;br /&gt;
&lt;br /&gt;
If you open a link to a video file handled by the VLC plugin (To get the list of handled types, browse to &#039;&#039;&#039;about:plugins&#039;&#039;&#039;) or a page with an embedded video, the plugin should open and read the&lt;br /&gt;
video.&lt;br /&gt;
&lt;br /&gt;
===Build HTML pages that use the plugin (VLC version up to 0.8.5)===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;WARNING:&#039;&#039;&#039; the APIs described in this section are &#039;&#039;&#039;deprecated&#039;&#039;&#039;, do not use, &lt;br /&gt;
&lt;br /&gt;
The following API description is only valid uptill version 0.8.5 of the mozilla plugin.&lt;br /&gt;
&lt;br /&gt;
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&lt;br /&gt;
plugin.&lt;br /&gt;
&lt;br /&gt;
The vlc plugin supports the following function calls:&lt;br /&gt;
*&#039;&#039;&#039;play()&#039;&#039;&#039;: Start playing media in the plugin.&lt;br /&gt;
*&#039;&#039;&#039;pause()&#039;&#039;&#039;: Pause playback.&lt;br /&gt;
*&#039;&#039;&#039;stop()&#039;&#039;&#039;: Stop media playback.&lt;br /&gt;
*&#039;&#039;&#039;fullscreen()&#039;&#039;&#039;: Switch the video to full screen.&lt;br /&gt;
*&#039;&#039;&#039;set_volume(vol)&#039;&#039;&#039;: Set the volume. &#039;&#039;&#039;vol&#039;&#039;&#039; has to be an int in the 0-200 range.&lt;br /&gt;
*&#039;&#039;&#039;get_volume()&#039;&#039;&#039;: Get the current volume setting.&lt;br /&gt;
*&#039;&#039;&#039;mute()&#039;&#039;&#039;: Toggle volume muting.&lt;br /&gt;
*&#039;&#039;&#039;set_int_variable(var_name, value)&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;set_bool_variable(var_name, value)&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;set_str_variable(var_name, value)&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;get_int_variable(var_name)&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;get_bool_variable(var_name)&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;get_str_variable(var_name)&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;clear_playlist()&#039;&#039;&#039;: Clear the playlist.&lt;br /&gt;
*&#039;&#039;&#039;add_item(mrl)&#039;&#039;&#039;: Append an item whose location is given by the [[media resource locator]] to the playlist.&lt;br /&gt;
*&#039;&#039;&#039;next()&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;previous()&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;isplaying()&#039;&#039;&#039;: return true if the plugin is playing something.&lt;br /&gt;
*&#039;&#039;&#039;get_length()&#039;&#039;&#039;: Get the media&#039;s length in seconds.&lt;br /&gt;
*&#039;&#039;&#039;get_position()&#039;&#039;&#039;: Get the current position in the media in percent.&lt;br /&gt;
*&#039;&#039;&#039;get_time()&#039;&#039;&#039;: Get the current position in the media in seconds.&lt;br /&gt;
*&#039;&#039;&#039;seek(seconds,is_relative)&#039;&#039;&#039;: If is_relative is true, seek relatively to current time, else seek from beginning of the stream. Seek time is specified in seconds.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Here are a few examples of HTML pages that use the&lt;br /&gt;
Mozilla plugin.&lt;br /&gt;
&lt;br /&gt;
====Example 1====&lt;br /&gt;
&lt;br /&gt;
In this example, the plugin will read an HTTP stream inside the web page. If the user goes fullscreen, he will have to press &#039;&#039;f&#039;&#039; or double-click on the video to go back in normal view.&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;html&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;head&amp;amp;gt;&amp;amp;lt;title&amp;amp;gt;Demo of VLC mozilla plugin&amp;amp;lt;/title&amp;amp;gt;&amp;amp;lt;/head&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;body&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;h1&amp;amp;gt;Demo of VLC mozilla plugin - Example 1&amp;amp;lt;/h1&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;embed type=&amp;quot;application/x-vlc-plugin&amp;quot;&lt;br /&gt;
          name=&amp;quot;video1&amp;quot;&lt;br /&gt;
          autoplay=&amp;quot;no&amp;quot; loop=&amp;quot;yes&amp;quot; width=&amp;quot;400&amp;quot; height=&amp;quot;300&amp;quot;&lt;br /&gt;
          target=&amp;quot;http://server.example.org/video1.vob&amp;quot; /&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;br /&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video1.play()&#039;&amp;amp;gt;Play video1&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video1.pause()&#039;&amp;amp;gt;Pause video1&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video1.stop()&#039;&amp;amp;gt;Stop video1&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video1.fullscreen()&#039;&amp;amp;gt;Fullscreen&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;/body&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/html&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Example 2====&lt;br /&gt;
&lt;br /&gt;
In this example, the plugin will read a multicast UDP/RTP stream in a dedicated video output window.&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;html&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;head&amp;amp;gt;&amp;amp;lt;title&amp;amp;gt;Demo of VLC mozilla plugin&amp;amp;lt;/title&amp;amp;gt;&amp;amp;lt;/head&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;body&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;h1&amp;amp;gt;Demo of VLC mozilla plugin - Example 2&amp;amp;lt;/h1&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;embed type=&amp;quot;application/x-vlc-plugin&amp;quot;&lt;br /&gt;
          name=&amp;quot;video2&amp;quot;&lt;br /&gt;
          autoplay=&amp;quot;no&amp;quot; loop=&amp;quot;no&amp;quot; hidden=&amp;quot;yes&amp;quot;&lt;br /&gt;
          target=&amp;quot;rtp://@239.255.12.42:5004&amp;quot; /&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;br /&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video2.play()&#039;&amp;amp;gt;Play video2&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video2.stop()&#039;&amp;amp;gt;Stop video2&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video2.fullscreen()&#039;&amp;amp;gt;Fullscreen&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;/body&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/html&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Building HTML pages for Mozilla/Firefox/Internet Explorer/Safari (VLC version 0.8.6 and above)==&lt;br /&gt;
&lt;br /&gt;
The following description works for any of the browsers VLC supports. The JavaScript API has been unified between Mozilla/Firefox/IE (ActiveX) and Safari, thus targetting at all of the major OS out there. This is only valid for VLC version 0.8.6 and above.&lt;br /&gt;
&lt;br /&gt;
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&lt;br /&gt;
plugin.&lt;br /&gt;
&lt;br /&gt;
The vlc plugin exports serveral objects that can be accessed for setting and getting information. When used improperly the API&#039;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.&lt;br /&gt;
&lt;br /&gt;
The vlc plugin knows the following objects:&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;audio&#039;&#039;&#039;: Access audio properties.&lt;br /&gt;
*&#039;&#039;&#039;input&#039;&#039;&#039;: Access input properties.&lt;br /&gt;
*&#039;&#039;&#039;playlist&#039;&#039;&#039;: Access playlist properties.&lt;br /&gt;
*&#039;&#039;&#039;video&#039;&#039;&#039;: Access video properties.&lt;br /&gt;
*&#039;&#039;&#039;log&#039;&#039;&#039;: Access log properties.&lt;br /&gt;
*&#039;&#039;&#039;messages&#039;&#039;&#039;: Access to log message properties.&lt;br /&gt;
*&#039;&#039;&#039;iterator&#039;&#039;&#039;: Access to log iterator properties.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;html&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;title&amp;amp;gt;VLC Mozilla plugin test page&amp;amp;lt;/title&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;body&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;embed type=&amp;quot;application/x-vlc-plugin&amp;quot; pluginspage=&amp;quot;http://www.videolan.org&amp;quot; version=&amp;quot;VideoLAN.VLCPlugin.2&amp;quot;&lt;br /&gt;
     width=&amp;quot;640&amp;quot;&lt;br /&gt;
     height=&amp;quot;480&amp;quot;&lt;br /&gt;
     id=&amp;quot;vlc&amp;quot;&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/embed&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;script language=&amp;quot;Javascript&amp;quot;&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;!--&lt;br /&gt;
 var vlc = document.getElementById(&amp;quot;vlc&amp;quot;);&lt;br /&gt;
 vlc.audio.toggleMute();&lt;br /&gt;
 !--&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/script&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/body&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/html&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Root object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;VersionInfo&#039;&#039;&#039;: returns version information string&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;vlc.versionInfo()&#039;&#039;&#039;: returns version information string (same as VersionInfo)&lt;br /&gt;
&lt;br /&gt;
====Audio object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.audio.mute&#039;&#039;&#039;: boolean value to mute and ummute the audio&lt;br /&gt;
*&#039;&#039;&#039;vlc.audio.volume&#039;&#039;&#039;: a value between [0-200] which indicates a percentage of the volume.&lt;br /&gt;
*&#039;&#039;&#039;vlc.audio.track&#039;&#039;&#039;: (supported in vlc version &amp;gt; 0.8.6) a value between [1-65535] which indicates the audio track to play or that is playing. a value of 0 means the audio is/will be disabled.&lt;br /&gt;
*&#039;&#039;&#039;vlc.audio.channel&#039;&#039;&#039;: (supported in vlc version &amp;gt; 0.8.6) integer value between [1-5] that indicates which audio channel mode is used, values can be: &amp;quot;1=stereo&amp;quot;, &amp;quot;2=reverse stereo&amp;quot;, &amp;quot;3=left&amp;quot;, &amp;quot;4=right&amp;quot;, &amp;quot;5=dolby&amp;quot;. Use vlc.audio.channel to check if setting of the audio channel mode has succeeded.&lt;br /&gt;
&lt;br /&gt;
 Audio Channel:&lt;br /&gt;
 &amp;lt;SELECT readonly onChange=&#039;doAudioChannel(this.value)&#039;&amp;gt;&lt;br /&gt;
    &amp;lt;OPTION value=1&amp;gt;Stereo&amp;lt;/OPTION&amp;gt;&lt;br /&gt;
    &amp;lt;OPTION value=2&amp;gt;Reverse stereo&amp;lt;/OPTION&amp;gt;&lt;br /&gt;
    &amp;lt;OPTION value=3&amp;gt;Left&amp;lt;/OPTION&amp;gt;&lt;br /&gt;
    &amp;lt;OPTION value=4&amp;gt;Right&amp;lt;/OPTION&amp;gt;&lt;br /&gt;
    &amp;lt;OPTION value=5&amp;gt;Dolby&amp;lt;/OPTION&amp;gt;&lt;br /&gt;
 &amp;lt;/SELECT&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;SCRIPT language=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;amp;lt;!--&lt;br /&gt;
 function doAudioChannel(value)&lt;br /&gt;
 {&lt;br /&gt;
    var vlc = getVLC(&amp;quot;vlc&amp;quot;);&lt;br /&gt;
    vlc.audio.channel = parseInt(value);&lt;br /&gt;
    alert(vlc.audio.channel);&lt;br /&gt;
 };&lt;br /&gt;
 --&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;vlc.audio.toggleMute()&#039;&#039;&#039;: boolean toggle that mutes and unmutes the audio based upon the previous state&lt;br /&gt;
&lt;br /&gt;
====Input object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.length&#039;&#039;&#039;: length of the input file in number of milliseconds. 0 is returned for &#039;live&#039; streams or clips whose length cannot be determined by VLC&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.fps&#039;&#039;&#039;: frames per second returned as a float (typically 60.0, 50.0, 23.976, etc...)&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.hasVout&#039;&#039;&#039;: a boolean that returns true when the video is being displayed, it returns false when video is not displayed&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.position&#039;&#039;&#039;: normalized position in multimedia stream item given as a float value between [0.0 - 1.0]&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.time&#039;&#039;&#039;: the absolute position in time given in milliseconds, this property can be used to seek through the stream&lt;br /&gt;
 &amp;amp;lt;!-- absolute seek in stream !--&amp;amp;gt;&lt;br /&gt;
 vlc.input.time = &amp;amp;lt;absolute seek&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;!-- relative seek in stream !--&amp;amp;gt;&lt;br /&gt;
 vlc.input.time = vlc.input.time + &amp;amp;lt;relative seek&amp;amp;gt;&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.state&#039;&#039;&#039;: current state of the input chain given as enumeration (IDLE=0, OPENING=1, BUFFERING=2, PLAYING=3, PAUSED=4, STOPPING=5, ENDED=6, ERROR=7). Note: Test for ENDED=6 to catch end of playback. Checking for STOPPING=5 is NOT ENOUGH.&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.rate&#039;&#039;&#039;: input speed given as float (1.0 for normal speed, 0.5 for half speed, 2.0 for twice as fast, etc.).&lt;br /&gt;
 rate &amp;gt; 1              : is fastforward&lt;br /&gt;
 rate &amp;gt; 0 and rate &amp;lt; 1 : is slow motion&lt;br /&gt;
 rate &amp;lt; 0              : is rewind&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Playlist object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.itemCount&#039;&#039;&#039;: number that returns the amount of items currently in the playlist (&#039;&#039;&#039;deprecated&#039;&#039;&#039;, do not use, see [[#Playlist_items_object| Playlist items]])&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.isPlaying&#039;&#039;&#039;: a boolean that returns true if the current playlist item is playing and false when it is not playing&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.items&#039;&#039;&#039;: return the playlist items collection, see [[#Playlist_items_object| Playlist items]]&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.add(mrl)&#039;&#039;&#039;: add a playlist item as [[MRL]]. The MRL must be given as a string. Returns a number as an item identifier in playlist (this is not a position  in playlist).&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.add(mrl,name,options)&#039;&#039;&#039;: add a playlist item as MRL, with metaname &#039;name&#039; and options &#039;options&#039;. options are text arguments which can be provided either as a single string containing space separated values, akin to VLC command line, or as an array of string values. Returns a number as an item identifier in playlist (this is not a position in playlist).&lt;br /&gt;
  var options = new Array(&amp;quot;:aspect-ratio=4x3&amp;quot;, &amp;quot;--rtsp-tcp&amp;quot;);&lt;br /&gt;
  var id = vlc.playlist.add(&amp;quot;rtsp://servername/item/to/play&amp;quot;, &amp;quot;fancy name&amp;quot;, options);&lt;br /&gt;
  vlc.playlist.playItem(id);&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.play()&#039;&#039;&#039;: start playing the current playlist item&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.playItem(number)&#039;&#039;&#039;: start playing the item whose identifier is number&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.togglePause()&#039;&#039;&#039;: toggle the pause state for the current playlist item&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.stop()&#039;&#039;&#039;: stop playing the current playlist item&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.next()&#039;&#039;&#039;: iterate to the next playlist item&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.prev()&#039;&#039;&#039;: iterate to the previous playlist item&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.clear()&#039;&#039;&#039;: empty the current playlist, all items will be deleted from the playlist (&#039;&#039;&#039;deprecated&#039;&#039;&#039;, do not use, see [[#Playlist_items_object| Playlist items]])&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.removeItem(number)&#039;&#039;&#039;: remove the item from playlist whose identifier is number &amp;lt;!-- (note: this number isn&#039;t the position in the playlist, but the number given by vlc.playlist.add() ) --&amp;gt; (&#039;&#039;&#039;deprecated&#039;&#039;&#039;, do not use, see [[#Playlist_items_object| Playlist items]])&lt;br /&gt;
&lt;br /&gt;
====Playlist items object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.items.count&#039;&#039;&#039;: number of items currently in the playlist&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.items.clear()&#039;&#039;&#039;: empty the current playlist, all items will be deleted from the playlist. If a movie is playing, it stop. Note that when this method returns, playlist may not have been entirely been cleared as this operation is performed asynchronously; use the &#039;&#039;count&#039;&#039; property to verify/wait until the playlist is empty.&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.items.remove(number)&#039;&#039;&#039;: remove the item whose identifier is number from playlist. (note: this number isn&#039;t the position in the playlist, but the number given by vlc.playlist.add() )&lt;br /&gt;
&lt;br /&gt;
====Video object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.width&#039;&#039;&#039;: returns the horizontal size of the video&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.height&#039;&#039;&#039;: returns the vertical size of the video&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.fullscreen&#039;&#039;&#039;: 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.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.aspectRatio&#039;&#039;&#039;: get and set the aspect ratio to use in the video screen. The property takes a string as input value. Typical values are: &amp;quot;1:1&amp;quot;, &amp;quot;4:3&amp;quot;, &amp;quot;16:9&amp;quot;, &amp;quot;16:10&amp;quot;, &amp;quot;221:100&amp;quot; and &amp;quot;5:4&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.subtitle&#039;&#039;&#039;: (supported in vlc version &amp;gt; 0.8.6a) get and set the subtitle track to show on the video screen. The property takes an integer as input value [1..65535]. If subtitle track is set to 0, the subtitles will be disabled. If set to a value outside the current subtitle tracks range, then it will return -1 and display an error message.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.teletext&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 0.9.0) get and set teletext page to show on the video stream. This will only work if a teletext elementary stream is available in the video stream. The property takes an integer as input value [0..999] for indicating the teletext page to view, setting the value to 0 means hide teletext. On error it will return -1 and display an error message.&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.toggleFullscreen()&#039;&#039;&#039;: toggle the fullscreen mode based on the previous setting&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.toggleTeletext()&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 0.9.0) toggle the teletext page to overlay transparent or not, based on the previous setting&lt;br /&gt;
&lt;br /&gt;
====Log object====&lt;br /&gt;
&lt;br /&gt;
this object allows accessing VLC main message logging queue. Typically this queue capacity is very small (no nore than 256 entries) and can easily overflow, therefore messages should be read and cleared as often as possible.&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.log.messages&#039;&#039;&#039;: returns the message collection, see [[Messages object]]&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.log.verbosity&#039;&#039;&#039;: write number [-1,0,1,2,3] for changing the verbosity level of the log messages; messages whose verbosity is higher than set will be not be logged in the queue. The numbers have the following meaning: -1 disable, 0 info, 1 error, 2 warning, 3 debug. &lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Messages object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;messages.count&#039;&#039;&#039;: returns number of messages in the log&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;messages.clear()&#039;&#039;&#039;: clear the current log buffer. It should be called as frequently as possible to not overflow the message queue. Call this method after the log messages of interest are read.&lt;br /&gt;
*&#039;&#039;&#039;messages.iterator()&#039;&#039;&#039;: creates and returns an iterator object, used to iterate over the messages in the log. &#039;&#039;&#039;Don&#039;t clear the log buffer while holding an iterator object.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Messages Iterator object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;iterator.hasNext&#039;&#039;&#039;: returns a boolean that indicates whether &#039;&#039;vlc.log.messages.next()&#039;&#039; will return the next message.&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;iterator.next()&#039;&#039;&#039;: returns the next message object in the log, see [[Message object]]&lt;br /&gt;
&lt;br /&gt;
====Message object====&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;message.severity&#039;&#039;&#039;: number that indicates the severity of the log message (0 = info, 1 = error, 2 = warning, 3 = debug)&lt;br /&gt;
*&#039;&#039;&#039;message.name&#039;&#039;&#039;: name of VLC module that printed the log message (e.g: main, http, directx, etc...)&lt;br /&gt;
*&#039;&#039;&#039;message.type&#039;&#039;&#039;: type of VLC module that printed the log message (eg: input, access, vout, sout, etc...)&lt;br /&gt;
*&#039;&#039;&#039;message.message&#039;&#039;&#039;: the message text&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Documentation}}&lt;/div&gt;</summary>
		<author><name>Jpsaman</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=Documentation:Advanced_Use_of_VLC&amp;diff=13890</id>
		<title>Documentation:Advanced Use of VLC</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=Documentation:Advanced_Use_of_VLC&amp;diff=13890"/>
		<updated>2009-04-27T09:50:49Z</updated>

		<summary type="html">&lt;p&gt;Jpsaman: /* Input object */ Clarify stopping/ended&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{RightMenu|documentation play howto toc}}&lt;br /&gt;
&lt;br /&gt;
==Use the command line==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;TODO: completely outdated&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
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&#039;t need or want a GUI. Here is the complete description of VLC&#039;s command line and how to use it.&lt;br /&gt;
&lt;br /&gt;
You need to be quite comfortable with command line usage to use this.&lt;br /&gt;
&lt;br /&gt;
 Note: Windows users have to use the &#039;&#039;--option-name=&amp;quot;value&amp;quot;&#039;&#039; syntax instead of the &#039;&#039;--option-name value&#039;&#039; syntax.&lt;br /&gt;
&lt;br /&gt;
===Getting help===&lt;br /&gt;
&lt;br /&gt;
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, ...&lt;br /&gt;
&lt;br /&gt;
This chapter will only describe the &amp;quot;general&amp;quot; options, i.e. the core options. Each module adds new options. For example, the HTTP input module will add options for caching, proxy, authentication, ...&lt;br /&gt;
&lt;br /&gt;
By using &#039;&#039;&#039;vlc --help&#039;&#039;&#039;, you will get the basic core options. &#039;&#039;&#039;vlc --longhelp&#039;&#039;&#039; will give all the basic options (core + modules). Adding &#039;&#039;&#039;--advanced&#039;&#039;&#039; will give the &amp;quot;advanced options&amp;quot; (for advanced users). So &#039;&#039;&#039;vlc --longhelp --advanced&#039;&#039;&#039; will give you all options. You can also append &#039;&#039;&#039;--help-verbose&#039;&#039;&#039; if you want more detailed help.&lt;br /&gt;
&lt;br /&gt;
Also, you might want to get debug informations. To do this, use &#039;&#039;&#039;-v&#039;&#039;&#039; or &#039;&#039;&#039;-vv&#039;&#039;&#039; (this will show lower severity messages). If your console supports it, you can add &#039;&#039;&#039;--color to get messages in color.&lt;br /&gt;
&lt;br /&gt;
===Opening streams===&lt;br /&gt;
&lt;br /&gt;
The following commands start VLC and start reading the given element(s)&lt;br /&gt;
&lt;br /&gt;
====Opening a file====&lt;br /&gt;
&lt;br /&gt;
Start VLC with:&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc my_file&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
VLC should be able to recognize the file type. If it does not, you can force demultiplexer and decoder (see below).&lt;br /&gt;
&lt;br /&gt;
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].&lt;br /&gt;
&lt;br /&gt;
====Opening a DVD or VCD, or an audio CD====&lt;br /&gt;
&lt;br /&gt;
Start VLC with:&lt;br /&gt;
&lt;br /&gt;
For a DVD with menus:&lt;br /&gt;
 % &#039;&#039;&#039;vlc dvd://[device][@raw_device][@[title][:[chapter][:angle]]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
In most cases, &#039;&#039;&#039;vlc dvd://&#039;&#039;&#039; or &#039;&#039;&#039;vlc dvd://[device]&#039;&#039;&#039; will do. [device] is for example &#039;&#039;&#039;/dev/dvd&#039;&#039;&#039; on GNU/Linux or &#039;&#039;&#039;D:&#039;&#039;&#039; on Windows (complete path to your DVD drive).&lt;br /&gt;
&lt;br /&gt;
or&lt;br /&gt;
&lt;br /&gt;
(DVD without menus):&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc dvdsimple://[device][@raw_device][@[title][:[chapter][:angle]]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
or&lt;br /&gt;
&lt;br /&gt;
(VCD):&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc vcd://[device][@{E|P|E|T|S}[number]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
or&lt;br /&gt;
&lt;br /&gt;
(Audio CD):&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc cdda://[device][@[track]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Receiving a network stream====&lt;br /&gt;
&lt;br /&gt;
To receive an unicast RTP/UDP stream (sent by VLC&#039;s stream output), start VLC with:&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc  rtp://@:5004&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If 5004 is the port to which packets are sent. 1234 is another commonly used port number. you use the default port (1234), &#039;&#039;&#039;vlc rtp://&#039;&#039;&#039; will do.&lt;br /&gt;
For more information, look at the Streaming Howto.&lt;br /&gt;
&lt;br /&gt;
To receive an multicast UDP/RTP stream (sent by VLC&#039;s stream output), start VLC with:&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc rtp://@multicast_address:port&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
To receive a SSM (source specific multicast) stream, you can use:&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc rtp://server_address@multicast_address:port&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This only works on OSs that support SSM (Windows XP and Linux).&lt;br /&gt;
&lt;br /&gt;
To receive a HTTP stream, start VLC with:&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc http://www.example.org/your_file.mpg&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
To receive a RTSP stream, start VLC with:&amp;lt;/para&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc rtsp://www.example.org/your_stream&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Modules selection===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--intf  &amp;lt;module&amp;gt;&#039;&#039;&#039; allows you to select the interface module.&lt;br /&gt;
*&#039;&#039;&#039;--extraintf  &amp;lt;module&amp;gt;&#039;&#039;&#039; allows you to select extra interface modules that will be launched in addition to the main one. This is mainly useful for special &#039;&#039;control&#039;&#039; interfaces, like HTTP, RC (Remote Control), ... (see below)&lt;br /&gt;
*&#039;&#039;&#039;--aout  &amp;lt;module&amp;gt;&#039;&#039;&#039; allows you to select the audio output module.&lt;br /&gt;
*&#039;&#039;&#039;--vout  &amp;lt;module&amp;gt;&#039;&#039;&#039; allows you to select the video output module.&lt;br /&gt;
*&#039;&#039;&#039;--memcpy  &amp;lt;module&amp;gt;&#039;&#039;&#039; allows you to choose a memory copy module. You should probably never touch that.&lt;br /&gt;
&lt;br /&gt;
You can get a listing of the available modules by using &#039;&#039;&#039;vlc -l&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Stream Output===&lt;br /&gt;
&lt;br /&gt;
The Stream output system allows vlc to become a streaming server.&lt;br /&gt;
&lt;br /&gt;
For more details on the stream output system, please have a look at the [[Documentation:Streaming HowTo|Streaming HowTo]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Other Options===&lt;br /&gt;
&lt;br /&gt;
====Audio options====&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--noaudio&#039;&#039;&#039; disables audio output.&lt;br /&gt;
*&#039;&#039;&#039;--mono&#039;&#039;&#039; forces VLC to treat the stream in mono audio.&lt;br /&gt;
*&#039;&#039;&#039;--volume &amp;lt;integer&amp;gt;&#039;&#039;&#039; sets the level of audio output (between 0 and 1024).&lt;br /&gt;
*&#039;&#039;&#039;--aout-rate &amp;lt;integer&amp;gt;&#039;&#039;&#039; sets the audio output frequency (Hz). By default, VLC will try to autodetect this.&lt;br /&gt;
*&#039;&#039;&#039;--desync &amp;lt;integer&amp;gt;&#039;&#039;&#039; compensates desynchronization of audio (ms). (If audio and video streams are not synchronized, use this setting to delay the audio stream)&lt;br /&gt;
*&#039;&#039;&#039;--audio-filter &amp;lt;string&amp;gt;&#039;&#039;&#039; 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)&lt;br /&gt;
&lt;br /&gt;
====Video options====&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--novideo&#039;&#039;&#039; disables video output.&lt;br /&gt;
*&#039;&#039;&#039;--grayscale&#039;&#039;&#039; turns video output into grayscale mode.&lt;br /&gt;
*&#039;&#039;&#039;--fullscreen&#039;&#039;&#039; ( or &#039;&#039;&#039;-f&#039;&#039;&#039;) sets fullscreen video.&lt;br /&gt;
*&#039;&#039;&#039;--nooverlay&#039;&#039;&#039; disables hardware acceleration for the video output.&lt;br /&gt;
*&#039;&#039;&#039;--width, --height &amp;lt;integer&amp;gt;&#039;&#039;&#039; sets the video window dimensions. By default, the video window size will be adjusted to match the video dimensions.&lt;br /&gt;
*&#039;&#039;&#039;--zoom &amp;lt;float&amp;gt;&#039;&#039;&#039; adds a zoom factor.&lt;br /&gt;
*&#039;&#039;&#039;--aspect-ratio &amp;lt;mode&amp;gt;&#039;&#039;&#039; forces source aspect ratio. Modes are 4x3, 16x9, ...&lt;br /&gt;
*&#039;&#039;&#039;--spumargin  &amp;lt;integer&amp;gt;&#039;&#039;&#039; forces SPU subtitles postion.&lt;br /&gt;
*&#039;&#039;&#039;--filter &amp;lt;string&amp;gt;&#039;&#039;&#039; adds video filters to the processing chain. You can add several filters, separated by commas&lt;br /&gt;
*&#039;&#039;&#039;--sub-filter &amp;lt;string&amp;gt;&#039;&#039;&#039; adds video subpictures filter to the processing chain.&lt;br /&gt;
&lt;br /&gt;
====Playlist options====&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--random&#039;&#039;&#039; plays files randomly forever.&lt;br /&gt;
*&#039;&#039;&#039;--loop&#039;&#039;&#039; loops playlist on end.&lt;br /&gt;
*&#039;&#039;&#039;--repeat&#039;&#039;&#039; repeats current item until another item is forced&lt;br /&gt;
*&#039;&#039;&#039;--play-and-stop&#039;&#039;&#039; stops the playlist after each played item.&lt;br /&gt;
&lt;br /&gt;
====Network options====&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--server-port &amp;lt;integer&amp;gt;&#039;&#039;&#039; sets server port.&lt;br /&gt;
*&#039;&#039;&#039;--iface  &amp;lt;string&amp;gt;&#039;&#039;&#039; specifies the network interface to use.&lt;br /&gt;
*&#039;&#039;&#039;--iface-addr  &amp;lt;string&amp;gt;&#039;&#039;&#039; specifies your network interface IP address.&lt;br /&gt;
*&#039;&#039;&#039;--mtu  &amp;lt;integer&amp;gt;&#039;&#039;&#039; specifies the MTU of the network interface.&lt;br /&gt;
*&#039;&#039;&#039;--ipv6&#039;&#039;&#039; forces IPv6.&lt;br /&gt;
*&#039;&#039;&#039;--ipv4&#039;&#039;&#039; forces IPv4.&lt;br /&gt;
&lt;br /&gt;
====CPU options====&lt;br /&gt;
&lt;br /&gt;
You should probably not touch these options unless you know what you are doing.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--nommx&#039;&#039;&#039; disables the use of MMX CPU extensions.&lt;br /&gt;
*&#039;&#039;&#039;--no3dn&#039;&#039;&#039; disables the use of 3D Now! CPU extensions.&lt;br /&gt;
*&#039;&#039;&#039;--nommxext&#039;&#039;&#039; disables the use of MMX Ext CPU extensions.&lt;br /&gt;
*&#039;&#039;&#039;--nosse&#039;&#039;&#039; disables the use of SSE CPU extensions.&lt;br /&gt;
*&#039;&#039;&#039;--noaltivec&#039;&#039;&#039; disables the use of Altivec CPU extensions.&lt;br /&gt;
&lt;br /&gt;
====Miscellaneous options====&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--quiet&#039;&#039;&#039;  deactivates all console messages.&lt;br /&gt;
*&#039;&#039;&#039;--color&#039;&#039;&#039; displays color messages.&lt;br /&gt;
*&#039;&#039;&#039;--search-path  &amp;lt;string&amp;gt;&#039;&#039;&#039; specifies interface default search path.&lt;br /&gt;
*&#039;&#039;&#039;--plugin-path  &amp;lt;string&amp;gt;&#039;&#039;&#039; specifies plugin search path.&lt;br /&gt;
*&#039;&#039;&#039;--no-plugins-cache&#039;&#039;&#039; disables the plugin cache (plugins cache speeds up startup)&lt;br /&gt;
*&#039;&#039;&#039;--dvd  &amp;lt;string&amp;gt;&#039;&#039;&#039; specifies the default DVD device.&lt;br /&gt;
*&#039;&#039;&#039;--vcd  &amp;lt;string&amp;gt;&#039;&#039;&#039; specifies the default VCD device.&lt;br /&gt;
*&#039;&#039;&#039;--program  &amp;lt;integer&amp;gt;&#039;&#039;&#039; specifies program (SID) (for streams with several programs, like satellite ones).&lt;br /&gt;
*&#039;&#039;&#039;--audio-type  &amp;lt;integer&amp;gt;&#039;&#039;&#039; specifies the default audio type to use with dvds.&lt;br /&gt;
*&#039;&#039;&#039;--audio-channel  &amp;lt;integer&amp;gt;&#039;&#039;&#039; specifies the default audio channel to use with dvds.&lt;br /&gt;
*&#039;&#039;&#039;--spu-channel  &amp;lt;integer&amp;gt;&#039;&#039;&#039; specifies the default subtitle channel to use with dvds.&lt;br /&gt;
*&#039;&#039;&#039;--version&#039;&#039;&#039; gives you information about the current VLC version.&lt;br /&gt;
*&#039;&#039;&#039;--module  &amp;lt;module&amp;gt; &#039;&#039;&#039; displays help about specified module. (Shortcut: &#039;&#039;&#039;-p&#039;&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
===Item-specific options===&lt;br /&gt;
&lt;br /&gt;
There are many options that are related to items (like &#039;&#039;&#039;--novideo&#039;&#039;&#039;, &#039;&#039;&#039;--codec&#039;&#039;&#039;, &#039;&#039;&#039;--fullscreen&#039;&#039;&#039;).&lt;br /&gt;
&lt;br /&gt;
For all of these, you have the possibility to make them item-specific, using &amp;quot;:&amp;quot; instead of &amp;quot;--&amp;quot; and putting the option just after the concerned item.&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc file1.mpg :fullscreen file2.mpg&#039;&#039;&#039;&lt;br /&gt;
will play file1.mpg in fullscreen mode and file2.mpg in the default mode (which is generally no fullscreen), whereas&lt;br /&gt;
 % &#039;&#039;&#039;vlc --fullscreen file1.mpg file2.mpg&#039;&#039;&#039;&lt;br /&gt;
will play both files in fullscreen mode&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc --fullscreen file1.mpg :sub-file=file1.srt :no-fullscreen file2.mpg :filter=distort&#039;&#039;&#039;&lt;br /&gt;
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)&lt;br /&gt;
&lt;br /&gt;
==Advanced use of filters==&lt;br /&gt;
&lt;br /&gt;
===Filters===&lt;br /&gt;
&lt;br /&gt;
These are the old style VLC filters. They only apply to on screen display and thus cannot be streamed.&lt;br /&gt;
&lt;br /&gt;
====Deinterlacing video filter====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;deinterlace&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--deinterlace-mode {discard,blend,mean,bob,linear}&#039;&#039;&#039; choose a deinterlacing mode.&lt;br /&gt;
&lt;br /&gt;
====Invert video filter====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;invert&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Image properties filter====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;adjust&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--contrast &amp;lt;float&amp;gt;&#039;&#039;&#039; Image contrast in the 0-2 range.&lt;br /&gt;
*&#039;&#039;&#039;--brightness &amp;lt;float&amp;gt;&#039;&#039;&#039; Image brightness in the 0-2 range.&lt;br /&gt;
*&#039;&#039;&#039;--hue &amp;lt;integer&amp;gt;&#039;&#039;&#039; Image hue in the 0-360 range.&lt;br /&gt;
*&#039;&#039;&#039;--saturation &amp;lt;float&amp;gt;&#039;&#039;&#039; Image saturation in the 0-3 range.&lt;br /&gt;
*&#039;&#039;&#039;-gamma &amp;lt;float&amp;gt;&#039;&#039;&#039; Image gamma in the 0-10 range.&lt;br /&gt;
&lt;br /&gt;
====Wall video filter====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;wall&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This filter splits the output in several windows.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--wall-cols &amp;lt;integer&amp;gt;&#039;&#039;&#039; Number of columns.&lt;br /&gt;
*&#039;&#039;&#039;--wall-rows &amp;lt;integer&amp;gt;&#039;&#039;&#039; Number of rows.&lt;br /&gt;
*&#039;&#039;&#039;--wall-active &amp;lt;string&amp;gt;&#039;&#039;&#039; Select the windows you want to display. To select windows 2 and 4 you would write &#039;&#039;&#039;--wall-active 2,4&#039;&#039;&#039;. When this option isn&#039;t specified, all windows are displayed.&lt;br /&gt;
&lt;br /&gt;
====Video transformation filter====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;transform&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--transform-type {90,180,270,hflip,vflip}&#039;&#039;&#039; Select rotation angle or symmetry.&lt;br /&gt;
&lt;br /&gt;
====Distort video filter====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;distort&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Clone video filter====&lt;br /&gt;
&lt;br /&gt;
This filter clones the output window.&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;clone&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--clone-count &amp;lt;integer&amp;gt;&#039;&#039;&#039; Number of clones.&lt;br /&gt;
*&#039;&#039;&#039;--clone-vout-list &amp;lt;string&amp;gt;&#039;&#039;&#039; Comma separated string of video output modules.&lt;br /&gt;
&lt;br /&gt;
====Crop video filter====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;crop&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--crop-geometry &amp;lt;string&amp;gt;&#039;&#039;&#039; Set the geometry of the zone to crop. This is set as &amp;lt;width&amp;gt; x &amp;lt;height&amp;gt; + &amp;lt;left offset&amp;gt; + &amp;lt;top offset&amp;gt;.&lt;br /&gt;
*&#039;&#039;&#039;--autocrop&#039;&#039;&#039; Enable automatic black border cropping.&lt;br /&gt;
&lt;br /&gt;
====Motion blur filter====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;motionblur&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;blur-factor &amp;lt;integer&amp;gt;&#039;&#039;&#039; Blur factor in the 1-127 range.&lt;br /&gt;
&lt;br /&gt;
====Video pictures blending====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;blend&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Video scaling filter====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;scale&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Subpictures Filters===&lt;br /&gt;
&lt;br /&gt;
These are the new VLC filters. They can be streamed.&lt;br /&gt;
&lt;br /&gt;
====Time display sub filter====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;time&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--time-format &amp;lt;string&amp;gt;&#039;&#039;&#039; Time format string. You can use the following special characters %Y = year, %m = month, %d = day, %H = hour, %M = minute, %S = second.&lt;br /&gt;
*&#039;&#039;&#039;--time-x &amp;lt;integer&amp;gt;&#039;&#039;&#039; X offset from the left in pixels.&lt;br /&gt;
*&#039;&#039;&#039;--time-y &amp;lt;integer&amp;gt;&#039;&#039;&#039; Y offset from the top in pixels.&lt;br /&gt;
&lt;br /&gt;
====Marquee display sub filter====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;marq&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--marq-marquee &amp;lt;string&amp;gt;&#039;&#039;&#039; Marquee text to display.&lt;br /&gt;
*&#039;&#039;&#039;--marq-x &amp;lt;integer&amp;gt;&#039;&#039;&#039; X offset from the left in pixels.&lt;br /&gt;
*&#039;&#039;&#039;--marq-y &amp;lt;integer&amp;gt;&#039;&#039;&#039; Y offset from the top in pixels.&lt;br /&gt;
*&#039;&#039;&#039;--marq-timeout &amp;lt;timeout&amp;gt;&#039;&#039;&#039; Defines the time the marquee must remain displayed in milliseconds. Default value is 0 (remain forever).&lt;br /&gt;
&lt;br /&gt;
====Logo video filter====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;logo&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This filter can be used both as an old style filter or a subpictures filter.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--logo-file &amp;lt;string&amp;gt;&#039;&#039;&#039; Full path of the PNG file to use.&lt;br /&gt;
*&#039;&#039;&#039;--logo-x &amp;lt;integer&amp;gt;&#039;&#039;&#039; X offset from the left in pixels.&lt;br /&gt;
*&#039;&#039;&#039;--logo-y &amp;lt;integer&amp;gt;&#039;&#039;&#039; Y offset from the top in pixels.&lt;br /&gt;
*&#039;&#039;&#039;--logo-transparency &amp;lt;integer&amp;gt;&#039;&#039;&#039; You can set the logo transparency value here (from 0 for full transparency to 255 for full opacity).&lt;br /&gt;
&lt;br /&gt;
Note: You can move the logo by left-clicking on it.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==The HTTP interface==&lt;br /&gt;
&lt;br /&gt;
VLC ships with a little HTTP server integrated. It is used both to stream using HTTP, and for the HTTP remote control interface.&lt;br /&gt;
&lt;br /&gt;
To start VLC with the HTTP interface, use:&lt;br /&gt;
 % &#039;&#039;&#039;vlc -I http [--http-src /directory/] [--http-host host:port]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If you want to have both the &amp;quot;normal&amp;quot; interface and the HTTP interface, use &#039;&#039;&#039;vlc --extraintf http&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
The HTTP interface will start listening at host:port (&amp;lt;all interfaces&amp;gt;:8080 if omitted), and will reproduce the structure of /directory at http://host:port/ ( vlc_source_path/share/http if omitted ).&lt;br /&gt;
&lt;br /&gt;
Use a browser to go to http://your_host_machine:port. You should be taken to the main page.&lt;br /&gt;
&lt;br /&gt;
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]].&lt;br /&gt;
&lt;br /&gt;
Available pages are:&lt;br /&gt;
* &#039;&#039;&#039;list was obsolete&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Other control interfaces==&lt;br /&gt;
&lt;br /&gt;
VLC includes a number of so-called interfaces that are not really 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 &#039;&#039;&#039;-I&#039;&#039;&#039; or &#039;&#039;&#039;--extraintf&#039;&#039;&#039; on the command line.&lt;br /&gt;
&lt;br /&gt;
===Hotkeys===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Hotkeys can be hacked by:&lt;br /&gt;
 % &#039;&#039;&#039;vlc --key-&amp;lt;function&amp;gt; &amp;amp;lt;code&amp;amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Code is composed by modifiers keys (Alt, Shift, Ctrl, Meta,Command) separated by a dash (-) and terminated by a key (a...z, +, =, -, &#039;,&#039;, +, &amp;amp;lt;, &amp;amp;gt;, `, /, ;, &#039;, \, [, ], *, 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 &#039;&#039;&#039;--longhelp&#039;&#039;&#039; option for full list of functions).&lt;br /&gt;
For example, for binding fullscreen to Ctrl-f, run:&lt;br /&gt;
 % &#039;&#039;&#039;vlc --key-fullscreen &#039;Ctrl-f&#039; &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===RC and RTCI===&lt;br /&gt;
&lt;br /&gt;
These two interfaces allow you to control VLC from a command shell (possibly using a remote connexion or a Unix socket).&lt;br /&gt;
&lt;br /&gt;
Start VLC with &#039;&#039;&#039;-I rc&#039;&#039;&#039; or &#039;&#039;&#039;--extraintf rc&#039;&#039;&#039;. When you get the &#039;&#039;&#039;Remote control interface initialized, `h&#039; for help&#039;&#039;&#039; message, press h and Enter to get help about available commands.&lt;br /&gt;
&lt;br /&gt;
To be able to remote connect to your VLC using a TCP socket (telnet-like connexion), use &#039;&#039;&#039;--rc-host your_host:port&#039;&#039;&#039;. Then, by connecting (using telnet or netcat) to the host on the given port, you will get the command shell.&lt;br /&gt;
&lt;br /&gt;
To use a UNIX socket (local socket, this does not work for Windows), use &#039;&#039;&#039;--rc-unix /path/to/socket&#039;&#039;&#039;. Commands can then be passed using this UNIX socket.&lt;br /&gt;
&lt;br /&gt;
The RTCI interface gives you more advanced options, such as marquee control for the marquee subpicture filter (See filter section).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Ncurses===&lt;br /&gt;
&lt;br /&gt;
This is a text interface, using ncurses library.&lt;br /&gt;
&lt;br /&gt;
Start VLC with &#039;&#039;&#039;-I ncurses&#039;&#039;&#039; or &#039;&#039;&#039;--extraintf ncurses&#039;&#039;&#039;. You will then get something like that:&lt;br /&gt;
&lt;br /&gt;
http://www.videolan.org/doc/play-howto/en/images/play-howto/intf-ncurses-playlist.jpg The ncurses interface&lt;br /&gt;
&lt;br /&gt;
Press h to get the list of all available commands, with a short description.&lt;br /&gt;
&lt;br /&gt;
There is also a filebrowser available for the ncurses interface in order to add playlist items. Press &#039;B&#039; to use it.&lt;br /&gt;
&lt;br /&gt;
http://www.videolan.org/doc/play-howto/en/images/play-howto/intf-ncurses-filebrowser.jpg The ncurses filebrowser&lt;br /&gt;
&lt;br /&gt;
You can set the filebrowser starting point by launching vlc with the &#039;&#039;&#039;--browse-dir&#039;&#039;&#039; option:&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc -I ncurses --browse-dir /filebrowser/starting/point/&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Gestures===&lt;br /&gt;
&lt;br /&gt;
Gestures provide a simple mouse gestures control. TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==The Mozilla plugin==&lt;br /&gt;
&lt;br /&gt;
VLC can also be embedded in a web browser! The following browsers are supported [http://www.mozilla.org/ Mozilla], [http://www.mozilla.org/products/firefox/ Firefox] and [http://www.apple.com/macosx/features/safari Safari].&lt;br /&gt;
&lt;br /&gt;
===Install the plugin===&lt;br /&gt;
&lt;br /&gt;
====GNU/Linux Debian====&lt;br /&gt;
&lt;br /&gt;
Install the &#039;&#039;mozilla-plugin-vlc&#039;&#039; package:&lt;br /&gt;
&lt;br /&gt;
 # &#039;&#039;&#039;apt-get update&#039;&#039;&#039;&lt;br /&gt;
 # &#039;&#039;&#039;apt-get install mozilla-plugin-vlc&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Windows====&lt;br /&gt;
&lt;br /&gt;
Quit Firefox or Mozilla.&lt;br /&gt;
&lt;br /&gt;
Copy the two files in &#039;&#039;&#039;VLC_Installation_folder\mozilla&#039;&#039;&#039; (usually &#039;&#039;&#039;C:\Program Files\VideoLAN\VLC\mozilla&#039;&#039;&#039;) to your mozilla plugins directory (Usually &#039;&#039;&#039;C:\Program Files\Mozilla\plugins&#039;&#039;&#039; or &#039;&#039;&#039;C:\Program Files\Mozilla&lt;br /&gt;
Firefox\plugins&#039;&#039;&#039;).&lt;br /&gt;
&lt;br /&gt;
Restart Firefox or Mozilla.&lt;br /&gt;
&lt;br /&gt;
====MacOS X====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;The Mozilla/Safari plugin for MacOS X is only available from vlc version 0.8.5.1 and onwards.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Quit Safari browser.&lt;br /&gt;
&lt;br /&gt;
Download the Mozilla/safari plugin package from [http://www.videolan.org/vlc/download-macosx.html MacOS X download page].&lt;br /&gt;
&lt;br /&gt;
Run the installer from the dmg image.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Compile the sources yourself====&lt;br /&gt;
&lt;br /&gt;
Please look at the [http://developers.videolan.org developers page] for information on how to do this.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Use the mozilla plugin===&lt;br /&gt;
&lt;br /&gt;
If you open a link to a video file handled by the VLC plugin (To get the list of handled types, browse to &#039;&#039;&#039;about:plugins&#039;&#039;&#039;) or a page with an embedded video, the plugin should open and read the&lt;br /&gt;
video.&lt;br /&gt;
&lt;br /&gt;
===Build HTML pages that use the plugin (VLC version up to 0.8.5)===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;WARNING:&#039;&#039;&#039; the APIs described in this section are &#039;&#039;&#039;deprecated&#039;&#039;&#039;, do not use, &lt;br /&gt;
&lt;br /&gt;
The following API description is only valid uptill version 0.8.5 of the mozilla plugin.&lt;br /&gt;
&lt;br /&gt;
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&lt;br /&gt;
plugin.&lt;br /&gt;
&lt;br /&gt;
The vlc plugin supports the following function calls:&lt;br /&gt;
*&#039;&#039;&#039;play()&#039;&#039;&#039;: Start playing media in the plugin.&lt;br /&gt;
*&#039;&#039;&#039;pause()&#039;&#039;&#039;: Pause playback.&lt;br /&gt;
*&#039;&#039;&#039;stop()&#039;&#039;&#039;: Stop media playback.&lt;br /&gt;
*&#039;&#039;&#039;fullscreen()&#039;&#039;&#039;: Switch the video to full screen.&lt;br /&gt;
*&#039;&#039;&#039;set_volume(vol)&#039;&#039;&#039;: Set the volume. &#039;&#039;&#039;vol&#039;&#039;&#039; has to be an int in the 0-200 range.&lt;br /&gt;
*&#039;&#039;&#039;get_volume()&#039;&#039;&#039;: Get the current volume setting.&lt;br /&gt;
*&#039;&#039;&#039;mute()&#039;&#039;&#039;: Toggle volume muting.&lt;br /&gt;
*&#039;&#039;&#039;set_int_variable(var_name, value)&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;set_bool_variable(var_name, value)&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;set_str_variable(var_name, value)&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;get_int_variable(var_name)&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;get_bool_variable(var_name)&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;get_str_variable(var_name)&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;clear_playlist()&#039;&#039;&#039;: Clear the playlist.&lt;br /&gt;
*&#039;&#039;&#039;add_item(mrl)&#039;&#039;&#039;: Append an item whose location is given by the [[media resource locator]] to the playlist.&lt;br /&gt;
*&#039;&#039;&#039;next()&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;previous()&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;isplaying()&#039;&#039;&#039;: return true if the plugin is playing something.&lt;br /&gt;
*&#039;&#039;&#039;get_length()&#039;&#039;&#039;: Get the media&#039;s length in seconds.&lt;br /&gt;
*&#039;&#039;&#039;get_position()&#039;&#039;&#039;: Get the current position in the media in percent.&lt;br /&gt;
*&#039;&#039;&#039;get_time()&#039;&#039;&#039;: Get the current position in the media in seconds.&lt;br /&gt;
*&#039;&#039;&#039;seek(seconds,is_relative)&#039;&#039;&#039;: If is_relative is true, seek relatively to current time, else seek from beginning of the stream. Seek time is specified in seconds.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Here are a few examples of HTML pages that use the&lt;br /&gt;
Mozilla plugin.&lt;br /&gt;
&lt;br /&gt;
====Example 1====&lt;br /&gt;
&lt;br /&gt;
In this example, the plugin will read an HTTP stream inside the web page. If the user goes fullscreen, he will have to press &#039;&#039;f&#039;&#039; or double-click on the video to go back in normal view.&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;html&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;head&amp;amp;gt;&amp;amp;lt;title&amp;amp;gt;Demo of VLC mozilla plugin&amp;amp;lt;/title&amp;amp;gt;&amp;amp;lt;/head&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;body&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;h1&amp;amp;gt;Demo of VLC mozilla plugin - Example 1&amp;amp;lt;/h1&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;embed type=&amp;quot;application/x-vlc-plugin&amp;quot;&lt;br /&gt;
          name=&amp;quot;video1&amp;quot;&lt;br /&gt;
          autoplay=&amp;quot;no&amp;quot; loop=&amp;quot;yes&amp;quot; width=&amp;quot;400&amp;quot; height=&amp;quot;300&amp;quot;&lt;br /&gt;
          target=&amp;quot;http://server.example.org/video1.vob&amp;quot; /&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;br /&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video1.play()&#039;&amp;amp;gt;Play video1&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video1.pause()&#039;&amp;amp;gt;Pause video1&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video1.stop()&#039;&amp;amp;gt;Stop video1&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video1.fullscreen()&#039;&amp;amp;gt;Fullscreen&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;/body&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/html&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Example 2====&lt;br /&gt;
&lt;br /&gt;
In this example, the plugin will read a multicast UDP/RTP stream in a dedicated video output window.&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;html&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;head&amp;amp;gt;&amp;amp;lt;title&amp;amp;gt;Demo of VLC mozilla plugin&amp;amp;lt;/title&amp;amp;gt;&amp;amp;lt;/head&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;body&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;h1&amp;amp;gt;Demo of VLC mozilla plugin - Example 2&amp;amp;lt;/h1&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;embed type=&amp;quot;application/x-vlc-plugin&amp;quot;&lt;br /&gt;
          name=&amp;quot;video2&amp;quot;&lt;br /&gt;
          autoplay=&amp;quot;no&amp;quot; loop=&amp;quot;no&amp;quot; hidden=&amp;quot;yes&amp;quot;&lt;br /&gt;
          target=&amp;quot;rtp://@239.255.12.42:5004&amp;quot; /&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;br /&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video2.play()&#039;&amp;amp;gt;Play video2&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video2.stop()&#039;&amp;amp;gt;Stop video2&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video2.fullscreen()&#039;&amp;amp;gt;Fullscreen&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;/body&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/html&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Building HTML pages for Mozilla/Firefox/Internet Explorer/Safari (VLC version 0.8.6 and above)==&lt;br /&gt;
&lt;br /&gt;
The following description works for any of the browsers VLC supports. The JavaScript API has been unified between Mozilla/Firefox/IE (ActiveX) and Safari, thus targetting at all of the major OS out there. This is only valid for VLC version 0.8.6 and above.&lt;br /&gt;
&lt;br /&gt;
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&lt;br /&gt;
plugin.&lt;br /&gt;
&lt;br /&gt;
The vlc plugin exports serveral objects that can be accessed for setting and getting information. When used improperly the API&#039;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.&lt;br /&gt;
&lt;br /&gt;
The vlc plugin knows the following objects:&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;audio&#039;&#039;&#039;: Access audio properties.&lt;br /&gt;
*&#039;&#039;&#039;input&#039;&#039;&#039;: Access input properties.&lt;br /&gt;
*&#039;&#039;&#039;playlist&#039;&#039;&#039;: Access playlist properties.&lt;br /&gt;
*&#039;&#039;&#039;video&#039;&#039;&#039;: Access video properties.&lt;br /&gt;
*&#039;&#039;&#039;log&#039;&#039;&#039;: Access log properties.&lt;br /&gt;
*&#039;&#039;&#039;messages&#039;&#039;&#039;: Access to log message properties.&lt;br /&gt;
*&#039;&#039;&#039;iterator&#039;&#039;&#039;: Access to log iterator properties.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;html&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;title&amp;amp;gt;VLC Mozilla plugin test page&amp;amp;lt;/title&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;body&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;embed type=&amp;quot;application/x-vlc-plugin&amp;quot; pluginspage=&amp;quot;http://www.videolan.org&amp;quot; version=&amp;quot;VideoLAN.VLCPlugin.2&amp;quot;&lt;br /&gt;
     width=&amp;quot;640&amp;quot;&lt;br /&gt;
     height=&amp;quot;480&amp;quot;&lt;br /&gt;
     id=&amp;quot;vlc&amp;quot;&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/embed&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;script language=&amp;quot;Javascript&amp;quot;&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;!--&lt;br /&gt;
 var vlc = document.getElementById(&amp;quot;vlc&amp;quot;);&lt;br /&gt;
 vlc.audio.toggleMute();&lt;br /&gt;
 !--&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/script&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/body&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/html&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Root object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;VersionInfo&#039;&#039;&#039;: returns version information string&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;vlc.versionInfo()&#039;&#039;&#039;: returns version information string (same as VersionInfo)&lt;br /&gt;
&lt;br /&gt;
====Audio object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.audio.mute&#039;&#039;&#039;: boolean value to mute and ummute the audio&lt;br /&gt;
*&#039;&#039;&#039;vlc.audio.volume&#039;&#039;&#039;: a value between [0-200] which indicates a percentage of the volume.&lt;br /&gt;
*&#039;&#039;&#039;vlc.audio.track&#039;&#039;&#039;: (supported in vlc version &amp;gt; 0.8.6) a value between [1-65535] which indicates the audio track to play or that is playing. a value of 0 means the audio is/will be disabled.&lt;br /&gt;
*&#039;&#039;&#039;vlc.audio.channel&#039;&#039;&#039;: (supported in vlc version &amp;gt; 0.8.6) integer value between [1-5] that indicates which audio channel mode is used, values can be: &amp;quot;1=stereo&amp;quot;, &amp;quot;2=reverse stereo&amp;quot;, &amp;quot;3=left&amp;quot;, &amp;quot;4=right&amp;quot;, &amp;quot;5=dolby&amp;quot;. Use vlc.audio.channel to check if setting of the audio channel mode has succeeded.&lt;br /&gt;
&lt;br /&gt;
 Audio Channel:&lt;br /&gt;
 &amp;lt;SELECT readonly onChange=&#039;doAudioChannel(this.value)&#039;&amp;gt;&lt;br /&gt;
    &amp;lt;OPTION value=1&amp;gt;Stereo&amp;lt;/OPTION&amp;gt;&lt;br /&gt;
    &amp;lt;OPTION value=2&amp;gt;Reverse stereo&amp;lt;/OPTION&amp;gt;&lt;br /&gt;
    &amp;lt;OPTION value=3&amp;gt;Left&amp;lt;/OPTION&amp;gt;&lt;br /&gt;
    &amp;lt;OPTION value=4&amp;gt;Right&amp;lt;/OPTION&amp;gt;&lt;br /&gt;
    &amp;lt;OPTION value=5&amp;gt;Dolby&amp;lt;/OPTION&amp;gt;&lt;br /&gt;
 &amp;lt;/SELECT&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;SCRIPT language=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;amp;lt;!--&lt;br /&gt;
 function doAudioChannel(value)&lt;br /&gt;
 {&lt;br /&gt;
    var vlc = getVLC(&amp;quot;vlc&amp;quot;);&lt;br /&gt;
    vlc.audio.channel = parseInt(value);&lt;br /&gt;
    alert(vlc.audio.channel);&lt;br /&gt;
 };&lt;br /&gt;
 --&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;vlc.audio.toggleMute()&#039;&#039;&#039;: boolean toggle that mutes and unmutes the audio based upon the previous state&lt;br /&gt;
&lt;br /&gt;
====Input object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.length&#039;&#039;&#039;: length of the input file in number of milliseconds. 0 is returned for &#039;live&#039; streams or clips whose length cannot be determined by VLC&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.fps&#039;&#039;&#039;: frames per second returned as a float (typically 60.0, 50.0, 23.976, etc...)&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.hasVout&#039;&#039;&#039;: a boolean that returns true when the video is being displayed, it returns false when video is not displayed&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.position&#039;&#039;&#039;: normalized position in multimedia stream item given as a float value between [0.0 - 1.0]&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.time&#039;&#039;&#039;: the absolute position in time given in milliseconds, this property can be used to seek through the stream&lt;br /&gt;
 &amp;amp;lt;!-- absolute seek in stream !--&amp;amp;gt;&lt;br /&gt;
 vlc.input.time = &amp;amp;lt;absolute seek&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;!-- relative seek in stream !--&amp;amp;gt;&lt;br /&gt;
 vlc.input.time = vlc.input.time + &amp;amp;lt;relative seek&amp;amp;gt;&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.state&#039;&#039;&#039;: current state of the input chain given as enumeration (IDLE=0, OPENING=1, BUFFERING=2, PLAYING=3, PAUSED=4, STOPPING=5, ENDED=6, ERROR=7). Note: Test for ENDED=6 to catch end of playback. Checking for STOPPING=5 is NOT ENOUGH.&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.rate&#039;&#039;&#039;: input speed given as float (1.0 for normal speed, 0.5 for half speed, 2.0 for twice as fast, etc.).&lt;br /&gt;
 rate &amp;gt; 1              : is fastforward&lt;br /&gt;
 rate &amp;gt; 0 and rate &amp;lt; 1 : is slow motion&lt;br /&gt;
 rate &amp;lt; 0              : is rewind&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Playlist object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.itemCount&#039;&#039;&#039;: number that returns the amount of items currently in the playlist (&#039;&#039;&#039;deprecated&#039;&#039;&#039;, do not use, see [[#Playlist_items_object| Playlist items]])&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.isPlaying&#039;&#039;&#039;: a boolean that returns true if the current playlist item is playing and false when it is not playing&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.items&#039;&#039;&#039;: return the playlist items collection, see [[#Playlist_items_object| Playlist items]]&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.add(mrl)&#039;&#039;&#039;: add a playlist item as [[MRL]]. The MRL must be given as a string. Returns a number as an item identifier in playlist (this is not a position  in playlist).&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.add(mrl,name,options)&#039;&#039;&#039;: add a playlist item as MRL, with metaname &#039;name&#039; and options &#039;options&#039;. options are text arguments which can be provided either as a single string containing space separated values, akin to VLC command line, or as an array of string values. Returns a number as an item identifier in playlist (this is not a position in playlist).&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.play()&#039;&#039;&#039;: start playing the current playlist item&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.playItem(number)&#039;&#039;&#039;: start playing the item whose identifier is number&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.togglePause()&#039;&#039;&#039;: toggle the pause state for the current playlist item&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.stop()&#039;&#039;&#039;: stop playing the current playlist item&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.next()&#039;&#039;&#039;: iterate to the next playlist item&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.prev()&#039;&#039;&#039;: iterate to the previous playlist item&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.clear()&#039;&#039;&#039;: empty the current playlist, all items will be deleted from the playlist (&#039;&#039;&#039;deprecated&#039;&#039;&#039;, do not use, see [[#Playlist_items_object| Playlist items]])&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.removeItem(number)&#039;&#039;&#039;: remove the item from playlist whose identifier is number &amp;lt;!-- (note: this number isn&#039;t the position in the playlist, but the number given by vlc.playlist.add() ) --&amp;gt; (&#039;&#039;&#039;deprecated&#039;&#039;&#039;, do not use, see [[#Playlist_items_object| Playlist items]])&lt;br /&gt;
&lt;br /&gt;
====Playlist items object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.items.count&#039;&#039;&#039;: number of items currently in the playlist&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.items.clear()&#039;&#039;&#039;: empty the current playlist, all items will be deleted from the playlist. If a movie is playing, it stop. Note that when this method returns, playlist may not have been entirely been cleared as this operation is performed asynchronously; use the &#039;&#039;count&#039;&#039; property to verify/wait until the playlist is empty.&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.items.remove(number)&#039;&#039;&#039;: remove the item whose identifier is number from playlist. (note: this number isn&#039;t the position in the playlist, but the number given by vlc.playlist.add() )&lt;br /&gt;
&lt;br /&gt;
====Video object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.width&#039;&#039;&#039;: returns the horizontal size of the video&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.height&#039;&#039;&#039;: returns the vertical size of the video&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.fullscreen&#039;&#039;&#039;: 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.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.aspectRatio&#039;&#039;&#039;: get and set the aspect ratio to use in the video screen. The property takes a string as input value. Typical values are: &amp;quot;1:1&amp;quot;, &amp;quot;4:3&amp;quot;, &amp;quot;16:9&amp;quot;, &amp;quot;16:10&amp;quot;, &amp;quot;221:100&amp;quot; and &amp;quot;5:4&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.subtitle&#039;&#039;&#039;: (supported in vlc version &amp;gt; 0.8.6a) get and set the subtitle track to show on the video screen. The property takes an integer as input value [1..65535]. If subtitle track is set to 0, the subtitles will be disabled. If set to a value outside the current subtitle tracks range, then it will return -1 and display an error message.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.teletext&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 0.9.0) get and set teletext page to show on the video stream. This will only work if a teletext elementary stream is available in the video stream. The property takes an integer as input value [0..999] for indicating the teletext page to view, setting the value to 0 means hide teletext. On error it will return -1 and display an error message.&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.toggleFullscreen()&#039;&#039;&#039;: toggle the fullscreen mode based on the previous setting&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.toggleTeletext()&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 0.9.0) toggle the teletext page to overlay transparent or not, based on the previous setting&lt;br /&gt;
&lt;br /&gt;
====Log object====&lt;br /&gt;
&lt;br /&gt;
this object allows accessing VLC main message logging queue. Typically this queue capacity is very small (no nore than 256 entries) and can easily overflow, therefore messages should be read and cleared as often as possible.&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.log.messages&#039;&#039;&#039;: returns the message collection, see [[Messages object]]&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.log.verbosity&#039;&#039;&#039;: write number [-1,0,1,2,3] for changing the verbosity level of the log messages; messages whose verbosity is higher than set will be not be logged in the queue. The numbers have the following meaning: -1 disable, 0 info, 1 error, 2 warning, 3 debug. &lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Messages object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;messages.count&#039;&#039;&#039;: returns number of messages in the log&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;messages.clear()&#039;&#039;&#039;: clear the current log buffer. It should be called as frequently as possible to not overflow the message queue. Call this method after the log messages of interest are read.&lt;br /&gt;
*&#039;&#039;&#039;messages.iterator()&#039;&#039;&#039;: creates and returns an iterator object, used to iterate over the messages in the log. &#039;&#039;&#039;Don&#039;t clear the log buffer while holding an iterator object.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Messages Iterator object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;iterator.hasNext&#039;&#039;&#039;: returns a boolean that indicates whether &#039;&#039;vlc.log.messages.next()&#039;&#039; will return the next message.&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;iterator.next()&#039;&#039;&#039;: returns the next message object in the log, see [[Message object]]&lt;br /&gt;
&lt;br /&gt;
====Message object====&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;message.severity&#039;&#039;&#039;: number that indicates the severity of the log message (0 = info, 1 = error, 2 = warning, 3 = debug)&lt;br /&gt;
*&#039;&#039;&#039;message.name&#039;&#039;&#039;: name of VLC module that printed the log message (e.g: main, http, directx, etc...)&lt;br /&gt;
*&#039;&#039;&#039;message.type&#039;&#039;&#039;: type of VLC module that printed the log message (eg: input, access, vout, sout, etc...)&lt;br /&gt;
*&#039;&#039;&#039;message.message&#039;&#039;&#039;: the message text&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Documentation}}&lt;/div&gt;</summary>
		<author><name>Jpsaman</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=Documentation:Advanced_Use_of_VLC&amp;diff=13608</id>
		<title>Documentation:Advanced Use of VLC</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=Documentation:Advanced_Use_of_VLC&amp;diff=13608"/>
		<updated>2009-03-09T16:00:12Z</updated>

		<summary type="html">&lt;p&gt;Jpsaman: /* Input object */ document rate settings&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{RightMenu|documentation play howto toc}}&lt;br /&gt;
&lt;br /&gt;
==Use the command line==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;TODO: completely outdated&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
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&#039;t need or want a GUI. Here is the complete description of VLC&#039;s command line and how to use it.&lt;br /&gt;
&lt;br /&gt;
You need to be quite comfortable with command line usage to use this.&lt;br /&gt;
&lt;br /&gt;
 Note: Windows users have to use the &#039;&#039;--option-name=&amp;quot;value&amp;quot;&#039;&#039; syntax instead of the &#039;&#039;--option-name value&#039;&#039; syntax.&lt;br /&gt;
&lt;br /&gt;
===Getting help===&lt;br /&gt;
&lt;br /&gt;
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, ...&lt;br /&gt;
&lt;br /&gt;
This chapter will only describe the &amp;quot;general&amp;quot; options, i.e. the core options. Each module adds new options. For example, the HTTP input module will add options for caching, proxy, authentication, ...&lt;br /&gt;
&lt;br /&gt;
By using &#039;&#039;&#039;vlc --help&#039;&#039;&#039;, you will get the basic core options. &#039;&#039;&#039;vlc --longhelp&#039;&#039;&#039; will give all the basic options (core + modules). Adding &#039;&#039;&#039;--advanced&#039;&#039;&#039; will give the &amp;quot;advanced options&amp;quot; (for advanced users). So &#039;&#039;&#039;vlc --longhelp --advanced&#039;&#039;&#039; will give you all options. You can also append &#039;&#039;&#039;--help-verbose&#039;&#039;&#039; if you want more detailed help.&lt;br /&gt;
&lt;br /&gt;
Also, you might want to get debug informations. To do this, use &#039;&#039;&#039;-v&#039;&#039;&#039; or &#039;&#039;&#039;-vv&#039;&#039;&#039; (this will show lower severity messages). If your console supports it, you can add &#039;&#039;&#039;--color to get messages in color.&lt;br /&gt;
&lt;br /&gt;
===Opening streams===&lt;br /&gt;
&lt;br /&gt;
The following commands start VLC and start reading the given element(s)&lt;br /&gt;
&lt;br /&gt;
====Opening a file====&lt;br /&gt;
&lt;br /&gt;
Start VLC with:&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc my_file&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
VLC should be able to recognize the file type. If it does not, you can force demultiplexer and decoder (see below).&lt;br /&gt;
&lt;br /&gt;
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].&lt;br /&gt;
&lt;br /&gt;
====Opening a DVD or VCD, or an audio CD====&lt;br /&gt;
&lt;br /&gt;
Start VLC with:&lt;br /&gt;
&lt;br /&gt;
For a DVD with menus:&lt;br /&gt;
 % &#039;&#039;&#039;vlc dvd://[device][@raw_device][@[title][:[chapter][:angle]]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
In most cases, &#039;&#039;&#039;vlc dvd://&#039;&#039;&#039; or &#039;&#039;&#039;vlc dvd://[device]&#039;&#039;&#039; will do. [device] is for example &#039;&#039;&#039;/dev/dvd&#039;&#039;&#039; on GNU/Linux or &#039;&#039;&#039;D:&#039;&#039;&#039; on Windows (complete path to your DVD drive).&lt;br /&gt;
&lt;br /&gt;
or&lt;br /&gt;
&lt;br /&gt;
(DVD without menus):&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc dvdsimple://[device][@raw_device][@[title][:[chapter][:angle]]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
or&lt;br /&gt;
&lt;br /&gt;
(VCD):&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc vcd://[device][@{E|P|E|T|S}[number]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
or&lt;br /&gt;
&lt;br /&gt;
(Audio CD):&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc cdda://[device][@[track]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Receiving a network stream====&lt;br /&gt;
&lt;br /&gt;
To receive an unicast RTP/UDP stream (sent by VLC&#039;s stream output), start VLC with:&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc  rtp://@:5004&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If 5004 is the port to which packets are sent. 1234 is another commonly used port number. you use the default port (1234), &#039;&#039;&#039;vlc rtp://&#039;&#039;&#039; will do.&lt;br /&gt;
For more information, look at the Streaming Howto.&lt;br /&gt;
&lt;br /&gt;
To receive an multicast UDP/RTP stream (sent by VLC&#039;s stream output), start VLC with:&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc rtp://@multicast_address:port&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
To receive a SSM (source specific multicast) stream, you can use:&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc rtp://server_address@multicast_address:port&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This only works on OSs that support SSM (Windows XP and Linux).&lt;br /&gt;
&lt;br /&gt;
To receive a HTTP stream, start VLC with:&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc http://www.example.org/your_file.mpg&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
To receive a RTSP stream, start VLC with:&amp;lt;/para&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc rtsp://www.example.org/your_stream&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Modules selection===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--intf  &amp;lt;module&amp;gt;&#039;&#039;&#039; allows you to select the interface module.&lt;br /&gt;
*&#039;&#039;&#039;--extraintf  &amp;lt;module&amp;gt;&#039;&#039;&#039; allows you to select extra interface modules that will be launched in addition to the main one. This is mainly useful for special &#039;&#039;control&#039;&#039; interfaces, like HTTP, RC (Remote Control), ... (see below)&lt;br /&gt;
*&#039;&#039;&#039;--aout  &amp;lt;module&amp;gt;&#039;&#039;&#039; allows you to select the audio output module.&lt;br /&gt;
*&#039;&#039;&#039;--vout  &amp;lt;module&amp;gt;&#039;&#039;&#039; allows you to select the video output module.&lt;br /&gt;
*&#039;&#039;&#039;--memcpy  &amp;lt;module&amp;gt;&#039;&#039;&#039; allows you to choose a memory copy module. You should probably never touch that.&lt;br /&gt;
&lt;br /&gt;
You can get a listing of the available modules by using &#039;&#039;&#039;vlc -l&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Stream Output===&lt;br /&gt;
&lt;br /&gt;
The Stream output system allows vlc to become a streaming server.&lt;br /&gt;
&lt;br /&gt;
For more details on the stream output system, please have a look at the [[Documentation:Streaming HowTo|Streaming HowTo]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Other Options===&lt;br /&gt;
&lt;br /&gt;
====Audio options====&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--noaudio&#039;&#039;&#039; disables audio output.&lt;br /&gt;
*&#039;&#039;&#039;--mono&#039;&#039;&#039; forces VLC to treat the stream in mono audio.&lt;br /&gt;
*&#039;&#039;&#039;--volume &amp;lt;integer&amp;gt;&#039;&#039;&#039; sets the level of audio output (between 0 and 1024).&lt;br /&gt;
*&#039;&#039;&#039;--aout-rate &amp;lt;integer&amp;gt;&#039;&#039;&#039; sets the audio output frequency (Hz). By default, VLC will try to autodetect this.&lt;br /&gt;
*&#039;&#039;&#039;--desync &amp;lt;integer&amp;gt;&#039;&#039;&#039; compensates desynchronization of audio (ms). (If audio and video streams are not synchronized, use this setting to delay the audio stream)&lt;br /&gt;
*&#039;&#039;&#039;--audio-filter &amp;lt;string&amp;gt;&#039;&#039;&#039; 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)&lt;br /&gt;
&lt;br /&gt;
====Video options====&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--novideo&#039;&#039;&#039; disables video output.&lt;br /&gt;
*&#039;&#039;&#039;--grayscale&#039;&#039;&#039; turns video output into grayscale mode.&lt;br /&gt;
*&#039;&#039;&#039;--fullscreen&#039;&#039;&#039; ( or &#039;&#039;&#039;-f&#039;&#039;&#039;) sets fullscreen video.&lt;br /&gt;
*&#039;&#039;&#039;--nooverlay&#039;&#039;&#039; disables hardware acceleration for the video output.&lt;br /&gt;
*&#039;&#039;&#039;--width, --height &amp;lt;integer&amp;gt;&#039;&#039;&#039; sets the video window dimensions. By default, the video window size will be adjusted to match the video dimensions.&lt;br /&gt;
*&#039;&#039;&#039;--zoom &amp;lt;float&amp;gt;&#039;&#039;&#039; adds a zoom factor.&lt;br /&gt;
*&#039;&#039;&#039;--aspect-ratio &amp;lt;mode&amp;gt;&#039;&#039;&#039; forces source aspect ratio. Modes are 4x3, 16x9, ...&lt;br /&gt;
*&#039;&#039;&#039;--spumargin  &amp;lt;integer&amp;gt;&#039;&#039;&#039; forces SPU subtitles postion.&lt;br /&gt;
*&#039;&#039;&#039;--filter &amp;lt;string&amp;gt;&#039;&#039;&#039; adds video filters to the processing chain. You can add several filters, separated by commas&lt;br /&gt;
*&#039;&#039;&#039;--sub-filter &amp;lt;string&amp;gt;&#039;&#039;&#039; adds video subpictures filter to the processing chain.&lt;br /&gt;
&lt;br /&gt;
====Playlist options====&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--random&#039;&#039;&#039; plays files randomly forever.&lt;br /&gt;
*&#039;&#039;&#039;--loop&#039;&#039;&#039; loops playlist on end.&lt;br /&gt;
*&#039;&#039;&#039;--repeat&#039;&#039;&#039; repeats current item until another item is forced&lt;br /&gt;
*&#039;&#039;&#039;--play-and-stop&#039;&#039;&#039; stops the playlist after each played item.&lt;br /&gt;
&lt;br /&gt;
====Network options====&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--server-port &amp;lt;integer&amp;gt;&#039;&#039;&#039; sets server port.&lt;br /&gt;
*&#039;&#039;&#039;--iface  &amp;lt;string&amp;gt;&#039;&#039;&#039; specifies the network interface to use.&lt;br /&gt;
*&#039;&#039;&#039;--iface-addr  &amp;lt;string&amp;gt;&#039;&#039;&#039; specifies your network interface IP address.&lt;br /&gt;
*&#039;&#039;&#039;--mtu  &amp;lt;integer&amp;gt;&#039;&#039;&#039; specifies the MTU of the network interface.&lt;br /&gt;
*&#039;&#039;&#039;--ipv6&#039;&#039;&#039; forces IPv6.&lt;br /&gt;
*&#039;&#039;&#039;--ipv4&#039;&#039;&#039; forces IPv4.&lt;br /&gt;
&lt;br /&gt;
====CPU options====&lt;br /&gt;
&lt;br /&gt;
You should probably not touch these options unless you know what you are doing.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--nommx&#039;&#039;&#039; disables the use of MMX CPU extensions.&lt;br /&gt;
*&#039;&#039;&#039;--no3dn&#039;&#039;&#039; disables the use of 3D Now! CPU extensions.&lt;br /&gt;
*&#039;&#039;&#039;--nommxext&#039;&#039;&#039; disables the use of MMX Ext CPU extensions.&lt;br /&gt;
*&#039;&#039;&#039;--nosse&#039;&#039;&#039; disables the use of SSE CPU extensions.&lt;br /&gt;
*&#039;&#039;&#039;--noaltivec&#039;&#039;&#039; disables the use of Altivec CPU extensions.&lt;br /&gt;
&lt;br /&gt;
====Miscellaneous options====&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--quiet&#039;&#039;&#039;  deactivates all console messages.&lt;br /&gt;
*&#039;&#039;&#039;--color&#039;&#039;&#039; displays color messages.&lt;br /&gt;
*&#039;&#039;&#039;--search-path  &amp;lt;string&amp;gt;&#039;&#039;&#039; specifies interface default search path.&lt;br /&gt;
*&#039;&#039;&#039;--plugin-path  &amp;lt;string&amp;gt;&#039;&#039;&#039; specifies plugin search path.&lt;br /&gt;
*&#039;&#039;&#039;--no-plugins-cache&#039;&#039;&#039; disables the plugin cache (plugins cache speeds up startup)&lt;br /&gt;
*&#039;&#039;&#039;--dvd  &amp;lt;string&amp;gt;&#039;&#039;&#039; specifies the default DVD device.&lt;br /&gt;
*&#039;&#039;&#039;--vcd  &amp;lt;string&amp;gt;&#039;&#039;&#039; specifies the default VCD device.&lt;br /&gt;
*&#039;&#039;&#039;--program  &amp;lt;integer&amp;gt;&#039;&#039;&#039; specifies program (SID) (for streams with several programs, like satellite ones).&lt;br /&gt;
*&#039;&#039;&#039;--audio-type  &amp;lt;integer&amp;gt;&#039;&#039;&#039; specifies the default audio type to use with dvds.&lt;br /&gt;
*&#039;&#039;&#039;--audio-channel  &amp;lt;integer&amp;gt;&#039;&#039;&#039; specifies the default audio channel to use with dvds.&lt;br /&gt;
*&#039;&#039;&#039;--spu-channel  &amp;lt;integer&amp;gt;&#039;&#039;&#039; specifies the default subtitle channel to use with dvds.&lt;br /&gt;
*&#039;&#039;&#039;--version&#039;&#039;&#039; gives you information about the current VLC version.&lt;br /&gt;
*&#039;&#039;&#039;--module  &amp;lt;module&amp;gt; &#039;&#039;&#039; displays help about specified module. (Shortcut: &#039;&#039;&#039;-p&#039;&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
===Item-specific options===&lt;br /&gt;
&lt;br /&gt;
There are many options that are related to items (like &#039;&#039;&#039;--novideo&#039;&#039;&#039;, &#039;&#039;&#039;--codec&#039;&#039;&#039;, &#039;&#039;&#039;--fullscreen&#039;&#039;&#039;).&lt;br /&gt;
&lt;br /&gt;
For all of these, you have the possibility to make them item-specific, using &amp;quot;:&amp;quot; instead of &amp;quot;--&amp;quot; and putting the option just after the concerned item.&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc file1.mpg :fullscreen file2.mpg&#039;&#039;&#039;&lt;br /&gt;
will play file1.mpg in fullscreen mode and file2.mpg in the default mode (which is generally no fullscreen), whereas&lt;br /&gt;
 % &#039;&#039;&#039;vlc --fullscreen file1.mpg file2.mpg&#039;&#039;&#039;&lt;br /&gt;
will play both files in fullscreen mode&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc --fullscreen file1.mpg :sub-file=file1.srt :no-fullscreen file2.mpg :filter=distort&#039;&#039;&#039;&lt;br /&gt;
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)&lt;br /&gt;
&lt;br /&gt;
==Advanced use of filters==&lt;br /&gt;
&lt;br /&gt;
===Filters===&lt;br /&gt;
&lt;br /&gt;
These are the old style VLC filters. They only apply to on screen display and thus cannot be streamed.&lt;br /&gt;
&lt;br /&gt;
====Deinterlacing video filter====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;deinterlace&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--deinterlace-mode {discard,blend,mean,bob,linear}&#039;&#039;&#039; choose a deinterlacing mode.&lt;br /&gt;
&lt;br /&gt;
====Invert video filter====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;invert&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Image properties filter====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;adjust&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--contrast &amp;lt;float&amp;gt;&#039;&#039;&#039; Image contrast in the 0-2 range.&lt;br /&gt;
*&#039;&#039;&#039;--brightness &amp;lt;float&amp;gt;&#039;&#039;&#039; Image brightness in the 0-2 range.&lt;br /&gt;
*&#039;&#039;&#039;--hue &amp;lt;integer&amp;gt;&#039;&#039;&#039; Image hue in the 0-360 range.&lt;br /&gt;
*&#039;&#039;&#039;--saturation &amp;lt;float&amp;gt;&#039;&#039;&#039; Image saturation in the 0-3 range.&lt;br /&gt;
*&#039;&#039;&#039;-gamma &amp;lt;float&amp;gt;&#039;&#039;&#039; Image gamma in the 0-10 range.&lt;br /&gt;
&lt;br /&gt;
====Wall video filter====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;wall&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This filter splits the output in several windows.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--wall-cols &amp;lt;integer&amp;gt;&#039;&#039;&#039; Number of columns.&lt;br /&gt;
*&#039;&#039;&#039;--wall-rows &amp;lt;integer&amp;gt;&#039;&#039;&#039; Number of rows.&lt;br /&gt;
*&#039;&#039;&#039;--wall-active &amp;lt;string&amp;gt;&#039;&#039;&#039; Select the windows you want to display. To select windows 2 and 4 you would write &#039;&#039;&#039;--wall-active 2,4&#039;&#039;&#039;. When this option isn&#039;t specified, all windows are displayed.&lt;br /&gt;
&lt;br /&gt;
====Video transformation filter====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;transform&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--transform-type {90,180,270,hflip,vflip}&#039;&#039;&#039; Select rotation angle or symmetry.&lt;br /&gt;
&lt;br /&gt;
====Distort video filter====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;distort&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Clone video filter====&lt;br /&gt;
&lt;br /&gt;
This filter clones the output window.&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;clone&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--clone-count &amp;lt;integer&amp;gt;&#039;&#039;&#039; Number of clones.&lt;br /&gt;
*&#039;&#039;&#039;--clone-vout-list &amp;lt;string&amp;gt;&#039;&#039;&#039; Comma separated string of video output modules.&lt;br /&gt;
&lt;br /&gt;
====Crop video filter====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;crop&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--crop-geometry &amp;lt;string&amp;gt;&#039;&#039;&#039; Set the geometry of the zone to crop. This is set as &amp;lt;width&amp;gt; x &amp;lt;height&amp;gt; + &amp;lt;left offset&amp;gt; + &amp;lt;top offset&amp;gt;.&lt;br /&gt;
*&#039;&#039;&#039;--autocrop&#039;&#039;&#039; Enable automatic black border cropping.&lt;br /&gt;
&lt;br /&gt;
====Motion blur filter====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;motionblur&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;blur-factor &amp;lt;integer&amp;gt;&#039;&#039;&#039; Blur factor in the 1-127 range.&lt;br /&gt;
&lt;br /&gt;
====Video pictures blending====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;blend&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Video scaling filter====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;scale&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Subpictures Filters===&lt;br /&gt;
&lt;br /&gt;
These are the new VLC filters. They can be streamed.&lt;br /&gt;
&lt;br /&gt;
====Time display sub filter====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;time&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--time-format &amp;lt;string&amp;gt;&#039;&#039;&#039; Time format string. You can use the following special characters %Y = year, %m = month, %d = day, %H = hour, %M = minute, %S = second.&lt;br /&gt;
*&#039;&#039;&#039;--time-x &amp;lt;integer&amp;gt;&#039;&#039;&#039; X offset from the left in pixels.&lt;br /&gt;
*&#039;&#039;&#039;--time-y &amp;lt;integer&amp;gt;&#039;&#039;&#039; Y offset from the top in pixels.&lt;br /&gt;
&lt;br /&gt;
====Marquee display sub filter====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;marq&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--marq-marquee &amp;lt;string&amp;gt;&#039;&#039;&#039; Marquee text to display.&lt;br /&gt;
*&#039;&#039;&#039;--marq-x &amp;lt;integer&amp;gt;&#039;&#039;&#039; X offset from the left in pixels.&lt;br /&gt;
*&#039;&#039;&#039;--marq-y &amp;lt;integer&amp;gt;&#039;&#039;&#039; Y offset from the top in pixels.&lt;br /&gt;
*&#039;&#039;&#039;--marq-timeout &amp;lt;timeout&amp;gt;&#039;&#039;&#039; Defines the time the marquee must remain displayed in milliseconds. Default value is 0 (remain forever).&lt;br /&gt;
&lt;br /&gt;
====Logo video filter====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;logo&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This filter can be used both as an old style filter or a subpictures filter.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--logo-file &amp;lt;string&amp;gt;&#039;&#039;&#039; Full path of the PNG file to use.&lt;br /&gt;
*&#039;&#039;&#039;--logo-x &amp;lt;integer&amp;gt;&#039;&#039;&#039; X offset from the left in pixels.&lt;br /&gt;
*&#039;&#039;&#039;--logo-y &amp;lt;integer&amp;gt;&#039;&#039;&#039; Y offset from the top in pixels.&lt;br /&gt;
*&#039;&#039;&#039;--logo-transparency &amp;lt;integer&amp;gt;&#039;&#039;&#039; You can set the logo transparency value here (from 0 for full transparency to 255 for full opacity).&lt;br /&gt;
&lt;br /&gt;
Note: You can move the logo by left-clicking on it.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==The HTTP interface==&lt;br /&gt;
&lt;br /&gt;
VLC ships with a little HTTP server integrated. It is used both to stream using HTTP, and for the HTTP remote control interface.&lt;br /&gt;
&lt;br /&gt;
To start VLC with the HTTP interface, use:&lt;br /&gt;
 % &#039;&#039;&#039;vlc -I http [--http-src /directory/] [--http-host host:port]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If you want to have both the &amp;quot;normal&amp;quot; interface and the HTTP interface, use &#039;&#039;&#039;vlc --extraintf http&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
The HTTP interface will start listening at host:port (&amp;lt;all interfaces&amp;gt;:8080 if omitted), and will reproduce the structure of /directory at http://host:port/ ( vlc_source_path/share/http if omitted ).&lt;br /&gt;
&lt;br /&gt;
Use a browser to go to http://your_host_machine:port. You should be taken to the main page.&lt;br /&gt;
&lt;br /&gt;
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]].&lt;br /&gt;
&lt;br /&gt;
Available pages are:&lt;br /&gt;
* &#039;&#039;&#039;list was obsolete&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Other control interfaces==&lt;br /&gt;
&lt;br /&gt;
VLC includes a number of so-called interfaces that are not really 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 &#039;&#039;&#039;-I&#039;&#039;&#039; or &#039;&#039;&#039;--extraintf&#039;&#039;&#039; on the command line.&lt;br /&gt;
&lt;br /&gt;
===Hotkeys===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Hotkeys can be hacked by:&lt;br /&gt;
 % &#039;&#039;&#039;vlc --key-&amp;lt;function&amp;gt; &amp;amp;lt;code&amp;amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Code is composed by modifiers keys (Alt, Shift, Ctrl, Meta,Command) separated by a dash (-) and terminated by a key (a...z, +, =, -, &#039;,&#039;, +, &amp;amp;lt;, &amp;amp;gt;, `, /, ;, &#039;, \, [, ], *, 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 &#039;&#039;&#039;--longhelp&#039;&#039;&#039; option for full list of functions).&lt;br /&gt;
For example, for binding fullscreen to Ctrl-f, run:&lt;br /&gt;
 % &#039;&#039;&#039;vlc --key-fullscreen &#039;Ctrl-f&#039; &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===RC and RTCI===&lt;br /&gt;
&lt;br /&gt;
These two interfaces allow you to control VLC from a command shell (possibly using a remote connexion or a Unix socket).&lt;br /&gt;
&lt;br /&gt;
Start VLC with &#039;&#039;&#039;-I rc&#039;&#039;&#039; or &#039;&#039;&#039;--extraintf rc&#039;&#039;&#039;. When you get the &#039;&#039;&#039;Remote control interface initialized, `h&#039; for help&#039;&#039;&#039; message, press h and Enter to get help about available commands.&lt;br /&gt;
&lt;br /&gt;
To be able to remote connect to your VLC using a TCP socket (telnet-like connexion), use &#039;&#039;&#039;--rc-host your_host:port&#039;&#039;&#039;. Then, by connecting (using telnet or netcat) to the host on the given port, you will get the command shell.&lt;br /&gt;
&lt;br /&gt;
To use a UNIX socket (local socket, this does not work for Windows), use &#039;&#039;&#039;--rc-unix /path/to/socket&#039;&#039;&#039;. Commands can then be passed using this UNIX socket.&lt;br /&gt;
&lt;br /&gt;
The RTCI interface gives you more advanced options, such as marquee control for the marquee subpicture filter (See filter section).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Ncurses===&lt;br /&gt;
&lt;br /&gt;
This is a text interface, using ncurses library.&lt;br /&gt;
&lt;br /&gt;
Start VLC with &#039;&#039;&#039;-I ncurses&#039;&#039;&#039; or &#039;&#039;&#039;--extraintf ncurses&#039;&#039;&#039;. You will then get something like that:&lt;br /&gt;
&lt;br /&gt;
http://www.videolan.org/doc/play-howto/en/images/play-howto/intf-ncurses-playlist.jpg The ncurses interface&lt;br /&gt;
&lt;br /&gt;
Press h to get the list of all available commands, with a short description.&lt;br /&gt;
&lt;br /&gt;
There is also a filebrowser available for the ncurses interface in order to add playlist items. Press &#039;B&#039; to use it.&lt;br /&gt;
&lt;br /&gt;
http://www.videolan.org/doc/play-howto/en/images/play-howto/intf-ncurses-filebrowser.jpg The ncurses filebrowser&lt;br /&gt;
&lt;br /&gt;
You can set the filebrowser starting point by launching vlc with the &#039;&#039;&#039;--browse-dir&#039;&#039;&#039; option:&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc -I ncurses --browse-dir /filebrowser/starting/point/&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Gestures===&lt;br /&gt;
&lt;br /&gt;
Gestures provide a simple mouse gestures control. TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==The Mozilla plugin==&lt;br /&gt;
&lt;br /&gt;
VLC can also be embedded in a web browser! The following browsers are supported [http://www.mozilla.org/ Mozilla], [http://www.mozilla.org/products/firefox/ Firefox] and [http://www.apple.com/macosx/features/safari Safari].&lt;br /&gt;
&lt;br /&gt;
===Install the plugin===&lt;br /&gt;
&lt;br /&gt;
====GNU/Linux Debian====&lt;br /&gt;
&lt;br /&gt;
Install the &#039;&#039;mozilla-plugin-vlc&#039;&#039; package:&lt;br /&gt;
&lt;br /&gt;
 # &#039;&#039;&#039;apt-get update&#039;&#039;&#039;&lt;br /&gt;
 # &#039;&#039;&#039;apt-get install mozilla-plugin-vlc&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Windows====&lt;br /&gt;
&lt;br /&gt;
Quit Firefox or Mozilla.&lt;br /&gt;
&lt;br /&gt;
Copy the two files in &#039;&#039;&#039;VLC_Installation_folder\mozilla&#039;&#039;&#039; (usually &#039;&#039;&#039;C:\Program Files\VideoLAN\VLC\mozilla&#039;&#039;&#039;) to your mozilla plugins directory (Usually &#039;&#039;&#039;C:\Program Files\Mozilla\plugins&#039;&#039;&#039; or &#039;&#039;&#039;C:\Program Files\Mozilla&lt;br /&gt;
Firefox\plugins&#039;&#039;&#039;).&lt;br /&gt;
&lt;br /&gt;
Restart Firefox or Mozilla.&lt;br /&gt;
&lt;br /&gt;
====MacOS X====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;The Mozilla/Safari plugin for MacOS X is only available from vlc version 0.8.5.1 and onwards.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Quit Safari browser.&lt;br /&gt;
&lt;br /&gt;
Download the Mozilla/safari plugin package from [http://www.videolan.org/vlc/download-macosx.html MacOS X download page].&lt;br /&gt;
&lt;br /&gt;
Run the installer from the dmg image.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Compile the sources yourself====&lt;br /&gt;
&lt;br /&gt;
Please look at the [http://developers.videolan.org developers page] for information on how to do this.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Use the mozilla plugin===&lt;br /&gt;
&lt;br /&gt;
If you open a link to a video file handled by the VLC plugin (To get the list of handled types, browse to &#039;&#039;&#039;about:plugins&#039;&#039;&#039;) or a page with an embedded video, the plugin should open and read the&lt;br /&gt;
video.&lt;br /&gt;
&lt;br /&gt;
===Build HTML pages that use the plugin (VLC version up to 0.8.5)===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;WARNING:&#039;&#039;&#039; the APIs described in this section are &#039;&#039;&#039;deprecated&#039;&#039;&#039;, do not use, &lt;br /&gt;
&lt;br /&gt;
The following API description is only valid uptill version 0.8.5 of the mozilla plugin.&lt;br /&gt;
&lt;br /&gt;
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&lt;br /&gt;
plugin.&lt;br /&gt;
&lt;br /&gt;
The vlc plugin supports the following function calls:&lt;br /&gt;
*&#039;&#039;&#039;play()&#039;&#039;&#039;: Start playing media in the plugin.&lt;br /&gt;
*&#039;&#039;&#039;pause()&#039;&#039;&#039;: Pause playback.&lt;br /&gt;
*&#039;&#039;&#039;stop()&#039;&#039;&#039;: Stop media playback.&lt;br /&gt;
*&#039;&#039;&#039;fullscreen()&#039;&#039;&#039;: Switch the video to full screen.&lt;br /&gt;
*&#039;&#039;&#039;set_volume(vol)&#039;&#039;&#039;: Set the volume. &#039;&#039;&#039;vol&#039;&#039;&#039; has to be an int in the 0-200 range.&lt;br /&gt;
*&#039;&#039;&#039;get_volume()&#039;&#039;&#039;: Get the current volume setting.&lt;br /&gt;
*&#039;&#039;&#039;mute()&#039;&#039;&#039;: Toggle volume muting.&lt;br /&gt;
*&#039;&#039;&#039;set_int_variable(var_name, value)&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;set_bool_variable(var_name, value)&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;set_str_variable(var_name, value)&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;get_int_variable(var_name)&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;get_bool_variable(var_name)&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;get_str_variable(var_name)&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;clear_playlist()&#039;&#039;&#039;: Clear the playlist.&lt;br /&gt;
*&#039;&#039;&#039;add_item(mrl)&#039;&#039;&#039;: Append an item whose location is given by the [[media resource locator]] to the playlist.&lt;br /&gt;
*&#039;&#039;&#039;next()&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;previous()&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;isplaying()&#039;&#039;&#039;: return true if the plugin is playing something.&lt;br /&gt;
*&#039;&#039;&#039;get_length()&#039;&#039;&#039;: Get the media&#039;s length in seconds.&lt;br /&gt;
*&#039;&#039;&#039;get_position()&#039;&#039;&#039;: Get the current position in the media in percent.&lt;br /&gt;
*&#039;&#039;&#039;get_time()&#039;&#039;&#039;: Get the current position in the media in seconds.&lt;br /&gt;
*&#039;&#039;&#039;seek(seconds,is_relative)&#039;&#039;&#039;: If is_relative is true, seek relatively to current time, else seek from beginning of the stream. Seek time is specified in seconds.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Here are a few examples of HTML pages that use the&lt;br /&gt;
Mozilla plugin.&lt;br /&gt;
&lt;br /&gt;
====Example 1====&lt;br /&gt;
&lt;br /&gt;
In this example, the plugin will read an HTTP stream inside the web page. If the user goes fullscreen, he will have to press &#039;&#039;f&#039;&#039; or double-click on the video to go back in normal view.&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;html&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;head&amp;amp;gt;&amp;amp;lt;title&amp;amp;gt;Demo of VLC mozilla plugin&amp;amp;lt;/title&amp;amp;gt;&amp;amp;lt;/head&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;body&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;h1&amp;amp;gt;Demo of VLC mozilla plugin - Example 1&amp;amp;lt;/h1&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;embed type=&amp;quot;application/x-vlc-plugin&amp;quot;&lt;br /&gt;
          name=&amp;quot;video1&amp;quot;&lt;br /&gt;
          autoplay=&amp;quot;no&amp;quot; loop=&amp;quot;yes&amp;quot; width=&amp;quot;400&amp;quot; height=&amp;quot;300&amp;quot;&lt;br /&gt;
          target=&amp;quot;http://server.example.org/video1.vob&amp;quot; /&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;br /&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video1.play()&#039;&amp;amp;gt;Play video1&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video1.pause()&#039;&amp;amp;gt;Pause video1&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video1.stop()&#039;&amp;amp;gt;Stop video1&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video1.fullscreen()&#039;&amp;amp;gt;Fullscreen&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;/body&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/html&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Example 2====&lt;br /&gt;
&lt;br /&gt;
In this example, the plugin will read a multicast UDP/RTP stream in a dedicated video output window.&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;html&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;head&amp;amp;gt;&amp;amp;lt;title&amp;amp;gt;Demo of VLC mozilla plugin&amp;amp;lt;/title&amp;amp;gt;&amp;amp;lt;/head&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;body&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;h1&amp;amp;gt;Demo of VLC mozilla plugin - Example 2&amp;amp;lt;/h1&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;embed type=&amp;quot;application/x-vlc-plugin&amp;quot;&lt;br /&gt;
          name=&amp;quot;video2&amp;quot;&lt;br /&gt;
          autoplay=&amp;quot;no&amp;quot; loop=&amp;quot;no&amp;quot; hidden=&amp;quot;yes&amp;quot;&lt;br /&gt;
          target=&amp;quot;rtp://@239.255.12.42:5004&amp;quot; /&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;br /&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video2.play()&#039;&amp;amp;gt;Play video2&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video2.stop()&#039;&amp;amp;gt;Stop video2&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video2.fullscreen()&#039;&amp;amp;gt;Fullscreen&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;/body&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/html&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Building HTML pages for Mozilla/Firefox/Internet Explorer/Safari (VLC version 0.8.6 and above)==&lt;br /&gt;
&lt;br /&gt;
The following description works for any of the browsers VLC supports. The JavaScript API has been unified between Mozilla/Firefox/IE (ActiveX) and Safari, thus targetting at all of the major OS out there. This is only valid for VLC version 0.8.6 and above.&lt;br /&gt;
&lt;br /&gt;
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&lt;br /&gt;
plugin.&lt;br /&gt;
&lt;br /&gt;
The vlc plugin exports serveral objects that can be accessed for setting and getting information. When used improperly the API&#039;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.&lt;br /&gt;
&lt;br /&gt;
The vlc plugin knows the following objects:&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;audio&#039;&#039;&#039;: Access audio properties.&lt;br /&gt;
*&#039;&#039;&#039;input&#039;&#039;&#039;: Access input properties.&lt;br /&gt;
*&#039;&#039;&#039;playlist&#039;&#039;&#039;: Access playlist properties.&lt;br /&gt;
*&#039;&#039;&#039;video&#039;&#039;&#039;: Access video properties.&lt;br /&gt;
*&#039;&#039;&#039;log&#039;&#039;&#039;: Access log properties.&lt;br /&gt;
*&#039;&#039;&#039;messages&#039;&#039;&#039;: Access to log message properties.&lt;br /&gt;
*&#039;&#039;&#039;iterator&#039;&#039;&#039;: Access to log iterator properties.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;html&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;title&amp;amp;gt;VLC Mozilla plugin test page&amp;amp;lt;/title&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;body&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;embed type=&amp;quot;application/x-vlc-plugin&amp;quot; pluginspage=&amp;quot;http://www.videolan.org&amp;quot; version=&amp;quot;VideoLAN.VLCPlugin.2&amp;quot;&lt;br /&gt;
     width=&amp;quot;640&amp;quot;&lt;br /&gt;
     height=&amp;quot;480&amp;quot;&lt;br /&gt;
     id=&amp;quot;vlc&amp;quot;&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/embed&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;script language=&amp;quot;Javascript&amp;quot;&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;!--&lt;br /&gt;
 var vlc = document.getElementById(&amp;quot;vlc&amp;quot;);&lt;br /&gt;
 vlc.audio.toggleMute();&lt;br /&gt;
 !--&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/script&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/body&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/html&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Root object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;VersionInfo&#039;&#039;&#039;: returns version information string&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;vlc.versionInfo()&#039;&#039;&#039;: returns version information string (same as VersionInfo)&lt;br /&gt;
&lt;br /&gt;
====Audio object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.audio.mute&#039;&#039;&#039;: boolean value to mute and ummute the audio&lt;br /&gt;
*&#039;&#039;&#039;vlc.audio.volume&#039;&#039;&#039;: a value between [0-200] which indicates a percentage of the volume.&lt;br /&gt;
*&#039;&#039;&#039;vlc.audio.track&#039;&#039;&#039;: (supported in vlc version &amp;gt; 0.8.6) a value between [1-65535] which indicates the audio track to play or that is playing. a value of 0 means the audio is/will be disabled.&lt;br /&gt;
*&#039;&#039;&#039;vlc.audio.channel&#039;&#039;&#039;: (supported in vlc version &amp;gt; 0.8.6) integer value between [1-5] that indicates which audio channel mode is used, values can be: &amp;quot;1=stereo&amp;quot;, &amp;quot;2=reverse stereo&amp;quot;, &amp;quot;3=left&amp;quot;, &amp;quot;4=right&amp;quot;, &amp;quot;5=dolby&amp;quot;. Use vlc.audio.channel to check if setting of the audio channel mode has succeeded.&lt;br /&gt;
&lt;br /&gt;
 Audio Channel:&lt;br /&gt;
 &amp;lt;SELECT readonly onChange=&#039;doAudioChannel(this.value)&#039;&amp;gt;&lt;br /&gt;
    &amp;lt;OPTION value=1&amp;gt;Stereo&amp;lt;/OPTION&amp;gt;&lt;br /&gt;
    &amp;lt;OPTION value=2&amp;gt;Reverse stereo&amp;lt;/OPTION&amp;gt;&lt;br /&gt;
    &amp;lt;OPTION value=3&amp;gt;Left&amp;lt;/OPTION&amp;gt;&lt;br /&gt;
    &amp;lt;OPTION value=4&amp;gt;Right&amp;lt;/OPTION&amp;gt;&lt;br /&gt;
    &amp;lt;OPTION value=5&amp;gt;Dolby&amp;lt;/OPTION&amp;gt;&lt;br /&gt;
 &amp;lt;/SELECT&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;SCRIPT language=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;amp;lt;!--&lt;br /&gt;
 function doAudioChannel(value)&lt;br /&gt;
 {&lt;br /&gt;
    var vlc = getVLC(&amp;quot;vlc&amp;quot;);&lt;br /&gt;
    vlc.audio.channel = parseInt(value);&lt;br /&gt;
    alert(vlc.audio.channel);&lt;br /&gt;
 };&lt;br /&gt;
 --&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;vlc.audio.toggleMute()&#039;&#039;&#039;: boolean toggle that mutes and unmutes the audio based upon the previous state&lt;br /&gt;
&lt;br /&gt;
====Input object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.length&#039;&#039;&#039;: length of the input file in number of milliseconds. 0 is returned for &#039;live&#039; streams or clips whose length cannot be determined by VLC&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.fps&#039;&#039;&#039;: frames per second returned as a float (typically 60.0, 50.0, 23.976, etc...)&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.hasVout&#039;&#039;&#039;: a boolean that returns true when the video is being displayed, it returns false when video is not displayed&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.position&#039;&#039;&#039;: normalized position in multimedia stream item given as a float value between [0.0 - 1.0]&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.time&#039;&#039;&#039;: the absolute position in time given in milliseconds, this property can be used to seek through the stream&lt;br /&gt;
 &amp;amp;lt;!-- absolute seek in stream !--&amp;amp;gt;&lt;br /&gt;
 vlc.input.time = &amp;amp;lt;absolute seek&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;!-- relative seek in stream !--&amp;amp;gt;&lt;br /&gt;
 vlc.input.time = vlc.input.time + &amp;amp;lt;relative seek&amp;amp;gt;&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.state&#039;&#039;&#039;: current state of the input chain given as enumeration (IDLE/CLOSE=0, OPENING=1, BUFFERING=2, PLAYING=3, PAUSED=4, STOPPING=5, ENDED=6, ERROR=7).&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.rate&#039;&#039;&#039;: input speed given as float (1.0 for normal speed, 0.5 for half speed, 2.0 for twice as fast, etc.).&lt;br /&gt;
 rate &amp;gt; 1              : is fastforward&lt;br /&gt;
 rate &amp;gt; 0 and rate &amp;lt; 1 : is slow motion&lt;br /&gt;
 rate &amp;lt; 0              : is rewind&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Playlist object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.itemCount&#039;&#039;&#039;: number that returns the amount of items currently in the playlist (&#039;&#039;&#039;deprecated&#039;&#039;&#039;, do not use, see [[#Playlist_items_object| Playlist items]])&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.isPlaying&#039;&#039;&#039;: a boolean that returns true if the current playlist item is playing and false when it is not playing&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.items&#039;&#039;&#039;: return the playlist items collection, see [[#Playlist_items_object| Playlist items]]&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.add(mrl)&#039;&#039;&#039;: add a playlist item as [[MRL]]. The MRL must be given as a string. Returns a number as an item identifier in playlist (this is not a position  in playlist).&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.add(mrl,name,options)&#039;&#039;&#039;: add a playlist item as MRL, with metaname &#039;name&#039; and options &#039;options&#039;. options are text arguments which can be provided either as a single string containing space separated values, akin to VLC command line, or as an array of string values. Returns a number as an item identifier in playlist (this is not a position in playlist).&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.play()&#039;&#039;&#039;: start playing the current playlist item&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.playItem(number)&#039;&#039;&#039;: start playing the item whose identifier is number&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.togglePause()&#039;&#039;&#039;: toggle the pause state for the current playlist item&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.stop()&#039;&#039;&#039;: stop playing the current playlist item&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.next()&#039;&#039;&#039;: iterate to the next playlist item&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.prev()&#039;&#039;&#039;: iterate to the previous playlist item&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.clear()&#039;&#039;&#039;: empty the current playlist, all items will be deleted from the playlist (&#039;&#039;&#039;deprecated&#039;&#039;&#039;, do not use, see [[#Playlist_items_object| Playlist items]])&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.removeItem(number)&#039;&#039;&#039;: remove the item from playlist whose identifier is number &amp;lt;!-- (note: this number isn&#039;t the position in the playlist, but the number given by vlc.playlist.add() ) --&amp;gt; (&#039;&#039;&#039;deprecated&#039;&#039;&#039;, do not use, see [[#Playlist_items_object| Playlist items]])&lt;br /&gt;
&lt;br /&gt;
====Playlist items object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.items.count&#039;&#039;&#039;: number of items currently in the playlist&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.items.clear()&#039;&#039;&#039;: empty the current playlist, all items will be deleted from the playlist. If a movie is playing, it stop. Note that when this method returns, playlist may not have been entirely been cleared as this operation is performed asynchronously; use the &#039;&#039;count&#039;&#039; property to verify/wait until the playlist is empty.&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.items.remove(number)&#039;&#039;&#039;: remove the item whose identifier is number from playlist. (note: this number isn&#039;t the position in the playlist, but the number given by vlc.playlist.add() )&lt;br /&gt;
&lt;br /&gt;
====Video object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.width&#039;&#039;&#039;: returns the horizontal size of the video&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.height&#039;&#039;&#039;: returns the vertical size of the video&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.fullscreen&#039;&#039;&#039;: 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.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.aspectRatio&#039;&#039;&#039;: get and set the aspect ratio to use in the video screen. The property takes a string as input value. Typical values are: &amp;quot;1:1&amp;quot;, &amp;quot;4:3&amp;quot;, &amp;quot;16:9&amp;quot;, &amp;quot;16:10&amp;quot;, &amp;quot;221:100&amp;quot; and &amp;quot;5:4&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.subtitle&#039;&#039;&#039;: (supported in vlc version &amp;gt; 0.8.6a) get and set the subtitle track to show on the video screen. The property takes an integer as input value [1..65535]. If subtitle track is set to 0, the subtitles will be disabled. If set to a value outside the current subtitle tracks range, then it will return -1 and display an error message.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.teletext&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 0.9.0) get and set teletext page to show on the video stream. This will only work if a teletext elementary stream is available in the video stream. The property takes an integer as input value [0..999] for indicating the teletext page to view, setting the value to 0 means hide teletext. On error it will return -1 and display an error message.&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.toggleFullscreen()&#039;&#039;&#039;: toggle the fullscreen mode based on the previous setting&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.toggleTeletext()&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 0.9.0) toggle the teletext page to overlay transparent or not, based on the previous setting&lt;br /&gt;
&lt;br /&gt;
====Log object====&lt;br /&gt;
&lt;br /&gt;
this object allows accessing VLC main message logging queue. Typically this queue capacity is very small (no nore than 256 entries) and can easily overflow, therefore messages should be read and cleared as often as possible.&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.log.messages&#039;&#039;&#039;: returns the message collection, see [[Messages object]]&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.log.verbosity&#039;&#039;&#039;: write number [-1,0,1,2,3] for changing the verbosity level of the log messages; messages whose verbosity is higher than set will be not be logged in the queue. The numbers have the following meaning: -1 disable, 0 info, 1 error, 2 warning, 3 debug. &lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Messages object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;messages.count&#039;&#039;&#039;: returns number of messages in the log&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;messages.clear()&#039;&#039;&#039;: clear the current log buffer. It should be called as frequently as possible to not overflow the message queue. Call this method after the log messages of interest are read.&lt;br /&gt;
*&#039;&#039;&#039;messages.iterator()&#039;&#039;&#039;: creates and returns an iterator object, used to iterate over the messages in the log. &#039;&#039;&#039;Don&#039;t clear the log buffer while holding an iterator object.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Messages Iterator object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;iterator.hasNext&#039;&#039;&#039;: returns a boolean that indicates whether &#039;&#039;vlc.log.messages.next()&#039;&#039; will return the next message.&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;iterator.next()&#039;&#039;&#039;: returns the next message object in the log, see [[Message object]]&lt;br /&gt;
&lt;br /&gt;
====Message object====&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;message.severity&#039;&#039;&#039;: number that indicates the severity of the log message (0 = info, 1 = error, 2 = warning, 3 = debug)&lt;br /&gt;
*&#039;&#039;&#039;message.name&#039;&#039;&#039;: name of VLC module that printed the log message (e.g: main, http, directx, etc...)&lt;br /&gt;
*&#039;&#039;&#039;message.type&#039;&#039;&#039;: type of VLC module that printed the log message (eg: input, access, vout, sout, etc...)&lt;br /&gt;
*&#039;&#039;&#039;message.message&#039;&#039;&#039;: the message text&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Documentation}}&lt;/div&gt;</summary>
		<author><name>Jpsaman</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=Documentation:Advanced_Use_of_VLC&amp;diff=13607</id>
		<title>Documentation:Advanced Use of VLC</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=Documentation:Advanced_Use_of_VLC&amp;diff=13607"/>
		<updated>2009-03-09T15:56:29Z</updated>

		<summary type="html">&lt;p&gt;Jpsaman: /* Input object */ remove FORWARD, BACKWARD since it never got used anyway.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{RightMenu|documentation play howto toc}}&lt;br /&gt;
&lt;br /&gt;
==Use the command line==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;TODO: completely outdated&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
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&#039;t need or want a GUI. Here is the complete description of VLC&#039;s command line and how to use it.&lt;br /&gt;
&lt;br /&gt;
You need to be quite comfortable with command line usage to use this.&lt;br /&gt;
&lt;br /&gt;
 Note: Windows users have to use the &#039;&#039;--option-name=&amp;quot;value&amp;quot;&#039;&#039; syntax instead of the &#039;&#039;--option-name value&#039;&#039; syntax.&lt;br /&gt;
&lt;br /&gt;
===Getting help===&lt;br /&gt;
&lt;br /&gt;
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, ...&lt;br /&gt;
&lt;br /&gt;
This chapter will only describe the &amp;quot;general&amp;quot; options, i.e. the core options. Each module adds new options. For example, the HTTP input module will add options for caching, proxy, authentication, ...&lt;br /&gt;
&lt;br /&gt;
By using &#039;&#039;&#039;vlc --help&#039;&#039;&#039;, you will get the basic core options. &#039;&#039;&#039;vlc --longhelp&#039;&#039;&#039; will give all the basic options (core + modules). Adding &#039;&#039;&#039;--advanced&#039;&#039;&#039; will give the &amp;quot;advanced options&amp;quot; (for advanced users). So &#039;&#039;&#039;vlc --longhelp --advanced&#039;&#039;&#039; will give you all options. You can also append &#039;&#039;&#039;--help-verbose&#039;&#039;&#039; if you want more detailed help.&lt;br /&gt;
&lt;br /&gt;
Also, you might want to get debug informations. To do this, use &#039;&#039;&#039;-v&#039;&#039;&#039; or &#039;&#039;&#039;-vv&#039;&#039;&#039; (this will show lower severity messages). If your console supports it, you can add &#039;&#039;&#039;--color to get messages in color.&lt;br /&gt;
&lt;br /&gt;
===Opening streams===&lt;br /&gt;
&lt;br /&gt;
The following commands start VLC and start reading the given element(s)&lt;br /&gt;
&lt;br /&gt;
====Opening a file====&lt;br /&gt;
&lt;br /&gt;
Start VLC with:&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc my_file&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
VLC should be able to recognize the file type. If it does not, you can force demultiplexer and decoder (see below).&lt;br /&gt;
&lt;br /&gt;
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].&lt;br /&gt;
&lt;br /&gt;
====Opening a DVD or VCD, or an audio CD====&lt;br /&gt;
&lt;br /&gt;
Start VLC with:&lt;br /&gt;
&lt;br /&gt;
For a DVD with menus:&lt;br /&gt;
 % &#039;&#039;&#039;vlc dvd://[device][@raw_device][@[title][:[chapter][:angle]]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
In most cases, &#039;&#039;&#039;vlc dvd://&#039;&#039;&#039; or &#039;&#039;&#039;vlc dvd://[device]&#039;&#039;&#039; will do. [device] is for example &#039;&#039;&#039;/dev/dvd&#039;&#039;&#039; on GNU/Linux or &#039;&#039;&#039;D:&#039;&#039;&#039; on Windows (complete path to your DVD drive).&lt;br /&gt;
&lt;br /&gt;
or&lt;br /&gt;
&lt;br /&gt;
(DVD without menus):&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc dvdsimple://[device][@raw_device][@[title][:[chapter][:angle]]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
or&lt;br /&gt;
&lt;br /&gt;
(VCD):&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc vcd://[device][@{E|P|E|T|S}[number]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
or&lt;br /&gt;
&lt;br /&gt;
(Audio CD):&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc cdda://[device][@[track]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Receiving a network stream====&lt;br /&gt;
&lt;br /&gt;
To receive an unicast RTP/UDP stream (sent by VLC&#039;s stream output), start VLC with:&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc  rtp://@:5004&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If 5004 is the port to which packets are sent. 1234 is another commonly used port number. you use the default port (1234), &#039;&#039;&#039;vlc rtp://&#039;&#039;&#039; will do.&lt;br /&gt;
For more information, look at the Streaming Howto.&lt;br /&gt;
&lt;br /&gt;
To receive an multicast UDP/RTP stream (sent by VLC&#039;s stream output), start VLC with:&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc rtp://@multicast_address:port&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
To receive a SSM (source specific multicast) stream, you can use:&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc rtp://server_address@multicast_address:port&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This only works on OSs that support SSM (Windows XP and Linux).&lt;br /&gt;
&lt;br /&gt;
To receive a HTTP stream, start VLC with:&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc http://www.example.org/your_file.mpg&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
To receive a RTSP stream, start VLC with:&amp;lt;/para&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc rtsp://www.example.org/your_stream&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Modules selection===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--intf  &amp;lt;module&amp;gt;&#039;&#039;&#039; allows you to select the interface module.&lt;br /&gt;
*&#039;&#039;&#039;--extraintf  &amp;lt;module&amp;gt;&#039;&#039;&#039; allows you to select extra interface modules that will be launched in addition to the main one. This is mainly useful for special &#039;&#039;control&#039;&#039; interfaces, like HTTP, RC (Remote Control), ... (see below)&lt;br /&gt;
*&#039;&#039;&#039;--aout  &amp;lt;module&amp;gt;&#039;&#039;&#039; allows you to select the audio output module.&lt;br /&gt;
*&#039;&#039;&#039;--vout  &amp;lt;module&amp;gt;&#039;&#039;&#039; allows you to select the video output module.&lt;br /&gt;
*&#039;&#039;&#039;--memcpy  &amp;lt;module&amp;gt;&#039;&#039;&#039; allows you to choose a memory copy module. You should probably never touch that.&lt;br /&gt;
&lt;br /&gt;
You can get a listing of the available modules by using &#039;&#039;&#039;vlc -l&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Stream Output===&lt;br /&gt;
&lt;br /&gt;
The Stream output system allows vlc to become a streaming server.&lt;br /&gt;
&lt;br /&gt;
For more details on the stream output system, please have a look at the [[Documentation:Streaming HowTo|Streaming HowTo]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Other Options===&lt;br /&gt;
&lt;br /&gt;
====Audio options====&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--noaudio&#039;&#039;&#039; disables audio output.&lt;br /&gt;
*&#039;&#039;&#039;--mono&#039;&#039;&#039; forces VLC to treat the stream in mono audio.&lt;br /&gt;
*&#039;&#039;&#039;--volume &amp;lt;integer&amp;gt;&#039;&#039;&#039; sets the level of audio output (between 0 and 1024).&lt;br /&gt;
*&#039;&#039;&#039;--aout-rate &amp;lt;integer&amp;gt;&#039;&#039;&#039; sets the audio output frequency (Hz). By default, VLC will try to autodetect this.&lt;br /&gt;
*&#039;&#039;&#039;--desync &amp;lt;integer&amp;gt;&#039;&#039;&#039; compensates desynchronization of audio (ms). (If audio and video streams are not synchronized, use this setting to delay the audio stream)&lt;br /&gt;
*&#039;&#039;&#039;--audio-filter &amp;lt;string&amp;gt;&#039;&#039;&#039; 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)&lt;br /&gt;
&lt;br /&gt;
====Video options====&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--novideo&#039;&#039;&#039; disables video output.&lt;br /&gt;
*&#039;&#039;&#039;--grayscale&#039;&#039;&#039; turns video output into grayscale mode.&lt;br /&gt;
*&#039;&#039;&#039;--fullscreen&#039;&#039;&#039; ( or &#039;&#039;&#039;-f&#039;&#039;&#039;) sets fullscreen video.&lt;br /&gt;
*&#039;&#039;&#039;--nooverlay&#039;&#039;&#039; disables hardware acceleration for the video output.&lt;br /&gt;
*&#039;&#039;&#039;--width, --height &amp;lt;integer&amp;gt;&#039;&#039;&#039; sets the video window dimensions. By default, the video window size will be adjusted to match the video dimensions.&lt;br /&gt;
*&#039;&#039;&#039;--zoom &amp;lt;float&amp;gt;&#039;&#039;&#039; adds a zoom factor.&lt;br /&gt;
*&#039;&#039;&#039;--aspect-ratio &amp;lt;mode&amp;gt;&#039;&#039;&#039; forces source aspect ratio. Modes are 4x3, 16x9, ...&lt;br /&gt;
*&#039;&#039;&#039;--spumargin  &amp;lt;integer&amp;gt;&#039;&#039;&#039; forces SPU subtitles postion.&lt;br /&gt;
*&#039;&#039;&#039;--filter &amp;lt;string&amp;gt;&#039;&#039;&#039; adds video filters to the processing chain. You can add several filters, separated by commas&lt;br /&gt;
*&#039;&#039;&#039;--sub-filter &amp;lt;string&amp;gt;&#039;&#039;&#039; adds video subpictures filter to the processing chain.&lt;br /&gt;
&lt;br /&gt;
====Playlist options====&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--random&#039;&#039;&#039; plays files randomly forever.&lt;br /&gt;
*&#039;&#039;&#039;--loop&#039;&#039;&#039; loops playlist on end.&lt;br /&gt;
*&#039;&#039;&#039;--repeat&#039;&#039;&#039; repeats current item until another item is forced&lt;br /&gt;
*&#039;&#039;&#039;--play-and-stop&#039;&#039;&#039; stops the playlist after each played item.&lt;br /&gt;
&lt;br /&gt;
====Network options====&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--server-port &amp;lt;integer&amp;gt;&#039;&#039;&#039; sets server port.&lt;br /&gt;
*&#039;&#039;&#039;--iface  &amp;lt;string&amp;gt;&#039;&#039;&#039; specifies the network interface to use.&lt;br /&gt;
*&#039;&#039;&#039;--iface-addr  &amp;lt;string&amp;gt;&#039;&#039;&#039; specifies your network interface IP address.&lt;br /&gt;
*&#039;&#039;&#039;--mtu  &amp;lt;integer&amp;gt;&#039;&#039;&#039; specifies the MTU of the network interface.&lt;br /&gt;
*&#039;&#039;&#039;--ipv6&#039;&#039;&#039; forces IPv6.&lt;br /&gt;
*&#039;&#039;&#039;--ipv4&#039;&#039;&#039; forces IPv4.&lt;br /&gt;
&lt;br /&gt;
====CPU options====&lt;br /&gt;
&lt;br /&gt;
You should probably not touch these options unless you know what you are doing.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--nommx&#039;&#039;&#039; disables the use of MMX CPU extensions.&lt;br /&gt;
*&#039;&#039;&#039;--no3dn&#039;&#039;&#039; disables the use of 3D Now! CPU extensions.&lt;br /&gt;
*&#039;&#039;&#039;--nommxext&#039;&#039;&#039; disables the use of MMX Ext CPU extensions.&lt;br /&gt;
*&#039;&#039;&#039;--nosse&#039;&#039;&#039; disables the use of SSE CPU extensions.&lt;br /&gt;
*&#039;&#039;&#039;--noaltivec&#039;&#039;&#039; disables the use of Altivec CPU extensions.&lt;br /&gt;
&lt;br /&gt;
====Miscellaneous options====&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--quiet&#039;&#039;&#039;  deactivates all console messages.&lt;br /&gt;
*&#039;&#039;&#039;--color&#039;&#039;&#039; displays color messages.&lt;br /&gt;
*&#039;&#039;&#039;--search-path  &amp;lt;string&amp;gt;&#039;&#039;&#039; specifies interface default search path.&lt;br /&gt;
*&#039;&#039;&#039;--plugin-path  &amp;lt;string&amp;gt;&#039;&#039;&#039; specifies plugin search path.&lt;br /&gt;
*&#039;&#039;&#039;--no-plugins-cache&#039;&#039;&#039; disables the plugin cache (plugins cache speeds up startup)&lt;br /&gt;
*&#039;&#039;&#039;--dvd  &amp;lt;string&amp;gt;&#039;&#039;&#039; specifies the default DVD device.&lt;br /&gt;
*&#039;&#039;&#039;--vcd  &amp;lt;string&amp;gt;&#039;&#039;&#039; specifies the default VCD device.&lt;br /&gt;
*&#039;&#039;&#039;--program  &amp;lt;integer&amp;gt;&#039;&#039;&#039; specifies program (SID) (for streams with several programs, like satellite ones).&lt;br /&gt;
*&#039;&#039;&#039;--audio-type  &amp;lt;integer&amp;gt;&#039;&#039;&#039; specifies the default audio type to use with dvds.&lt;br /&gt;
*&#039;&#039;&#039;--audio-channel  &amp;lt;integer&amp;gt;&#039;&#039;&#039; specifies the default audio channel to use with dvds.&lt;br /&gt;
*&#039;&#039;&#039;--spu-channel  &amp;lt;integer&amp;gt;&#039;&#039;&#039; specifies the default subtitle channel to use with dvds.&lt;br /&gt;
*&#039;&#039;&#039;--version&#039;&#039;&#039; gives you information about the current VLC version.&lt;br /&gt;
*&#039;&#039;&#039;--module  &amp;lt;module&amp;gt; &#039;&#039;&#039; displays help about specified module. (Shortcut: &#039;&#039;&#039;-p&#039;&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
===Item-specific options===&lt;br /&gt;
&lt;br /&gt;
There are many options that are related to items (like &#039;&#039;&#039;--novideo&#039;&#039;&#039;, &#039;&#039;&#039;--codec&#039;&#039;&#039;, &#039;&#039;&#039;--fullscreen&#039;&#039;&#039;).&lt;br /&gt;
&lt;br /&gt;
For all of these, you have the possibility to make them item-specific, using &amp;quot;:&amp;quot; instead of &amp;quot;--&amp;quot; and putting the option just after the concerned item.&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc file1.mpg :fullscreen file2.mpg&#039;&#039;&#039;&lt;br /&gt;
will play file1.mpg in fullscreen mode and file2.mpg in the default mode (which is generally no fullscreen), whereas&lt;br /&gt;
 % &#039;&#039;&#039;vlc --fullscreen file1.mpg file2.mpg&#039;&#039;&#039;&lt;br /&gt;
will play both files in fullscreen mode&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc --fullscreen file1.mpg :sub-file=file1.srt :no-fullscreen file2.mpg :filter=distort&#039;&#039;&#039;&lt;br /&gt;
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)&lt;br /&gt;
&lt;br /&gt;
==Advanced use of filters==&lt;br /&gt;
&lt;br /&gt;
===Filters===&lt;br /&gt;
&lt;br /&gt;
These are the old style VLC filters. They only apply to on screen display and thus cannot be streamed.&lt;br /&gt;
&lt;br /&gt;
====Deinterlacing video filter====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;deinterlace&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--deinterlace-mode {discard,blend,mean,bob,linear}&#039;&#039;&#039; choose a deinterlacing mode.&lt;br /&gt;
&lt;br /&gt;
====Invert video filter====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;invert&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Image properties filter====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;adjust&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--contrast &amp;lt;float&amp;gt;&#039;&#039;&#039; Image contrast in the 0-2 range.&lt;br /&gt;
*&#039;&#039;&#039;--brightness &amp;lt;float&amp;gt;&#039;&#039;&#039; Image brightness in the 0-2 range.&lt;br /&gt;
*&#039;&#039;&#039;--hue &amp;lt;integer&amp;gt;&#039;&#039;&#039; Image hue in the 0-360 range.&lt;br /&gt;
*&#039;&#039;&#039;--saturation &amp;lt;float&amp;gt;&#039;&#039;&#039; Image saturation in the 0-3 range.&lt;br /&gt;
*&#039;&#039;&#039;-gamma &amp;lt;float&amp;gt;&#039;&#039;&#039; Image gamma in the 0-10 range.&lt;br /&gt;
&lt;br /&gt;
====Wall video filter====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;wall&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This filter splits the output in several windows.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--wall-cols &amp;lt;integer&amp;gt;&#039;&#039;&#039; Number of columns.&lt;br /&gt;
*&#039;&#039;&#039;--wall-rows &amp;lt;integer&amp;gt;&#039;&#039;&#039; Number of rows.&lt;br /&gt;
*&#039;&#039;&#039;--wall-active &amp;lt;string&amp;gt;&#039;&#039;&#039; Select the windows you want to display. To select windows 2 and 4 you would write &#039;&#039;&#039;--wall-active 2,4&#039;&#039;&#039;. When this option isn&#039;t specified, all windows are displayed.&lt;br /&gt;
&lt;br /&gt;
====Video transformation filter====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;transform&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--transform-type {90,180,270,hflip,vflip}&#039;&#039;&#039; Select rotation angle or symmetry.&lt;br /&gt;
&lt;br /&gt;
====Distort video filter====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;distort&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Clone video filter====&lt;br /&gt;
&lt;br /&gt;
This filter clones the output window.&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;clone&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--clone-count &amp;lt;integer&amp;gt;&#039;&#039;&#039; Number of clones.&lt;br /&gt;
*&#039;&#039;&#039;--clone-vout-list &amp;lt;string&amp;gt;&#039;&#039;&#039; Comma separated string of video output modules.&lt;br /&gt;
&lt;br /&gt;
====Crop video filter====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;crop&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--crop-geometry &amp;lt;string&amp;gt;&#039;&#039;&#039; Set the geometry of the zone to crop. This is set as &amp;lt;width&amp;gt; x &amp;lt;height&amp;gt; + &amp;lt;left offset&amp;gt; + &amp;lt;top offset&amp;gt;.&lt;br /&gt;
*&#039;&#039;&#039;--autocrop&#039;&#039;&#039; Enable automatic black border cropping.&lt;br /&gt;
&lt;br /&gt;
====Motion blur filter====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;motionblur&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;blur-factor &amp;lt;integer&amp;gt;&#039;&#039;&#039; Blur factor in the 1-127 range.&lt;br /&gt;
&lt;br /&gt;
====Video pictures blending====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;blend&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Video scaling filter====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;scale&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Subpictures Filters===&lt;br /&gt;
&lt;br /&gt;
These are the new VLC filters. They can be streamed.&lt;br /&gt;
&lt;br /&gt;
====Time display sub filter====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;time&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--time-format &amp;lt;string&amp;gt;&#039;&#039;&#039; Time format string. You can use the following special characters %Y = year, %m = month, %d = day, %H = hour, %M = minute, %S = second.&lt;br /&gt;
*&#039;&#039;&#039;--time-x &amp;lt;integer&amp;gt;&#039;&#039;&#039; X offset from the left in pixels.&lt;br /&gt;
*&#039;&#039;&#039;--time-y &amp;lt;integer&amp;gt;&#039;&#039;&#039; Y offset from the top in pixels.&lt;br /&gt;
&lt;br /&gt;
====Marquee display sub filter====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;marq&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--marq-marquee &amp;lt;string&amp;gt;&#039;&#039;&#039; Marquee text to display.&lt;br /&gt;
*&#039;&#039;&#039;--marq-x &amp;lt;integer&amp;gt;&#039;&#039;&#039; X offset from the left in pixels.&lt;br /&gt;
*&#039;&#039;&#039;--marq-y &amp;lt;integer&amp;gt;&#039;&#039;&#039; Y offset from the top in pixels.&lt;br /&gt;
*&#039;&#039;&#039;--marq-timeout &amp;lt;timeout&amp;gt;&#039;&#039;&#039; Defines the time the marquee must remain displayed in milliseconds. Default value is 0 (remain forever).&lt;br /&gt;
&lt;br /&gt;
====Logo video filter====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;logo&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This filter can be used both as an old style filter or a subpictures filter.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--logo-file &amp;lt;string&amp;gt;&#039;&#039;&#039; Full path of the PNG file to use.&lt;br /&gt;
*&#039;&#039;&#039;--logo-x &amp;lt;integer&amp;gt;&#039;&#039;&#039; X offset from the left in pixels.&lt;br /&gt;
*&#039;&#039;&#039;--logo-y &amp;lt;integer&amp;gt;&#039;&#039;&#039; Y offset from the top in pixels.&lt;br /&gt;
*&#039;&#039;&#039;--logo-transparency &amp;lt;integer&amp;gt;&#039;&#039;&#039; You can set the logo transparency value here (from 0 for full transparency to 255 for full opacity).&lt;br /&gt;
&lt;br /&gt;
Note: You can move the logo by left-clicking on it.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==The HTTP interface==&lt;br /&gt;
&lt;br /&gt;
VLC ships with a little HTTP server integrated. It is used both to stream using HTTP, and for the HTTP remote control interface.&lt;br /&gt;
&lt;br /&gt;
To start VLC with the HTTP interface, use:&lt;br /&gt;
 % &#039;&#039;&#039;vlc -I http [--http-src /directory/] [--http-host host:port]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If you want to have both the &amp;quot;normal&amp;quot; interface and the HTTP interface, use &#039;&#039;&#039;vlc --extraintf http&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
The HTTP interface will start listening at host:port (&amp;lt;all interfaces&amp;gt;:8080 if omitted), and will reproduce the structure of /directory at http://host:port/ ( vlc_source_path/share/http if omitted ).&lt;br /&gt;
&lt;br /&gt;
Use a browser to go to http://your_host_machine:port. You should be taken to the main page.&lt;br /&gt;
&lt;br /&gt;
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]].&lt;br /&gt;
&lt;br /&gt;
Available pages are:&lt;br /&gt;
* &#039;&#039;&#039;list was obsolete&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Other control interfaces==&lt;br /&gt;
&lt;br /&gt;
VLC includes a number of so-called interfaces that are not really 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 &#039;&#039;&#039;-I&#039;&#039;&#039; or &#039;&#039;&#039;--extraintf&#039;&#039;&#039; on the command line.&lt;br /&gt;
&lt;br /&gt;
===Hotkeys===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Hotkeys can be hacked by:&lt;br /&gt;
 % &#039;&#039;&#039;vlc --key-&amp;lt;function&amp;gt; &amp;amp;lt;code&amp;amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Code is composed by modifiers keys (Alt, Shift, Ctrl, Meta,Command) separated by a dash (-) and terminated by a key (a...z, +, =, -, &#039;,&#039;, +, &amp;amp;lt;, &amp;amp;gt;, `, /, ;, &#039;, \, [, ], *, 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 &#039;&#039;&#039;--longhelp&#039;&#039;&#039; option for full list of functions).&lt;br /&gt;
For example, for binding fullscreen to Ctrl-f, run:&lt;br /&gt;
 % &#039;&#039;&#039;vlc --key-fullscreen &#039;Ctrl-f&#039; &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===RC and RTCI===&lt;br /&gt;
&lt;br /&gt;
These two interfaces allow you to control VLC from a command shell (possibly using a remote connexion or a Unix socket).&lt;br /&gt;
&lt;br /&gt;
Start VLC with &#039;&#039;&#039;-I rc&#039;&#039;&#039; or &#039;&#039;&#039;--extraintf rc&#039;&#039;&#039;. When you get the &#039;&#039;&#039;Remote control interface initialized, `h&#039; for help&#039;&#039;&#039; message, press h and Enter to get help about available commands.&lt;br /&gt;
&lt;br /&gt;
To be able to remote connect to your VLC using a TCP socket (telnet-like connexion), use &#039;&#039;&#039;--rc-host your_host:port&#039;&#039;&#039;. Then, by connecting (using telnet or netcat) to the host on the given port, you will get the command shell.&lt;br /&gt;
&lt;br /&gt;
To use a UNIX socket (local socket, this does not work for Windows), use &#039;&#039;&#039;--rc-unix /path/to/socket&#039;&#039;&#039;. Commands can then be passed using this UNIX socket.&lt;br /&gt;
&lt;br /&gt;
The RTCI interface gives you more advanced options, such as marquee control for the marquee subpicture filter (See filter section).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Ncurses===&lt;br /&gt;
&lt;br /&gt;
This is a text interface, using ncurses library.&lt;br /&gt;
&lt;br /&gt;
Start VLC with &#039;&#039;&#039;-I ncurses&#039;&#039;&#039; or &#039;&#039;&#039;--extraintf ncurses&#039;&#039;&#039;. You will then get something like that:&lt;br /&gt;
&lt;br /&gt;
http://www.videolan.org/doc/play-howto/en/images/play-howto/intf-ncurses-playlist.jpg The ncurses interface&lt;br /&gt;
&lt;br /&gt;
Press h to get the list of all available commands, with a short description.&lt;br /&gt;
&lt;br /&gt;
There is also a filebrowser available for the ncurses interface in order to add playlist items. Press &#039;B&#039; to use it.&lt;br /&gt;
&lt;br /&gt;
http://www.videolan.org/doc/play-howto/en/images/play-howto/intf-ncurses-filebrowser.jpg The ncurses filebrowser&lt;br /&gt;
&lt;br /&gt;
You can set the filebrowser starting point by launching vlc with the &#039;&#039;&#039;--browse-dir&#039;&#039;&#039; option:&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc -I ncurses --browse-dir /filebrowser/starting/point/&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Gestures===&lt;br /&gt;
&lt;br /&gt;
Gestures provide a simple mouse gestures control. TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==The Mozilla plugin==&lt;br /&gt;
&lt;br /&gt;
VLC can also be embedded in a web browser! The following browsers are supported [http://www.mozilla.org/ Mozilla], [http://www.mozilla.org/products/firefox/ Firefox] and [http://www.apple.com/macosx/features/safari Safari].&lt;br /&gt;
&lt;br /&gt;
===Install the plugin===&lt;br /&gt;
&lt;br /&gt;
====GNU/Linux Debian====&lt;br /&gt;
&lt;br /&gt;
Install the &#039;&#039;mozilla-plugin-vlc&#039;&#039; package:&lt;br /&gt;
&lt;br /&gt;
 # &#039;&#039;&#039;apt-get update&#039;&#039;&#039;&lt;br /&gt;
 # &#039;&#039;&#039;apt-get install mozilla-plugin-vlc&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Windows====&lt;br /&gt;
&lt;br /&gt;
Quit Firefox or Mozilla.&lt;br /&gt;
&lt;br /&gt;
Copy the two files in &#039;&#039;&#039;VLC_Installation_folder\mozilla&#039;&#039;&#039; (usually &#039;&#039;&#039;C:\Program Files\VideoLAN\VLC\mozilla&#039;&#039;&#039;) to your mozilla plugins directory (Usually &#039;&#039;&#039;C:\Program Files\Mozilla\plugins&#039;&#039;&#039; or &#039;&#039;&#039;C:\Program Files\Mozilla&lt;br /&gt;
Firefox\plugins&#039;&#039;&#039;).&lt;br /&gt;
&lt;br /&gt;
Restart Firefox or Mozilla.&lt;br /&gt;
&lt;br /&gt;
====MacOS X====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;The Mozilla/Safari plugin for MacOS X is only available from vlc version 0.8.5.1 and onwards.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Quit Safari browser.&lt;br /&gt;
&lt;br /&gt;
Download the Mozilla/safari plugin package from [http://www.videolan.org/vlc/download-macosx.html MacOS X download page].&lt;br /&gt;
&lt;br /&gt;
Run the installer from the dmg image.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Compile the sources yourself====&lt;br /&gt;
&lt;br /&gt;
Please look at the [http://developers.videolan.org developers page] for information on how to do this.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Use the mozilla plugin===&lt;br /&gt;
&lt;br /&gt;
If you open a link to a video file handled by the VLC plugin (To get the list of handled types, browse to &#039;&#039;&#039;about:plugins&#039;&#039;&#039;) or a page with an embedded video, the plugin should open and read the&lt;br /&gt;
video.&lt;br /&gt;
&lt;br /&gt;
===Build HTML pages that use the plugin (VLC version up to 0.8.5)===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;WARNING:&#039;&#039;&#039; the APIs described in this section are &#039;&#039;&#039;deprecated&#039;&#039;&#039;, do not use, &lt;br /&gt;
&lt;br /&gt;
The following API description is only valid uptill version 0.8.5 of the mozilla plugin.&lt;br /&gt;
&lt;br /&gt;
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&lt;br /&gt;
plugin.&lt;br /&gt;
&lt;br /&gt;
The vlc plugin supports the following function calls:&lt;br /&gt;
*&#039;&#039;&#039;play()&#039;&#039;&#039;: Start playing media in the plugin.&lt;br /&gt;
*&#039;&#039;&#039;pause()&#039;&#039;&#039;: Pause playback.&lt;br /&gt;
*&#039;&#039;&#039;stop()&#039;&#039;&#039;: Stop media playback.&lt;br /&gt;
*&#039;&#039;&#039;fullscreen()&#039;&#039;&#039;: Switch the video to full screen.&lt;br /&gt;
*&#039;&#039;&#039;set_volume(vol)&#039;&#039;&#039;: Set the volume. &#039;&#039;&#039;vol&#039;&#039;&#039; has to be an int in the 0-200 range.&lt;br /&gt;
*&#039;&#039;&#039;get_volume()&#039;&#039;&#039;: Get the current volume setting.&lt;br /&gt;
*&#039;&#039;&#039;mute()&#039;&#039;&#039;: Toggle volume muting.&lt;br /&gt;
*&#039;&#039;&#039;set_int_variable(var_name, value)&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;set_bool_variable(var_name, value)&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;set_str_variable(var_name, value)&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;get_int_variable(var_name)&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;get_bool_variable(var_name)&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;get_str_variable(var_name)&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;clear_playlist()&#039;&#039;&#039;: Clear the playlist.&lt;br /&gt;
*&#039;&#039;&#039;add_item(mrl)&#039;&#039;&#039;: Append an item whose location is given by the [[media resource locator]] to the playlist.&lt;br /&gt;
*&#039;&#039;&#039;next()&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;previous()&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;isplaying()&#039;&#039;&#039;: return true if the plugin is playing something.&lt;br /&gt;
*&#039;&#039;&#039;get_length()&#039;&#039;&#039;: Get the media&#039;s length in seconds.&lt;br /&gt;
*&#039;&#039;&#039;get_position()&#039;&#039;&#039;: Get the current position in the media in percent.&lt;br /&gt;
*&#039;&#039;&#039;get_time()&#039;&#039;&#039;: Get the current position in the media in seconds.&lt;br /&gt;
*&#039;&#039;&#039;seek(seconds,is_relative)&#039;&#039;&#039;: If is_relative is true, seek relatively to current time, else seek from beginning of the stream. Seek time is specified in seconds.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Here are a few examples of HTML pages that use the&lt;br /&gt;
Mozilla plugin.&lt;br /&gt;
&lt;br /&gt;
====Example 1====&lt;br /&gt;
&lt;br /&gt;
In this example, the plugin will read an HTTP stream inside the web page. If the user goes fullscreen, he will have to press &#039;&#039;f&#039;&#039; or double-click on the video to go back in normal view.&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;html&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;head&amp;amp;gt;&amp;amp;lt;title&amp;amp;gt;Demo of VLC mozilla plugin&amp;amp;lt;/title&amp;amp;gt;&amp;amp;lt;/head&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;body&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;h1&amp;amp;gt;Demo of VLC mozilla plugin - Example 1&amp;amp;lt;/h1&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;embed type=&amp;quot;application/x-vlc-plugin&amp;quot;&lt;br /&gt;
          name=&amp;quot;video1&amp;quot;&lt;br /&gt;
          autoplay=&amp;quot;no&amp;quot; loop=&amp;quot;yes&amp;quot; width=&amp;quot;400&amp;quot; height=&amp;quot;300&amp;quot;&lt;br /&gt;
          target=&amp;quot;http://server.example.org/video1.vob&amp;quot; /&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;br /&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video1.play()&#039;&amp;amp;gt;Play video1&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video1.pause()&#039;&amp;amp;gt;Pause video1&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video1.stop()&#039;&amp;amp;gt;Stop video1&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video1.fullscreen()&#039;&amp;amp;gt;Fullscreen&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;/body&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/html&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Example 2====&lt;br /&gt;
&lt;br /&gt;
In this example, the plugin will read a multicast UDP/RTP stream in a dedicated video output window.&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;html&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;head&amp;amp;gt;&amp;amp;lt;title&amp;amp;gt;Demo of VLC mozilla plugin&amp;amp;lt;/title&amp;amp;gt;&amp;amp;lt;/head&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;body&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;h1&amp;amp;gt;Demo of VLC mozilla plugin - Example 2&amp;amp;lt;/h1&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;embed type=&amp;quot;application/x-vlc-plugin&amp;quot;&lt;br /&gt;
          name=&amp;quot;video2&amp;quot;&lt;br /&gt;
          autoplay=&amp;quot;no&amp;quot; loop=&amp;quot;no&amp;quot; hidden=&amp;quot;yes&amp;quot;&lt;br /&gt;
          target=&amp;quot;rtp://@239.255.12.42:5004&amp;quot; /&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;br /&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video2.play()&#039;&amp;amp;gt;Play video2&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video2.stop()&#039;&amp;amp;gt;Stop video2&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video2.fullscreen()&#039;&amp;amp;gt;Fullscreen&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;/body&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/html&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Building HTML pages for Mozilla/Firefox/Internet Explorer/Safari (VLC version 0.8.6 and above)==&lt;br /&gt;
&lt;br /&gt;
The following description works for any of the browsers VLC supports. The JavaScript API has been unified between Mozilla/Firefox/IE (ActiveX) and Safari, thus targetting at all of the major OS out there. This is only valid for VLC version 0.8.6 and above.&lt;br /&gt;
&lt;br /&gt;
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&lt;br /&gt;
plugin.&lt;br /&gt;
&lt;br /&gt;
The vlc plugin exports serveral objects that can be accessed for setting and getting information. When used improperly the API&#039;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.&lt;br /&gt;
&lt;br /&gt;
The vlc plugin knows the following objects:&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;audio&#039;&#039;&#039;: Access audio properties.&lt;br /&gt;
*&#039;&#039;&#039;input&#039;&#039;&#039;: Access input properties.&lt;br /&gt;
*&#039;&#039;&#039;playlist&#039;&#039;&#039;: Access playlist properties.&lt;br /&gt;
*&#039;&#039;&#039;video&#039;&#039;&#039;: Access video properties.&lt;br /&gt;
*&#039;&#039;&#039;log&#039;&#039;&#039;: Access log properties.&lt;br /&gt;
*&#039;&#039;&#039;messages&#039;&#039;&#039;: Access to log message properties.&lt;br /&gt;
*&#039;&#039;&#039;iterator&#039;&#039;&#039;: Access to log iterator properties.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;html&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;title&amp;amp;gt;VLC Mozilla plugin test page&amp;amp;lt;/title&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;body&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;embed type=&amp;quot;application/x-vlc-plugin&amp;quot; pluginspage=&amp;quot;http://www.videolan.org&amp;quot; version=&amp;quot;VideoLAN.VLCPlugin.2&amp;quot;&lt;br /&gt;
     width=&amp;quot;640&amp;quot;&lt;br /&gt;
     height=&amp;quot;480&amp;quot;&lt;br /&gt;
     id=&amp;quot;vlc&amp;quot;&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/embed&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;script language=&amp;quot;Javascript&amp;quot;&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;!--&lt;br /&gt;
 var vlc = document.getElementById(&amp;quot;vlc&amp;quot;);&lt;br /&gt;
 vlc.audio.toggleMute();&lt;br /&gt;
 !--&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/script&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/body&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/html&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Root object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;VersionInfo&#039;&#039;&#039;: returns version information string&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;vlc.versionInfo()&#039;&#039;&#039;: returns version information string (same as VersionInfo)&lt;br /&gt;
&lt;br /&gt;
====Audio object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.audio.mute&#039;&#039;&#039;: boolean value to mute and ummute the audio&lt;br /&gt;
*&#039;&#039;&#039;vlc.audio.volume&#039;&#039;&#039;: a value between [0-200] which indicates a percentage of the volume.&lt;br /&gt;
*&#039;&#039;&#039;vlc.audio.track&#039;&#039;&#039;: (supported in vlc version &amp;gt; 0.8.6) a value between [1-65535] which indicates the audio track to play or that is playing. a value of 0 means the audio is/will be disabled.&lt;br /&gt;
*&#039;&#039;&#039;vlc.audio.channel&#039;&#039;&#039;: (supported in vlc version &amp;gt; 0.8.6) integer value between [1-5] that indicates which audio channel mode is used, values can be: &amp;quot;1=stereo&amp;quot;, &amp;quot;2=reverse stereo&amp;quot;, &amp;quot;3=left&amp;quot;, &amp;quot;4=right&amp;quot;, &amp;quot;5=dolby&amp;quot;. Use vlc.audio.channel to check if setting of the audio channel mode has succeeded.&lt;br /&gt;
&lt;br /&gt;
 Audio Channel:&lt;br /&gt;
 &amp;lt;SELECT readonly onChange=&#039;doAudioChannel(this.value)&#039;&amp;gt;&lt;br /&gt;
    &amp;lt;OPTION value=1&amp;gt;Stereo&amp;lt;/OPTION&amp;gt;&lt;br /&gt;
    &amp;lt;OPTION value=2&amp;gt;Reverse stereo&amp;lt;/OPTION&amp;gt;&lt;br /&gt;
    &amp;lt;OPTION value=3&amp;gt;Left&amp;lt;/OPTION&amp;gt;&lt;br /&gt;
    &amp;lt;OPTION value=4&amp;gt;Right&amp;lt;/OPTION&amp;gt;&lt;br /&gt;
    &amp;lt;OPTION value=5&amp;gt;Dolby&amp;lt;/OPTION&amp;gt;&lt;br /&gt;
 &amp;lt;/SELECT&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;SCRIPT language=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;amp;lt;!--&lt;br /&gt;
 function doAudioChannel(value)&lt;br /&gt;
 {&lt;br /&gt;
    var vlc = getVLC(&amp;quot;vlc&amp;quot;);&lt;br /&gt;
    vlc.audio.channel = parseInt(value);&lt;br /&gt;
    alert(vlc.audio.channel);&lt;br /&gt;
 };&lt;br /&gt;
 --&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;vlc.audio.toggleMute()&#039;&#039;&#039;: boolean toggle that mutes and unmutes the audio based upon the previous state&lt;br /&gt;
&lt;br /&gt;
====Input object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.length&#039;&#039;&#039;: length of the input file in number of milliseconds. 0 is returned for &#039;live&#039; streams or clips whose length cannot be determined by VLC&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.fps&#039;&#039;&#039;: frames per second returned as a float (typically 60.0, 50.0, 23.976, etc...)&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.hasVout&#039;&#039;&#039;: a boolean that returns true when the video is being displayed, it returns false when video is not displayed&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.position&#039;&#039;&#039;: normalized position in multimedia stream item given as a float value between [0.0 - 1.0]&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.time&#039;&#039;&#039;: the absolute position in time given in milliseconds, this property can be used to seek through the stream&lt;br /&gt;
 &amp;amp;lt;!-- absolute seek in stream !--&amp;amp;gt;&lt;br /&gt;
 vlc.input.time = &amp;amp;lt;absolute seek&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;!-- relative seek in stream !--&amp;amp;gt;&lt;br /&gt;
 vlc.input.time = vlc.input.time + &amp;amp;lt;relative seek&amp;amp;gt;&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.state&#039;&#039;&#039;: current state of the input chain given as enumeration (IDLE/CLOSE=0, OPENING=1, BUFFERING=2, PLAYING=3, PAUSED=4, STOPPING=5, ENDED=6, ERROR=7).&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.rate&#039;&#039;&#039;: input speed given as float (1.0 for normal speed, 0.5 for half speed, 2.0 for twice as fast, etc.)&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Playlist object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.itemCount&#039;&#039;&#039;: number that returns the amount of items currently in the playlist (&#039;&#039;&#039;deprecated&#039;&#039;&#039;, do not use, see [[#Playlist_items_object| Playlist items]])&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.isPlaying&#039;&#039;&#039;: a boolean that returns true if the current playlist item is playing and false when it is not playing&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.items&#039;&#039;&#039;: return the playlist items collection, see [[#Playlist_items_object| Playlist items]]&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.add(mrl)&#039;&#039;&#039;: add a playlist item as [[MRL]]. The MRL must be given as a string. Returns a number as an item identifier in playlist (this is not a position  in playlist).&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.add(mrl,name,options)&#039;&#039;&#039;: add a playlist item as MRL, with metaname &#039;name&#039; and options &#039;options&#039;. options are text arguments which can be provided either as a single string containing space separated values, akin to VLC command line, or as an array of string values. Returns a number as an item identifier in playlist (this is not a position in playlist).&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.play()&#039;&#039;&#039;: start playing the current playlist item&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.playItem(number)&#039;&#039;&#039;: start playing the item whose identifier is number&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.togglePause()&#039;&#039;&#039;: toggle the pause state for the current playlist item&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.stop()&#039;&#039;&#039;: stop playing the current playlist item&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.next()&#039;&#039;&#039;: iterate to the next playlist item&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.prev()&#039;&#039;&#039;: iterate to the previous playlist item&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.clear()&#039;&#039;&#039;: empty the current playlist, all items will be deleted from the playlist (&#039;&#039;&#039;deprecated&#039;&#039;&#039;, do not use, see [[#Playlist_items_object| Playlist items]])&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.removeItem(number)&#039;&#039;&#039;: remove the item from playlist whose identifier is number &amp;lt;!-- (note: this number isn&#039;t the position in the playlist, but the number given by vlc.playlist.add() ) --&amp;gt; (&#039;&#039;&#039;deprecated&#039;&#039;&#039;, do not use, see [[#Playlist_items_object| Playlist items]])&lt;br /&gt;
&lt;br /&gt;
====Playlist items object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.items.count&#039;&#039;&#039;: number of items currently in the playlist&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.items.clear()&#039;&#039;&#039;: empty the current playlist, all items will be deleted from the playlist. If a movie is playing, it stop. Note that when this method returns, playlist may not have been entirely been cleared as this operation is performed asynchronously; use the &#039;&#039;count&#039;&#039; property to verify/wait until the playlist is empty.&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.items.remove(number)&#039;&#039;&#039;: remove the item whose identifier is number from playlist. (note: this number isn&#039;t the position in the playlist, but the number given by vlc.playlist.add() )&lt;br /&gt;
&lt;br /&gt;
====Video object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.width&#039;&#039;&#039;: returns the horizontal size of the video&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.height&#039;&#039;&#039;: returns the vertical size of the video&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.fullscreen&#039;&#039;&#039;: 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.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.aspectRatio&#039;&#039;&#039;: get and set the aspect ratio to use in the video screen. The property takes a string as input value. Typical values are: &amp;quot;1:1&amp;quot;, &amp;quot;4:3&amp;quot;, &amp;quot;16:9&amp;quot;, &amp;quot;16:10&amp;quot;, &amp;quot;221:100&amp;quot; and &amp;quot;5:4&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.subtitle&#039;&#039;&#039;: (supported in vlc version &amp;gt; 0.8.6a) get and set the subtitle track to show on the video screen. The property takes an integer as input value [1..65535]. If subtitle track is set to 0, the subtitles will be disabled. If set to a value outside the current subtitle tracks range, then it will return -1 and display an error message.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.teletext&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 0.9.0) get and set teletext page to show on the video stream. This will only work if a teletext elementary stream is available in the video stream. The property takes an integer as input value [0..999] for indicating the teletext page to view, setting the value to 0 means hide teletext. On error it will return -1 and display an error message.&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.toggleFullscreen()&#039;&#039;&#039;: toggle the fullscreen mode based on the previous setting&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.toggleTeletext()&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 0.9.0) toggle the teletext page to overlay transparent or not, based on the previous setting&lt;br /&gt;
&lt;br /&gt;
====Log object====&lt;br /&gt;
&lt;br /&gt;
this object allows accessing VLC main message logging queue. Typically this queue capacity is very small (no nore than 256 entries) and can easily overflow, therefore messages should be read and cleared as often as possible.&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.log.messages&#039;&#039;&#039;: returns the message collection, see [[Messages object]]&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.log.verbosity&#039;&#039;&#039;: write number [-1,0,1,2,3] for changing the verbosity level of the log messages; messages whose verbosity is higher than set will be not be logged in the queue. The numbers have the following meaning: -1 disable, 0 info, 1 error, 2 warning, 3 debug. &lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Messages object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;messages.count&#039;&#039;&#039;: returns number of messages in the log&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;messages.clear()&#039;&#039;&#039;: clear the current log buffer. It should be called as frequently as possible to not overflow the message queue. Call this method after the log messages of interest are read.&lt;br /&gt;
*&#039;&#039;&#039;messages.iterator()&#039;&#039;&#039;: creates and returns an iterator object, used to iterate over the messages in the log. &#039;&#039;&#039;Don&#039;t clear the log buffer while holding an iterator object.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Messages Iterator object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;iterator.hasNext&#039;&#039;&#039;: returns a boolean that indicates whether &#039;&#039;vlc.log.messages.next()&#039;&#039; will return the next message.&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;iterator.next()&#039;&#039;&#039;: returns the next message object in the log, see [[Message object]]&lt;br /&gt;
&lt;br /&gt;
====Message object====&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;message.severity&#039;&#039;&#039;: number that indicates the severity of the log message (0 = info, 1 = error, 2 = warning, 3 = debug)&lt;br /&gt;
*&#039;&#039;&#039;message.name&#039;&#039;&#039;: name of VLC module that printed the log message (e.g: main, http, directx, etc...)&lt;br /&gt;
*&#039;&#039;&#039;message.type&#039;&#039;&#039;: type of VLC module that printed the log message (eg: input, access, vout, sout, etc...)&lt;br /&gt;
*&#039;&#039;&#039;message.message&#039;&#039;&#039;: the message text&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Documentation}}&lt;/div&gt;</summary>
		<author><name>Jpsaman</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=Documentation:Advanced_Use_of_VLC&amp;diff=12744</id>
		<title>Documentation:Advanced Use of VLC</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=Documentation:Advanced_Use_of_VLC&amp;diff=12744"/>
		<updated>2008-11-20T17:27:57Z</updated>

		<summary type="html">&lt;p&gt;Jpsaman: /* Input object */ reserved -&amp;gt; deprecated&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{RightMenu|documentation play howto toc}}&lt;br /&gt;
&lt;br /&gt;
==Use the command line==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;TODO: completely outdated&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
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&#039;t need or want a GUI. Here is the complete description of VLC&#039;s command line and how to use it.&lt;br /&gt;
&lt;br /&gt;
You need to be quite comfortable with command line usage to use this.&lt;br /&gt;
&lt;br /&gt;
 Note: Windows users have to use the &#039;&#039;--option-name=&amp;quot;value&amp;quot;&#039;&#039; syntax instead of the &#039;&#039;--option-name value&#039;&#039; syntax.&lt;br /&gt;
&lt;br /&gt;
===Getting help===&lt;br /&gt;
&lt;br /&gt;
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, ...&lt;br /&gt;
&lt;br /&gt;
This chapter will only describe the &amp;quot;general&amp;quot; options, i.e. the core options. Each module adds new options. For example, the HTTP input module will add options for caching, proxy, authentication, ...&lt;br /&gt;
&lt;br /&gt;
By using &#039;&#039;&#039;vlc --help&#039;&#039;&#039;, you will get the basic core options. &#039;&#039;&#039;vlc --longhelp&#039;&#039;&#039; will give all the basic options (core + modules). Adding &#039;&#039;&#039;--advanced&#039;&#039;&#039; will give the &amp;quot;advanced options&amp;quot; (for advanced users). So &#039;&#039;&#039;vlc --longhelp --advanced&#039;&#039;&#039; will give you all options. You can also append &#039;&#039;&#039;--help-verbose&#039;&#039;&#039; if you want more detailed help.&lt;br /&gt;
&lt;br /&gt;
Also, you might want to get debug informations. To do this, use &#039;&#039;&#039;-v&#039;&#039;&#039; or &#039;&#039;&#039;-vv&#039;&#039;&#039; (this will show lower severity messages). If your console supports it, you can add &#039;&#039;&#039;--color to get messages in color.&lt;br /&gt;
&lt;br /&gt;
===Opening streams===&lt;br /&gt;
&lt;br /&gt;
The following commands start VLC and start reading the given element(s)&lt;br /&gt;
&lt;br /&gt;
====Opening a file====&lt;br /&gt;
&lt;br /&gt;
Start VLC with:&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc my_file&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
VLC should be able to recognize the file type. If it does not, you can force demultiplexer and decoder (see below).&lt;br /&gt;
&lt;br /&gt;
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].&lt;br /&gt;
&lt;br /&gt;
====Opening a DVD or VCD, or an audio CD====&lt;br /&gt;
&lt;br /&gt;
Start VLC with:&lt;br /&gt;
&lt;br /&gt;
For a DVD with menus:&lt;br /&gt;
 % &#039;&#039;&#039;vlc dvd://[device][@raw_device][@[title][:[chapter][:angle]]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
In most cases, &#039;&#039;&#039;vlc dvd://&#039;&#039;&#039; or &#039;&#039;&#039;vlc dvd://[device]&#039;&#039;&#039; will do. [device] is for example &#039;&#039;&#039;/dev/dvd&#039;&#039;&#039; on GNU/Linux or &#039;&#039;&#039;D:&#039;&#039;&#039; on Windows (complete path to your DVD drive).&lt;br /&gt;
&lt;br /&gt;
or&lt;br /&gt;
&lt;br /&gt;
(DVD without menus):&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc dvdsimple://[device][@raw_device][@[title][:[chapter][:angle]]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
or&lt;br /&gt;
&lt;br /&gt;
(VCD):&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc vcd://[device][@{E|P|E|T|S}[number]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
or&lt;br /&gt;
&lt;br /&gt;
(Audio CD):&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc cdda://[device][@[track]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Receiving a network stream====&lt;br /&gt;
&lt;br /&gt;
To receive an unicast UDP stream (sent by VLS or VLC&#039;s stream output), start VLC with:&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc  udp:[@:server_port]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If you use the default port (1234), &#039;&#039;&#039;vlc udp:&#039;&#039;&#039; will do. For more information, look at the Streaming Howto.&lt;br /&gt;
&lt;br /&gt;
To receive an multicast UDP stream (sent by VLS or VLC&#039;s stream output), start VLC with:&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc udp:@multicast_address[:server_port]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
To receive a SSM (source specific multicast) stream, you can use:&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc udp:server_address@multicast_address[:server_port]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This only works on OSs that support SSM (Windows XP and recent Linux kernels).&lt;br /&gt;
&lt;br /&gt;
To receive a HTTP stream, start VLC with:&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc http://www.example.org/your_file.mpg&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
To receive a RTSP stream, start VLC with:&amp;lt;/para&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc rtsp://www.example.org/your_stream&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Modules selection===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--intf  &amp;lt;module&amp;gt;&#039;&#039;&#039; allows you to select the interface module.&lt;br /&gt;
*&#039;&#039;&#039;--extraintf  &amp;lt;module&amp;gt;&#039;&#039;&#039; allows you to select extra interface modules that will be launched in addition to the main one. This is mainly useful for special &#039;&#039;control&#039;&#039; interfaces, like HTTP, RC (Remote Control), ... (see below)&lt;br /&gt;
*&#039;&#039;&#039;--aout  &amp;lt;module&amp;gt;&#039;&#039;&#039; allows you to select the audio output module.&lt;br /&gt;
*&#039;&#039;&#039;--vout  &amp;lt;module&amp;gt;&#039;&#039;&#039; allows you to select the video output module.&lt;br /&gt;
*&#039;&#039;&#039;--memcpy  &amp;lt;module&amp;gt;&#039;&#039;&#039; allows you to choose a memory copy module. You should probably never touch that.&lt;br /&gt;
&lt;br /&gt;
You can get a listing of the available modules by using &#039;&#039;&#039;vlc -l&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Stream Output===&lt;br /&gt;
&lt;br /&gt;
The Stream output system allows vlc to become a streaming server.&lt;br /&gt;
&lt;br /&gt;
For more details on the stream output system, please have a look at the [[Documentation:Streaming HowTo|Streaming HowTo]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Other Options===&lt;br /&gt;
&lt;br /&gt;
====Audio options====&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--noaudio&#039;&#039;&#039; disables audio output.&lt;br /&gt;
*&#039;&#039;&#039;--mono&#039;&#039;&#039; forces VLC to treat the stream in mono audio.&lt;br /&gt;
*&#039;&#039;&#039;--volume &amp;lt;integer&amp;gt;&#039;&#039;&#039; sets the level of audio output (between 0 and 1024).&lt;br /&gt;
*&#039;&#039;&#039;--aout-rate &amp;lt;integer&amp;gt;&#039;&#039;&#039; sets the audio output frequency (Hz). By default, VLC will try to autodetect this.&lt;br /&gt;
*&#039;&#039;&#039;--desync &amp;lt;integer&amp;gt;&#039;&#039;&#039; compensates desynchronization of audio (ms). (If audio and video streams are not synchronized, use this setting to delay the audio stream)&lt;br /&gt;
*&#039;&#039;&#039;--audio-filter &amp;lt;string&amp;gt;&#039;&#039;&#039; 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)&lt;br /&gt;
&lt;br /&gt;
====Video options====&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--novideo&#039;&#039;&#039; disables video output.&lt;br /&gt;
*&#039;&#039;&#039;--greyscale&#039;&#039;&#039; turns video output into grayscale mode.&lt;br /&gt;
*&#039;&#039;&#039;--fullscreen&#039;&#039;&#039; ( or &#039;&#039;&#039;-f&#039;&#039;&#039;) sets fullscreen video.&lt;br /&gt;
*&#039;&#039;&#039;--nooverlay&#039;&#039;&#039; disables hardware acceleration for the video output.&lt;br /&gt;
*&#039;&#039;&#039;--width, --height &amp;lt;integer&amp;gt;&#039;&#039;&#039; sets the video window dimensions. By default, the video window size will be adjusted to match the video dimensions.&lt;br /&gt;
*&#039;&#039;&#039;--zoom &amp;lt;float&amp;gt;&#039;&#039;&#039; adds a zoom factor.&lt;br /&gt;
*&#039;&#039;&#039;--aspect-ratio &amp;lt;mode&amp;gt;&#039;&#039;&#039; forces source aspect ratio. Modes are 4x3, 16x9, ...&lt;br /&gt;
*&#039;&#039;&#039;--spumargin  &amp;lt;integer&amp;gt;&#039;&#039;&#039; forces SPU subtitles postion.&lt;br /&gt;
*&#039;&#039;&#039;--filter &amp;lt;string&amp;gt;&#039;&#039;&#039; adds video filters to the processing chain. You can add several filters, separated by commas&lt;br /&gt;
*&#039;&#039;&#039;--sub-filter &amp;lt;string&amp;gt;&#039;&#039;&#039; adds video subpictures filter to the processing chain.&lt;br /&gt;
&lt;br /&gt;
====Playlist options====&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--random&#039;&#039;&#039; plays files randomly forever.&lt;br /&gt;
*&#039;&#039;&#039;--loop&#039;&#039;&#039; loops playlist on end.&lt;br /&gt;
*&#039;&#039;&#039;--repeat&#039;&#039;&#039; repeats current item until another item is forced&lt;br /&gt;
*&#039;&#039;&#039;--play-and-stop&#039;&#039;&#039; stops the playlist after each played item.&lt;br /&gt;
&lt;br /&gt;
====Network options====&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--server-port &amp;lt;integer&amp;gt;&#039;&#039;&#039; sets server port.&lt;br /&gt;
*&#039;&#039;&#039;--iface  &amp;lt;string&amp;gt;&#039;&#039;&#039; specifies the network interface to use.&lt;br /&gt;
*&#039;&#039;&#039;--iface-addr  &amp;lt;string&amp;gt;&#039;&#039;&#039; specifies your network interface IP address.&lt;br /&gt;
*&#039;&#039;&#039;--mtu  &amp;lt;integer&amp;gt;&#039;&#039;&#039; specifies the MTU of the network interface.&lt;br /&gt;
*&#039;&#039;&#039;--ipv6&#039;&#039;&#039; forces IPv6.&lt;br /&gt;
*&#039;&#039;&#039;--ipv4&#039;&#039;&#039; forces IPv4.&lt;br /&gt;
&lt;br /&gt;
====CPU options====&lt;br /&gt;
&lt;br /&gt;
You should probably not touch these options unless you know what you are doing.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--nommx&#039;&#039;&#039; disables the use of MMX CPU extensions.&lt;br /&gt;
*&#039;&#039;&#039;--no3dn&#039;&#039;&#039; disables the use of 3D Now! CPU extensions.&lt;br /&gt;
*&#039;&#039;&#039;--nommxext&#039;&#039;&#039; disables the use of MMX Ext CPU extensions.&lt;br /&gt;
*&#039;&#039;&#039;--nosse&#039;&#039;&#039; disables the use of SSE CPU extensions.&lt;br /&gt;
*&#039;&#039;&#039;--noaltivec&#039;&#039;&#039; disables the use of Altivec CPU extensions.&lt;br /&gt;
&lt;br /&gt;
====Miscellaneous options====&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--quiet&#039;&#039;&#039;  deactivates all console messages.&lt;br /&gt;
*&#039;&#039;&#039;--color&#039;&#039;&#039; displays color messages.&lt;br /&gt;
*&#039;&#039;&#039;--search-path  &amp;lt;string&amp;gt;&#039;&#039;&#039; specifies interface default search path.&lt;br /&gt;
*&#039;&#039;&#039;--plugin-path  &amp;lt;string&amp;gt;&#039;&#039;&#039; specifies plugin search path.&lt;br /&gt;
*&#039;&#039;&#039;--no-plugins-cache&#039;&#039;&#039; disables the plugin cache (plugins cache speeds up startup)&lt;br /&gt;
*&#039;&#039;&#039;--dvd  &amp;lt;string&amp;gt;&#039;&#039;&#039; specifies the default DVD device.&lt;br /&gt;
*&#039;&#039;&#039;--vcd  &amp;lt;string&amp;gt;&#039;&#039;&#039; specifies the default VCD device.&lt;br /&gt;
*&#039;&#039;&#039;--program  &amp;lt;integer&amp;gt;&#039;&#039;&#039; specifies program (SID) (for streams with several programs, like satellite ones).&lt;br /&gt;
*&#039;&#039;&#039;--audio-type  &amp;lt;integer&amp;gt;&#039;&#039;&#039; specifies the default audio type to use with dvds.&lt;br /&gt;
*&#039;&#039;&#039;--audio-channel  &amp;lt;integer&amp;gt;&#039;&#039;&#039; specifies the default audio channel to use with dvds.&lt;br /&gt;
*&#039;&#039;&#039;--spu-channel  &amp;lt;integer&amp;gt;&#039;&#039;&#039; specifies the default subtitle channel to use with dvds.&lt;br /&gt;
*&#039;&#039;&#039;--version&#039;&#039;&#039; gives you information about the current VLC version.&lt;br /&gt;
*&#039;&#039;&#039;--module  &amp;lt;module&amp;gt; &#039;&#039;&#039; displays help about specified module. (Shortcut: &#039;&#039;&#039;-p&#039;&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
===Item-specific options===&lt;br /&gt;
&lt;br /&gt;
There are many options that are related to items (like &#039;&#039;&#039;--novideo&#039;&#039;&#039;, &#039;&#039;&#039;--codec&#039;&#039;&#039;, &#039;&#039;&#039;--fullscreen&#039;&#039;&#039;).&lt;br /&gt;
&lt;br /&gt;
For all of these, you have the possibility to make them item-specific, using &amp;quot;:&amp;quot; instead of &amp;quot;--&amp;quot; and putting the option just after the concerned item.&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc file1.mpg :fullscreen file2.mpg&#039;&#039;&#039;&lt;br /&gt;
will play file1.mpg in fullscreen mode and file2.mpg in the default mode (which is generally no fullscreen), whereas&lt;br /&gt;
 % &#039;&#039;&#039;vlc --fullscreen file1.mpg file2.mpg&#039;&#039;&#039;&lt;br /&gt;
will play both files in fullscreen mode&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc --fullscreen file1.mpg :sub-file=file1.srt :no-fullscreen file2.mpg :filter=distort&#039;&#039;&#039;&lt;br /&gt;
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)&lt;br /&gt;
&lt;br /&gt;
==Advanced use of filters==&lt;br /&gt;
&lt;br /&gt;
===Filters===&lt;br /&gt;
&lt;br /&gt;
These are the old style VLC filters. They only apply to on screen display and thus cannot be streamed.&lt;br /&gt;
&lt;br /&gt;
====Deinterlacing video filter====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;deinterlace&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--deinterlace-mode {discard,blend,mean,bob,linear}&#039;&#039;&#039; choose a deinterlacing mode.&lt;br /&gt;
&lt;br /&gt;
====Invert video filter====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;invert&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Image properties filter====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;adjust&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--contrast &amp;lt;float&amp;gt;&#039;&#039;&#039; Image contrast in the 0-2 range.&lt;br /&gt;
*&#039;&#039;&#039;--brightness &amp;lt;float&amp;gt;&#039;&#039;&#039; Image brightness in the 0-2 range.&lt;br /&gt;
*&#039;&#039;&#039;--hue &amp;lt;integer&amp;gt;&#039;&#039;&#039; Image hue in the 0-360 range.&lt;br /&gt;
*&#039;&#039;&#039;--saturation &amp;lt;float&amp;gt;&#039;&#039;&#039; Image saturation in the 0-3 range.&lt;br /&gt;
*&#039;&#039;&#039;-gamma &amp;lt;float&amp;gt;&#039;&#039;&#039; Image gamma in the 0-10 range.&lt;br /&gt;
&lt;br /&gt;
====Wall video filter====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;wall&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This filter splits the output in several windows.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--wall-cols &amp;lt;integer&amp;gt;&#039;&#039;&#039; Number of columns.&lt;br /&gt;
*&#039;&#039;&#039;--wall-rows &amp;lt;integer&amp;gt;&#039;&#039;&#039; Number of rows.&lt;br /&gt;
*&#039;&#039;&#039;--wall-active &amp;lt;string&amp;gt;&#039;&#039;&#039; Select the windows you want to display. To select windows 2 and 4 you would write &#039;&#039;&#039;--wall-active 2,4&#039;&#039;&#039;. When this option isn&#039;t specified, all windows are displayed.&lt;br /&gt;
&lt;br /&gt;
====Video transformation filter====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;transform&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--transform-type {90,180,270,hflip,vflip}&#039;&#039;&#039; Select rotation angle or symmetry.&lt;br /&gt;
&lt;br /&gt;
====Distort video filter====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;distort&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Clone video filter====&lt;br /&gt;
&lt;br /&gt;
This filter clones the output window.&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;clone&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--clone-count &amp;lt;integer&amp;gt;&#039;&#039;&#039; Number of clones.&lt;br /&gt;
*&#039;&#039;&#039;--clone-vout-list &amp;lt;string&amp;gt;&#039;&#039;&#039; Comma separated string of video output modules.&lt;br /&gt;
&lt;br /&gt;
====Crop video filter====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;crop&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--crop-geometry &amp;lt;string&amp;gt;&#039;&#039;&#039; Set the geometry of the zone to crop. This is set as &amp;lt;width&amp;gt; x &amp;lt;height&amp;gt; + &amp;lt;left offset&amp;gt; + &amp;lt;top offset&amp;gt;.&lt;br /&gt;
*&#039;&#039;&#039;--autocrop&#039;&#039;&#039; Enable automatic black border cropping.&lt;br /&gt;
&lt;br /&gt;
====Motion blur filter====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;motionblur&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;blur-factor &amp;lt;integer&amp;gt;&#039;&#039;&#039; Blur factor in the 1-127 range.&lt;br /&gt;
&lt;br /&gt;
====Video pictures blending====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;blend&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Video scaling filter====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;scale&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Subpictures Filters===&lt;br /&gt;
&lt;br /&gt;
These are the new VLC filters. They can be streamed.&lt;br /&gt;
&lt;br /&gt;
====Time display sub filter====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;time&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--time-format &amp;lt;string&amp;gt;&#039;&#039;&#039; Time format string. You can use the following special characters %Y = year, %m = month, %d = day, %H = hour, %M = minute, %S = second.&lt;br /&gt;
*&#039;&#039;&#039;--time-x &amp;lt;integer&amp;gt;&#039;&#039;&#039; X offset from the left in pixels.&lt;br /&gt;
*&#039;&#039;&#039;--time-y &amp;lt;integer&amp;gt;&#039;&#039;&#039; Y offset from the top in pixels.&lt;br /&gt;
&lt;br /&gt;
====Marquee display sub filter====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;marq&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--marq-marquee &amp;lt;string&amp;gt;&#039;&#039;&#039; Marquee text to display.&lt;br /&gt;
*&#039;&#039;&#039;--marq-x &amp;lt;integer&amp;gt;&#039;&#039;&#039; X offset from the left in pixels.&lt;br /&gt;
*&#039;&#039;&#039;--marq-y &amp;lt;integer&amp;gt;&#039;&#039;&#039; Y offset from the top in pixels.&lt;br /&gt;
*&#039;&#039;&#039;--marq-timeout &amp;lt;timeout&amp;gt;&#039;&#039;&#039; Defines the time the marquee must remain displayed in milliseconds. Default value is 0 (remain forever).&lt;br /&gt;
&lt;br /&gt;
====Logo video filter====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;logo&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This filter can be used both as an old style filter or a subpictures filter.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--logo-file &amp;lt;string&amp;gt;&#039;&#039;&#039; Full path of the PNG file to use.&lt;br /&gt;
*&#039;&#039;&#039;--logo-x &amp;lt;integer&amp;gt;&#039;&#039;&#039; X offset from the left in pixels.&lt;br /&gt;
*&#039;&#039;&#039;--logo-y &amp;lt;integer&amp;gt;&#039;&#039;&#039; Y offset from the top in pixels.&lt;br /&gt;
*&#039;&#039;&#039;--logo-transparency &amp;lt;integer&amp;gt;&#039;&#039;&#039; You can set the logo transparency value here (from 0 for full transparency to 255 for full opacity).&lt;br /&gt;
&lt;br /&gt;
Note: You can move the logo by left-clicking on it.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==The HTTP interface==&lt;br /&gt;
&lt;br /&gt;
VLC ships with a little HTTP server integrated. It is used both to stream using HTTP, and for the HTTP remote control interface.&lt;br /&gt;
&lt;br /&gt;
To start VLC with the HTTP interface, use:&lt;br /&gt;
 % &#039;&#039;&#039;vlc -I http [--http-src /directory/] [--http-host host:port]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If you want to have both the &amp;quot;normal&amp;quot; interface and the HTTP interface, use &#039;&#039;&#039;vlc --extraintf http&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
The HTTP interface will start listening at host:port (&amp;lt;all interfaces&amp;gt;:8080 if omitted), and will reproduce the structure of /directory at http://host:port/ ( vlc_source_path/share/http if omitted ).&lt;br /&gt;
&lt;br /&gt;
Use a browser to go to http://your_host_machine:port. You should be taken to the main page.&lt;br /&gt;
&lt;br /&gt;
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]].&lt;br /&gt;
&lt;br /&gt;
Available pages are:&lt;br /&gt;
* &#039;&#039;&#039;list was obsolete&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Other control interfaces==&lt;br /&gt;
&lt;br /&gt;
VLC includes a number of so-called interfaces that are not really 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 &#039;&#039;&#039;-I&#039;&#039;&#039; or &#039;&#039;&#039;--extraintf&#039;&#039;&#039; on the command line.&lt;br /&gt;
&lt;br /&gt;
===Hotkeys===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Hotkeys can be hacked by:&lt;br /&gt;
 % &#039;&#039;&#039;vlc --key-&amp;lt;function&amp;gt; &amp;amp;lt;code&amp;amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Code is composed by modifiers keys (Alt, Shift, Ctrl, Meta,Command) separated by a dash (-) and terminated by a key (a...z, +, =, -, &#039;,&#039;, +, &amp;amp;lt;, &amp;amp;gt;, `, /, ;, &#039;, \, [, ], *, 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 &#039;&#039;&#039;--longhelp&#039;&#039;&#039; option for full list of functions).&lt;br /&gt;
For example, for binding fullscreen to Ctrl-f, run:&lt;br /&gt;
 % &#039;&#039;&#039;vlc --key-fullscreen &#039;Ctrl-f&#039; &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===RC and RTCI===&lt;br /&gt;
&lt;br /&gt;
These two interfaces allow you to control VLC from a command shell (possibly using a remote connexion or a Unix socket).&lt;br /&gt;
&lt;br /&gt;
Start VLC with &#039;&#039;&#039;-I rc&#039;&#039;&#039; or &#039;&#039;&#039;--extraintf rc&#039;&#039;&#039;. When you get the &#039;&#039;&#039;Remote control interface initialized, `h&#039; for help&#039;&#039;&#039; message, press h and Enter to get help about available commands.&lt;br /&gt;
&lt;br /&gt;
To be able to remote connect to your VLC using a TCP socket (telnet-like connexion), use &#039;&#039;&#039;--rc-host your_host:port&#039;&#039;&#039;. Then, by connecting (using telnet or netcat) to the host on the given port, you will get the command shell.&lt;br /&gt;
&lt;br /&gt;
To use a UNIX socket (local socket, this does not work for Windows), use &#039;&#039;&#039;--rc-unix /path/to/socket&#039;&#039;&#039;. Commands can then be passed using this UNIX socket.&lt;br /&gt;
&lt;br /&gt;
The RTCI interface gives you more advanced options, such as marquee control for the marquee subpicture filter (See filter section).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Ncurses===&lt;br /&gt;
&lt;br /&gt;
This is a text interface, using ncurses library.&lt;br /&gt;
&lt;br /&gt;
Start VLC with &#039;&#039;&#039;-I ncurses&#039;&#039;&#039; or &#039;&#039;&#039;--extraintf ncurses&#039;&#039;&#039;. You will then get something like that:&lt;br /&gt;
&lt;br /&gt;
http://www.videolan.org/doc/play-howto/en/images/play-howto/intf-ncurses-playlist.jpg The ncurses interface&lt;br /&gt;
&lt;br /&gt;
Press h to get the list of all available commands, with a short description.&lt;br /&gt;
&lt;br /&gt;
There is also a filebrowser available for the ncurses interface in order to add playlist items. Press &#039;B&#039; to use it.&lt;br /&gt;
&lt;br /&gt;
http://www.videolan.org/doc/play-howto/en/images/play-howto/intf-ncurses-filebrowser.jpg The ncurses filebrowser&lt;br /&gt;
&lt;br /&gt;
You can set the filebrowser starting point by launching vlc with the &#039;&#039;&#039;--browse-dir&#039;&#039;&#039; option:&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc -I ncurses --browse-dir /filebrowser/starting/point/&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Gestures===&lt;br /&gt;
&lt;br /&gt;
Gestures provide a simple mouse gestures control. TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==The Mozilla plugin==&lt;br /&gt;
&lt;br /&gt;
VLC can also be embedded in a web browser! The following browsers are supported [http://www.mozilla.org/ Mozilla], [http://www.mozilla.org/products/firefox/ Firefox] and [http://www.apple.com/macosx/features/safari Safari].&lt;br /&gt;
&lt;br /&gt;
===Install the plugin===&lt;br /&gt;
&lt;br /&gt;
====GNU/Linux Debian====&lt;br /&gt;
&lt;br /&gt;
Install the &#039;&#039;mozilla-plugin-vlc&#039;&#039; package:&lt;br /&gt;
&lt;br /&gt;
 # &#039;&#039;&#039;apt-get update&#039;&#039;&#039;&lt;br /&gt;
 # &#039;&#039;&#039;apt-get install mozilla-plugin-vlc&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Windows====&lt;br /&gt;
&lt;br /&gt;
Quit Firefox or Mozilla.&lt;br /&gt;
&lt;br /&gt;
Copy the two files in &#039;&#039;&#039;VLC_Installation_folder\mozilla&#039;&#039;&#039; (usually &#039;&#039;&#039;C:\Program Files\VideoLAN\VLC\mozilla&#039;&#039;&#039;) to your mozilla plugins directory (Usually &#039;&#039;&#039;C:\Program Files\Mozilla\plugins&#039;&#039;&#039; or &#039;&#039;&#039;C:\Program Files\Mozilla&lt;br /&gt;
Firefox\plugins&#039;&#039;&#039;).&lt;br /&gt;
&lt;br /&gt;
Restart Firefox or Mozilla.&lt;br /&gt;
&lt;br /&gt;
====MacOS X====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;The Mozilla/Safari plugin for MacOS X is only available from vlc version 0.8.5.1 and onwards.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Quit Safari browser.&lt;br /&gt;
&lt;br /&gt;
Download the Mozilla/safari plugin package from [http://www.videolan.org/vlc/download-macosx.html MacOS X download page].&lt;br /&gt;
&lt;br /&gt;
Run the installer from the dmg image.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Compile the sources yourself====&lt;br /&gt;
&lt;br /&gt;
Please look at the [http://developers.videolan.org developers page] for information on how to do this.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Use the mozilla plugin===&lt;br /&gt;
&lt;br /&gt;
If you open a link to a video file handled by the VLC plugin (To get the list of handled types, browse to &#039;&#039;&#039;about:plugins&#039;&#039;&#039;) or a page with an embedded video, the plugin should open and read the&lt;br /&gt;
video.&lt;br /&gt;
&lt;br /&gt;
===Build HTML pages that use the plugin (VLC version up to 0.8.5)===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;WARNING:&#039;&#039;&#039; the APIs described in this section are &#039;&#039;&#039;deprecated&#039;&#039;&#039;, do not use, &lt;br /&gt;
&lt;br /&gt;
The following API description is only valid uptill version 0.8.5 of the mozilla plugin.&lt;br /&gt;
&lt;br /&gt;
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&lt;br /&gt;
plugin.&lt;br /&gt;
&lt;br /&gt;
The vlc plugin supports the following function calls:&lt;br /&gt;
*&#039;&#039;&#039;play()&#039;&#039;&#039;: Start playing media in the plugin.&lt;br /&gt;
*&#039;&#039;&#039;pause()&#039;&#039;&#039;: Pause playback.&lt;br /&gt;
*&#039;&#039;&#039;stop()&#039;&#039;&#039;: Stop media playback.&lt;br /&gt;
*&#039;&#039;&#039;fullscreen()&#039;&#039;&#039;: Switch the video to full screen.&lt;br /&gt;
*&#039;&#039;&#039;set_volume(vol)&#039;&#039;&#039;: Set the volume. &#039;&#039;&#039;vol&#039;&#039;&#039; has to be an int in the 0-200 range.&lt;br /&gt;
*&#039;&#039;&#039;get_volume()&#039;&#039;&#039;: Get the current volume setting.&lt;br /&gt;
*&#039;&#039;&#039;mute()&#039;&#039;&#039;: Toggle volume muting.&lt;br /&gt;
*&#039;&#039;&#039;set_int_variable(var_name, value)&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;set_bool_variable(var_name, value)&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;set_str_variable(var_name, value)&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;get_int_variable(var_name)&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;get_bool_variable(var_name)&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;get_str_variable(var_name)&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;clear_playlist()&#039;&#039;&#039;: Clear the playlist.&lt;br /&gt;
*&#039;&#039;&#039;add_item(mrl)&#039;&#039;&#039;: Append an item whose location is given by the [[media resource locator]] to the playlist.&lt;br /&gt;
*&#039;&#039;&#039;next()&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;previous()&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;isplaying()&#039;&#039;&#039;: return true if the plugin is playing something.&lt;br /&gt;
*&#039;&#039;&#039;get_length()&#039;&#039;&#039;: Get the media&#039;s length in seconds.&lt;br /&gt;
*&#039;&#039;&#039;get_position()&#039;&#039;&#039;: Get the current position in the media in percent.&lt;br /&gt;
*&#039;&#039;&#039;get_time()&#039;&#039;&#039;: Get the current position in the media in seconds.&lt;br /&gt;
*&#039;&#039;&#039;seek(seconds,is_relative)&#039;&#039;&#039;: If is_relative is true, seek relatively to current time, else seek from beginning of the stream. Seek time is specified in seconds.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Here are a few examples of HTML pages that use the&lt;br /&gt;
Mozilla plugin.&lt;br /&gt;
&lt;br /&gt;
====Example 1====&lt;br /&gt;
&lt;br /&gt;
In this example, the plugin will read an HTTP stream inside the web page. If the user goes fullscreen, he will have to press &#039;&#039;f&#039;&#039; or double-click on the video to go back in normal view.&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;html&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;head&amp;amp;gt;&amp;amp;lt;title&amp;amp;gt;Demo of VLC mozilla plugin&amp;amp;lt;/title&amp;amp;gt;&amp;amp;lt;/head&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;body&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;h1&amp;amp;gt;Demo of VLC mozilla plugin - Example 1&amp;amp;lt;/h1&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;embed type=&amp;quot;application/x-vlc-plugin&amp;quot;&lt;br /&gt;
          name=&amp;quot;video1&amp;quot;&lt;br /&gt;
          autoplay=&amp;quot;no&amp;quot; loop=&amp;quot;yes&amp;quot; width=&amp;quot;400&amp;quot; height=&amp;quot;300&amp;quot;&lt;br /&gt;
          target=&amp;quot;http://server.example.org/video1.vob&amp;quot; /&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;br /&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video1.play()&#039;&amp;amp;gt;Play video1&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video1.pause()&#039;&amp;amp;gt;Pause video1&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video1.stop()&#039;&amp;amp;gt;Stop video1&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video1.fullscreen()&#039;&amp;amp;gt;Fullscreen&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;/body&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/html&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Example 2====&lt;br /&gt;
&lt;br /&gt;
In this example, the plugin will read a multicast UDP stream in a dedicated video output window.&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;html&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;head&amp;amp;gt;&amp;amp;lt;title&amp;amp;gt;Demo of VLC mozilla plugin&amp;amp;lt;/title&amp;amp;gt;&amp;amp;lt;/head&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;body&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;h1&amp;amp;gt;Demo of VLC mozilla plugin - Example 2&amp;amp;lt;/h1&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;embed type=&amp;quot;application/x-vlc-plugin&amp;quot;&lt;br /&gt;
          name=&amp;quot;video2&amp;quot;&lt;br /&gt;
          autoplay=&amp;quot;no&amp;quot; loop=&amp;quot;no&amp;quot; hidden=&amp;quot;yes&amp;quot;&lt;br /&gt;
          target=&amp;quot;udp:@239.255.12.42&amp;quot; /&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;br /&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video2.play()&#039;&amp;amp;gt;Play video2&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video2.stop()&#039;&amp;amp;gt;Stop video2&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video2.fullscreen()&#039;&amp;amp;gt;Fullscreen&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;/body&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/html&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Building HTML pages for Mozilla/Firefox/Internet Explorer/Safari (VLC version 0.8.6 and above)==&lt;br /&gt;
&lt;br /&gt;
The following description works for any of the browsers VLC supports. The JavaScript API has been unified between Mozilla/Firefox/IE (ActiveX) and Safari, thus targetting at all of the major OS out there. This is only valid for VLC version 0.8.6 and above.&lt;br /&gt;
&lt;br /&gt;
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&lt;br /&gt;
plugin.&lt;br /&gt;
&lt;br /&gt;
The vlc plugin exports serveral objects that can be accessed for setting and getting information. When used improperly the API&#039;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.&lt;br /&gt;
&lt;br /&gt;
The vlc plugin knows the following objects:&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;audio&#039;&#039;&#039;: Access audio properties.&lt;br /&gt;
*&#039;&#039;&#039;input&#039;&#039;&#039;: Access input properties.&lt;br /&gt;
*&#039;&#039;&#039;playlist&#039;&#039;&#039;: Access playlist properties.&lt;br /&gt;
*&#039;&#039;&#039;video&#039;&#039;&#039;: Access video properties.&lt;br /&gt;
*&#039;&#039;&#039;log&#039;&#039;&#039;: Access log properties.&lt;br /&gt;
*&#039;&#039;&#039;messages&#039;&#039;&#039;: Access to log message properties.&lt;br /&gt;
*&#039;&#039;&#039;iterator&#039;&#039;&#039;: Access to log iterator properties.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;html&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;title&amp;amp;gt;VLC Mozilla plugin test page&amp;amp;lt;/title&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;body&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;embed type=&amp;quot;application/x-vlc-plugin&amp;quot; pluginspage=&amp;quot;http://www.videolan.org&amp;quot; version=&amp;quot;VideoLAN.VLCPlugin.2&amp;quot;&lt;br /&gt;
     width=&amp;quot;640&amp;quot;&lt;br /&gt;
     height=&amp;quot;480&amp;quot;&lt;br /&gt;
     id=&amp;quot;vlc&amp;quot;&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/embed&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;script language=&amp;quot;Javascript&amp;quot;&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;!--&lt;br /&gt;
 var vlc = document.getElementById(&amp;quot;vlc&amp;quot;);&lt;br /&gt;
 vlc.audio.toggleMute();&lt;br /&gt;
 !--&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/script&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/body&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/html&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Root object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;VersionInfo&#039;&#039;&#039;: returns version information string&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;vlc.versionInfo()&#039;&#039;&#039;: returns version information string (same as VersionInfo)&lt;br /&gt;
&lt;br /&gt;
====Audio object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.audio.mute&#039;&#039;&#039;: boolean value to mute and ummute the audio&lt;br /&gt;
*&#039;&#039;&#039;vlc.audio.volume&#039;&#039;&#039;: a value between [0-200] which indicates a percentage of the volume.&lt;br /&gt;
*&#039;&#039;&#039;vlc.audio.track&#039;&#039;&#039;: (supported in vlc version &amp;gt; 0.8.6) a value between [1-65535] which indicates the audio track to play or that is playing. a value of 0 means the audio is/will be disabled.&lt;br /&gt;
*&#039;&#039;&#039;vlc.audio.channel&#039;&#039;&#039;: (supported in vlc version &amp;gt; 0.8.6) integer value between [1-5] that indicates which audio channel mode is used, values can be: &amp;quot;1=stereo&amp;quot;, &amp;quot;2=reverse stereo&amp;quot;, &amp;quot;3=left&amp;quot;, &amp;quot;4=right&amp;quot;, &amp;quot;5=dolby&amp;quot;. Use vlc.audio.channel to check if setting of the audio channel mode has succeeded.&lt;br /&gt;
&lt;br /&gt;
 Audio Channel:&lt;br /&gt;
 &amp;lt;SELECT readonly onChange=&#039;doAudioChannel(this.value)&#039;&amp;gt;&lt;br /&gt;
    &amp;lt;OPTION value=1&amp;gt;Stereo&amp;lt;/OPTION&amp;gt;&lt;br /&gt;
    &amp;lt;OPTION value=2&amp;gt;Reverse stereo&amp;lt;/OPTION&amp;gt;&lt;br /&gt;
    &amp;lt;OPTION value=3&amp;gt;Left&amp;lt;/OPTION&amp;gt;&lt;br /&gt;
    &amp;lt;OPTION value=4&amp;gt;Right&amp;lt;/OPTION&amp;gt;&lt;br /&gt;
    &amp;lt;OPTION value=5&amp;gt;Dolby&amp;lt;/OPTION&amp;gt;&lt;br /&gt;
 &amp;lt;/SELECT&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;SCRIPT language=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;amp;lt;!--&lt;br /&gt;
 function doAudioChannel(value)&lt;br /&gt;
 {&lt;br /&gt;
    var vlc = getVLC(&amp;quot;vlc&amp;quot;);&lt;br /&gt;
    vlc.audio.channel = parseInt(value);&lt;br /&gt;
    alert(vlc.audio.channel);&lt;br /&gt;
 };&lt;br /&gt;
 --&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;vlc.audio.toggleMute()&#039;&#039;&#039;: boolean toggle that mutes and unmutes the audio based upon the previous state&lt;br /&gt;
&lt;br /&gt;
====Input object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.length&#039;&#039;&#039;: length of the input file in number of milliseconds. 0 is returned for &#039;live&#039; streams or clips whose length cannot be determined by VLC&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.fps&#039;&#039;&#039;: frames per second returned as a float (typically 60.0, 50.0, 23.976, etc...)&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.hasVout&#039;&#039;&#039;: a boolean that returns true when the video is being displayed, it returns false when video is not displayed&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.position&#039;&#039;&#039;: normalized position in multimedia stream item given as a float value between [0.0 - 1.0]&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.time&#039;&#039;&#039;: the absolute position in time given in milliseconds, this property can be used to seek through the stream&lt;br /&gt;
 &amp;amp;lt;!-- absolute seek in stream !--&amp;amp;gt;&lt;br /&gt;
 vlc.input.time = &amp;amp;lt;absolute seek&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;!-- relative seek in stream !--&amp;amp;gt;&lt;br /&gt;
 vlc.input.time = vlc.input.time + &amp;amp;lt;relative seek&amp;amp;gt;&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.state&#039;&#039;&#039;: current state of the input chain given as enumeration (IDLE/CLOSE=0, OPENING=1, BUFFERING=2, PLAYING=3, PAUSED=4, STOPPING=5, FORWARD=6, BACKWARD=7, ENDED=8, ERROR=9). &#039;&#039;&#039;Note that FORWARD and BACKWARD states are deprecated and will be removed in version 1.0.&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.rate&#039;&#039;&#039;: input speed given as float (1.0 for normal speed, 0.5 for half speed, 2.0 for twice as fast, etc.)&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Playlist object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.itemCount&#039;&#039;&#039;: number that returns the amount of items currently in the playlist (&#039;&#039;&#039;deprecated&#039;&#039;&#039;, do not use, see [[#Playlist_items_object| Playlist items]])&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.isPlaying&#039;&#039;&#039;: a boolean that returns true if the current playlist item is playing and false when it is not playing&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.items&#039;&#039;&#039;: return the playlist items collection, see [[#Playlist_items_object| Playlist items]]&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.add(mrl)&#039;&#039;&#039;: add a playlist item as [[MRL]]. The MRL must be given as a string. Returns a number as an item identifier in playlist (this is not a position  in playlist).&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.add(mrl,name,options)&#039;&#039;&#039;: add a playlist item as MRL, with metaname &#039;name&#039; and options &#039;options&#039;. options are text arguments which can be provided either as a single string containing space separated values, akin to VLC command line, or as an array of string values. Returns a number as an item identifier in playlist (this is not a position in playlist).&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.play()&#039;&#039;&#039;: start playing the current playlist item&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.playItem(number)&#039;&#039;&#039;: start playing the item whose identifier is number&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.togglePause()&#039;&#039;&#039;: toggle the pause state for the current playlist item&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.stop()&#039;&#039;&#039;: stop playing the current playlist item&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.next()&#039;&#039;&#039;: iterate to the next playlist item&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.prev()&#039;&#039;&#039;: iterate to the previous playlist item&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.clear()&#039;&#039;&#039;: empty the current playlist, all items will be deleted from the playlist (&#039;&#039;&#039;deprecated&#039;&#039;&#039;, do not use, see [[#Playlist_items_object| Playlist items]])&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.removeItem(number)&#039;&#039;&#039;: remove the item from playlist whose identifier is number &amp;lt;!-- (note: this number isn&#039;t the position in the playlist, but the number given by vlc.playlist.add() ) --&amp;gt; (&#039;&#039;&#039;deprecated&#039;&#039;&#039;, do not use, see [[#Playlist_items_object| Playlist items]])&lt;br /&gt;
&lt;br /&gt;
====Playlist items object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.items.count&#039;&#039;&#039;: number of items currently in the playlist&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.items.clear()&#039;&#039;&#039;: empty the current playlist, all items will be deleted from the playlist. If a movie is playing, it stop. Note that when this method returns, playlist may not have been entirely been cleared as this operation is performed asynchronously; use the &#039;&#039;count&#039;&#039; property to verify/wait until the playlist is empty.&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.items.remove(number)&#039;&#039;&#039;: remove the item whose identifier is number from playlist. (note: this number isn&#039;t the position in the playlist, but the number given by vlc.playlist.add() )&lt;br /&gt;
&lt;br /&gt;
====Video object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.width&#039;&#039;&#039;: returns the horizontal size of the video&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.height&#039;&#039;&#039;: returns the vertical size of the video&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.fullscreen&#039;&#039;&#039;: 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.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.aspectRatio&#039;&#039;&#039;: get and set the aspect ratio to use in the video screen. The property takes a string as input value. Typical values are: &amp;quot;1:1&amp;quot;, &amp;quot;4:3&amp;quot;, &amp;quot;16:9&amp;quot;, &amp;quot;16:10&amp;quot;, &amp;quot;221:100&amp;quot; and &amp;quot;5:4&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.subtitle&#039;&#039;&#039;: (supported in vlc version &amp;gt; 0.8.6a) get and set the subtitle track to show on the video screen. The property takes an integer as input value [1..65535]. If subtitle track is set to 0, the subtitles will be disabled. If set to a value outside the current subtitle tracks range, then it will return -1 and display an error message.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.teletext&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 0.9.0) get and set teletext page to show on the video stream. This will only work if a teletext elementary stream is available in the video stream. The property takes an integer as input value [0..999] for indicating the teletext page to view, setting the value to 0 means hide teletext. On error it will return -1 and display an error message.&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.toggleFullscreen()&#039;&#039;&#039;: toggle the fullscreen mode based on the previous setting&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.toggleTeletext()&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 0.9.0) toggle the teletext page to overlay transparent or not, based on the previous setting&lt;br /&gt;
&lt;br /&gt;
====Log object====&lt;br /&gt;
&lt;br /&gt;
this object allows accessing VLC main message logging queue. Typically this queue capacity is very small (no nore than 256 entries) and can easily overflow, therefore messages should be read and cleared as often as possible.&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.log.messages&#039;&#039;&#039;: returns the message collection, see [[Messages object]]&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.log.verbosity&#039;&#039;&#039;: write number [-1,0,1,2,3] for changing the verbosity level of the log messages; messages whose verbosity is higher than set will be not be logged in the queue. The numbers have the following meaning: -1 disable, 0 info, 1 error, 2 warning, 3 debug. &lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Messages object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;messages.count&#039;&#039;&#039;: returns number of messages in the log&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;messages.clear()&#039;&#039;&#039;: clear the current log buffer. It should be called as frequently as possible to not overflow the message queue. Call this method after the log messages of interest are read.&lt;br /&gt;
*&#039;&#039;&#039;messages.iterator()&#039;&#039;&#039;: creates and returns an iterator object, used to iterate over the messages in the log. &#039;&#039;&#039;Don&#039;t clear the log buffer while holding an iterator object.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Messages Iterator object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;iterator.hasNext&#039;&#039;&#039;: returns a boolean that indicates whether &#039;&#039;vlc.log.messages.next()&#039;&#039; will return the next message.&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;iterator.next()&#039;&#039;&#039;: returns the next message object in the log, see [[Message object]]&lt;br /&gt;
&lt;br /&gt;
====Message object====&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;message.severity&#039;&#039;&#039;: number that indicates the severity of the log message (0 = info, 1 = error, 2 = warning, 3 = debug)&lt;br /&gt;
*&#039;&#039;&#039;message.name&#039;&#039;&#039;: name of VLC module that printed the log message (e.g: main, http, directx, etc...)&lt;br /&gt;
*&#039;&#039;&#039;message.type&#039;&#039;&#039;: type of VLC module that printed the log message (eg: input, access, vout, sout, etc...)&lt;br /&gt;
*&#039;&#039;&#039;message.message&#039;&#039;&#039;: the message text&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Documentation}}&lt;/div&gt;</summary>
		<author><name>Jpsaman</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=Documentation:Advanced_Use_of_VLC&amp;diff=12743</id>
		<title>Documentation:Advanced Use of VLC</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=Documentation:Advanced_Use_of_VLC&amp;diff=12743"/>
		<updated>2008-11-20T14:39:04Z</updated>

		<summary type="html">&lt;p&gt;Jpsaman: /* Input object */ flag removal of unused states FORWARD/BACKWARD&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{RightMenu|documentation play howto toc}}&lt;br /&gt;
&lt;br /&gt;
==Use the command line==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;TODO: completely outdated&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
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&#039;t need or want a GUI. Here is the complete description of VLC&#039;s command line and how to use it.&lt;br /&gt;
&lt;br /&gt;
You need to be quite comfortable with command line usage to use this.&lt;br /&gt;
&lt;br /&gt;
 Note: Windows users have to use the &#039;&#039;--option-name=&amp;quot;value&amp;quot;&#039;&#039; syntax instead of the &#039;&#039;--option-name value&#039;&#039; syntax.&lt;br /&gt;
&lt;br /&gt;
===Getting help===&lt;br /&gt;
&lt;br /&gt;
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, ...&lt;br /&gt;
&lt;br /&gt;
This chapter will only describe the &amp;quot;general&amp;quot; options, i.e. the core options. Each module adds new options. For example, the HTTP input module will add options for caching, proxy, authentication, ...&lt;br /&gt;
&lt;br /&gt;
By using &#039;&#039;&#039;vlc --help&#039;&#039;&#039;, you will get the basic core options. &#039;&#039;&#039;vlc --longhelp&#039;&#039;&#039; will give all the basic options (core + modules). Adding &#039;&#039;&#039;--advanced&#039;&#039;&#039; will give the &amp;quot;advanced options&amp;quot; (for advanced users). So &#039;&#039;&#039;vlc --longhelp --advanced&#039;&#039;&#039; will give you all options. You can also append &#039;&#039;&#039;--help-verbose&#039;&#039;&#039; if you want more detailed help.&lt;br /&gt;
&lt;br /&gt;
Also, you might want to get debug informations. To do this, use &#039;&#039;&#039;-v&#039;&#039;&#039; or &#039;&#039;&#039;-vv&#039;&#039;&#039; (this will show lower severity messages). If your console supports it, you can add &#039;&#039;&#039;--color to get messages in color.&lt;br /&gt;
&lt;br /&gt;
===Opening streams===&lt;br /&gt;
&lt;br /&gt;
The following commands start VLC and start reading the given element(s)&lt;br /&gt;
&lt;br /&gt;
====Opening a file====&lt;br /&gt;
&lt;br /&gt;
Start VLC with:&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc my_file&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
VLC should be able to recognize the file type. If it does not, you can force demultiplexer and decoder (see below).&lt;br /&gt;
&lt;br /&gt;
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].&lt;br /&gt;
&lt;br /&gt;
====Opening a DVD or VCD, or an audio CD====&lt;br /&gt;
&lt;br /&gt;
Start VLC with:&lt;br /&gt;
&lt;br /&gt;
For a DVD with menus:&lt;br /&gt;
 % &#039;&#039;&#039;vlc dvd://[device][@raw_device][@[title][:[chapter][:angle]]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
In most cases, &#039;&#039;&#039;vlc dvd://&#039;&#039;&#039; or &#039;&#039;&#039;vlc dvd://[device]&#039;&#039;&#039; will do. [device] is for example &#039;&#039;&#039;/dev/dvd&#039;&#039;&#039; on GNU/Linux or &#039;&#039;&#039;D:&#039;&#039;&#039; on Windows (complete path to your DVD drive).&lt;br /&gt;
&lt;br /&gt;
or&lt;br /&gt;
&lt;br /&gt;
(DVD without menus):&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc dvdsimple://[device][@raw_device][@[title][:[chapter][:angle]]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
or&lt;br /&gt;
&lt;br /&gt;
(VCD):&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc vcd://[device][@{E|P|E|T|S}[number]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
or&lt;br /&gt;
&lt;br /&gt;
(Audio CD):&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc cdda://[device][@[track]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Receiving a network stream====&lt;br /&gt;
&lt;br /&gt;
To receive an unicast UDP stream (sent by VLS or VLC&#039;s stream output), start VLC with:&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc  udp:[@:server_port]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If you use the default port (1234), &#039;&#039;&#039;vlc udp:&#039;&#039;&#039; will do. For more information, look at the Streaming Howto.&lt;br /&gt;
&lt;br /&gt;
To receive an multicast UDP stream (sent by VLS or VLC&#039;s stream output), start VLC with:&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc udp:@multicast_address[:server_port]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
To receive a SSM (source specific multicast) stream, you can use:&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc udp:server_address@multicast_address[:server_port]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This only works on OSs that support SSM (Windows XP and recent Linux kernels).&lt;br /&gt;
&lt;br /&gt;
To receive a HTTP stream, start VLC with:&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc http://www.example.org/your_file.mpg&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
To receive a RTSP stream, start VLC with:&amp;lt;/para&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc rtsp://www.example.org/your_stream&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Modules selection===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--intf  &amp;lt;module&amp;gt;&#039;&#039;&#039; allows you to select the interface module.&lt;br /&gt;
*&#039;&#039;&#039;--extraintf  &amp;lt;module&amp;gt;&#039;&#039;&#039; allows you to select extra interface modules that will be launched in addition to the main one. This is mainly useful for special &#039;&#039;control&#039;&#039; interfaces, like HTTP, RC (Remote Control), ... (see below)&lt;br /&gt;
*&#039;&#039;&#039;--aout  &amp;lt;module&amp;gt;&#039;&#039;&#039; allows you to select the audio output module.&lt;br /&gt;
*&#039;&#039;&#039;--vout  &amp;lt;module&amp;gt;&#039;&#039;&#039; allows you to select the video output module.&lt;br /&gt;
*&#039;&#039;&#039;--memcpy  &amp;lt;module&amp;gt;&#039;&#039;&#039; allows you to choose a memory copy module. You should probably never touch that.&lt;br /&gt;
&lt;br /&gt;
You can get a listing of the available modules by using &#039;&#039;&#039;vlc -l&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Stream Output===&lt;br /&gt;
&lt;br /&gt;
The Stream output system allows vlc to become a streaming server.&lt;br /&gt;
&lt;br /&gt;
For more details on the stream output system, please have a look at the [[Documentation:Streaming HowTo|Streaming HowTo]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Other Options===&lt;br /&gt;
&lt;br /&gt;
====Audio options====&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--noaudio&#039;&#039;&#039; disables audio output.&lt;br /&gt;
*&#039;&#039;&#039;--mono&#039;&#039;&#039; forces VLC to treat the stream in mono audio.&lt;br /&gt;
*&#039;&#039;&#039;--volume &amp;lt;integer&amp;gt;&#039;&#039;&#039; sets the level of audio output (between 0 and 1024).&lt;br /&gt;
*&#039;&#039;&#039;--aout-rate &amp;lt;integer&amp;gt;&#039;&#039;&#039; sets the audio output frequency (Hz). By default, VLC will try to autodetect this.&lt;br /&gt;
*&#039;&#039;&#039;--desync &amp;lt;integer&amp;gt;&#039;&#039;&#039; compensates desynchronization of audio (ms). (If audio and video streams are not synchronized, use this setting to delay the audio stream)&lt;br /&gt;
*&#039;&#039;&#039;--audio-filter &amp;lt;string&amp;gt;&#039;&#039;&#039; 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)&lt;br /&gt;
&lt;br /&gt;
====Video options====&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--novideo&#039;&#039;&#039; disables video output.&lt;br /&gt;
*&#039;&#039;&#039;--greyscale&#039;&#039;&#039; turns video output into grayscale mode.&lt;br /&gt;
*&#039;&#039;&#039;--fullscreen&#039;&#039;&#039; ( or &#039;&#039;&#039;-f&#039;&#039;&#039;) sets fullscreen video.&lt;br /&gt;
*&#039;&#039;&#039;--nooverlay&#039;&#039;&#039; disables hardware acceleration for the video output.&lt;br /&gt;
*&#039;&#039;&#039;--width, --height &amp;lt;integer&amp;gt;&#039;&#039;&#039; sets the video window dimensions. By default, the video window size will be adjusted to match the video dimensions.&lt;br /&gt;
*&#039;&#039;&#039;--zoom &amp;lt;float&amp;gt;&#039;&#039;&#039; adds a zoom factor.&lt;br /&gt;
*&#039;&#039;&#039;--aspect-ratio &amp;lt;mode&amp;gt;&#039;&#039;&#039; forces source aspect ratio. Modes are 4x3, 16x9, ...&lt;br /&gt;
*&#039;&#039;&#039;--spumargin  &amp;lt;integer&amp;gt;&#039;&#039;&#039; forces SPU subtitles postion.&lt;br /&gt;
*&#039;&#039;&#039;--filter &amp;lt;string&amp;gt;&#039;&#039;&#039; adds video filters to the processing chain. You can add several filters, separated by commas&lt;br /&gt;
*&#039;&#039;&#039;--sub-filter &amp;lt;string&amp;gt;&#039;&#039;&#039; adds video subpictures filter to the processing chain.&lt;br /&gt;
&lt;br /&gt;
====Playlist options====&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--random&#039;&#039;&#039; plays files randomly forever.&lt;br /&gt;
*&#039;&#039;&#039;--loop&#039;&#039;&#039; loops playlist on end.&lt;br /&gt;
*&#039;&#039;&#039;--repeat&#039;&#039;&#039; repeats current item until another item is forced&lt;br /&gt;
*&#039;&#039;&#039;--play-and-stop&#039;&#039;&#039; stops the playlist after each played item.&lt;br /&gt;
&lt;br /&gt;
====Network options====&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--server-port &amp;lt;integer&amp;gt;&#039;&#039;&#039; sets server port.&lt;br /&gt;
*&#039;&#039;&#039;--iface  &amp;lt;string&amp;gt;&#039;&#039;&#039; specifies the network interface to use.&lt;br /&gt;
*&#039;&#039;&#039;--iface-addr  &amp;lt;string&amp;gt;&#039;&#039;&#039; specifies your network interface IP address.&lt;br /&gt;
*&#039;&#039;&#039;--mtu  &amp;lt;integer&amp;gt;&#039;&#039;&#039; specifies the MTU of the network interface.&lt;br /&gt;
*&#039;&#039;&#039;--ipv6&#039;&#039;&#039; forces IPv6.&lt;br /&gt;
*&#039;&#039;&#039;--ipv4&#039;&#039;&#039; forces IPv4.&lt;br /&gt;
&lt;br /&gt;
====CPU options====&lt;br /&gt;
&lt;br /&gt;
You should probably not touch these options unless you know what you are doing.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--nommx&#039;&#039;&#039; disables the use of MMX CPU extensions.&lt;br /&gt;
*&#039;&#039;&#039;--no3dn&#039;&#039;&#039; disables the use of 3D Now! CPU extensions.&lt;br /&gt;
*&#039;&#039;&#039;--nommxext&#039;&#039;&#039; disables the use of MMX Ext CPU extensions.&lt;br /&gt;
*&#039;&#039;&#039;--nosse&#039;&#039;&#039; disables the use of SSE CPU extensions.&lt;br /&gt;
*&#039;&#039;&#039;--noaltivec&#039;&#039;&#039; disables the use of Altivec CPU extensions.&lt;br /&gt;
&lt;br /&gt;
====Miscellaneous options====&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--quiet&#039;&#039;&#039;  deactivates all console messages.&lt;br /&gt;
*&#039;&#039;&#039;--color&#039;&#039;&#039; displays color messages.&lt;br /&gt;
*&#039;&#039;&#039;--search-path  &amp;lt;string&amp;gt;&#039;&#039;&#039; specifies interface default search path.&lt;br /&gt;
*&#039;&#039;&#039;--plugin-path  &amp;lt;string&amp;gt;&#039;&#039;&#039; specifies plugin search path.&lt;br /&gt;
*&#039;&#039;&#039;--no-plugins-cache&#039;&#039;&#039; disables the plugin cache (plugins cache speeds up startup)&lt;br /&gt;
*&#039;&#039;&#039;--dvd  &amp;lt;string&amp;gt;&#039;&#039;&#039; specifies the default DVD device.&lt;br /&gt;
*&#039;&#039;&#039;--vcd  &amp;lt;string&amp;gt;&#039;&#039;&#039; specifies the default VCD device.&lt;br /&gt;
*&#039;&#039;&#039;--program  &amp;lt;integer&amp;gt;&#039;&#039;&#039; specifies program (SID) (for streams with several programs, like satellite ones).&lt;br /&gt;
*&#039;&#039;&#039;--audio-type  &amp;lt;integer&amp;gt;&#039;&#039;&#039; specifies the default audio type to use with dvds.&lt;br /&gt;
*&#039;&#039;&#039;--audio-channel  &amp;lt;integer&amp;gt;&#039;&#039;&#039; specifies the default audio channel to use with dvds.&lt;br /&gt;
*&#039;&#039;&#039;--spu-channel  &amp;lt;integer&amp;gt;&#039;&#039;&#039; specifies the default subtitle channel to use with dvds.&lt;br /&gt;
*&#039;&#039;&#039;--version&#039;&#039;&#039; gives you information about the current VLC version.&lt;br /&gt;
*&#039;&#039;&#039;--module  &amp;lt;module&amp;gt; &#039;&#039;&#039; displays help about specified module. (Shortcut: &#039;&#039;&#039;-p&#039;&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
===Item-specific options===&lt;br /&gt;
&lt;br /&gt;
There are many options that are related to items (like &#039;&#039;&#039;--novideo&#039;&#039;&#039;, &#039;&#039;&#039;--codec&#039;&#039;&#039;, &#039;&#039;&#039;--fullscreen&#039;&#039;&#039;).&lt;br /&gt;
&lt;br /&gt;
For all of these, you have the possibility to make them item-specific, using &amp;quot;:&amp;quot; instead of &amp;quot;--&amp;quot; and putting the option just after the concerned item.&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc file1.mpg :fullscreen file2.mpg&#039;&#039;&#039;&lt;br /&gt;
will play file1.mpg in fullscreen mode and file2.mpg in the default mode (which is generally no fullscreen), whereas&lt;br /&gt;
 % &#039;&#039;&#039;vlc --fullscreen file1.mpg file2.mpg&#039;&#039;&#039;&lt;br /&gt;
will play both files in fullscreen mode&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc --fullscreen file1.mpg :sub-file=file1.srt :no-fullscreen file2.mpg :filter=distort&#039;&#039;&#039;&lt;br /&gt;
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)&lt;br /&gt;
&lt;br /&gt;
==Advanced use of filters==&lt;br /&gt;
&lt;br /&gt;
===Filters===&lt;br /&gt;
&lt;br /&gt;
These are the old style VLC filters. They only apply to on screen display and thus cannot be streamed.&lt;br /&gt;
&lt;br /&gt;
====Deinterlacing video filter====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;deinterlace&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--deinterlace-mode {discard,blend,mean,bob,linear}&#039;&#039;&#039; choose a deinterlacing mode.&lt;br /&gt;
&lt;br /&gt;
====Invert video filter====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;invert&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Image properties filter====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;adjust&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--contrast &amp;lt;float&amp;gt;&#039;&#039;&#039; Image contrast in the 0-2 range.&lt;br /&gt;
*&#039;&#039;&#039;--brightness &amp;lt;float&amp;gt;&#039;&#039;&#039; Image brightness in the 0-2 range.&lt;br /&gt;
*&#039;&#039;&#039;--hue &amp;lt;integer&amp;gt;&#039;&#039;&#039; Image hue in the 0-360 range.&lt;br /&gt;
*&#039;&#039;&#039;--saturation &amp;lt;float&amp;gt;&#039;&#039;&#039; Image saturation in the 0-3 range.&lt;br /&gt;
*&#039;&#039;&#039;-gamma &amp;lt;float&amp;gt;&#039;&#039;&#039; Image gamma in the 0-10 range.&lt;br /&gt;
&lt;br /&gt;
====Wall video filter====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;wall&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This filter splits the output in several windows.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--wall-cols &amp;lt;integer&amp;gt;&#039;&#039;&#039; Number of columns.&lt;br /&gt;
*&#039;&#039;&#039;--wall-rows &amp;lt;integer&amp;gt;&#039;&#039;&#039; Number of rows.&lt;br /&gt;
*&#039;&#039;&#039;--wall-active &amp;lt;string&amp;gt;&#039;&#039;&#039; Select the windows you want to display. To select windows 2 and 4 you would write &#039;&#039;&#039;--wall-active 2,4&#039;&#039;&#039;. When this option isn&#039;t specified, all windows are displayed.&lt;br /&gt;
&lt;br /&gt;
====Video transformation filter====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;transform&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--transform-type {90,180,270,hflip,vflip}&#039;&#039;&#039; Select rotation angle or symmetry.&lt;br /&gt;
&lt;br /&gt;
====Distort video filter====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;distort&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Clone video filter====&lt;br /&gt;
&lt;br /&gt;
This filter clones the output window.&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;clone&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--clone-count &amp;lt;integer&amp;gt;&#039;&#039;&#039; Number of clones.&lt;br /&gt;
*&#039;&#039;&#039;--clone-vout-list &amp;lt;string&amp;gt;&#039;&#039;&#039; Comma separated string of video output modules.&lt;br /&gt;
&lt;br /&gt;
====Crop video filter====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;crop&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--crop-geometry &amp;lt;string&amp;gt;&#039;&#039;&#039; Set the geometry of the zone to crop. This is set as &amp;lt;width&amp;gt; x &amp;lt;height&amp;gt; + &amp;lt;left offset&amp;gt; + &amp;lt;top offset&amp;gt;.&lt;br /&gt;
*&#039;&#039;&#039;--autocrop&#039;&#039;&#039; Enable automatic black border cropping.&lt;br /&gt;
&lt;br /&gt;
====Motion blur filter====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;motionblur&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;blur-factor &amp;lt;integer&amp;gt;&#039;&#039;&#039; Blur factor in the 1-127 range.&lt;br /&gt;
&lt;br /&gt;
====Video pictures blending====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;blend&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Video scaling filter====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;scale&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Subpictures Filters===&lt;br /&gt;
&lt;br /&gt;
These are the new VLC filters. They can be streamed.&lt;br /&gt;
&lt;br /&gt;
====Time display sub filter====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;time&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--time-format &amp;lt;string&amp;gt;&#039;&#039;&#039; Time format string. You can use the following special characters %Y = year, %m = month, %d = day, %H = hour, %M = minute, %S = second.&lt;br /&gt;
*&#039;&#039;&#039;--time-x &amp;lt;integer&amp;gt;&#039;&#039;&#039; X offset from the left in pixels.&lt;br /&gt;
*&#039;&#039;&#039;--time-y &amp;lt;integer&amp;gt;&#039;&#039;&#039; Y offset from the top in pixels.&lt;br /&gt;
&lt;br /&gt;
====Marquee display sub filter====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;marq&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--marq-marquee &amp;lt;string&amp;gt;&#039;&#039;&#039; Marquee text to display.&lt;br /&gt;
*&#039;&#039;&#039;--marq-x &amp;lt;integer&amp;gt;&#039;&#039;&#039; X offset from the left in pixels.&lt;br /&gt;
*&#039;&#039;&#039;--marq-y &amp;lt;integer&amp;gt;&#039;&#039;&#039; Y offset from the top in pixels.&lt;br /&gt;
*&#039;&#039;&#039;--marq-timeout &amp;lt;timeout&amp;gt;&#039;&#039;&#039; Defines the time the marquee must remain displayed in milliseconds. Default value is 0 (remain forever).&lt;br /&gt;
&lt;br /&gt;
====Logo video filter====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;logo&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This filter can be used both as an old style filter or a subpictures filter.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--logo-file &amp;lt;string&amp;gt;&#039;&#039;&#039; Full path of the PNG file to use.&lt;br /&gt;
*&#039;&#039;&#039;--logo-x &amp;lt;integer&amp;gt;&#039;&#039;&#039; X offset from the left in pixels.&lt;br /&gt;
*&#039;&#039;&#039;--logo-y &amp;lt;integer&amp;gt;&#039;&#039;&#039; Y offset from the top in pixels.&lt;br /&gt;
*&#039;&#039;&#039;--logo-transparency &amp;lt;integer&amp;gt;&#039;&#039;&#039; You can set the logo transparency value here (from 0 for full transparency to 255 for full opacity).&lt;br /&gt;
&lt;br /&gt;
Note: You can move the logo by left-clicking on it.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==The HTTP interface==&lt;br /&gt;
&lt;br /&gt;
VLC ships with a little HTTP server integrated. It is used both to stream using HTTP, and for the HTTP remote control interface.&lt;br /&gt;
&lt;br /&gt;
To start VLC with the HTTP interface, use:&lt;br /&gt;
 % &#039;&#039;&#039;vlc -I http [--http-src /directory/] [--http-host host:port]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If you want to have both the &amp;quot;normal&amp;quot; interface and the HTTP interface, use &#039;&#039;&#039;vlc --extraintf http&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
The HTTP interface will start listening at host:port (&amp;lt;all interfaces&amp;gt;:8080 if omitted), and will reproduce the structure of /directory at http://host:port/ ( vlc_source_path/share/http if omitted ).&lt;br /&gt;
&lt;br /&gt;
Use a browser to go to http://your_host_machine:port. You should be taken to the main page.&lt;br /&gt;
&lt;br /&gt;
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]].&lt;br /&gt;
&lt;br /&gt;
Available pages are:&lt;br /&gt;
* &#039;&#039;&#039;list was obsolete&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Other control interfaces==&lt;br /&gt;
&lt;br /&gt;
VLC includes a number of so-called interfaces that are not really 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 &#039;&#039;&#039;-I&#039;&#039;&#039; or &#039;&#039;&#039;--extraintf&#039;&#039;&#039; on the command line.&lt;br /&gt;
&lt;br /&gt;
===Hotkeys===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Hotkeys can be hacked by:&lt;br /&gt;
 % &#039;&#039;&#039;vlc --key-&amp;lt;function&amp;gt; &amp;amp;lt;code&amp;amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Code is composed by modifiers keys (Alt, Shift, Ctrl, Meta,Command) separated by a dash (-) and terminated by a key (a...z, +, =, -, &#039;,&#039;, +, &amp;amp;lt;, &amp;amp;gt;, `, /, ;, &#039;, \, [, ], *, 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 &#039;&#039;&#039;--longhelp&#039;&#039;&#039; option for full list of functions).&lt;br /&gt;
For example, for binding fullscreen to Ctrl-f, run:&lt;br /&gt;
 % &#039;&#039;&#039;vlc --key-fullscreen &#039;Ctrl-f&#039; &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===RC and RTCI===&lt;br /&gt;
&lt;br /&gt;
These two interfaces allow you to control VLC from a command shell (possibly using a remote connexion or a Unix socket).&lt;br /&gt;
&lt;br /&gt;
Start VLC with &#039;&#039;&#039;-I rc&#039;&#039;&#039; or &#039;&#039;&#039;--extraintf rc&#039;&#039;&#039;. When you get the &#039;&#039;&#039;Remote control interface initialized, `h&#039; for help&#039;&#039;&#039; message, press h and Enter to get help about available commands.&lt;br /&gt;
&lt;br /&gt;
To be able to remote connect to your VLC using a TCP socket (telnet-like connexion), use &#039;&#039;&#039;--rc-host your_host:port&#039;&#039;&#039;. Then, by connecting (using telnet or netcat) to the host on the given port, you will get the command shell.&lt;br /&gt;
&lt;br /&gt;
To use a UNIX socket (local socket, this does not work for Windows), use &#039;&#039;&#039;--rc-unix /path/to/socket&#039;&#039;&#039;. Commands can then be passed using this UNIX socket.&lt;br /&gt;
&lt;br /&gt;
The RTCI interface gives you more advanced options, such as marquee control for the marquee subpicture filter (See filter section).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Ncurses===&lt;br /&gt;
&lt;br /&gt;
This is a text interface, using ncurses library.&lt;br /&gt;
&lt;br /&gt;
Start VLC with &#039;&#039;&#039;-I ncurses&#039;&#039;&#039; or &#039;&#039;&#039;--extraintf ncurses&#039;&#039;&#039;. You will then get something like that:&lt;br /&gt;
&lt;br /&gt;
http://www.videolan.org/doc/play-howto/en/images/play-howto/intf-ncurses-playlist.jpg The ncurses interface&lt;br /&gt;
&lt;br /&gt;
Press h to get the list of all available commands, with a short description.&lt;br /&gt;
&lt;br /&gt;
There is also a filebrowser available for the ncurses interface in order to add playlist items. Press &#039;B&#039; to use it.&lt;br /&gt;
&lt;br /&gt;
http://www.videolan.org/doc/play-howto/en/images/play-howto/intf-ncurses-filebrowser.jpg The ncurses filebrowser&lt;br /&gt;
&lt;br /&gt;
You can set the filebrowser starting point by launching vlc with the &#039;&#039;&#039;--browse-dir&#039;&#039;&#039; option:&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc -I ncurses --browse-dir /filebrowser/starting/point/&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Gestures===&lt;br /&gt;
&lt;br /&gt;
Gestures provide a simple mouse gestures control. TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==The Mozilla plugin==&lt;br /&gt;
&lt;br /&gt;
VLC can also be embedded in a web browser! The following browsers are supported [http://www.mozilla.org/ Mozilla], [http://www.mozilla.org/products/firefox/ Firefox] and [http://www.apple.com/macosx/features/safari Safari].&lt;br /&gt;
&lt;br /&gt;
===Install the plugin===&lt;br /&gt;
&lt;br /&gt;
====GNU/Linux Debian====&lt;br /&gt;
&lt;br /&gt;
Install the &#039;&#039;mozilla-plugin-vlc&#039;&#039; package:&lt;br /&gt;
&lt;br /&gt;
 # &#039;&#039;&#039;apt-get update&#039;&#039;&#039;&lt;br /&gt;
 # &#039;&#039;&#039;apt-get install mozilla-plugin-vlc&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Windows====&lt;br /&gt;
&lt;br /&gt;
Quit Firefox or Mozilla.&lt;br /&gt;
&lt;br /&gt;
Copy the two files in &#039;&#039;&#039;VLC_Installation_folder\mozilla&#039;&#039;&#039; (usually &#039;&#039;&#039;C:\Program Files\VideoLAN\VLC\mozilla&#039;&#039;&#039;) to your mozilla plugins directory (Usually &#039;&#039;&#039;C:\Program Files\Mozilla\plugins&#039;&#039;&#039; or &#039;&#039;&#039;C:\Program Files\Mozilla&lt;br /&gt;
Firefox\plugins&#039;&#039;&#039;).&lt;br /&gt;
&lt;br /&gt;
Restart Firefox or Mozilla.&lt;br /&gt;
&lt;br /&gt;
====MacOS X====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;The Mozilla/Safari plugin for MacOS X is only available from vlc version 0.8.5.1 and onwards.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Quit Safari browser.&lt;br /&gt;
&lt;br /&gt;
Download the Mozilla/safari plugin package from [http://www.videolan.org/vlc/download-macosx.html MacOS X download page].&lt;br /&gt;
&lt;br /&gt;
Run the installer from the dmg image.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Compile the sources yourself====&lt;br /&gt;
&lt;br /&gt;
Please look at the [http://developers.videolan.org developers page] for information on how to do this.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Use the mozilla plugin===&lt;br /&gt;
&lt;br /&gt;
If you open a link to a video file handled by the VLC plugin (To get the list of handled types, browse to &#039;&#039;&#039;about:plugins&#039;&#039;&#039;) or a page with an embedded video, the plugin should open and read the&lt;br /&gt;
video.&lt;br /&gt;
&lt;br /&gt;
===Build HTML pages that use the plugin (VLC version up to 0.8.5)===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;WARNING:&#039;&#039;&#039; the APIs described in this section are &#039;&#039;&#039;deprecated&#039;&#039;&#039;, do not use, &lt;br /&gt;
&lt;br /&gt;
The following API description is only valid uptill version 0.8.5 of the mozilla plugin.&lt;br /&gt;
&lt;br /&gt;
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&lt;br /&gt;
plugin.&lt;br /&gt;
&lt;br /&gt;
The vlc plugin supports the following function calls:&lt;br /&gt;
*&#039;&#039;&#039;play()&#039;&#039;&#039;: Start playing media in the plugin.&lt;br /&gt;
*&#039;&#039;&#039;pause()&#039;&#039;&#039;: Pause playback.&lt;br /&gt;
*&#039;&#039;&#039;stop()&#039;&#039;&#039;: Stop media playback.&lt;br /&gt;
*&#039;&#039;&#039;fullscreen()&#039;&#039;&#039;: Switch the video to full screen.&lt;br /&gt;
*&#039;&#039;&#039;set_volume(vol)&#039;&#039;&#039;: Set the volume. &#039;&#039;&#039;vol&#039;&#039;&#039; has to be an int in the 0-200 range.&lt;br /&gt;
*&#039;&#039;&#039;get_volume()&#039;&#039;&#039;: Get the current volume setting.&lt;br /&gt;
*&#039;&#039;&#039;mute()&#039;&#039;&#039;: Toggle volume muting.&lt;br /&gt;
*&#039;&#039;&#039;set_int_variable(var_name, value)&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;set_bool_variable(var_name, value)&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;set_str_variable(var_name, value)&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;get_int_variable(var_name)&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;get_bool_variable(var_name)&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;get_str_variable(var_name)&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;clear_playlist()&#039;&#039;&#039;: Clear the playlist.&lt;br /&gt;
*&#039;&#039;&#039;add_item(mrl)&#039;&#039;&#039;: Append an item whose location is given by the [[media resource locator]] to the playlist.&lt;br /&gt;
*&#039;&#039;&#039;next()&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;previous()&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;isplaying()&#039;&#039;&#039;: return true if the plugin is playing something.&lt;br /&gt;
*&#039;&#039;&#039;get_length()&#039;&#039;&#039;: Get the media&#039;s length in seconds.&lt;br /&gt;
*&#039;&#039;&#039;get_position()&#039;&#039;&#039;: Get the current position in the media in percent.&lt;br /&gt;
*&#039;&#039;&#039;get_time()&#039;&#039;&#039;: Get the current position in the media in seconds.&lt;br /&gt;
*&#039;&#039;&#039;seek(seconds,is_relative)&#039;&#039;&#039;: If is_relative is true, seek relatively to current time, else seek from beginning of the stream. Seek time is specified in seconds.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Here are a few examples of HTML pages that use the&lt;br /&gt;
Mozilla plugin.&lt;br /&gt;
&lt;br /&gt;
====Example 1====&lt;br /&gt;
&lt;br /&gt;
In this example, the plugin will read an HTTP stream inside the web page. If the user goes fullscreen, he will have to press &#039;&#039;f&#039;&#039; or double-click on the video to go back in normal view.&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;html&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;head&amp;amp;gt;&amp;amp;lt;title&amp;amp;gt;Demo of VLC mozilla plugin&amp;amp;lt;/title&amp;amp;gt;&amp;amp;lt;/head&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;body&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;h1&amp;amp;gt;Demo of VLC mozilla plugin - Example 1&amp;amp;lt;/h1&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;embed type=&amp;quot;application/x-vlc-plugin&amp;quot;&lt;br /&gt;
          name=&amp;quot;video1&amp;quot;&lt;br /&gt;
          autoplay=&amp;quot;no&amp;quot; loop=&amp;quot;yes&amp;quot; width=&amp;quot;400&amp;quot; height=&amp;quot;300&amp;quot;&lt;br /&gt;
          target=&amp;quot;http://server.example.org/video1.vob&amp;quot; /&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;br /&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video1.play()&#039;&amp;amp;gt;Play video1&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video1.pause()&#039;&amp;amp;gt;Pause video1&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video1.stop()&#039;&amp;amp;gt;Stop video1&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video1.fullscreen()&#039;&amp;amp;gt;Fullscreen&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;/body&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/html&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Example 2====&lt;br /&gt;
&lt;br /&gt;
In this example, the plugin will read a multicast UDP stream in a dedicated video output window.&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;html&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;head&amp;amp;gt;&amp;amp;lt;title&amp;amp;gt;Demo of VLC mozilla plugin&amp;amp;lt;/title&amp;amp;gt;&amp;amp;lt;/head&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;body&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;h1&amp;amp;gt;Demo of VLC mozilla plugin - Example 2&amp;amp;lt;/h1&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;embed type=&amp;quot;application/x-vlc-plugin&amp;quot;&lt;br /&gt;
          name=&amp;quot;video2&amp;quot;&lt;br /&gt;
          autoplay=&amp;quot;no&amp;quot; loop=&amp;quot;no&amp;quot; hidden=&amp;quot;yes&amp;quot;&lt;br /&gt;
          target=&amp;quot;udp:@239.255.12.42&amp;quot; /&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;br /&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video2.play()&#039;&amp;amp;gt;Play video2&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video2.stop()&#039;&amp;amp;gt;Stop video2&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video2.fullscreen()&#039;&amp;amp;gt;Fullscreen&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;/body&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/html&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Building HTML pages for Mozilla/Firefox/Internet Explorer/Safari (VLC version 0.8.6 and above)==&lt;br /&gt;
&lt;br /&gt;
The following description works for any of the browsers VLC supports. The JavaScript API has been unified between Mozilla/Firefox/IE (ActiveX) and Safari, thus targetting at all of the major OS out there. This is only valid for VLC version 0.8.6 and above.&lt;br /&gt;
&lt;br /&gt;
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&lt;br /&gt;
plugin.&lt;br /&gt;
&lt;br /&gt;
The vlc plugin exports serveral objects that can be accessed for setting and getting information. When used improperly the API&#039;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.&lt;br /&gt;
&lt;br /&gt;
The vlc plugin knows the following objects:&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;audio&#039;&#039;&#039;: Access audio properties.&lt;br /&gt;
*&#039;&#039;&#039;input&#039;&#039;&#039;: Access input properties.&lt;br /&gt;
*&#039;&#039;&#039;playlist&#039;&#039;&#039;: Access playlist properties.&lt;br /&gt;
*&#039;&#039;&#039;video&#039;&#039;&#039;: Access video properties.&lt;br /&gt;
*&#039;&#039;&#039;log&#039;&#039;&#039;: Access log properties.&lt;br /&gt;
*&#039;&#039;&#039;messages&#039;&#039;&#039;: Access to log message properties.&lt;br /&gt;
*&#039;&#039;&#039;iterator&#039;&#039;&#039;: Access to log iterator properties.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;html&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;title&amp;amp;gt;VLC Mozilla plugin test page&amp;amp;lt;/title&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;body&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;embed type=&amp;quot;application/x-vlc-plugin&amp;quot; pluginspage=&amp;quot;http://www.videolan.org&amp;quot; version=&amp;quot;VideoLAN.VLCPlugin.2&amp;quot;&lt;br /&gt;
     width=&amp;quot;640&amp;quot;&lt;br /&gt;
     height=&amp;quot;480&amp;quot;&lt;br /&gt;
     id=&amp;quot;vlc&amp;quot;&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/embed&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;script language=&amp;quot;Javascript&amp;quot;&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;!--&lt;br /&gt;
 var vlc = document.getElementById(&amp;quot;vlc&amp;quot;);&lt;br /&gt;
 vlc.audio.toggleMute();&lt;br /&gt;
 !--&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/script&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/body&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/html&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Root object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;VersionInfo&#039;&#039;&#039;: returns version information string&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;vlc.versionInfo()&#039;&#039;&#039;: returns version information string (same as VersionInfo)&lt;br /&gt;
&lt;br /&gt;
====Audio object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.audio.mute&#039;&#039;&#039;: boolean value to mute and ummute the audio&lt;br /&gt;
*&#039;&#039;&#039;vlc.audio.volume&#039;&#039;&#039;: a value between [0-200] which indicates a percentage of the volume.&lt;br /&gt;
*&#039;&#039;&#039;vlc.audio.track&#039;&#039;&#039;: (supported in vlc version &amp;gt; 0.8.6) a value between [1-65535] which indicates the audio track to play or that is playing. a value of 0 means the audio is/will be disabled.&lt;br /&gt;
*&#039;&#039;&#039;vlc.audio.channel&#039;&#039;&#039;: (supported in vlc version &amp;gt; 0.8.6) integer value between [1-5] that indicates which audio channel mode is used, values can be: &amp;quot;1=stereo&amp;quot;, &amp;quot;2=reverse stereo&amp;quot;, &amp;quot;3=left&amp;quot;, &amp;quot;4=right&amp;quot;, &amp;quot;5=dolby&amp;quot;. Use vlc.audio.channel to check if setting of the audio channel mode has succeeded.&lt;br /&gt;
&lt;br /&gt;
 Audio Channel:&lt;br /&gt;
 &amp;lt;SELECT readonly onChange=&#039;doAudioChannel(this.value)&#039;&amp;gt;&lt;br /&gt;
    &amp;lt;OPTION value=1&amp;gt;Stereo&amp;lt;/OPTION&amp;gt;&lt;br /&gt;
    &amp;lt;OPTION value=2&amp;gt;Reverse stereo&amp;lt;/OPTION&amp;gt;&lt;br /&gt;
    &amp;lt;OPTION value=3&amp;gt;Left&amp;lt;/OPTION&amp;gt;&lt;br /&gt;
    &amp;lt;OPTION value=4&amp;gt;Right&amp;lt;/OPTION&amp;gt;&lt;br /&gt;
    &amp;lt;OPTION value=5&amp;gt;Dolby&amp;lt;/OPTION&amp;gt;&lt;br /&gt;
 &amp;lt;/SELECT&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;SCRIPT language=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;amp;lt;!--&lt;br /&gt;
 function doAudioChannel(value)&lt;br /&gt;
 {&lt;br /&gt;
    var vlc = getVLC(&amp;quot;vlc&amp;quot;);&lt;br /&gt;
    vlc.audio.channel = parseInt(value);&lt;br /&gt;
    alert(vlc.audio.channel);&lt;br /&gt;
 };&lt;br /&gt;
 --&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;vlc.audio.toggleMute()&#039;&#039;&#039;: boolean toggle that mutes and unmutes the audio based upon the previous state&lt;br /&gt;
&lt;br /&gt;
====Input object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.length&#039;&#039;&#039;: length of the input file in number of milliseconds. 0 is returned for &#039;live&#039; streams or clips whose length cannot be determined by VLC&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.fps&#039;&#039;&#039;: frames per second returned as a float (typically 60.0, 50.0, 23.976, etc...)&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.hasVout&#039;&#039;&#039;: a boolean that returns true when the video is being displayed, it returns false when video is not displayed&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.position&#039;&#039;&#039;: normalized position in multimedia stream item given as a float value between [0.0 - 1.0]&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.time&#039;&#039;&#039;: the absolute position in time given in milliseconds, this property can be used to seek through the stream&lt;br /&gt;
 &amp;amp;lt;!-- absolute seek in stream !--&amp;amp;gt;&lt;br /&gt;
 vlc.input.time = &amp;amp;lt;absolute seek&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;!-- relative seek in stream !--&amp;amp;gt;&lt;br /&gt;
 vlc.input.time = vlc.input.time + &amp;amp;lt;relative seek&amp;amp;gt;&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.state&#039;&#039;&#039;: current state of the input chain given as enumeration (IDLE/CLOSE=0, OPENING=1, BUFFERING=2, PLAYING=3, PAUSED=4, STOPPING=5, FORWARD=6, BACKWARD=7, ENDED=8, ERROR=9). &#039;&#039;&#039;Note that FORWARD and BACKWARD states are currently reserved and will be removed in version 1.0.&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.rate&#039;&#039;&#039;: input speed given as float (1.0 for normal speed, 0.5 for half speed, 2.0 for twice as fast, etc.)&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Playlist object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.itemCount&#039;&#039;&#039;: number that returns the amount of items currently in the playlist (&#039;&#039;&#039;deprecated&#039;&#039;&#039;, do not use, see [[#Playlist_items_object| Playlist items]])&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.isPlaying&#039;&#039;&#039;: a boolean that returns true if the current playlist item is playing and false when it is not playing&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.items&#039;&#039;&#039;: return the playlist items collection, see [[#Playlist_items_object| Playlist items]]&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.add(mrl)&#039;&#039;&#039;: add a playlist item as [[MRL]]. The MRL must be given as a string. Returns a number as an item identifier in playlist (this is not a position  in playlist).&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.add(mrl,name,options)&#039;&#039;&#039;: add a playlist item as MRL, with metaname &#039;name&#039; and options &#039;options&#039;. options are text arguments which can be provided either as a single string containing space separated values, akin to VLC command line, or as an array of string values. Returns a number as an item identifier in playlist (this is not a position in playlist).&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.play()&#039;&#039;&#039;: start playing the current playlist item&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.playItem(number)&#039;&#039;&#039;: start playing the item whose identifier is number&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.togglePause()&#039;&#039;&#039;: toggle the pause state for the current playlist item&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.stop()&#039;&#039;&#039;: stop playing the current playlist item&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.next()&#039;&#039;&#039;: iterate to the next playlist item&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.prev()&#039;&#039;&#039;: iterate to the previous playlist item&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.clear()&#039;&#039;&#039;: empty the current playlist, all items will be deleted from the playlist (&#039;&#039;&#039;deprecated&#039;&#039;&#039;, do not use, see [[#Playlist_items_object| Playlist items]])&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.removeItem(number)&#039;&#039;&#039;: remove the item from playlist whose identifier is number &amp;lt;!-- (note: this number isn&#039;t the position in the playlist, but the number given by vlc.playlist.add() ) --&amp;gt; (&#039;&#039;&#039;deprecated&#039;&#039;&#039;, do not use, see [[#Playlist_items_object| Playlist items]])&lt;br /&gt;
&lt;br /&gt;
====Playlist items object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.items.count&#039;&#039;&#039;: number of items currently in the playlist&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.items.clear()&#039;&#039;&#039;: empty the current playlist, all items will be deleted from the playlist. If a movie is playing, it stop. Note that when this method returns, playlist may not have been entirely been cleared as this operation is performed asynchronously; use the &#039;&#039;count&#039;&#039; property to verify/wait until the playlist is empty.&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.items.remove(number)&#039;&#039;&#039;: remove the item whose identifier is number from playlist. (note: this number isn&#039;t the position in the playlist, but the number given by vlc.playlist.add() )&lt;br /&gt;
&lt;br /&gt;
====Video object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.width&#039;&#039;&#039;: returns the horizontal size of the video&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.height&#039;&#039;&#039;: returns the vertical size of the video&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.fullscreen&#039;&#039;&#039;: 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.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.aspectRatio&#039;&#039;&#039;: get and set the aspect ratio to use in the video screen. The property takes a string as input value. Typical values are: &amp;quot;1:1&amp;quot;, &amp;quot;4:3&amp;quot;, &amp;quot;16:9&amp;quot;, &amp;quot;16:10&amp;quot;, &amp;quot;221:100&amp;quot; and &amp;quot;5:4&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.subtitle&#039;&#039;&#039;: (supported in vlc version &amp;gt; 0.8.6a) get and set the subtitle track to show on the video screen. The property takes an integer as input value [1..65535]. If subtitle track is set to 0, the subtitles will be disabled. If set to a value outside the current subtitle tracks range, then it will return -1 and display an error message.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.teletext&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 0.9.0) get and set teletext page to show on the video stream. This will only work if a teletext elementary stream is available in the video stream. The property takes an integer as input value [0..999] for indicating the teletext page to view, setting the value to 0 means hide teletext. On error it will return -1 and display an error message.&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.toggleFullscreen()&#039;&#039;&#039;: toggle the fullscreen mode based on the previous setting&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.toggleTeletext()&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 0.9.0) toggle the teletext page to overlay transparent or not, based on the previous setting&lt;br /&gt;
&lt;br /&gt;
====Log object====&lt;br /&gt;
&lt;br /&gt;
this object allows accessing VLC main message logging queue. Typically this queue capacity is very small (no nore than 256 entries) and can easily overflow, therefore messages should be read and cleared as often as possible.&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.log.messages&#039;&#039;&#039;: returns the message collection, see [[Messages object]]&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.log.verbosity&#039;&#039;&#039;: write number [-1,0,1,2,3] for changing the verbosity level of the log messages; messages whose verbosity is higher than set will be not be logged in the queue. The numbers have the following meaning: -1 disable, 0 info, 1 error, 2 warning, 3 debug. &lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Messages object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;messages.count&#039;&#039;&#039;: returns number of messages in the log&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;messages.clear()&#039;&#039;&#039;: clear the current log buffer. It should be called as frequently as possible to not overflow the message queue. Call this method after the log messages of interest are read.&lt;br /&gt;
*&#039;&#039;&#039;messages.iterator()&#039;&#039;&#039;: creates and returns an iterator object, used to iterate over the messages in the log. &#039;&#039;&#039;Don&#039;t clear the log buffer while holding an iterator object.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Messages Iterator object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;iterator.hasNext&#039;&#039;&#039;: returns a boolean that indicates whether &#039;&#039;vlc.log.messages.next()&#039;&#039; will return the next message.&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;iterator.next()&#039;&#039;&#039;: returns the next message object in the log, see [[Message object]]&lt;br /&gt;
&lt;br /&gt;
====Message object====&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;message.severity&#039;&#039;&#039;: number that indicates the severity of the log message (0 = info, 1 = error, 2 = warning, 3 = debug)&lt;br /&gt;
*&#039;&#039;&#039;message.name&#039;&#039;&#039;: name of VLC module that printed the log message (e.g: main, http, directx, etc...)&lt;br /&gt;
*&#039;&#039;&#039;message.type&#039;&#039;&#039;: type of VLC module that printed the log message (eg: input, access, vout, sout, etc...)&lt;br /&gt;
*&#039;&#039;&#039;message.message&#039;&#039;&#039;: the message text&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Documentation}}&lt;/div&gt;</summary>
		<author><name>Jpsaman</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=Documentation:Advanced_Use_of_VLC&amp;diff=11878</id>
		<title>Documentation:Advanced Use of VLC</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=Documentation:Advanced_Use_of_VLC&amp;diff=11878"/>
		<updated>2008-06-15T12:23:48Z</updated>

		<summary type="html">&lt;p&gt;Jpsaman: /* Input object */ Typo&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{RightMenu|documentation play howto toc}}&lt;br /&gt;
&lt;br /&gt;
==Use the command line==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;TODO: completely outdated&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
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&#039;t need or want a GUI. Here is the complete description of VLC&#039;s command line and how to use it.&lt;br /&gt;
&lt;br /&gt;
You need to be quite comfortable with command line usage to use this.&lt;br /&gt;
&lt;br /&gt;
 Note: Windows users have to use the &#039;&#039;--option-name=&amp;quot;value&amp;quot;&#039;&#039; syntax instead of the &#039;&#039;--option-name value&#039;&#039; syntax.&lt;br /&gt;
&lt;br /&gt;
===Getting help===&lt;br /&gt;
&lt;br /&gt;
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, ...&lt;br /&gt;
&lt;br /&gt;
This chapter will only describe the &amp;quot;general&amp;quot; options, i.e. the core options. Each module adds new options. For example, the HTTP input module will add options for caching, proxy, authentication, ...&lt;br /&gt;
&lt;br /&gt;
By using &#039;&#039;&#039;vlc --help&#039;&#039;&#039;, you will get the basic core options. &#039;&#039;&#039;vlc --longhelp&#039;&#039;&#039; will give all the basic options (core + modules). Adding &#039;&#039;&#039;--advanced&#039;&#039;&#039; will give the &amp;quot;advanced options&amp;quot; (for advanced users). So &#039;&#039;&#039;vlc --longhelp --advanced&#039;&#039;&#039; will give you all options. You can also append &#039;&#039;&#039;--help-verbose&#039;&#039;&#039; if you want more detailed help.&lt;br /&gt;
&lt;br /&gt;
Also, you might want to get debug informations. To do this, use &#039;&#039;&#039;-v&#039;&#039;&#039; or &#039;&#039;&#039;-vv&#039;&#039;&#039; (this will show lower severity messages). If your console supports it, you can add &#039;&#039;&#039;--color to get messages in color.&lt;br /&gt;
&lt;br /&gt;
===Opening streams===&lt;br /&gt;
&lt;br /&gt;
The following commands start VLC and start reading the given element(s)&lt;br /&gt;
&lt;br /&gt;
====Opening a file====&lt;br /&gt;
&lt;br /&gt;
Start VLC with:&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc my_file&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
VLC should be able to recognize the file type. If it does not, you can force demultiplexer and decoder (see below).&lt;br /&gt;
&lt;br /&gt;
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].&lt;br /&gt;
&lt;br /&gt;
====Opening a DVD or VCD, or an audio CD====&lt;br /&gt;
&lt;br /&gt;
Start VLC with:&lt;br /&gt;
&lt;br /&gt;
For a DVD with menus:&lt;br /&gt;
 % &#039;&#039;&#039;vlc dvd://[device][@raw_device][@[title][:[chapter][:angle]]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
In most cases, &#039;&#039;&#039;vlc dvd://&#039;&#039;&#039; or &#039;&#039;&#039;vlc dvd://[device]&#039;&#039;&#039; will do. [device] is for example &#039;&#039;&#039;/dev/dvd&#039;&#039;&#039; on GNU/Linux or &#039;&#039;&#039;D:&#039;&#039;&#039; on Windows (complete path to your DVD drive).&lt;br /&gt;
&lt;br /&gt;
or&lt;br /&gt;
&lt;br /&gt;
(DVD without menus):&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc dvdsimple://[device][@raw_device][@[title][:[chapter][:angle]]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
or&lt;br /&gt;
&lt;br /&gt;
(VCD):&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc vcd://[device][@{E|P|E|T|S}[number]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
or&lt;br /&gt;
&lt;br /&gt;
(Audio CD):&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc cdda://[device][@[track]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Receiving a network stream====&lt;br /&gt;
&lt;br /&gt;
To receive an unicast UDP stream (sent by VLS or VLC&#039;s stream output), start VLC with:&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc  udp:[@:server_port]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If you use the default port (1234), &#039;&#039;&#039;vlc udp:&#039;&#039;&#039; will do. For more information, look at the Streaming Howto.&lt;br /&gt;
&lt;br /&gt;
To receive an multicast UDP stream (sent by VLS or VLC&#039;s stream output), start VLC with:&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc udp:@multicast_address[:server_port]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
To receive a SSM (source specific multicast) stream, you can use:&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc udp:server_address@multicast_address[:server_port]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This only works on OSs that support SSM (Windows XP and recent Linux kernels).&lt;br /&gt;
&lt;br /&gt;
To receive a HTTP stream, start VLC with:&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc http://www.example.org/your_file.mpg&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
To receive a RTSP stream, start VLC with:&amp;lt;/para&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc rtsp://www.example.org/your_stream&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Modules selection===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--intf  &amp;lt;module&amp;gt;&#039;&#039;&#039; allows you to select the interface module.&lt;br /&gt;
*&#039;&#039;&#039;--extraintf  &amp;lt;module&amp;gt;&#039;&#039;&#039; allows you to select extra interface modules that will be launched in addition to the main one. This is mainly useful for special &#039;&#039;control&#039;&#039; interfaces, like HTTP, RC (Remote Control), ... (see below)&lt;br /&gt;
*&#039;&#039;&#039;--aout  &amp;lt;module&amp;gt;&#039;&#039;&#039; allows you to select the audio output module.&lt;br /&gt;
*&#039;&#039;&#039;--vout  &amp;lt;module&amp;gt;&#039;&#039;&#039; allows you to select the video output module.&lt;br /&gt;
*&#039;&#039;&#039;--memcpy  &amp;lt;module&amp;gt;&#039;&#039;&#039; allows you to choose a memory copy module. You should probably never touch that.&lt;br /&gt;
&lt;br /&gt;
You can get a listing of the available modules by using &#039;&#039;&#039;vlc -l&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Stream Output===&lt;br /&gt;
&lt;br /&gt;
The Stream output system allows vlc to become a streaming server.&lt;br /&gt;
&lt;br /&gt;
For more details on the stream output system, please have a look at the [[Documentation:Streaming HowTo|Streaming HowTo]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Other Options===&lt;br /&gt;
&lt;br /&gt;
====Audio options====&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--noaudio&#039;&#039;&#039; disables audio output.&lt;br /&gt;
*&#039;&#039;&#039;--mono&#039;&#039;&#039; forces VLC to treat the stream in mono audio.&lt;br /&gt;
*&#039;&#039;&#039;--volume &amp;lt;integer&amp;gt;&#039;&#039;&#039; sets the level of audio output (between 0 and 1024).&lt;br /&gt;
*&#039;&#039;&#039;--aout-rate &amp;lt;integer&amp;gt;&#039;&#039;&#039; sets the audio output frequency (Hz). By default, VLC will try to autodetect this.&lt;br /&gt;
*&#039;&#039;&#039;--desync &amp;lt;integer&amp;gt;&#039;&#039;&#039; compensates desynchronization of audio (ms). (If audio and video streams are not synchronized, use this setting to delay the audio stream)&lt;br /&gt;
*&#039;&#039;&#039;--audio-filter &amp;lt;string&amp;gt;&#039;&#039;&#039; 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)&lt;br /&gt;
&lt;br /&gt;
====Video options====&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--novideo&#039;&#039;&#039; disables video output.&lt;br /&gt;
*&#039;&#039;&#039;--greyscale&#039;&#039;&#039; turns video output into grayscale mode.&lt;br /&gt;
*&#039;&#039;&#039;--fullscreen&#039;&#039;&#039; ( or &#039;&#039;&#039;-f&#039;&#039;&#039;) sets fullscreen video.&lt;br /&gt;
*&#039;&#039;&#039;--nooverlay&#039;&#039;&#039; disables hardware acceleration for the video output.&lt;br /&gt;
*&#039;&#039;&#039;--width, --height &amp;lt;integer&amp;gt;&#039;&#039;&#039; sets the video window dimensions. By default, the video window size will be adjusted to match the video dimensions.&lt;br /&gt;
*&#039;&#039;&#039;--zoom &amp;lt;float&amp;gt;&#039;&#039;&#039; adds a zoom factor.&lt;br /&gt;
*&#039;&#039;&#039;--aspect-ratio &amp;lt;mode&amp;gt;&#039;&#039;&#039; forces source aspect ratio. Modes are 4x3, 16x9, ...&lt;br /&gt;
*&#039;&#039;&#039;--spumargin  &amp;lt;integer&amp;gt;&#039;&#039;&#039; forces SPU subtitles postion.&lt;br /&gt;
*&#039;&#039;&#039;--filter &amp;lt;string&amp;gt;&#039;&#039;&#039; adds video filters to the processing chain. You can add several filters, separated by commas&lt;br /&gt;
*&#039;&#039;&#039;--sub-filter &amp;lt;string&amp;gt;&#039;&#039;&#039; adds video subpictures filter to the processing chain.&lt;br /&gt;
&lt;br /&gt;
====Playlist options====&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--random&#039;&#039;&#039; plays files randomly forever.&lt;br /&gt;
*&#039;&#039;&#039;--loop&#039;&#039;&#039; loops playlist on end.&lt;br /&gt;
*&#039;&#039;&#039;--repeat&#039;&#039;&#039; repeats current item until another item is forced&lt;br /&gt;
*&#039;&#039;&#039;--play-and-stop&#039;&#039;&#039; stops the playlist after each played item.&lt;br /&gt;
&lt;br /&gt;
====Network options====&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--server-port &amp;lt;integer&amp;gt;&#039;&#039;&#039; sets server port.&lt;br /&gt;
*&#039;&#039;&#039;--iface  &amp;lt;string&amp;gt;&#039;&#039;&#039; specifies the network interface to use.&lt;br /&gt;
*&#039;&#039;&#039;--iface-addr  &amp;lt;string&amp;gt;&#039;&#039;&#039; specifies your network interface IP address.&lt;br /&gt;
*&#039;&#039;&#039;--mtu  &amp;lt;integer&amp;gt;&#039;&#039;&#039; specifies the MTU of the network interface.&lt;br /&gt;
*&#039;&#039;&#039;--ipv6&#039;&#039;&#039; forces IPv6.&lt;br /&gt;
*&#039;&#039;&#039;--ipv4&#039;&#039;&#039; forces IPv4.&lt;br /&gt;
&lt;br /&gt;
====CPU options====&lt;br /&gt;
&lt;br /&gt;
You should probably not touch these options unless you know what you are doing.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--nommx&#039;&#039;&#039; disables the use of MMX CPU extensions.&lt;br /&gt;
*&#039;&#039;&#039;--no3dn&#039;&#039;&#039; disables the use of 3D Now! CPU extensions.&lt;br /&gt;
*&#039;&#039;&#039;--nommxext&#039;&#039;&#039; disables the use of MMX Ext CPU extensions.&lt;br /&gt;
*&#039;&#039;&#039;--nosse&#039;&#039;&#039; disables the use of SSE CPU extensions.&lt;br /&gt;
*&#039;&#039;&#039;--noaltivec&#039;&#039;&#039; disables the use of Altivec CPU extensions.&lt;br /&gt;
&lt;br /&gt;
====Miscellaneous options====&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--quiet&#039;&#039;&#039;  deactivates all console messages.&lt;br /&gt;
*&#039;&#039;&#039;--color&#039;&#039;&#039; displays color messages.&lt;br /&gt;
*&#039;&#039;&#039;--search-path  &amp;lt;string&amp;gt;&#039;&#039;&#039; specifies interface default search path.&lt;br /&gt;
*&#039;&#039;&#039;--plugin-path  &amp;lt;string&amp;gt;&#039;&#039;&#039; specifies plugin search path.&lt;br /&gt;
*&#039;&#039;&#039;--no-plugins-cache&#039;&#039;&#039; disables the plugin cache (plugins cache speeds up startup)&lt;br /&gt;
*&#039;&#039;&#039;--dvd  &amp;lt;string&amp;gt;&#039;&#039;&#039; specifies the default DVD device.&lt;br /&gt;
*&#039;&#039;&#039;--vcd  &amp;lt;string&amp;gt;&#039;&#039;&#039; specifies the default VCD device.&lt;br /&gt;
*&#039;&#039;&#039;--program  &amp;lt;integer&amp;gt;&#039;&#039;&#039; specifies program (SID) (for streams with several programs, like satellite ones).&lt;br /&gt;
*&#039;&#039;&#039;--audio-type  &amp;lt;integer&amp;gt;&#039;&#039;&#039; specifies the default audio type to use with dvds.&lt;br /&gt;
*&#039;&#039;&#039;--audio-channel  &amp;lt;integer&amp;gt;&#039;&#039;&#039; specifies the default audio channel to use with dvds.&lt;br /&gt;
*&#039;&#039;&#039;--spu-channel  &amp;lt;integer&amp;gt;&#039;&#039;&#039; specifies the default subtitle channel to use with dvds.&lt;br /&gt;
*&#039;&#039;&#039;--version&#039;&#039;&#039; gives you information about the current VLC version.&lt;br /&gt;
*&#039;&#039;&#039;--module  &amp;lt;module&amp;gt; &#039;&#039;&#039; displays help about specified module. (Shortcut: &#039;&#039;&#039;-p&#039;&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
===Item-specific options===&lt;br /&gt;
&lt;br /&gt;
There are many options that are related to items (like &#039;&#039;&#039;--novideo&#039;&#039;&#039;, &#039;&#039;&#039;--codec&#039;&#039;&#039;, &#039;&#039;&#039;--fullscreen&#039;&#039;&#039;).&lt;br /&gt;
&lt;br /&gt;
For all of these, you have the possibility to make them item-specific, using &amp;quot;:&amp;quot; instead of &amp;quot;--&amp;quot; and putting the option just after the concerned item.&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc file1.mpg :fullscreen file2.mpg&#039;&#039;&#039;&lt;br /&gt;
will play file1.mpg in fullscreen mode and file2.mpg in the default mode (which is generally no fullscreen), whereas&lt;br /&gt;
 % &#039;&#039;&#039;vlc --fullscreen file1.mpg file2.mpg&#039;&#039;&#039;&lt;br /&gt;
will play both files in fullscreen mode&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc --fullscreen file1.mpg :sub-file=file1.srt :no-fullscreen file2.mpg :filter=distort&#039;&#039;&#039;&lt;br /&gt;
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)&lt;br /&gt;
&lt;br /&gt;
==Advanced use of filters==&lt;br /&gt;
&lt;br /&gt;
===Filters===&lt;br /&gt;
&lt;br /&gt;
These are the old style VLC filters. They only apply to on screen display and thus cannot be streamed.&lt;br /&gt;
&lt;br /&gt;
====Deinterlacing video filter====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;deinterlace&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--deinterlace-mode {discard,blend,mean,bob,linear}&#039;&#039;&#039; choose a deinterlacing mode.&lt;br /&gt;
&lt;br /&gt;
====Invert video filter====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;invert&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Image properties filter====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;adjust&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--contrast &amp;lt;float&amp;gt;&#039;&#039;&#039; Image contrast in the 0-2 range.&lt;br /&gt;
*&#039;&#039;&#039;--brightness &amp;lt;float&amp;gt;&#039;&#039;&#039; Image brightness in the 0-2 range.&lt;br /&gt;
*&#039;&#039;&#039;--hue &amp;lt;integer&amp;gt;&#039;&#039;&#039; Image hue in the 0-360 range.&lt;br /&gt;
*&#039;&#039;&#039;--saturation &amp;lt;float&amp;gt;&#039;&#039;&#039; Image saturation in the 0-3 range.&lt;br /&gt;
*&#039;&#039;&#039;-gamma &amp;lt;float&amp;gt;&#039;&#039;&#039; Image gamma in the 0-10 range.&lt;br /&gt;
&lt;br /&gt;
====Wall video filter====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;wall&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This filter splits the output in several windows.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--wall-cols &amp;lt;integer&amp;gt;&#039;&#039;&#039; Number of columns.&lt;br /&gt;
*&#039;&#039;&#039;--wall-rows &amp;lt;integer&amp;gt;&#039;&#039;&#039; Number of rows.&lt;br /&gt;
*&#039;&#039;&#039;--wall-active &amp;lt;string&amp;gt;&#039;&#039;&#039; Select the windows you want to display. To select windows 2 and 4 you would write &#039;&#039;&#039;--wall-active 2,4&#039;&#039;&#039;. When this option isn&#039;t specified, all windows are displayed.&lt;br /&gt;
&lt;br /&gt;
====Video transformation filter====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;transform&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--transform-type {90,180,270,hflip,vflip}&#039;&#039;&#039; Select rotation angle or symmetry.&lt;br /&gt;
&lt;br /&gt;
====Distort video filter====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;distort&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Clone video filter====&lt;br /&gt;
&lt;br /&gt;
This filter clones the output window.&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;clone&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--clone-count &amp;lt;integer&amp;gt;&#039;&#039;&#039; Number of clones.&lt;br /&gt;
*&#039;&#039;&#039;--clone-vout-list &amp;lt;string&amp;gt;&#039;&#039;&#039; Comma separated string of video output modules.&lt;br /&gt;
&lt;br /&gt;
====Crop video filter====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;crop&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--crop-geometry &amp;lt;string&amp;gt;&#039;&#039;&#039; Set the geometry of the zone to crop. This is set as &amp;lt;width&amp;gt; x &amp;lt;height&amp;gt; + &amp;lt;left offset&amp;gt; + &amp;lt;top offset&amp;gt;.&lt;br /&gt;
*&#039;&#039;&#039;--autocrop&#039;&#039;&#039; Enable automatic black border cropping.&lt;br /&gt;
&lt;br /&gt;
====Motion blur filter====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;motionblur&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;blur-factor &amp;lt;integer&amp;gt;&#039;&#039;&#039; Blur factor in the 1-127 range.&lt;br /&gt;
&lt;br /&gt;
====Video pictures blending====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;blend&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Video scaling filter====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;scale&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Subpictures Filters===&lt;br /&gt;
&lt;br /&gt;
These are the new VLC filters. They can be streamed.&lt;br /&gt;
&lt;br /&gt;
====Time display sub filter====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;time&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--time-format &amp;lt;string&amp;gt;&#039;&#039;&#039; Time format string. You can use the following special characters %Y = year, %m = month, %d = day, %H = hour, %M = minute, %S = second.&lt;br /&gt;
*&#039;&#039;&#039;--time-x &amp;lt;integer&amp;gt;&#039;&#039;&#039; X offset from the left in pixels.&lt;br /&gt;
*&#039;&#039;&#039;--time-y &amp;lt;integer&amp;gt;&#039;&#039;&#039; Y offset from the top in pixels.&lt;br /&gt;
&lt;br /&gt;
====Marquee display sub filter====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;marq&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--marq-marquee &amp;lt;string&amp;gt;&#039;&#039;&#039; Marquee text to display.&lt;br /&gt;
*&#039;&#039;&#039;--marq-x &amp;lt;integer&amp;gt;&#039;&#039;&#039; X offset from the left in pixels.&lt;br /&gt;
*&#039;&#039;&#039;--marq-y &amp;lt;integer&amp;gt;&#039;&#039;&#039; Y offset from the top in pixels.&lt;br /&gt;
*&#039;&#039;&#039;--marq-timeout &amp;lt;timeout&amp;gt;&#039;&#039;&#039; Defines the time the marquee must remain displayed in milliseconds. Default value is 0 (remain forever).&lt;br /&gt;
&lt;br /&gt;
====Logo video filter====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;logo&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This filter can be used both as an old style filter or a subpictures filter.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--logo-file &amp;lt;string&amp;gt;&#039;&#039;&#039; Full path of the PNG file to use.&lt;br /&gt;
*&#039;&#039;&#039;--logo-x &amp;lt;integer&amp;gt;&#039;&#039;&#039; X offset from the left in pixels.&lt;br /&gt;
*&#039;&#039;&#039;--logo-y &amp;lt;integer&amp;gt;&#039;&#039;&#039; Y offset from the top in pixels.&lt;br /&gt;
*&#039;&#039;&#039;--logo-transparency &amp;lt;integer&amp;gt;&#039;&#039;&#039; You can set the logo transparency value here (from 0 for full transparency to 255 for full opacity).&lt;br /&gt;
&lt;br /&gt;
Note: You can move the logo by left-clicking on it.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==The HTTP interface==&lt;br /&gt;
&lt;br /&gt;
VLC ships with a little HTTP server integrated. It is used both to stream using HTTP, and for the HTTP remote control interface.&lt;br /&gt;
&lt;br /&gt;
To start VLC with the HTTP interface, use:&lt;br /&gt;
 % &#039;&#039;&#039;vlc -I http [--http-src /directory/] [--http-host host:port]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If you want to have both the &amp;quot;normal&amp;quot; interface and the HTTP interface, use &#039;&#039;&#039;vlc --extraintf http&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
The HTTP interface will start listening at host:port (&amp;lt;all interfaces&amp;gt;:8080 if omitted), and will reproduce the structure of /directory at http://host:port/ ( vlc_source_path/share/http if omitted ).&lt;br /&gt;
&lt;br /&gt;
Use a browser to go to http://your_host_machine:port. You should be taken to the main page.&lt;br /&gt;
&lt;br /&gt;
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]].&lt;br /&gt;
&lt;br /&gt;
Available pages are:&lt;br /&gt;
* &#039;&#039;&#039;list was obsolete&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Other control interfaces==&lt;br /&gt;
&lt;br /&gt;
VLC includes a number of so-called interfaces that are not really 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 &#039;&#039;&#039;-I&#039;&#039;&#039; or &#039;&#039;&#039;--extraintf&#039;&#039;&#039; on the command line.&lt;br /&gt;
&lt;br /&gt;
===Hotkeys===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Hotkeys can be hacked by:&lt;br /&gt;
 % &#039;&#039;&#039;vlc --key-&amp;lt;function&amp;gt; &amp;amp;lt;code&amp;amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Code is composed by modifiers keys (Alt, Shift, Ctrl, Meta,Command) separated by a dash (-) and terminated by a key (a...z, +, =, -, &#039;,&#039;, +, &amp;amp;lt;, &amp;amp;gt;, `, /, ;, &#039;, \, [, ], *, 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 &#039;&#039;&#039;--longhelp&#039;&#039;&#039; option for full list of functions).&lt;br /&gt;
For example, for binding fullscreen to Ctrl-f, run:&lt;br /&gt;
 % &#039;&#039;&#039;vlc --key-fullscreen &#039;Ctrl-f&#039; &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===RC and RTCI===&lt;br /&gt;
&lt;br /&gt;
These two interfaces allow you to control VLC from a command shell (possibly using a remote connexion or a Unix socket).&lt;br /&gt;
&lt;br /&gt;
Start VLC with &#039;&#039;&#039;-I rc&#039;&#039;&#039; or &#039;&#039;&#039;--extraintf rc&#039;&#039;&#039;. When you get the &#039;&#039;&#039;Remote control interface initialized, `h&#039; for help&#039;&#039;&#039; message, press h and Enter to get help about available commands.&lt;br /&gt;
&lt;br /&gt;
To be able to remote connect to your VLC using a TCP socket (telnet-like connexion), use &#039;&#039;&#039;--rc-host your_host:port&#039;&#039;&#039;. Then, by connecting (using telnet or netcat) to the host on the given port, you will get the command shell.&lt;br /&gt;
&lt;br /&gt;
To use a UNIX socket (local socket, this does not work for Windows), use &#039;&#039;&#039;--rc-unix /path/to/socket&#039;&#039;&#039;. Commands can then be passed using this UNIX socket.&lt;br /&gt;
&lt;br /&gt;
The RTCI interface gives you more advanced options, such as marquee control for the marquee subpicture filter (See filter section).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Ncurses===&lt;br /&gt;
&lt;br /&gt;
This is a text interface, using ncurses library.&lt;br /&gt;
&lt;br /&gt;
Start VLC with &#039;&#039;&#039;-I ncurses&#039;&#039;&#039; or &#039;&#039;&#039;--extraintf ncurses&#039;&#039;&#039;. You will then get something like that:&lt;br /&gt;
&lt;br /&gt;
http://www.videolan.org/doc/play-howto/en/images/play-howto/intf-ncurses-playlist.jpg The ncurses interface&lt;br /&gt;
&lt;br /&gt;
Press h to get the list of all available commands, with a short description.&lt;br /&gt;
&lt;br /&gt;
There is also a filebrowser available for the ncurses interface in order to add playlist items. Press &#039;B&#039; to use it.&lt;br /&gt;
&lt;br /&gt;
http://www.videolan.org/doc/play-howto/en/images/play-howto/intf-ncurses-filebrowser.jpg The ncurses filebrowser&lt;br /&gt;
&lt;br /&gt;
You can set the filebrowser starting point by launching vlc with the &#039;&#039;&#039;--browse-dir&#039;&#039;&#039; option:&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc -I ncurses --browse-dir /filebrowser/starting/point/&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Gestures===&lt;br /&gt;
&lt;br /&gt;
Gestures provide a simple mouse gestures control. TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==The Mozilla plugin==&lt;br /&gt;
&lt;br /&gt;
VLC can also be embedded in a web browser! The following browsers are supported [http://www.mozilla.org/ Mozilla], [http://www.mozilla.org/products/firefox/ Firefox] and [http://www.apple.com/macosx/features/safari Safari].&lt;br /&gt;
&lt;br /&gt;
===Install the plugin===&lt;br /&gt;
&lt;br /&gt;
====GNU/Linux Debian====&lt;br /&gt;
&lt;br /&gt;
Install the &#039;&#039;mozilla-plugin-vlc&#039;&#039; package:&lt;br /&gt;
&lt;br /&gt;
 # &#039;&#039;&#039;apt-get update&#039;&#039;&#039;&lt;br /&gt;
 # &#039;&#039;&#039;apt-get install mozilla-plugin-vlc&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Windows====&lt;br /&gt;
&lt;br /&gt;
Quit Firefox or Mozilla.&lt;br /&gt;
&lt;br /&gt;
Copy the two files in &#039;&#039;&#039;VLC_Installation_folder\mozilla&#039;&#039;&#039; (usually &#039;&#039;&#039;C:\Program Files\VideoLAN\VLC\mozilla&#039;&#039;&#039;) to your mozilla plugins directory (Usually &#039;&#039;&#039;C:\Program Files\Mozilla\plugins&#039;&#039;&#039; or &#039;&#039;&#039;C:\Program Files\Mozilla&lt;br /&gt;
Firefox\plugins&#039;&#039;&#039;).&lt;br /&gt;
&lt;br /&gt;
Restart Firefox or Mozilla.&lt;br /&gt;
&lt;br /&gt;
====MacOS X====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;The Mozilla/Safari plugin for MacOS X is only available from vlc version 0.8.5.1 and onwards.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Quit Safari browser.&lt;br /&gt;
&lt;br /&gt;
Download the Mozilla/safari plugin package from [http://www.videolan.org/vlc/download-macosx.html MacOS X download page].&lt;br /&gt;
&lt;br /&gt;
Run the installer from the dmg image.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Compile the sources yourself====&lt;br /&gt;
&lt;br /&gt;
Please look at the [http://developers.videolan.org developers page] for information on how to do this.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Use the mozilla plugin===&lt;br /&gt;
&lt;br /&gt;
If you open a link to a video file handled by the VLC plugin (To get the list of handled types, browse to &#039;&#039;&#039;about:plugins&#039;&#039;&#039;) or a page with an embedded video, the plugin should open and read the&lt;br /&gt;
video.&lt;br /&gt;
&lt;br /&gt;
===Build HTML pages that use the plugin (VLC version up to 0.8.5)===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;WARNING:&#039;&#039;&#039; the APIs described in this section are &#039;&#039;&#039;deprecated&#039;&#039;&#039;, do not use, &lt;br /&gt;
&lt;br /&gt;
The following API description is only valid uptill version 0.8.5 of the mozilla plugin.&lt;br /&gt;
&lt;br /&gt;
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&lt;br /&gt;
plugin.&lt;br /&gt;
&lt;br /&gt;
The vlc plugin supports the following function calls:&lt;br /&gt;
*&#039;&#039;&#039;play()&#039;&#039;&#039;: Start playing media in the plugin.&lt;br /&gt;
*&#039;&#039;&#039;pause()&#039;&#039;&#039;: Pause playback.&lt;br /&gt;
*&#039;&#039;&#039;stop()&#039;&#039;&#039;: Stop media playback.&lt;br /&gt;
*&#039;&#039;&#039;fullscreen()&#039;&#039;&#039;: Switch the video to full screen.&lt;br /&gt;
*&#039;&#039;&#039;set_volume(vol)&#039;&#039;&#039;: Set the volume. &#039;&#039;&#039;vol&#039;&#039;&#039; has to be an int in the 0-200 range.&lt;br /&gt;
*&#039;&#039;&#039;get_volume()&#039;&#039;&#039;: Get the current volume setting.&lt;br /&gt;
*&#039;&#039;&#039;mute()&#039;&#039;&#039;: Toggle volume muting.&lt;br /&gt;
*&#039;&#039;&#039;set_int_variable(var_name, value)&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;set_bool_variable(var_name, value)&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;set_str_variable(var_name, value)&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;get_int_variable(var_name)&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;get_bool_variable(var_name)&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;get_str_variable(var_name)&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;clear_playlist()&#039;&#039;&#039;: Clear the playlist.&lt;br /&gt;
*&#039;&#039;&#039;add_item(mrl)&#039;&#039;&#039;: Append an item whose location is given by the [[media resource locator]] to the playlist.&lt;br /&gt;
*&#039;&#039;&#039;next()&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;previous()&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;isplaying()&#039;&#039;&#039;: return true if the plugin is playing something.&lt;br /&gt;
*&#039;&#039;&#039;get_length()&#039;&#039;&#039;: Get the media&#039;s length in seconds.&lt;br /&gt;
*&#039;&#039;&#039;get_position()&#039;&#039;&#039;: Get the current position in the media in percent.&lt;br /&gt;
*&#039;&#039;&#039;get_time()&#039;&#039;&#039;: Get the current position in the media in seconds.&lt;br /&gt;
*&#039;&#039;&#039;seek(seconds,is_relative)&#039;&#039;&#039;: If is_relative is true, seek relatively to current time, else seek from beginning of the stream. Seek time is specified in seconds.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Here are a few examples of HTML pages that use the&lt;br /&gt;
Mozilla plugin.&lt;br /&gt;
&lt;br /&gt;
====Example 1====&lt;br /&gt;
&lt;br /&gt;
In this example, the plugin will read an HTTP stream inside the web page. If the user goes fullscreen, he will have to press &#039;&#039;f&#039;&#039; or double-click on the video to go back in normal view.&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;html&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;head&amp;amp;gt;&amp;amp;lt;title&amp;amp;gt;Demo of VLC mozilla plugin&amp;amp;lt;/title&amp;amp;gt;&amp;amp;lt;/head&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;body&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;h1&amp;amp;gt;Demo of VLC mozilla plugin - Example 1&amp;amp;lt;/h1&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;embed type=&amp;quot;application/x-vlc-plugin&amp;quot;&lt;br /&gt;
          name=&amp;quot;video1&amp;quot;&lt;br /&gt;
          autoplay=&amp;quot;no&amp;quot; loop=&amp;quot;yes&amp;quot; width=&amp;quot;400&amp;quot; height=&amp;quot;300&amp;quot;&lt;br /&gt;
          target=&amp;quot;http://server.example.org/video1.vob&amp;quot; /&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;br /&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video1.play()&#039;&amp;amp;gt;Play video1&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video1.pause()&#039;&amp;amp;gt;Pause video1&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video1.stop()&#039;&amp;amp;gt;Stop video1&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video1.fullscreen()&#039;&amp;amp;gt;Fullscreen&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;/body&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/html&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Example 2====&lt;br /&gt;
&lt;br /&gt;
In this example, the plugin will read a multicast UDP stream in a dedicated video output window.&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;html&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;head&amp;amp;gt;&amp;amp;lt;title&amp;amp;gt;Demo of VLC mozilla plugin&amp;amp;lt;/title&amp;amp;gt;&amp;amp;lt;/head&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;body&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;h1&amp;amp;gt;Demo of VLC mozilla plugin - Example 2&amp;amp;lt;/h1&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;embed type=&amp;quot;application/x-vlc-plugin&amp;quot;&lt;br /&gt;
          name=&amp;quot;video2&amp;quot;&lt;br /&gt;
          autoplay=&amp;quot;no&amp;quot; loop=&amp;quot;no&amp;quot; hidden=&amp;quot;yes&amp;quot;&lt;br /&gt;
          target=&amp;quot;udp:@239.255.12.42&amp;quot; /&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;br /&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video2.play()&#039;&amp;amp;gt;Play video2&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video2.stop()&#039;&amp;amp;gt;Stop video2&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video2.fullscreen()&#039;&amp;amp;gt;Fullscreen&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;/body&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/html&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Building HTML pages for Mozilla/Firefox/Internet Explorere/Safari (VLC version 0.8.6 and above)==&lt;br /&gt;
&lt;br /&gt;
The following description works for any of the browsers VLC supports. The JavaScript API has been unified between Mozilla/Firefox/IE (ActiveX) and Safari, thus targetting at all of the major OS out there. This is only valid for VLC version 0.8.6 and above.&lt;br /&gt;
&lt;br /&gt;
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&lt;br /&gt;
plugin.&lt;br /&gt;
&lt;br /&gt;
The vlc plugin exports serveral objects that can be accessed for setting and getting information. When used improperly the API&#039;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.&lt;br /&gt;
&lt;br /&gt;
The vlc plugin knows the following objects:&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;audio&#039;&#039;&#039;: Access audio properties.&lt;br /&gt;
*&#039;&#039;&#039;input&#039;&#039;&#039;: Access input properties.&lt;br /&gt;
*&#039;&#039;&#039;playlist&#039;&#039;&#039;: Access playlist properties.&lt;br /&gt;
*&#039;&#039;&#039;video&#039;&#039;&#039;: Access video properties.&lt;br /&gt;
*&#039;&#039;&#039;log&#039;&#039;&#039;: Access log properties.&lt;br /&gt;
*&#039;&#039;&#039;messages&#039;&#039;&#039;: Access to log message properties.&lt;br /&gt;
*&#039;&#039;&#039;iterator&#039;&#039;&#039;: Access to log iterator properties.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;html&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;title&amp;amp;gt;VLC Mozilla plugin test page&amp;amp;lt;/title&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;body&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;embed type=&amp;quot;application/x-vlc-plugin&amp;quot; pluginspage=&amp;quot;http://www.videolan.org&amp;quot; version=&amp;quot;VideoLAN.VLCPlugin.2&amp;quot;&lt;br /&gt;
     width=&amp;quot;640&amp;quot;&lt;br /&gt;
     height=&amp;quot;480&amp;quot;&lt;br /&gt;
     id=&amp;quot;vlc&amp;quot;&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/embed&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;script language=&amp;quot;Javascript&amp;quot;&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;!--&lt;br /&gt;
 var vlc = document.getElementById(&amp;quot;vlc&amp;quot;);&lt;br /&gt;
 vlc.audio.toggleMute();&lt;br /&gt;
 !--&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/script&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/body&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/html&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Root object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;VersionInfo&#039;&#039;&#039;: returns version information string&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;vlc.versionInfo()&#039;&#039;&#039;: returns version information string (same as VersionInfo)&lt;br /&gt;
&lt;br /&gt;
====Audio object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.audio.mute&#039;&#039;&#039;: boolean value to mute and ummute the audio&lt;br /&gt;
*&#039;&#039;&#039;vlc.audio.volume&#039;&#039;&#039;: a value between [0-200] which indicates a percentage of the volume.&lt;br /&gt;
*&#039;&#039;&#039;vlc.audio.track&#039;&#039;&#039;: (supported in vlc version &amp;gt; 0.8.6) a value between [1-65535] which indicates the audio track to play or that is playing. a value of 0 means the audio is/will be disabled.&lt;br /&gt;
*&#039;&#039;&#039;vlc.audio.channel&#039;&#039;&#039;: (supported in vlc version &amp;gt; 0.8.6) integer value between [1-5] that indicates which audio channel mode is used, values can be: &amp;quot;1=stereo&amp;quot;, &amp;quot;2=reverse stereo&amp;quot;, &amp;quot;3=left&amp;quot;, &amp;quot;4=right&amp;quot;, &amp;quot;5=dolby&amp;quot;. Use vlc.audio.channel to check if setting of the audio channel mode has succeeded.&lt;br /&gt;
&lt;br /&gt;
 Audio Channel:&lt;br /&gt;
 &amp;lt;SELECT readonly onChange=&#039;doAudioChannel(this.value)&#039;&amp;gt;&lt;br /&gt;
    &amp;lt;OPTION value=1&amp;gt;Stereo&amp;lt;/OPTION&amp;gt;&lt;br /&gt;
    &amp;lt;OPTION value=2&amp;gt;Reverse stereo&amp;lt;/OPTION&amp;gt;&lt;br /&gt;
    &amp;lt;OPTION value=3&amp;gt;Left&amp;lt;/OPTION&amp;gt;&lt;br /&gt;
    &amp;lt;OPTION value=4&amp;gt;Right&amp;lt;/OPTION&amp;gt;&lt;br /&gt;
    &amp;lt;OPTION value=5&amp;gt;Dolby&amp;lt;/OPTION&amp;gt;&lt;br /&gt;
 &amp;lt;/SELECT&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;SCRIPT language=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;amp;lt;!--&lt;br /&gt;
 function doAudioChannel(value)&lt;br /&gt;
 {&lt;br /&gt;
    var vlc = getVLC(&amp;quot;vlc&amp;quot;);&lt;br /&gt;
    vlc.audio.channel = parseInt(value);&lt;br /&gt;
    alert(vlc.audio.channel);&lt;br /&gt;
 };&lt;br /&gt;
 --&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;vlc.audio.toggleMute()&#039;&#039;&#039;: boolean toggle that mutes and unmutes the audio based upon the previous state&lt;br /&gt;
&lt;br /&gt;
====Input object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.length&#039;&#039;&#039;: length of the input file in number of milliseconds. 0 is returned for &#039;live&#039; streams or clips whose length cannot be determined by VLC&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.fps&#039;&#039;&#039;: frames per second returned as a float (typically 60.0, 50.0, 23.976, etc...)&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.hasVout&#039;&#039;&#039;: a boolean that returns true when the video is being displayed, it returns false when video is not displayed&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.position&#039;&#039;&#039;: normalized position in multimedia stream item given as a float value between [0.0 - 1.0]&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.time&#039;&#039;&#039;: the absolute position in time given in milliseconds, this property can be used to seek through the stream&lt;br /&gt;
 &amp;amp;lt;!-- absolute seek in stream !--&amp;amp;gt;&lt;br /&gt;
 vlc.input.time = &amp;amp;lt;absolute seek&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;!-- relative seek in stream !--&amp;amp;gt;&lt;br /&gt;
 vlc.input.time = vlc.input.time + &amp;amp;lt;relative seek&amp;amp;gt;&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.state&#039;&#039;&#039;: current state of the input chain given as enumeration (IDLE/CLOSE=0, OPENING=1, BUFFERING=2, PLAYING=3, PAUSED=4, STOPPING=5, FORWARD=6, BACKWARD=7, ENDED=8, ERROR=9). &#039;&#039;&#039;Note that FORWARD and BACKWARD states are currently reserved and not yet operational.&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.rate&#039;&#039;&#039;: input speed given as float (1.0 for normal speed, 0.5 for half speed, 2.0 for twice as fast, etc.)&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Playlist object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.itemCount&#039;&#039;&#039;: number that returns the amount of items currently in the playlist (&#039;&#039;&#039;deprecated&#039;&#039;&#039;, do not use, see [[#Playlist_items_object| Playlist items]])&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.isPlaying&#039;&#039;&#039;: a boolean that returns true if the current playlist item is playing and false when it is not playing&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.items&#039;&#039;&#039;: return the playlist items collection, see [[#Playlist_items_object| Playlist items]]&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.add(mrl)&#039;&#039;&#039;: add a playlist item as [[MRL]]. The MRL must be given as a string. Returns a number as an item identifier in playlist (this is not a position  in playlist).&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.add(mrl,name,options)&#039;&#039;&#039;: add a playlist item as MRL, with metaname &#039;name&#039; and options &#039;options&#039;. options are text arguments which can be provided either as a single string containing space separated values, akin to VLC command line, or as an array of string values. Returns a number as an item identifier in playlist (this is not a position in playlist).&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.play()&#039;&#039;&#039;: start playing the current playlist item&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.playItem(number)&#039;&#039;&#039;: start playing the item whose identifier is number&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.togglePause()&#039;&#039;&#039;: toggle the pause state for the current playlist item&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.stop()&#039;&#039;&#039;: stop playing the current playlist item&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.next()&#039;&#039;&#039;: iterate to the next playlist item&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.prev()&#039;&#039;&#039;: iterate to the previous playlist item&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.clear()&#039;&#039;&#039;: empty the current playlist, all items will be deleted from the playlist (&#039;&#039;&#039;deprecated&#039;&#039;&#039;, do not use, see [[#Playlist_items_object| Playlist items]])&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.removeItem(number)&#039;&#039;&#039;: remove the item from playlist whose identifier is number &amp;lt;!-- (note: this number isn&#039;t the position in the playlist, but the number given by vlc.playlist.add() ) --&amp;gt; (&#039;&#039;&#039;deprecated&#039;&#039;&#039;, do not use, see [[#Playlist_items_object| Playlist items]])&lt;br /&gt;
&lt;br /&gt;
====Playlist items object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.items.count&#039;&#039;&#039;: number of items currently in the playlist&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.items.clear()&#039;&#039;&#039;: empty the current playlist, all items will be deleted from the playlist. If a movie is playing, it stop. Note that when this method returns, playlist may not have been entirely been cleared as this operation is performed asynchronously; use the &#039;&#039;count&#039;&#039; property to verify/wait until the playlist is empty.&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.items.remove(number)&#039;&#039;&#039;: remove the item whose identifier is number from playlist. (note: this number isn&#039;t the position in the playlist, but the number given by vlc.playlist.add() )&lt;br /&gt;
&lt;br /&gt;
====Video object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.width&#039;&#039;&#039;: returns the horizontal size of the video&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.height&#039;&#039;&#039;: returns the vertical size of the video&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.fullscreen&#039;&#039;&#039;: 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.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.aspectRatio&#039;&#039;&#039;: get and set the aspect ratio to use in the video screen. The property takes a string as input value. Typical values are: &amp;quot;1:1&amp;quot;, &amp;quot;4:3&amp;quot;, &amp;quot;16:9&amp;quot;, &amp;quot;16:10&amp;quot;, &amp;quot;221:100&amp;quot; and &amp;quot;5:4&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.subtitle&#039;&#039;&#039;: (supported in vlc version &amp;gt; 0.8.6a) get and set the subtitle track to show on the video screen. The property takes an integer as input value [1..65535]. If subtitle track is set to 0, the subtitles will be disabled. If set to a value outside the current subtitle tracks range, then it will return -1 and display an error message.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.teletext&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 0.9.0) get and set teletext page to show on the video stream. This will only work if a teletext elementary stream is available in the video stream. The property takes an integer as input value [0..999] for indicating the teletext page to view, setting the value to 0 means hide teletext. On error it will return -1 and display an error message.&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.toggleFullscreen()&#039;&#039;&#039;: toggle the fullscreen mode based on the previous setting&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.toggleTeletext()&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 0.9.0) toggle the teletext page to overlay transparent or not, based on the previous setting&lt;br /&gt;
&lt;br /&gt;
====Log object====&lt;br /&gt;
&lt;br /&gt;
this object allows accessing VLC main message logging queue. Typically this queue capacity is very small (no nore than 256 entries) and can easily overflow, therefore messages should be read and cleared as often as possible.&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.log.messages&#039;&#039;&#039;: returns the message collection, see [[Messages object]]&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.log.verbosity&#039;&#039;&#039;: write number [-1,0,1,2,3] for changing the verbosity level of the log messages; messages whose verbosity is higher than set will be not be logged in the queue. The numbers have the following meaning: -1 disable, 0 info, 1 error, 2 warning, 3 debug. &lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Messages object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;messages.count&#039;&#039;&#039;: returns number of messages in the log&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;messages.clear()&#039;&#039;&#039;: clear the current log buffer. It should be called as frequently as possible to not overflow the message queue. Call this method after the log messages of interest are read.&lt;br /&gt;
*&#039;&#039;&#039;messages.iterator()&#039;&#039;&#039;: creates and returns an iterator object, used to iterate over the messages in the log. &#039;&#039;&#039;Don&#039;t clear the log buffer while holding an iterator object.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Messages Iterator object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;iterator.hasNext&#039;&#039;&#039;: returns a boolean that indicates whether &#039;&#039;vlc.log.messages.next()&#039;&#039; will return the next message.&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;iterator.next()&#039;&#039;&#039;: returns the next message object in the log, see [[Message object]]&lt;br /&gt;
&lt;br /&gt;
====Message object====&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;message.severity&#039;&#039;&#039;: number that indicates the severity of the log message (0 = info, 1 = error, 2 = warning, 3 = debug)&lt;br /&gt;
*&#039;&#039;&#039;message.name&#039;&#039;&#039;: name of VLC module that printed the log message (e.g: main, http, directx, etc...)&lt;br /&gt;
*&#039;&#039;&#039;message.type&#039;&#039;&#039;: type of VLC module that printed the log message (eg: input, access, vout, sout, etc...)&lt;br /&gt;
*&#039;&#039;&#039;message.message&#039;&#039;&#039;: the message text&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Documentation}}&lt;/div&gt;</summary>
		<author><name>Jpsaman</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=Documentation:Advanced_Use_of_VLC&amp;diff=11874</id>
		<title>Documentation:Advanced Use of VLC</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=Documentation:Advanced_Use_of_VLC&amp;diff=11874"/>
		<updated>2008-06-14T20:25:30Z</updated>

		<summary type="html">&lt;p&gt;Jpsaman: /* Input object */  Added ENDED as extra state&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{RightMenu|documentation play howto toc}}&lt;br /&gt;
&lt;br /&gt;
==Use the command line==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;TODO: completely outdated&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
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&#039;t need or want a GUI. Here is the complete description of VLC&#039;s command line and how to use it.&lt;br /&gt;
&lt;br /&gt;
You need to be quite comfortable with command line usage to use this.&lt;br /&gt;
&lt;br /&gt;
 Note: Windows users have to use the &#039;&#039;--option-name=&amp;quot;value&amp;quot;&#039;&#039; syntax instead of the &#039;&#039;--option-name value&#039;&#039; syntax.&lt;br /&gt;
&lt;br /&gt;
===Getting help===&lt;br /&gt;
&lt;br /&gt;
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, ...&lt;br /&gt;
&lt;br /&gt;
This chapter will only describe the &amp;quot;general&amp;quot; options, i.e. the core options. Each module adds new options. For example, the HTTP input module will add options for caching, proxy, authentication, ...&lt;br /&gt;
&lt;br /&gt;
By using &#039;&#039;&#039;vlc --help&#039;&#039;&#039;, you will get the basic core options. &#039;&#039;&#039;vlc --longhelp&#039;&#039;&#039; will give all the basic options (core + modules). Adding &#039;&#039;&#039;--advanced&#039;&#039;&#039; will give the &amp;quot;advanced options&amp;quot; (for advanced users). So &#039;&#039;&#039;vlc --longhelp --advanced&#039;&#039;&#039; will give you all options. You can also append &#039;&#039;&#039;--help-verbose&#039;&#039;&#039; if you want more detailed help.&lt;br /&gt;
&lt;br /&gt;
Also, you might want to get debug informations. To do this, use &#039;&#039;&#039;-v&#039;&#039;&#039; or &#039;&#039;&#039;-vv&#039;&#039;&#039; (this will show lower severity messages). If your console supports it, you can add &#039;&#039;&#039;--color to get messages in color.&lt;br /&gt;
&lt;br /&gt;
===Opening streams===&lt;br /&gt;
&lt;br /&gt;
The following commands start VLC and start reading the given element(s)&lt;br /&gt;
&lt;br /&gt;
====Opening a file====&lt;br /&gt;
&lt;br /&gt;
Start VLC with:&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc my_file&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
VLC should be able to recognize the file type. If it does not, you can force demultiplexer and decoder (see below).&lt;br /&gt;
&lt;br /&gt;
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].&lt;br /&gt;
&lt;br /&gt;
====Opening a DVD or VCD, or an audio CD====&lt;br /&gt;
&lt;br /&gt;
Start VLC with:&lt;br /&gt;
&lt;br /&gt;
For a DVD with menus:&lt;br /&gt;
 % &#039;&#039;&#039;vlc dvd://[device][@raw_device][@[title][:[chapter][:angle]]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
In most cases, &#039;&#039;&#039;vlc dvd://&#039;&#039;&#039; or &#039;&#039;&#039;vlc dvd://[device]&#039;&#039;&#039; will do. [device] is for example &#039;&#039;&#039;/dev/dvd&#039;&#039;&#039; on GNU/Linux or &#039;&#039;&#039;D:&#039;&#039;&#039; on Windows (complete path to your DVD drive).&lt;br /&gt;
&lt;br /&gt;
or&lt;br /&gt;
&lt;br /&gt;
(DVD without menus):&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc dvdsimple://[device][@raw_device][@[title][:[chapter][:angle]]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
or&lt;br /&gt;
&lt;br /&gt;
(VCD):&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc vcd://[device][@{E|P|E|T|S}[number]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
or&lt;br /&gt;
&lt;br /&gt;
(Audio CD):&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc cdda://[device][@[track]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Receiving a network stream====&lt;br /&gt;
&lt;br /&gt;
To receive an unicast UDP stream (sent by VLS or VLC&#039;s stream output), start VLC with:&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc  udp:[@:server_port]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If you use the default port (1234), &#039;&#039;&#039;vlc udp:&#039;&#039;&#039; will do. For more information, look at the Streaming Howto.&lt;br /&gt;
&lt;br /&gt;
To receive an multicast UDP stream (sent by VLS or VLC&#039;s stream output), start VLC with:&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc udp:@multicast_address[:server_port]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
To receive a SSM (source specific multicast) stream, you can use:&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc udp:server_address@multicast_address[:server_port]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This only works on OSs that support SSM (Windows XP and recent Linux kernels).&lt;br /&gt;
&lt;br /&gt;
To receive a HTTP stream, start VLC with:&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc http://www.example.org/your_file.mpg&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
To receive a RTSP stream, start VLC with:&amp;lt;/para&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc rtsp://www.example.org/your_stream&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Modules selection===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--intf  &amp;lt;module&amp;gt;&#039;&#039;&#039; allows you to select the interface module.&lt;br /&gt;
*&#039;&#039;&#039;--extraintf  &amp;lt;module&amp;gt;&#039;&#039;&#039; allows you to select extra interface modules that will be launched in addition to the main one. This is mainly useful for special &#039;&#039;control&#039;&#039; interfaces, like HTTP, RC (Remote Control), ... (see below)&lt;br /&gt;
*&#039;&#039;&#039;--aout  &amp;lt;module&amp;gt;&#039;&#039;&#039; allows you to select the audio output module.&lt;br /&gt;
*&#039;&#039;&#039;--vout  &amp;lt;module&amp;gt;&#039;&#039;&#039; allows you to select the video output module.&lt;br /&gt;
*&#039;&#039;&#039;--memcpy  &amp;lt;module&amp;gt;&#039;&#039;&#039; allows you to choose a memory copy module. You should probably never touch that.&lt;br /&gt;
&lt;br /&gt;
You can get a listing of the available modules by using &#039;&#039;&#039;vlc -l&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Stream Output===&lt;br /&gt;
&lt;br /&gt;
The Stream output system allows vlc to become a streaming server.&lt;br /&gt;
&lt;br /&gt;
For more details on the stream output system, please have a look at the [[Documentation:Streaming HowTo|Streaming HowTo]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Other Options===&lt;br /&gt;
&lt;br /&gt;
====Audio options====&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--noaudio&#039;&#039;&#039; disables audio output.&lt;br /&gt;
*&#039;&#039;&#039;--mono&#039;&#039;&#039; forces VLC to treat the stream in mono audio.&lt;br /&gt;
*&#039;&#039;&#039;--volume &amp;lt;integer&amp;gt;&#039;&#039;&#039; sets the level of audio output (between 0 and 1024).&lt;br /&gt;
*&#039;&#039;&#039;--aout-rate &amp;lt;integer&amp;gt;&#039;&#039;&#039; sets the audio output frequency (Hz). By default, VLC will try to autodetect this.&lt;br /&gt;
*&#039;&#039;&#039;--desync &amp;lt;integer&amp;gt;&#039;&#039;&#039; compensates desynchronization of audio (ms). (If audio and video streams are not synchronized, use this setting to delay the audio stream)&lt;br /&gt;
*&#039;&#039;&#039;--audio-filter &amp;lt;string&amp;gt;&#039;&#039;&#039; 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)&lt;br /&gt;
&lt;br /&gt;
====Video options====&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--novideo&#039;&#039;&#039; disables video output.&lt;br /&gt;
*&#039;&#039;&#039;--greyscale&#039;&#039;&#039; turns video output into grayscale mode.&lt;br /&gt;
*&#039;&#039;&#039;--fullscreen&#039;&#039;&#039; ( or &#039;&#039;&#039;-f&#039;&#039;&#039;) sets fullscreen video.&lt;br /&gt;
*&#039;&#039;&#039;--nooverlay&#039;&#039;&#039; disables hardware acceleration for the video output.&lt;br /&gt;
*&#039;&#039;&#039;--width, --height &amp;lt;integer&amp;gt;&#039;&#039;&#039; sets the video window dimensions. By default, the video window size will be adjusted to match the video dimensions.&lt;br /&gt;
*&#039;&#039;&#039;--zoom &amp;lt;float&amp;gt;&#039;&#039;&#039; adds a zoom factor.&lt;br /&gt;
*&#039;&#039;&#039;--aspect-ratio &amp;lt;mode&amp;gt;&#039;&#039;&#039; forces source aspect ratio. Modes are 4x3, 16x9, ...&lt;br /&gt;
*&#039;&#039;&#039;--spumargin  &amp;lt;integer&amp;gt;&#039;&#039;&#039; forces SPU subtitles postion.&lt;br /&gt;
*&#039;&#039;&#039;--filter &amp;lt;string&amp;gt;&#039;&#039;&#039; adds video filters to the processing chain. You can add several filters, separated by commas&lt;br /&gt;
*&#039;&#039;&#039;--sub-filter &amp;lt;string&amp;gt;&#039;&#039;&#039; adds video subpictures filter to the processing chain.&lt;br /&gt;
&lt;br /&gt;
====Playlist options====&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--random&#039;&#039;&#039; plays files randomly forever.&lt;br /&gt;
*&#039;&#039;&#039;--loop&#039;&#039;&#039; loops playlist on end.&lt;br /&gt;
*&#039;&#039;&#039;--repeat&#039;&#039;&#039; repeats current item until another item is forced&lt;br /&gt;
*&#039;&#039;&#039;--play-and-stop&#039;&#039;&#039; stops the playlist after each played item.&lt;br /&gt;
&lt;br /&gt;
====Network options====&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--server-port &amp;lt;integer&amp;gt;&#039;&#039;&#039; sets server port.&lt;br /&gt;
*&#039;&#039;&#039;--iface  &amp;lt;string&amp;gt;&#039;&#039;&#039; specifies the network interface to use.&lt;br /&gt;
*&#039;&#039;&#039;--iface-addr  &amp;lt;string&amp;gt;&#039;&#039;&#039; specifies your network interface IP address.&lt;br /&gt;
*&#039;&#039;&#039;--mtu  &amp;lt;integer&amp;gt;&#039;&#039;&#039; specifies the MTU of the network interface.&lt;br /&gt;
*&#039;&#039;&#039;--ipv6&#039;&#039;&#039; forces IPv6.&lt;br /&gt;
*&#039;&#039;&#039;--ipv4&#039;&#039;&#039; forces IPv4.&lt;br /&gt;
&lt;br /&gt;
====CPU options====&lt;br /&gt;
&lt;br /&gt;
You should probably not touch these options unless you know what you are doing.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--nommx&#039;&#039;&#039; disables the use of MMX CPU extensions.&lt;br /&gt;
*&#039;&#039;&#039;--no3dn&#039;&#039;&#039; disables the use of 3D Now! CPU extensions.&lt;br /&gt;
*&#039;&#039;&#039;--nommxext&#039;&#039;&#039; disables the use of MMX Ext CPU extensions.&lt;br /&gt;
*&#039;&#039;&#039;--nosse&#039;&#039;&#039; disables the use of SSE CPU extensions.&lt;br /&gt;
*&#039;&#039;&#039;--noaltivec&#039;&#039;&#039; disables the use of Altivec CPU extensions.&lt;br /&gt;
&lt;br /&gt;
====Miscellaneous options====&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--quiet&#039;&#039;&#039;  deactivates all console messages.&lt;br /&gt;
*&#039;&#039;&#039;--color&#039;&#039;&#039; displays color messages.&lt;br /&gt;
*&#039;&#039;&#039;--search-path  &amp;lt;string&amp;gt;&#039;&#039;&#039; specifies interface default search path.&lt;br /&gt;
*&#039;&#039;&#039;--plugin-path  &amp;lt;string&amp;gt;&#039;&#039;&#039; specifies plugin search path.&lt;br /&gt;
*&#039;&#039;&#039;--no-plugins-cache&#039;&#039;&#039; disables the plugin cache (plugins cache speeds up startup)&lt;br /&gt;
*&#039;&#039;&#039;--dvd  &amp;lt;string&amp;gt;&#039;&#039;&#039; specifies the default DVD device.&lt;br /&gt;
*&#039;&#039;&#039;--vcd  &amp;lt;string&amp;gt;&#039;&#039;&#039; specifies the default VCD device.&lt;br /&gt;
*&#039;&#039;&#039;--program  &amp;lt;integer&amp;gt;&#039;&#039;&#039; specifies program (SID) (for streams with several programs, like satellite ones).&lt;br /&gt;
*&#039;&#039;&#039;--audio-type  &amp;lt;integer&amp;gt;&#039;&#039;&#039; specifies the default audio type to use with dvds.&lt;br /&gt;
*&#039;&#039;&#039;--audio-channel  &amp;lt;integer&amp;gt;&#039;&#039;&#039; specifies the default audio channel to use with dvds.&lt;br /&gt;
*&#039;&#039;&#039;--spu-channel  &amp;lt;integer&amp;gt;&#039;&#039;&#039; specifies the default subtitle channel to use with dvds.&lt;br /&gt;
*&#039;&#039;&#039;--version&#039;&#039;&#039; gives you information about the current VLC version.&lt;br /&gt;
*&#039;&#039;&#039;--module  &amp;lt;module&amp;gt; &#039;&#039;&#039; displays help about specified module. (Shortcut: &#039;&#039;&#039;-p&#039;&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
===Item-specific options===&lt;br /&gt;
&lt;br /&gt;
There are many options that are related to items (like &#039;&#039;&#039;--novideo&#039;&#039;&#039;, &#039;&#039;&#039;--codec&#039;&#039;&#039;, &#039;&#039;&#039;--fullscreen&#039;&#039;&#039;).&lt;br /&gt;
&lt;br /&gt;
For all of these, you have the possibility to make them item-specific, using &amp;quot;:&amp;quot; instead of &amp;quot;--&amp;quot; and putting the option just after the concerned item.&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc file1.mpg :fullscreen file2.mpg&#039;&#039;&#039;&lt;br /&gt;
will play file1.mpg in fullscreen mode and file2.mpg in the default mode (which is generally no fullscreen), whereas&lt;br /&gt;
 % &#039;&#039;&#039;vlc --fullscreen file1.mpg file2.mpg&#039;&#039;&#039;&lt;br /&gt;
will play both files in fullscreen mode&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc --fullscreen file1.mpg :sub-file=file1.srt :no-fullscreen file2.mpg :filter=distort&#039;&#039;&#039;&lt;br /&gt;
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)&lt;br /&gt;
&lt;br /&gt;
==Advanced use of filters==&lt;br /&gt;
&lt;br /&gt;
===Filters===&lt;br /&gt;
&lt;br /&gt;
These are the old style VLC filters. They only apply to on screen display and thus cannot be streamed.&lt;br /&gt;
&lt;br /&gt;
====Deinterlacing video filter====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;deinterlace&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--deinterlace-mode {discard,blend,mean,bob,linear}&#039;&#039;&#039; choose a deinterlacing mode.&lt;br /&gt;
&lt;br /&gt;
====Invert video filter====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;invert&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Image properties filter====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;adjust&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--contrast &amp;lt;float&amp;gt;&#039;&#039;&#039; Image contrast in the 0-2 range.&lt;br /&gt;
*&#039;&#039;&#039;--brightness &amp;lt;float&amp;gt;&#039;&#039;&#039; Image brightness in the 0-2 range.&lt;br /&gt;
*&#039;&#039;&#039;--hue &amp;lt;integer&amp;gt;&#039;&#039;&#039; Image hue in the 0-360 range.&lt;br /&gt;
*&#039;&#039;&#039;--saturation &amp;lt;float&amp;gt;&#039;&#039;&#039; Image saturation in the 0-3 range.&lt;br /&gt;
*&#039;&#039;&#039;-gamma &amp;lt;float&amp;gt;&#039;&#039;&#039; Image gamma in the 0-10 range.&lt;br /&gt;
&lt;br /&gt;
====Wall video filter====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;wall&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This filter splits the output in several windows.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--wall-cols &amp;lt;integer&amp;gt;&#039;&#039;&#039; Number of columns.&lt;br /&gt;
*&#039;&#039;&#039;--wall-rows &amp;lt;integer&amp;gt;&#039;&#039;&#039; Number of rows.&lt;br /&gt;
*&#039;&#039;&#039;--wall-active &amp;lt;string&amp;gt;&#039;&#039;&#039; Select the windows you want to display. To select windows 2 and 4 you would write &#039;&#039;&#039;--wall-active 2,4&#039;&#039;&#039;. When this option isn&#039;t specified, all windows are displayed.&lt;br /&gt;
&lt;br /&gt;
====Video transformation filter====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;transform&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--transform-type {90,180,270,hflip,vflip}&#039;&#039;&#039; Select rotation angle or symmetry.&lt;br /&gt;
&lt;br /&gt;
====Distort video filter====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;distort&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Clone video filter====&lt;br /&gt;
&lt;br /&gt;
This filter clones the output window.&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;clone&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--clone-count &amp;lt;integer&amp;gt;&#039;&#039;&#039; Number of clones.&lt;br /&gt;
*&#039;&#039;&#039;--clone-vout-list &amp;lt;string&amp;gt;&#039;&#039;&#039; Comma separated string of video output modules.&lt;br /&gt;
&lt;br /&gt;
====Crop video filter====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;crop&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--crop-geometry &amp;lt;string&amp;gt;&#039;&#039;&#039; Set the geometry of the zone to crop. This is set as &amp;lt;width&amp;gt; x &amp;lt;height&amp;gt; + &amp;lt;left offset&amp;gt; + &amp;lt;top offset&amp;gt;.&lt;br /&gt;
*&#039;&#039;&#039;--autocrop&#039;&#039;&#039; Enable automatic black border cropping.&lt;br /&gt;
&lt;br /&gt;
====Motion blur filter====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;motionblur&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;blur-factor &amp;lt;integer&amp;gt;&#039;&#039;&#039; Blur factor in the 1-127 range.&lt;br /&gt;
&lt;br /&gt;
====Video pictures blending====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;blend&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Video scaling filter====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;scale&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Subpictures Filters===&lt;br /&gt;
&lt;br /&gt;
These are the new VLC filters. They can be streamed.&lt;br /&gt;
&lt;br /&gt;
====Time display sub filter====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;time&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--time-format &amp;lt;string&amp;gt;&#039;&#039;&#039; Time format string. You can use the following special characters %Y = year, %m = month, %d = day, %H = hour, %M = minute, %S = second.&lt;br /&gt;
*&#039;&#039;&#039;--time-x &amp;lt;integer&amp;gt;&#039;&#039;&#039; X offset from the left in pixels.&lt;br /&gt;
*&#039;&#039;&#039;--time-y &amp;lt;integer&amp;gt;&#039;&#039;&#039; Y offset from the top in pixels.&lt;br /&gt;
&lt;br /&gt;
====Marquee display sub filter====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;marq&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--marq-marquee &amp;lt;string&amp;gt;&#039;&#039;&#039; Marquee text to display.&lt;br /&gt;
*&#039;&#039;&#039;--marq-x &amp;lt;integer&amp;gt;&#039;&#039;&#039; X offset from the left in pixels.&lt;br /&gt;
*&#039;&#039;&#039;--marq-y &amp;lt;integer&amp;gt;&#039;&#039;&#039; Y offset from the top in pixels.&lt;br /&gt;
*&#039;&#039;&#039;--marq-timeout &amp;lt;timeout&amp;gt;&#039;&#039;&#039; Defines the time the marquee must remain displayed in milliseconds. Default value is 0 (remain forever).&lt;br /&gt;
&lt;br /&gt;
====Logo video filter====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;logo&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This filter can be used both as an old style filter or a subpictures filter.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--logo-file &amp;lt;string&amp;gt;&#039;&#039;&#039; Full path of the PNG file to use.&lt;br /&gt;
*&#039;&#039;&#039;--logo-x &amp;lt;integer&amp;gt;&#039;&#039;&#039; X offset from the left in pixels.&lt;br /&gt;
*&#039;&#039;&#039;--logo-y &amp;lt;integer&amp;gt;&#039;&#039;&#039; Y offset from the top in pixels.&lt;br /&gt;
*&#039;&#039;&#039;--logo-transparency &amp;lt;integer&amp;gt;&#039;&#039;&#039; You can set the logo transparency value here (from 0 for full transparency to 255 for full opacity).&lt;br /&gt;
&lt;br /&gt;
Note: You can move the logo by left-clicking on it.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==The HTTP interface==&lt;br /&gt;
&lt;br /&gt;
VLC ships with a little HTTP server integrated. It is used both to stream using HTTP, and for the HTTP remote control interface.&lt;br /&gt;
&lt;br /&gt;
To start VLC with the HTTP interface, use:&lt;br /&gt;
 % &#039;&#039;&#039;vlc -I http [--http-src /directory/] [--http-host host:port]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If you want to have both the &amp;quot;normal&amp;quot; interface and the HTTP interface, use &#039;&#039;&#039;vlc --extraintf http&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
The HTTP interface will start listening at host:port (&amp;lt;all interfaces&amp;gt;:8080 if omitted), and will reproduce the structure of /directory at http://host:port/ ( vlc_source_path/share/http if omitted ).&lt;br /&gt;
&lt;br /&gt;
Use a browser to go to http://your_host_machine:port. You should be taken to the main page.&lt;br /&gt;
&lt;br /&gt;
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]].&lt;br /&gt;
&lt;br /&gt;
Available pages are:&lt;br /&gt;
* &#039;&#039;&#039;list was obsolete&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Other control interfaces==&lt;br /&gt;
&lt;br /&gt;
VLC includes a number of so-called interfaces that are not really 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 &#039;&#039;&#039;-I&#039;&#039;&#039; or &#039;&#039;&#039;--extraintf&#039;&#039;&#039; on the command line.&lt;br /&gt;
&lt;br /&gt;
===Hotkeys===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Hotkeys can be hacked by:&lt;br /&gt;
 % &#039;&#039;&#039;vlc --key-&amp;lt;function&amp;gt; &amp;amp;lt;code&amp;amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Code is composed by modifiers keys (Alt, Shift, Ctrl, Meta,Command) separated by a dash (-) and terminated by a key (a...z, +, =, -, &#039;,&#039;, +, &amp;amp;lt;, &amp;amp;gt;, `, /, ;, &#039;, \, [, ], *, 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 &#039;&#039;&#039;--longhelp&#039;&#039;&#039; option for full list of functions).&lt;br /&gt;
For example, for binding fullscreen to Ctrl-f, run:&lt;br /&gt;
 % &#039;&#039;&#039;vlc --key-fullscreen &#039;Ctrl-f&#039; &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===RC and RTCI===&lt;br /&gt;
&lt;br /&gt;
These two interfaces allow you to control VLC from a command shell (possibly using a remote connexion or a Unix socket).&lt;br /&gt;
&lt;br /&gt;
Start VLC with &#039;&#039;&#039;-I rc&#039;&#039;&#039; or &#039;&#039;&#039;--extraintf rc&#039;&#039;&#039;. When you get the &#039;&#039;&#039;Remote control interface initialized, `h&#039; for help&#039;&#039;&#039; message, press h and Enter to get help about available commands.&lt;br /&gt;
&lt;br /&gt;
To be able to remote connect to your VLC using a TCP socket (telnet-like connexion), use &#039;&#039;&#039;--rc-host your_host:port&#039;&#039;&#039;. Then, by connecting (using telnet or netcat) to the host on the given port, you will get the command shell.&lt;br /&gt;
&lt;br /&gt;
To use a UNIX socket (local socket, this does not work for Windows), use &#039;&#039;&#039;--rc-unix /path/to/socket&#039;&#039;&#039;. Commands can then be passed using this UNIX socket.&lt;br /&gt;
&lt;br /&gt;
The RTCI interface gives you more advanced options, such as marquee control for the marquee subpicture filter (See filter section).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Ncurses===&lt;br /&gt;
&lt;br /&gt;
This is a text interface, using ncurses library.&lt;br /&gt;
&lt;br /&gt;
Start VLC with &#039;&#039;&#039;-I ncurses&#039;&#039;&#039; or &#039;&#039;&#039;--extraintf ncurses&#039;&#039;&#039;. You will then get something like that:&lt;br /&gt;
&lt;br /&gt;
http://www.videolan.org/doc/play-howto/en/images/play-howto/intf-ncurses-playlist.jpg The ncurses interface&lt;br /&gt;
&lt;br /&gt;
Press h to get the list of all available commands, with a short description.&lt;br /&gt;
&lt;br /&gt;
There is also a filebrowser available for the ncurses interface in order to add playlist items. Press &#039;B&#039; to use it.&lt;br /&gt;
&lt;br /&gt;
http://www.videolan.org/doc/play-howto/en/images/play-howto/intf-ncurses-filebrowser.jpg The ncurses filebrowser&lt;br /&gt;
&lt;br /&gt;
You can set the filebrowser starting point by launching vlc with the &#039;&#039;&#039;--browse-dir&#039;&#039;&#039; option:&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc -I ncurses --browse-dir /filebrowser/starting/point/&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Gestures===&lt;br /&gt;
&lt;br /&gt;
Gestures provide a simple mouse gestures control. TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==The Mozilla plugin==&lt;br /&gt;
&lt;br /&gt;
VLC can also be embedded in a web browser! The following browsers are supported [http://www.mozilla.org/ Mozilla], [http://www.mozilla.org/products/firefox/ Firefox] and [http://www.apple.com/macosx/features/safari Safari].&lt;br /&gt;
&lt;br /&gt;
===Install the plugin===&lt;br /&gt;
&lt;br /&gt;
====GNU/Linux Debian====&lt;br /&gt;
&lt;br /&gt;
Install the &#039;&#039;mozilla-plugin-vlc&#039;&#039; package:&lt;br /&gt;
&lt;br /&gt;
 # &#039;&#039;&#039;apt-get update&#039;&#039;&#039;&lt;br /&gt;
 # &#039;&#039;&#039;apt-get install mozilla-plugin-vlc&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Windows====&lt;br /&gt;
&lt;br /&gt;
Quit Firefox or Mozilla.&lt;br /&gt;
&lt;br /&gt;
Copy the two files in &#039;&#039;&#039;VLC_Installation_folder\mozilla&#039;&#039;&#039; (usually &#039;&#039;&#039;C:\Program Files\VideoLAN\VLC\mozilla&#039;&#039;&#039;) to your mozilla plugins directory (Usually &#039;&#039;&#039;C:\Program Files\Mozilla\plugins&#039;&#039;&#039; or &#039;&#039;&#039;C:\Program Files\Mozilla&lt;br /&gt;
Firefox\plugins&#039;&#039;&#039;).&lt;br /&gt;
&lt;br /&gt;
Restart Firefox or Mozilla.&lt;br /&gt;
&lt;br /&gt;
====MacOS X====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;The Mozilla/Safari plugin for MacOS X is only available from vlc version 0.8.5.1 and onwards.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Quit Safari browser.&lt;br /&gt;
&lt;br /&gt;
Download the Mozilla/safari plugin package from [http://www.videolan.org/vlc/download-macosx.html MacOS X download page].&lt;br /&gt;
&lt;br /&gt;
Run the installer from the dmg image.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Compile the sources yourself====&lt;br /&gt;
&lt;br /&gt;
Please look at the [http://developers.videolan.org developers page] for information on how to do this.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Use the mozilla plugin===&lt;br /&gt;
&lt;br /&gt;
If you open a link to a video file handled by the VLC plugin (To get the list of handled types, browse to &#039;&#039;&#039;about:plugins&#039;&#039;&#039;) or a page with an embedded video, the plugin should open and read the&lt;br /&gt;
video.&lt;br /&gt;
&lt;br /&gt;
===Build HTML pages that use the plugin (VLC version up to 0.8.5)===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;WARNING:&#039;&#039;&#039; the APIs described in this section are &#039;&#039;&#039;deprecated&#039;&#039;&#039;, do not use, &lt;br /&gt;
&lt;br /&gt;
The following API description is only valid uptill version 0.8.5 of the mozilla plugin.&lt;br /&gt;
&lt;br /&gt;
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&lt;br /&gt;
plugin.&lt;br /&gt;
&lt;br /&gt;
The vlc plugin supports the following function calls:&lt;br /&gt;
*&#039;&#039;&#039;play()&#039;&#039;&#039;: Start playing media in the plugin.&lt;br /&gt;
*&#039;&#039;&#039;pause()&#039;&#039;&#039;: Pause playback.&lt;br /&gt;
*&#039;&#039;&#039;stop()&#039;&#039;&#039;: Stop media playback.&lt;br /&gt;
*&#039;&#039;&#039;fullscreen()&#039;&#039;&#039;: Switch the video to full screen.&lt;br /&gt;
*&#039;&#039;&#039;set_volume(vol)&#039;&#039;&#039;: Set the volume. &#039;&#039;&#039;vol&#039;&#039;&#039; has to be an int in the 0-200 range.&lt;br /&gt;
*&#039;&#039;&#039;get_volume()&#039;&#039;&#039;: Get the current volume setting.&lt;br /&gt;
*&#039;&#039;&#039;mute()&#039;&#039;&#039;: Toggle volume muting.&lt;br /&gt;
*&#039;&#039;&#039;set_int_variable(var_name, value)&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;set_bool_variable(var_name, value)&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;set_str_variable(var_name, value)&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;get_int_variable(var_name)&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;get_bool_variable(var_name)&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;get_str_variable(var_name)&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;clear_playlist()&#039;&#039;&#039;: Clear the playlist.&lt;br /&gt;
*&#039;&#039;&#039;add_item(mrl)&#039;&#039;&#039;: Append an item whose location is given by the [[media resource locator]] to the playlist.&lt;br /&gt;
*&#039;&#039;&#039;next()&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;previous()&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;isplaying()&#039;&#039;&#039;: return true if the plugin is playing something.&lt;br /&gt;
*&#039;&#039;&#039;get_length()&#039;&#039;&#039;: Get the media&#039;s length in seconds.&lt;br /&gt;
*&#039;&#039;&#039;get_position()&#039;&#039;&#039;: Get the current position in the media in percent.&lt;br /&gt;
*&#039;&#039;&#039;get_time()&#039;&#039;&#039;: Get the current position in the media in seconds.&lt;br /&gt;
*&#039;&#039;&#039;seek(seconds,is_relative)&#039;&#039;&#039;: If is_relative is true, seek relatively to current time, else seek from beginning of the stream. Seek time is specified in seconds.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Here are a few examples of HTML pages that use the&lt;br /&gt;
Mozilla plugin.&lt;br /&gt;
&lt;br /&gt;
====Example 1====&lt;br /&gt;
&lt;br /&gt;
In this example, the plugin will read an HTTP stream inside the web page. If the user goes fullscreen, he will have to press &#039;&#039;f&#039;&#039; or double-click on the video to go back in normal view.&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;html&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;head&amp;amp;gt;&amp;amp;lt;title&amp;amp;gt;Demo of VLC mozilla plugin&amp;amp;lt;/title&amp;amp;gt;&amp;amp;lt;/head&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;body&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;h1&amp;amp;gt;Demo of VLC mozilla plugin - Example 1&amp;amp;lt;/h1&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;embed type=&amp;quot;application/x-vlc-plugin&amp;quot;&lt;br /&gt;
          name=&amp;quot;video1&amp;quot;&lt;br /&gt;
          autoplay=&amp;quot;no&amp;quot; loop=&amp;quot;yes&amp;quot; width=&amp;quot;400&amp;quot; height=&amp;quot;300&amp;quot;&lt;br /&gt;
          target=&amp;quot;http://server.example.org/video1.vob&amp;quot; /&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;br /&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video1.play()&#039;&amp;amp;gt;Play video1&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video1.pause()&#039;&amp;amp;gt;Pause video1&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video1.stop()&#039;&amp;amp;gt;Stop video1&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video1.fullscreen()&#039;&amp;amp;gt;Fullscreen&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;/body&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/html&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Example 2====&lt;br /&gt;
&lt;br /&gt;
In this example, the plugin will read a multicast UDP stream in a dedicated video output window.&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;html&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;head&amp;amp;gt;&amp;amp;lt;title&amp;amp;gt;Demo of VLC mozilla plugin&amp;amp;lt;/title&amp;amp;gt;&amp;amp;lt;/head&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;body&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;h1&amp;amp;gt;Demo of VLC mozilla plugin - Example 2&amp;amp;lt;/h1&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;embed type=&amp;quot;application/x-vlc-plugin&amp;quot;&lt;br /&gt;
          name=&amp;quot;video2&amp;quot;&lt;br /&gt;
          autoplay=&amp;quot;no&amp;quot; loop=&amp;quot;no&amp;quot; hidden=&amp;quot;yes&amp;quot;&lt;br /&gt;
          target=&amp;quot;udp:@239.255.12.42&amp;quot; /&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;br /&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video2.play()&#039;&amp;amp;gt;Play video2&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video2.stop()&#039;&amp;amp;gt;Stop video2&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video2.fullscreen()&#039;&amp;amp;gt;Fullscreen&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;/body&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/html&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Building HTML pages for Mozilla/Firefox/Internet Explorere/Safari (VLC version 0.8.6 and above)==&lt;br /&gt;
&lt;br /&gt;
The following description works for any of the browsers VLC supports. The JavaScript API has been unified between Mozilla/Firefox/IE (ActiveX) and Safari, thus targetting at all of the major OS out there. This is only valid for VLC version 0.8.6 and above.&lt;br /&gt;
&lt;br /&gt;
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&lt;br /&gt;
plugin.&lt;br /&gt;
&lt;br /&gt;
The vlc plugin exports serveral objects that can be accessed for setting and getting information. When used improperly the API&#039;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.&lt;br /&gt;
&lt;br /&gt;
The vlc plugin knows the following objects:&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;audio&#039;&#039;&#039;: Access audio properties.&lt;br /&gt;
*&#039;&#039;&#039;input&#039;&#039;&#039;: Access input properties.&lt;br /&gt;
*&#039;&#039;&#039;playlist&#039;&#039;&#039;: Access playlist properties.&lt;br /&gt;
*&#039;&#039;&#039;video&#039;&#039;&#039;: Access video properties.&lt;br /&gt;
*&#039;&#039;&#039;log&#039;&#039;&#039;: Access log properties.&lt;br /&gt;
*&#039;&#039;&#039;messages&#039;&#039;&#039;: Access to log message properties.&lt;br /&gt;
*&#039;&#039;&#039;iterator&#039;&#039;&#039;: Access to log iterator properties.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;html&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;title&amp;amp;gt;VLC Mozilla plugin test page&amp;amp;lt;/title&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;body&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;embed type=&amp;quot;application/x-vlc-plugin&amp;quot; pluginspage=&amp;quot;http://www.videolan.org&amp;quot; version=&amp;quot;VideoLAN.VLCPlugin.2&amp;quot;&lt;br /&gt;
     width=&amp;quot;640&amp;quot;&lt;br /&gt;
     height=&amp;quot;480&amp;quot;&lt;br /&gt;
     id=&amp;quot;vlc&amp;quot;&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/embed&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;script language=&amp;quot;Javascript&amp;quot;&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;!--&lt;br /&gt;
 var vlc = document.getElementById(&amp;quot;vlc&amp;quot;);&lt;br /&gt;
 vlc.audio.toggleMute();&lt;br /&gt;
 !--&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/script&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/body&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/html&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Root object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;VersionInfo&#039;&#039;&#039;: returns version information string&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;vlc.versionInfo()&#039;&#039;&#039;: returns version information string (same as VersionInfo)&lt;br /&gt;
&lt;br /&gt;
====Audio object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.audio.mute&#039;&#039;&#039;: boolean value to mute and ummute the audio&lt;br /&gt;
*&#039;&#039;&#039;vlc.audio.volume&#039;&#039;&#039;: a value between [0-200] which indicates a percentage of the volume.&lt;br /&gt;
*&#039;&#039;&#039;vlc.audio.track&#039;&#039;&#039;: (supported in vlc version &amp;gt; 0.8.6) a value between [1-65535] which indicates the audio track to play or that is playing. a value of 0 means the audio is/will be disabled.&lt;br /&gt;
*&#039;&#039;&#039;vlc.audio.channel&#039;&#039;&#039;: (supported in vlc version &amp;gt; 0.8.6) integer value between [1-5] that indicates which audio channel mode is used, values can be: &amp;quot;1=stereo&amp;quot;, &amp;quot;2=reverse stereo&amp;quot;, &amp;quot;3=left&amp;quot;, &amp;quot;4=right&amp;quot;, &amp;quot;5=dolby&amp;quot;. Use vlc.audio.channel to check if setting of the audio channel mode has succeeded.&lt;br /&gt;
&lt;br /&gt;
 Audio Channel:&lt;br /&gt;
 &amp;lt;SELECT readonly onChange=&#039;doAudioChannel(this.value)&#039;&amp;gt;&lt;br /&gt;
    &amp;lt;OPTION value=1&amp;gt;Stereo&amp;lt;/OPTION&amp;gt;&lt;br /&gt;
    &amp;lt;OPTION value=2&amp;gt;Reverse stereo&amp;lt;/OPTION&amp;gt;&lt;br /&gt;
    &amp;lt;OPTION value=3&amp;gt;Left&amp;lt;/OPTION&amp;gt;&lt;br /&gt;
    &amp;lt;OPTION value=4&amp;gt;Right&amp;lt;/OPTION&amp;gt;&lt;br /&gt;
    &amp;lt;OPTION value=5&amp;gt;Dolby&amp;lt;/OPTION&amp;gt;&lt;br /&gt;
 &amp;lt;/SELECT&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;SCRIPT language=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;amp;lt;!--&lt;br /&gt;
 function doAudioChannel(value)&lt;br /&gt;
 {&lt;br /&gt;
    var vlc = getVLC(&amp;quot;vlc&amp;quot;);&lt;br /&gt;
    vlc.audio.channel = parseInt(value);&lt;br /&gt;
    alert(vlc.audio.channel);&lt;br /&gt;
 };&lt;br /&gt;
 --&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;vlc.audio.toggleMute()&#039;&#039;&#039;: boolean toggle that mutes and unmutes the audio based upon the previous state&lt;br /&gt;
&lt;br /&gt;
====Input object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.length&#039;&#039;&#039;: length of the input file in number of milliseconds. 0 is returned for &#039;live&#039; streams or clips whose length cannot be determined by VLC&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.fps&#039;&#039;&#039;: frames per second returned as a float (typically 60.0, 50.0, 23.976, etc...)&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.hasVout&#039;&#039;&#039;: a boolean that returns true when the video is being displayed, it returns false when video is not displayed&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.position&#039;&#039;&#039;: normalized position in multimedia stream item given as a float value between [0.0 - 1.0]&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.time&#039;&#039;&#039;: the absolute position in time given in milliseconds, this property can be used to seek through the stream&lt;br /&gt;
 &amp;amp;lt;!-- absolute seek in stream !--&amp;amp;gt;&lt;br /&gt;
 vlc.input.time = &amp;amp;lt;absolute seek&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;!-- relative seek in stream !--&amp;amp;gt;&lt;br /&gt;
 vlc.input.time = vlc.input.time + &amp;amp;lt;relative seek&amp;amp;gt;&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.state&#039;&#039;&#039;: current state of the input chain given as enumeration (IDLE/CLOSE=0, OPENING=1, BUFFERING=2, PLAYING=3, PAUSED=4, STOPPING=5, FORWARD=6, BACWARD=7, ENDED=8, ERROR=9). &#039;&#039;&#039;Note that FORWARD and BACKWARD states are currently reserved and not yet operational.&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.rate&#039;&#039;&#039;: input speed given as float (1.0 for normal speed, 0.5 for half speed, 2.0 for twice as fast, etc.)&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Playlist object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.itemCount&#039;&#039;&#039;: number that returns the amount of items currently in the playlist (&#039;&#039;&#039;deprecated&#039;&#039;&#039;, do not use, see [[#Playlist_items_object| Playlist items]])&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.isPlaying&#039;&#039;&#039;: a boolean that returns true if the current playlist item is playing and false when it is not playing&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.items&#039;&#039;&#039;: return the playlist items collection, see [[#Playlist_items_object| Playlist items]]&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.add(mrl)&#039;&#039;&#039;: add a playlist item as [[MRL]]. The MRL must be given as a string. Returns a number as an item identifier in playlist (this is not a position  in playlist).&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.add(mrl,name,options)&#039;&#039;&#039;: add a playlist item as MRL, with metaname &#039;name&#039; and options &#039;options&#039;. options are text arguments which can be provided either as a single string containing space separated values, akin to VLC command line, or as an array of string values. Returns a number as an item identifier in playlist (this is not a position in playlist).&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.play()&#039;&#039;&#039;: start playing the current playlist item&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.playItem(number)&#039;&#039;&#039;: start playing the item whose identifier is number&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.togglePause()&#039;&#039;&#039;: toggle the pause state for the current playlist item&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.stop()&#039;&#039;&#039;: stop playing the current playlist item&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.next()&#039;&#039;&#039;: iterate to the next playlist item&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.prev()&#039;&#039;&#039;: iterate to the previous playlist item&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.clear()&#039;&#039;&#039;: empty the current playlist, all items will be deleted from the playlist (&#039;&#039;&#039;deprecated&#039;&#039;&#039;, do not use, see [[#Playlist_items_object| Playlist items]])&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.removeItem(number)&#039;&#039;&#039;: remove the item from playlist whose identifier is number &amp;lt;!-- (note: this number isn&#039;t the position in the playlist, but the number given by vlc.playlist.add() ) --&amp;gt; (&#039;&#039;&#039;deprecated&#039;&#039;&#039;, do not use, see [[#Playlist_items_object| Playlist items]])&lt;br /&gt;
&lt;br /&gt;
====Playlist items object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.items.count&#039;&#039;&#039;: number of items currently in the playlist&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.items.clear()&#039;&#039;&#039;: empty the current playlist, all items will be deleted from the playlist. If a movie is playing, it stop. Note that when this method returns, playlist may not have been entirely been cleared as this operation is performed asynchronously; use the &#039;&#039;count&#039;&#039; property to verify/wait until the playlist is empty.&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.items.remove(number)&#039;&#039;&#039;: remove the item whose identifier is number from playlist. (note: this number isn&#039;t the position in the playlist, but the number given by vlc.playlist.add() )&lt;br /&gt;
&lt;br /&gt;
====Video object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.width&#039;&#039;&#039;: returns the horizontal size of the video&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.height&#039;&#039;&#039;: returns the vertical size of the video&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.fullscreen&#039;&#039;&#039;: 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.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.aspectRatio&#039;&#039;&#039;: get and set the aspect ratio to use in the video screen. The property takes a string as input value. Typical values are: &amp;quot;1:1&amp;quot;, &amp;quot;4:3&amp;quot;, &amp;quot;16:9&amp;quot;, &amp;quot;16:10&amp;quot;, &amp;quot;221:100&amp;quot; and &amp;quot;5:4&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.subtitle&#039;&#039;&#039;: (supported in vlc version &amp;gt; 0.8.6a) get and set the subtitle track to show on the video screen. The property takes an integer as input value [1..65535]. If subtitle track is set to 0, the subtitles will be disabled. If set to a value outside the current subtitle tracks range, then it will return -1 and display an error message.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.teletext&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 0.9.0) get and set teletext page to show on the video stream. This will only work if a teletext elementary stream is available in the video stream. The property takes an integer as input value [0..999] for indicating the teletext page to view, setting the value to 0 means hide teletext. On error it will return -1 and display an error message.&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.toggleFullscreen()&#039;&#039;&#039;: toggle the fullscreen mode based on the previous setting&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.toggleTeletext()&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 0.9.0) toggle the teletext page to overlay transparent or not, based on the previous setting&lt;br /&gt;
&lt;br /&gt;
====Log object====&lt;br /&gt;
&lt;br /&gt;
this object allows accessing VLC main message logging queue. Typically this queue capacity is very small (no nore than 256 entries) and can easily overflow, therefore messages should be read and cleared as often as possible.&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.log.messages&#039;&#039;&#039;: returns the message collection, see [[Messages object]]&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.log.verbosity&#039;&#039;&#039;: write number [-1,0,1,2,3] for changing the verbosity level of the log messages; messages whose verbosity is higher than set will be not be logged in the queue. The numbers have the following meaning: -1 disable, 0 info, 1 error, 2 warning, 3 debug. &lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Messages object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;messages.count&#039;&#039;&#039;: returns number of messages in the log&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;messages.clear()&#039;&#039;&#039;: clear the current log buffer. It should be called as frequently as possible to not overflow the message queue. Call this method after the log messages of interest are read.&lt;br /&gt;
*&#039;&#039;&#039;messages.iterator()&#039;&#039;&#039;: creates and returns an iterator object, used to iterate over the messages in the log. &#039;&#039;&#039;Don&#039;t clear the log buffer while holding an iterator object.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Messages Iterator object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;iterator.hasNext&#039;&#039;&#039;: returns a boolean that indicates whether &#039;&#039;vlc.log.messages.next()&#039;&#039; will return the next message.&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;iterator.next()&#039;&#039;&#039;: returns the next message object in the log, see [[Message object]]&lt;br /&gt;
&lt;br /&gt;
====Message object====&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;message.severity&#039;&#039;&#039;: number that indicates the severity of the log message (0 = info, 1 = error, 2 = warning, 3 = debug)&lt;br /&gt;
*&#039;&#039;&#039;message.name&#039;&#039;&#039;: name of VLC module that printed the log message (e.g: main, http, directx, etc...)&lt;br /&gt;
*&#039;&#039;&#039;message.type&#039;&#039;&#039;: type of VLC module that printed the log message (eg: input, access, vout, sout, etc...)&lt;br /&gt;
*&#039;&#039;&#039;message.message&#039;&#039;&#039;: the message text&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Documentation}}&lt;/div&gt;</summary>
		<author><name>Jpsaman</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=Documentation:Advanced_Use_of_VLC&amp;diff=11870</id>
		<title>Documentation:Advanced Use of VLC</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=Documentation:Advanced_Use_of_VLC&amp;diff=11870"/>
		<updated>2008-06-14T12:56:01Z</updated>

		<summary type="html">&lt;p&gt;Jpsaman: /* Input object */  update VLC states&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{RightMenu|documentation play howto toc}}&lt;br /&gt;
&lt;br /&gt;
==Use the command line==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;TODO: completely outdated&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
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&#039;t need or want a GUI. Here is the complete description of VLC&#039;s command line and how to use it.&lt;br /&gt;
&lt;br /&gt;
You need to be quite comfortable with command line usage to use this.&lt;br /&gt;
&lt;br /&gt;
 Note: Windows users have to use the &#039;&#039;--option-name=&amp;quot;value&amp;quot;&#039;&#039; syntax instead of the &#039;&#039;--option-name value&#039;&#039; syntax.&lt;br /&gt;
&lt;br /&gt;
===Getting help===&lt;br /&gt;
&lt;br /&gt;
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, ...&lt;br /&gt;
&lt;br /&gt;
This chapter will only describe the &amp;quot;general&amp;quot; options, i.e. the core options. Each module adds new options. For example, the HTTP input module will add options for caching, proxy, authentication, ...&lt;br /&gt;
&lt;br /&gt;
By using &#039;&#039;&#039;vlc --help&#039;&#039;&#039;, you will get the basic core options. &#039;&#039;&#039;vlc --longhelp&#039;&#039;&#039; will give all the basic options (core + modules). Adding &#039;&#039;&#039;--advanced&#039;&#039;&#039; will give the &amp;quot;advanced options&amp;quot; (for advanced users). So &#039;&#039;&#039;vlc --longhelp --advanced&#039;&#039;&#039; will give you all options. You can also append &#039;&#039;&#039;--help-verbose&#039;&#039;&#039; if you want more detailed help.&lt;br /&gt;
&lt;br /&gt;
Also, you might want to get debug informations. To do this, use &#039;&#039;&#039;-v&#039;&#039;&#039; or &#039;&#039;&#039;-vv&#039;&#039;&#039; (this will show lower severity messages). If your console supports it, you can add &#039;&#039;&#039;--color to get messages in color.&lt;br /&gt;
&lt;br /&gt;
===Opening streams===&lt;br /&gt;
&lt;br /&gt;
The following commands start VLC and start reading the given element(s)&lt;br /&gt;
&lt;br /&gt;
====Opening a file====&lt;br /&gt;
&lt;br /&gt;
Start VLC with:&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc my_file&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
VLC should be able to recognize the file type. If it does not, you can force demultiplexer and decoder (see below).&lt;br /&gt;
&lt;br /&gt;
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].&lt;br /&gt;
&lt;br /&gt;
====Opening a DVD or VCD, or an audio CD====&lt;br /&gt;
&lt;br /&gt;
Start VLC with:&lt;br /&gt;
&lt;br /&gt;
For a DVD with menus:&lt;br /&gt;
 % &#039;&#039;&#039;vlc dvd://[device][@raw_device][@[title][:[chapter][:angle]]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
In most cases, &#039;&#039;&#039;vlc dvd://&#039;&#039;&#039; or &#039;&#039;&#039;vlc dvd://[device]&#039;&#039;&#039; will do. [device] is for example &#039;&#039;&#039;/dev/dvd&#039;&#039;&#039; on GNU/Linux or &#039;&#039;&#039;D:&#039;&#039;&#039; on Windows (complete path to your DVD drive).&lt;br /&gt;
&lt;br /&gt;
or&lt;br /&gt;
&lt;br /&gt;
(DVD without menus):&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc dvdsimple://[device][@raw_device][@[title][:[chapter][:angle]]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
or&lt;br /&gt;
&lt;br /&gt;
(VCD):&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc vcd://[device][@{E|P|E|T|S}[number]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
or&lt;br /&gt;
&lt;br /&gt;
(Audio CD):&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc cdda://[device][@[track]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Receiving a network stream====&lt;br /&gt;
&lt;br /&gt;
To receive an unicast UDP stream (sent by VLS or VLC&#039;s stream output), start VLC with:&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc  udp:[@:server_port]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If you use the default port (1234), &#039;&#039;&#039;vlc udp:&#039;&#039;&#039; will do. For more information, look at the Streaming Howto.&lt;br /&gt;
&lt;br /&gt;
To receive an multicast UDP stream (sent by VLS or VLC&#039;s stream output), start VLC with:&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc udp:@multicast_address[:server_port]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
To receive a SSM (source specific multicast) stream, you can use:&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc udp:server_address@multicast_address[:server_port]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This only works on OSs that support SSM (Windows XP and recent Linux kernels).&lt;br /&gt;
&lt;br /&gt;
To receive a HTTP stream, start VLC with:&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc http://www.example.org/your_file.mpg&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
To receive a RTSP stream, start VLC with:&amp;lt;/para&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc rtsp://www.example.org/your_stream&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Modules selection===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--intf  &amp;lt;module&amp;gt;&#039;&#039;&#039; allows you to select the interface module.&lt;br /&gt;
*&#039;&#039;&#039;--extraintf  &amp;lt;module&amp;gt;&#039;&#039;&#039; allows you to select extra interface modules that will be launched in addition to the main one. This is mainly useful for special &#039;&#039;control&#039;&#039; interfaces, like HTTP, RC (Remote Control), ... (see below)&lt;br /&gt;
*&#039;&#039;&#039;--aout  &amp;lt;module&amp;gt;&#039;&#039;&#039; allows you to select the audio output module.&lt;br /&gt;
*&#039;&#039;&#039;--vout  &amp;lt;module&amp;gt;&#039;&#039;&#039; allows you to select the video output module.&lt;br /&gt;
*&#039;&#039;&#039;--memcpy  &amp;lt;module&amp;gt;&#039;&#039;&#039; allows you to choose a memory copy module. You should probably never touch that.&lt;br /&gt;
&lt;br /&gt;
You can get a listing of the available modules by using &#039;&#039;&#039;vlc -l&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Stream Output===&lt;br /&gt;
&lt;br /&gt;
The Stream output system allows vlc to become a streaming server.&lt;br /&gt;
&lt;br /&gt;
For more details on the stream output system, please have a look at the [[Documentation:Streaming HowTo|Streaming HowTo]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Other Options===&lt;br /&gt;
&lt;br /&gt;
====Audio options====&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--noaudio&#039;&#039;&#039; disables audio output.&lt;br /&gt;
*&#039;&#039;&#039;--mono&#039;&#039;&#039; forces VLC to treat the stream in mono audio.&lt;br /&gt;
*&#039;&#039;&#039;--volume &amp;lt;integer&amp;gt;&#039;&#039;&#039; sets the level of audio output (between 0 and 1024).&lt;br /&gt;
*&#039;&#039;&#039;--aout-rate &amp;lt;integer&amp;gt;&#039;&#039;&#039; sets the audio output frequency (Hz). By default, VLC will try to autodetect this.&lt;br /&gt;
*&#039;&#039;&#039;--desync &amp;lt;integer&amp;gt;&#039;&#039;&#039; compensates desynchronization of audio (ms). (If audio and video streams are not synchronized, use this setting to delay the audio stream)&lt;br /&gt;
*&#039;&#039;&#039;--audio-filter &amp;lt;string&amp;gt;&#039;&#039;&#039; 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)&lt;br /&gt;
&lt;br /&gt;
====Video options====&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--novideo&#039;&#039;&#039; disables video output.&lt;br /&gt;
*&#039;&#039;&#039;--greyscale&#039;&#039;&#039; turns video output into grayscale mode.&lt;br /&gt;
*&#039;&#039;&#039;--fullscreen&#039;&#039;&#039; ( or &#039;&#039;&#039;-f&#039;&#039;&#039;) sets fullscreen video.&lt;br /&gt;
*&#039;&#039;&#039;--nooverlay&#039;&#039;&#039; disables hardware acceleration for the video output.&lt;br /&gt;
*&#039;&#039;&#039;--width, --height &amp;lt;integer&amp;gt;&#039;&#039;&#039; sets the video window dimensions. By default, the video window size will be adjusted to match the video dimensions.&lt;br /&gt;
*&#039;&#039;&#039;--zoom &amp;lt;float&amp;gt;&#039;&#039;&#039; adds a zoom factor.&lt;br /&gt;
*&#039;&#039;&#039;--aspect-ratio &amp;lt;mode&amp;gt;&#039;&#039;&#039; forces source aspect ratio. Modes are 4x3, 16x9, ...&lt;br /&gt;
*&#039;&#039;&#039;--spumargin  &amp;lt;integer&amp;gt;&#039;&#039;&#039; forces SPU subtitles postion.&lt;br /&gt;
*&#039;&#039;&#039;--filter &amp;lt;string&amp;gt;&#039;&#039;&#039; adds video filters to the processing chain. You can add several filters, separated by commas&lt;br /&gt;
*&#039;&#039;&#039;--sub-filter &amp;lt;string&amp;gt;&#039;&#039;&#039; adds video subpictures filter to the processing chain.&lt;br /&gt;
&lt;br /&gt;
====Playlist options====&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--random&#039;&#039;&#039; plays files randomly forever.&lt;br /&gt;
*&#039;&#039;&#039;--loop&#039;&#039;&#039; loops playlist on end.&lt;br /&gt;
*&#039;&#039;&#039;--repeat&#039;&#039;&#039; repeats current item until another item is forced&lt;br /&gt;
*&#039;&#039;&#039;--play-and-stop&#039;&#039;&#039; stops the playlist after each played item.&lt;br /&gt;
&lt;br /&gt;
====Network options====&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--server-port &amp;lt;integer&amp;gt;&#039;&#039;&#039; sets server port.&lt;br /&gt;
*&#039;&#039;&#039;--iface  &amp;lt;string&amp;gt;&#039;&#039;&#039; specifies the network interface to use.&lt;br /&gt;
*&#039;&#039;&#039;--iface-addr  &amp;lt;string&amp;gt;&#039;&#039;&#039; specifies your network interface IP address.&lt;br /&gt;
*&#039;&#039;&#039;--mtu  &amp;lt;integer&amp;gt;&#039;&#039;&#039; specifies the MTU of the network interface.&lt;br /&gt;
*&#039;&#039;&#039;--ipv6&#039;&#039;&#039; forces IPv6.&lt;br /&gt;
*&#039;&#039;&#039;--ipv4&#039;&#039;&#039; forces IPv4.&lt;br /&gt;
&lt;br /&gt;
====CPU options====&lt;br /&gt;
&lt;br /&gt;
You should probably not touch these options unless you know what you are doing.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--nommx&#039;&#039;&#039; disables the use of MMX CPU extensions.&lt;br /&gt;
*&#039;&#039;&#039;--no3dn&#039;&#039;&#039; disables the use of 3D Now! CPU extensions.&lt;br /&gt;
*&#039;&#039;&#039;--nommxext&#039;&#039;&#039; disables the use of MMX Ext CPU extensions.&lt;br /&gt;
*&#039;&#039;&#039;--nosse&#039;&#039;&#039; disables the use of SSE CPU extensions.&lt;br /&gt;
*&#039;&#039;&#039;--noaltivec&#039;&#039;&#039; disables the use of Altivec CPU extensions.&lt;br /&gt;
&lt;br /&gt;
====Miscellaneous options====&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--quiet&#039;&#039;&#039;  deactivates all console messages.&lt;br /&gt;
*&#039;&#039;&#039;--color&#039;&#039;&#039; displays color messages.&lt;br /&gt;
*&#039;&#039;&#039;--search-path  &amp;lt;string&amp;gt;&#039;&#039;&#039; specifies interface default search path.&lt;br /&gt;
*&#039;&#039;&#039;--plugin-path  &amp;lt;string&amp;gt;&#039;&#039;&#039; specifies plugin search path.&lt;br /&gt;
*&#039;&#039;&#039;--no-plugins-cache&#039;&#039;&#039; disables the plugin cache (plugins cache speeds up startup)&lt;br /&gt;
*&#039;&#039;&#039;--dvd  &amp;lt;string&amp;gt;&#039;&#039;&#039; specifies the default DVD device.&lt;br /&gt;
*&#039;&#039;&#039;--vcd  &amp;lt;string&amp;gt;&#039;&#039;&#039; specifies the default VCD device.&lt;br /&gt;
*&#039;&#039;&#039;--program  &amp;lt;integer&amp;gt;&#039;&#039;&#039; specifies program (SID) (for streams with several programs, like satellite ones).&lt;br /&gt;
*&#039;&#039;&#039;--audio-type  &amp;lt;integer&amp;gt;&#039;&#039;&#039; specifies the default audio type to use with dvds.&lt;br /&gt;
*&#039;&#039;&#039;--audio-channel  &amp;lt;integer&amp;gt;&#039;&#039;&#039; specifies the default audio channel to use with dvds.&lt;br /&gt;
*&#039;&#039;&#039;--spu-channel  &amp;lt;integer&amp;gt;&#039;&#039;&#039; specifies the default subtitle channel to use with dvds.&lt;br /&gt;
*&#039;&#039;&#039;--version&#039;&#039;&#039; gives you information about the current VLC version.&lt;br /&gt;
*&#039;&#039;&#039;--module  &amp;lt;module&amp;gt; &#039;&#039;&#039; displays help about specified module. (Shortcut: &#039;&#039;&#039;-p&#039;&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
===Item-specific options===&lt;br /&gt;
&lt;br /&gt;
There are many options that are related to items (like &#039;&#039;&#039;--novideo&#039;&#039;&#039;, &#039;&#039;&#039;--codec&#039;&#039;&#039;, &#039;&#039;&#039;--fullscreen&#039;&#039;&#039;).&lt;br /&gt;
&lt;br /&gt;
For all of these, you have the possibility to make them item-specific, using &amp;quot;:&amp;quot; instead of &amp;quot;--&amp;quot; and putting the option just after the concerned item.&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc file1.mpg :fullscreen file2.mpg&#039;&#039;&#039;&lt;br /&gt;
will play file1.mpg in fullscreen mode and file2.mpg in the default mode (which is generally no fullscreen), whereas&lt;br /&gt;
 % &#039;&#039;&#039;vlc --fullscreen file1.mpg file2.mpg&#039;&#039;&#039;&lt;br /&gt;
will play both files in fullscreen mode&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc --fullscreen file1.mpg :sub-file=file1.srt :no-fullscreen file2.mpg :filter=distort&#039;&#039;&#039;&lt;br /&gt;
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)&lt;br /&gt;
&lt;br /&gt;
==Advanced use of filters==&lt;br /&gt;
&lt;br /&gt;
===Filters===&lt;br /&gt;
&lt;br /&gt;
These are the old style VLC filters. They only apply to on screen display and thus cannot be streamed.&lt;br /&gt;
&lt;br /&gt;
====Deinterlacing video filter====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;deinterlace&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--deinterlace-mode {discard,blend,mean,bob,linear}&#039;&#039;&#039; choose a deinterlacing mode.&lt;br /&gt;
&lt;br /&gt;
====Invert video filter====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;invert&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Image properties filter====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;adjust&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--contrast &amp;lt;float&amp;gt;&#039;&#039;&#039; Image contrast in the 0-2 range.&lt;br /&gt;
*&#039;&#039;&#039;--brightness &amp;lt;float&amp;gt;&#039;&#039;&#039; Image brightness in the 0-2 range.&lt;br /&gt;
*&#039;&#039;&#039;--hue &amp;lt;integer&amp;gt;&#039;&#039;&#039; Image hue in the 0-360 range.&lt;br /&gt;
*&#039;&#039;&#039;--saturation &amp;lt;float&amp;gt;&#039;&#039;&#039; Image saturation in the 0-3 range.&lt;br /&gt;
*&#039;&#039;&#039;-gamma &amp;lt;float&amp;gt;&#039;&#039;&#039; Image gamma in the 0-10 range.&lt;br /&gt;
&lt;br /&gt;
====Wall video filter====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;wall&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This filter splits the output in several windows.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--wall-cols &amp;lt;integer&amp;gt;&#039;&#039;&#039; Number of columns.&lt;br /&gt;
*&#039;&#039;&#039;--wall-rows &amp;lt;integer&amp;gt;&#039;&#039;&#039; Number of rows.&lt;br /&gt;
*&#039;&#039;&#039;--wall-active &amp;lt;string&amp;gt;&#039;&#039;&#039; Select the windows you want to display. To select windows 2 and 4 you would write &#039;&#039;&#039;--wall-active 2,4&#039;&#039;&#039;. When this option isn&#039;t specified, all windows are displayed.&lt;br /&gt;
&lt;br /&gt;
====Video transformation filter====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;transform&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--transform-type {90,180,270,hflip,vflip}&#039;&#039;&#039; Select rotation angle or symmetry.&lt;br /&gt;
&lt;br /&gt;
====Distort video filter====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;distort&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Clone video filter====&lt;br /&gt;
&lt;br /&gt;
This filter clones the output window.&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;clone&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--clone-count &amp;lt;integer&amp;gt;&#039;&#039;&#039; Number of clones.&lt;br /&gt;
*&#039;&#039;&#039;--clone-vout-list &amp;lt;string&amp;gt;&#039;&#039;&#039; Comma separated string of video output modules.&lt;br /&gt;
&lt;br /&gt;
====Crop video filter====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;crop&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--crop-geometry &amp;lt;string&amp;gt;&#039;&#039;&#039; Set the geometry of the zone to crop. This is set as &amp;lt;width&amp;gt; x &amp;lt;height&amp;gt; + &amp;lt;left offset&amp;gt; + &amp;lt;top offset&amp;gt;.&lt;br /&gt;
*&#039;&#039;&#039;--autocrop&#039;&#039;&#039; Enable automatic black border cropping.&lt;br /&gt;
&lt;br /&gt;
====Motion blur filter====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;motionblur&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;blur-factor &amp;lt;integer&amp;gt;&#039;&#039;&#039; Blur factor in the 1-127 range.&lt;br /&gt;
&lt;br /&gt;
====Video pictures blending====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;blend&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Video scaling filter====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;scale&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Subpictures Filters===&lt;br /&gt;
&lt;br /&gt;
These are the new VLC filters. They can be streamed.&lt;br /&gt;
&lt;br /&gt;
====Time display sub filter====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;time&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--time-format &amp;lt;string&amp;gt;&#039;&#039;&#039; Time format string. You can use the following special characters %Y = year, %m = month, %d = day, %H = hour, %M = minute, %S = second.&lt;br /&gt;
*&#039;&#039;&#039;--time-x &amp;lt;integer&amp;gt;&#039;&#039;&#039; X offset from the left in pixels.&lt;br /&gt;
*&#039;&#039;&#039;--time-y &amp;lt;integer&amp;gt;&#039;&#039;&#039; Y offset from the top in pixels.&lt;br /&gt;
&lt;br /&gt;
====Marquee display sub filter====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;marq&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--marq-marquee &amp;lt;string&amp;gt;&#039;&#039;&#039; Marquee text to display.&lt;br /&gt;
*&#039;&#039;&#039;--marq-x &amp;lt;integer&amp;gt;&#039;&#039;&#039; X offset from the left in pixels.&lt;br /&gt;
*&#039;&#039;&#039;--marq-y &amp;lt;integer&amp;gt;&#039;&#039;&#039; Y offset from the top in pixels.&lt;br /&gt;
*&#039;&#039;&#039;--marq-timeout &amp;lt;timeout&amp;gt;&#039;&#039;&#039; Defines the time the marquee must remain displayed in milliseconds. Default value is 0 (remain forever).&lt;br /&gt;
&lt;br /&gt;
====Logo video filter====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;logo&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This filter can be used both as an old style filter or a subpictures filter.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--logo-file &amp;lt;string&amp;gt;&#039;&#039;&#039; Full path of the PNG file to use.&lt;br /&gt;
*&#039;&#039;&#039;--logo-x &amp;lt;integer&amp;gt;&#039;&#039;&#039; X offset from the left in pixels.&lt;br /&gt;
*&#039;&#039;&#039;--logo-y &amp;lt;integer&amp;gt;&#039;&#039;&#039; Y offset from the top in pixels.&lt;br /&gt;
*&#039;&#039;&#039;--logo-transparency &amp;lt;integer&amp;gt;&#039;&#039;&#039; You can set the logo transparency value here (from 0 for full transparency to 255 for full opacity).&lt;br /&gt;
&lt;br /&gt;
Note: You can move the logo by left-clicking on it.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==The HTTP interface==&lt;br /&gt;
&lt;br /&gt;
VLC ships with a little HTTP server integrated. It is used both to stream using HTTP, and for the HTTP remote control interface.&lt;br /&gt;
&lt;br /&gt;
To start VLC with the HTTP interface, use:&lt;br /&gt;
 % &#039;&#039;&#039;vlc -I http [--http-src /directory/] [--http-host host:port]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If you want to have both the &amp;quot;normal&amp;quot; interface and the HTTP interface, use &#039;&#039;&#039;vlc --extraintf http&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
The HTTP interface will start listening at host:port (&amp;lt;all interfaces&amp;gt;:8080 if omitted), and will reproduce the structure of /directory at http://host:port/ ( vlc_source_path/share/http if omitted ).&lt;br /&gt;
&lt;br /&gt;
Use a browser to go to http://your_host_machine:port. You should be taken to the main page.&lt;br /&gt;
&lt;br /&gt;
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]].&lt;br /&gt;
&lt;br /&gt;
Available pages are:&lt;br /&gt;
* &#039;&#039;&#039;list was obsolete&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Other control interfaces==&lt;br /&gt;
&lt;br /&gt;
VLC includes a number of so-called interfaces that are not really 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 &#039;&#039;&#039;-I&#039;&#039;&#039; or &#039;&#039;&#039;--extraintf&#039;&#039;&#039; on the command line.&lt;br /&gt;
&lt;br /&gt;
===Hotkeys===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Hotkeys can be hacked by:&lt;br /&gt;
 % &#039;&#039;&#039;vlc --key-&amp;lt;function&amp;gt; &amp;amp;lt;code&amp;amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Code is composed by modifiers keys (Alt, Shift, Ctrl, Meta,Command) separated by a dash (-) and terminated by a key (a...z, +, =, -, &#039;,&#039;, +, &amp;amp;lt;, &amp;amp;gt;, `, /, ;, &#039;, \, [, ], *, 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 &#039;&#039;&#039;--longhelp&#039;&#039;&#039; option for full list of functions).&lt;br /&gt;
For example, for binding fullscreen to Ctrl-f, run:&lt;br /&gt;
 % &#039;&#039;&#039;vlc --key-fullscreen &#039;Ctrl-f&#039; &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===RC and RTCI===&lt;br /&gt;
&lt;br /&gt;
These two interfaces allow you to control VLC from a command shell (possibly using a remote connexion or a Unix socket).&lt;br /&gt;
&lt;br /&gt;
Start VLC with &#039;&#039;&#039;-I rc&#039;&#039;&#039; or &#039;&#039;&#039;--extraintf rc&#039;&#039;&#039;. When you get the &#039;&#039;&#039;Remote control interface initialized, `h&#039; for help&#039;&#039;&#039; message, press h and Enter to get help about available commands.&lt;br /&gt;
&lt;br /&gt;
To be able to remote connect to your VLC using a TCP socket (telnet-like connexion), use &#039;&#039;&#039;--rc-host your_host:port&#039;&#039;&#039;. Then, by connecting (using telnet or netcat) to the host on the given port, you will get the command shell.&lt;br /&gt;
&lt;br /&gt;
To use a UNIX socket (local socket, this does not work for Windows), use &#039;&#039;&#039;--rc-unix /path/to/socket&#039;&#039;&#039;. Commands can then be passed using this UNIX socket.&lt;br /&gt;
&lt;br /&gt;
The RTCI interface gives you more advanced options, such as marquee control for the marquee subpicture filter (See filter section).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Ncurses===&lt;br /&gt;
&lt;br /&gt;
This is a text interface, using ncurses library.&lt;br /&gt;
&lt;br /&gt;
Start VLC with &#039;&#039;&#039;-I ncurses&#039;&#039;&#039; or &#039;&#039;&#039;--extraintf ncurses&#039;&#039;&#039;. You will then get something like that:&lt;br /&gt;
&lt;br /&gt;
http://www.videolan.org/doc/play-howto/en/images/play-howto/intf-ncurses-playlist.jpg The ncurses interface&lt;br /&gt;
&lt;br /&gt;
Press h to get the list of all available commands, with a short description.&lt;br /&gt;
&lt;br /&gt;
There is also a filebrowser available for the ncurses interface in order to add playlist items. Press &#039;B&#039; to use it.&lt;br /&gt;
&lt;br /&gt;
http://www.videolan.org/doc/play-howto/en/images/play-howto/intf-ncurses-filebrowser.jpg The ncurses filebrowser&lt;br /&gt;
&lt;br /&gt;
You can set the filebrowser starting point by launching vlc with the &#039;&#039;&#039;--browse-dir&#039;&#039;&#039; option:&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc -I ncurses --browse-dir /filebrowser/starting/point/&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Gestures===&lt;br /&gt;
&lt;br /&gt;
Gestures provide a simple mouse gestures control. TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==The Mozilla plugin==&lt;br /&gt;
&lt;br /&gt;
VLC can also be embedded in a web browser! The following browsers are supported [http://www.mozilla.org/ Mozilla], [http://www.mozilla.org/products/firefox/ Firefox] and [http://www.apple.com/macosx/features/safari Safari].&lt;br /&gt;
&lt;br /&gt;
===Install the plugin===&lt;br /&gt;
&lt;br /&gt;
====GNU/Linux Debian====&lt;br /&gt;
&lt;br /&gt;
Install the &#039;&#039;mozilla-plugin-vlc&#039;&#039; package:&lt;br /&gt;
&lt;br /&gt;
 # &#039;&#039;&#039;apt-get update&#039;&#039;&#039;&lt;br /&gt;
 # &#039;&#039;&#039;apt-get install mozilla-plugin-vlc&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Windows====&lt;br /&gt;
&lt;br /&gt;
Quit Firefox or Mozilla.&lt;br /&gt;
&lt;br /&gt;
Copy the two files in &#039;&#039;&#039;VLC_Installation_folder\mozilla&#039;&#039;&#039; (usually &#039;&#039;&#039;C:\Program Files\VideoLAN\VLC\mozilla&#039;&#039;&#039;) to your mozilla plugins directory (Usually &#039;&#039;&#039;C:\Program Files\Mozilla\plugins&#039;&#039;&#039; or &#039;&#039;&#039;C:\Program Files\Mozilla&lt;br /&gt;
Firefox\plugins&#039;&#039;&#039;).&lt;br /&gt;
&lt;br /&gt;
Restart Firefox or Mozilla.&lt;br /&gt;
&lt;br /&gt;
====MacOS X====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;The Mozilla/Safari plugin for MacOS X is only available from vlc version 0.8.5.1 and onwards.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Quit Safari browser.&lt;br /&gt;
&lt;br /&gt;
Download the Mozilla/safari plugin package from [http://www.videolan.org/vlc/download-macosx.html MacOS X download page].&lt;br /&gt;
&lt;br /&gt;
Run the installer from the dmg image.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Compile the sources yourself====&lt;br /&gt;
&lt;br /&gt;
Please look at the [http://developers.videolan.org developers page] for information on how to do this.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Use the mozilla plugin===&lt;br /&gt;
&lt;br /&gt;
If you open a link to a video file handled by the VLC plugin (To get the list of handled types, browse to &#039;&#039;&#039;about:plugins&#039;&#039;&#039;) or a page with an embedded video, the plugin should open and read the&lt;br /&gt;
video.&lt;br /&gt;
&lt;br /&gt;
===Build HTML pages that use the plugin (VLC version up to 0.8.5)===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;WARNING:&#039;&#039;&#039; the APIs described in this section are &#039;&#039;&#039;deprecated&#039;&#039;&#039;, do not use, &lt;br /&gt;
&lt;br /&gt;
The following API description is only valid uptill version 0.8.5 of the mozilla plugin.&lt;br /&gt;
&lt;br /&gt;
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&lt;br /&gt;
plugin.&lt;br /&gt;
&lt;br /&gt;
The vlc plugin supports the following function calls:&lt;br /&gt;
*&#039;&#039;&#039;play()&#039;&#039;&#039;: Start playing media in the plugin.&lt;br /&gt;
*&#039;&#039;&#039;pause()&#039;&#039;&#039;: Pause playback.&lt;br /&gt;
*&#039;&#039;&#039;stop()&#039;&#039;&#039;: Stop media playback.&lt;br /&gt;
*&#039;&#039;&#039;fullscreen()&#039;&#039;&#039;: Switch the video to full screen.&lt;br /&gt;
*&#039;&#039;&#039;set_volume(vol)&#039;&#039;&#039;: Set the volume. &#039;&#039;&#039;vol&#039;&#039;&#039; has to be an int in the 0-200 range.&lt;br /&gt;
*&#039;&#039;&#039;get_volume()&#039;&#039;&#039;: Get the current volume setting.&lt;br /&gt;
*&#039;&#039;&#039;mute()&#039;&#039;&#039;: Toggle volume muting.&lt;br /&gt;
*&#039;&#039;&#039;set_int_variable(var_name, value)&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;set_bool_variable(var_name, value)&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;set_str_variable(var_name, value)&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;get_int_variable(var_name)&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;get_bool_variable(var_name)&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;get_str_variable(var_name)&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;clear_playlist()&#039;&#039;&#039;: Clear the playlist.&lt;br /&gt;
*&#039;&#039;&#039;add_item(mrl)&#039;&#039;&#039;: Append an item whose location is given by the [[media resource locator]] to the playlist.&lt;br /&gt;
*&#039;&#039;&#039;next()&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;previous()&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;isplaying()&#039;&#039;&#039;: return true if the plugin is playing something.&lt;br /&gt;
*&#039;&#039;&#039;get_length()&#039;&#039;&#039;: Get the media&#039;s length in seconds.&lt;br /&gt;
*&#039;&#039;&#039;get_position()&#039;&#039;&#039;: Get the current position in the media in percent.&lt;br /&gt;
*&#039;&#039;&#039;get_time()&#039;&#039;&#039;: Get the current position in the media in seconds.&lt;br /&gt;
*&#039;&#039;&#039;seek(seconds,is_relative)&#039;&#039;&#039;: If is_relative is true, seek relatively to current time, else seek from beginning of the stream. Seek time is specified in seconds.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Here are a few examples of HTML pages that use the&lt;br /&gt;
Mozilla plugin.&lt;br /&gt;
&lt;br /&gt;
====Example 1====&lt;br /&gt;
&lt;br /&gt;
In this example, the plugin will read an HTTP stream inside the web page. If the user goes fullscreen, he will have to press &#039;&#039;f&#039;&#039; or double-click on the video to go back in normal view.&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;html&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;head&amp;amp;gt;&amp;amp;lt;title&amp;amp;gt;Demo of VLC mozilla plugin&amp;amp;lt;/title&amp;amp;gt;&amp;amp;lt;/head&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;body&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;h1&amp;amp;gt;Demo of VLC mozilla plugin - Example 1&amp;amp;lt;/h1&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;embed type=&amp;quot;application/x-vlc-plugin&amp;quot;&lt;br /&gt;
          name=&amp;quot;video1&amp;quot;&lt;br /&gt;
          autoplay=&amp;quot;no&amp;quot; loop=&amp;quot;yes&amp;quot; width=&amp;quot;400&amp;quot; height=&amp;quot;300&amp;quot;&lt;br /&gt;
          target=&amp;quot;http://server.example.org/video1.vob&amp;quot; /&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;br /&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video1.play()&#039;&amp;amp;gt;Play video1&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video1.pause()&#039;&amp;amp;gt;Pause video1&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video1.stop()&#039;&amp;amp;gt;Stop video1&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video1.fullscreen()&#039;&amp;amp;gt;Fullscreen&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;/body&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/html&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Example 2====&lt;br /&gt;
&lt;br /&gt;
In this example, the plugin will read a multicast UDP stream in a dedicated video output window.&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;html&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;head&amp;amp;gt;&amp;amp;lt;title&amp;amp;gt;Demo of VLC mozilla plugin&amp;amp;lt;/title&amp;amp;gt;&amp;amp;lt;/head&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;body&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;h1&amp;amp;gt;Demo of VLC mozilla plugin - Example 2&amp;amp;lt;/h1&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;embed type=&amp;quot;application/x-vlc-plugin&amp;quot;&lt;br /&gt;
          name=&amp;quot;video2&amp;quot;&lt;br /&gt;
          autoplay=&amp;quot;no&amp;quot; loop=&amp;quot;no&amp;quot; hidden=&amp;quot;yes&amp;quot;&lt;br /&gt;
          target=&amp;quot;udp:@239.255.12.42&amp;quot; /&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;br /&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video2.play()&#039;&amp;amp;gt;Play video2&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video2.stop()&#039;&amp;amp;gt;Stop video2&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video2.fullscreen()&#039;&amp;amp;gt;Fullscreen&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;/body&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/html&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Building HTML pages for Mozilla/Firefox/Internet Explorere/Safari (VLC version 0.8.6 and above)==&lt;br /&gt;
&lt;br /&gt;
The following description works for any of the browsers VLC supports. The JavaScript API has been unified between Mozilla/Firefox/IE (ActiveX) and Safari, thus targetting at all of the major OS out there. This is only valid for VLC version 0.8.6 and above.&lt;br /&gt;
&lt;br /&gt;
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&lt;br /&gt;
plugin.&lt;br /&gt;
&lt;br /&gt;
The vlc plugin exports serveral objects that can be accessed for setting and getting information. When used improperly the API&#039;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.&lt;br /&gt;
&lt;br /&gt;
The vlc plugin knows the following objects:&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;audio&#039;&#039;&#039;: Access audio properties.&lt;br /&gt;
*&#039;&#039;&#039;input&#039;&#039;&#039;: Access input properties.&lt;br /&gt;
*&#039;&#039;&#039;playlist&#039;&#039;&#039;: Access playlist properties.&lt;br /&gt;
*&#039;&#039;&#039;video&#039;&#039;&#039;: Access video properties.&lt;br /&gt;
*&#039;&#039;&#039;log&#039;&#039;&#039;: Access log properties.&lt;br /&gt;
*&#039;&#039;&#039;messages&#039;&#039;&#039;: Access to log message properties.&lt;br /&gt;
*&#039;&#039;&#039;iterator&#039;&#039;&#039;: Access to log iterator properties.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;html&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;title&amp;amp;gt;VLC Mozilla plugin test page&amp;amp;lt;/title&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;body&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;embed type=&amp;quot;application/x-vlc-plugin&amp;quot; pluginspage=&amp;quot;http://www.videolan.org&amp;quot; version=&amp;quot;VideoLAN.VLCPlugin.2&amp;quot;&lt;br /&gt;
     width=&amp;quot;640&amp;quot;&lt;br /&gt;
     height=&amp;quot;480&amp;quot;&lt;br /&gt;
     id=&amp;quot;vlc&amp;quot;&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/embed&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;script language=&amp;quot;Javascript&amp;quot;&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;!--&lt;br /&gt;
 var vlc = document.getElementById(&amp;quot;vlc&amp;quot;);&lt;br /&gt;
 vlc.audio.toggleMute();&lt;br /&gt;
 !--&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/script&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/body&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/html&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Root object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;VersionInfo&#039;&#039;&#039;: returns version information string&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;vlc.versionInfo()&#039;&#039;&#039;: returns version information string (same as VersionInfo)&lt;br /&gt;
&lt;br /&gt;
====Audio object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.audio.mute&#039;&#039;&#039;: boolean value to mute and ummute the audio&lt;br /&gt;
*&#039;&#039;&#039;vlc.audio.volume&#039;&#039;&#039;: a value between [0-200] which indicates a percentage of the volume.&lt;br /&gt;
*&#039;&#039;&#039;vlc.audio.track&#039;&#039;&#039;: (supported in vlc version &amp;gt; 0.8.6) a value between [1-65535] which indicates the audio track to play or that is playing. a value of 0 means the audio is/will be disabled.&lt;br /&gt;
*&#039;&#039;&#039;vlc.audio.channel&#039;&#039;&#039;: (supported in vlc version &amp;gt; 0.8.6) integer value between [1-5] that indicates which audio channel mode is used, values can be: &amp;quot;1=stereo&amp;quot;, &amp;quot;2=reverse stereo&amp;quot;, &amp;quot;3=left&amp;quot;, &amp;quot;4=right&amp;quot;, &amp;quot;5=dolby&amp;quot;. Use vlc.audio.channel to check if setting of the audio channel mode has succeeded.&lt;br /&gt;
&lt;br /&gt;
 Audio Channel:&lt;br /&gt;
 &amp;lt;SELECT readonly onChange=&#039;doAudioChannel(this.value)&#039;&amp;gt;&lt;br /&gt;
    &amp;lt;OPTION value=1&amp;gt;Stereo&amp;lt;/OPTION&amp;gt;&lt;br /&gt;
    &amp;lt;OPTION value=2&amp;gt;Reverse stereo&amp;lt;/OPTION&amp;gt;&lt;br /&gt;
    &amp;lt;OPTION value=3&amp;gt;Left&amp;lt;/OPTION&amp;gt;&lt;br /&gt;
    &amp;lt;OPTION value=4&amp;gt;Right&amp;lt;/OPTION&amp;gt;&lt;br /&gt;
    &amp;lt;OPTION value=5&amp;gt;Dolby&amp;lt;/OPTION&amp;gt;&lt;br /&gt;
 &amp;lt;/SELECT&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;SCRIPT language=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;amp;lt;!--&lt;br /&gt;
 function doAudioChannel(value)&lt;br /&gt;
 {&lt;br /&gt;
    var vlc = getVLC(&amp;quot;vlc&amp;quot;);&lt;br /&gt;
    vlc.audio.channel = parseInt(value);&lt;br /&gt;
    alert(vlc.audio.channel);&lt;br /&gt;
 };&lt;br /&gt;
 --&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;vlc.audio.toggleMute()&#039;&#039;&#039;: boolean toggle that mutes and unmutes the audio based upon the previous state&lt;br /&gt;
&lt;br /&gt;
====Input object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.length&#039;&#039;&#039;: length of the input file in number of milliseconds. 0 is returned for &#039;live&#039; streams or clips whose length cannot be determined by VLC&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.fps&#039;&#039;&#039;: frames per second returned as a float (typically 60.0, 50.0, 23.976, etc...)&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.hasVout&#039;&#039;&#039;: a boolean that returns true when the video is being displayed, it returns false when video is not displayed&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.position&#039;&#039;&#039;: normalized position in multimedia stream item given as a float value between [0.0 - 1.0]&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.time&#039;&#039;&#039;: the absolute position in time given in milliseconds, this property can be used to seek through the stream&lt;br /&gt;
 &amp;amp;lt;!-- absolute seek in stream !--&amp;amp;gt;&lt;br /&gt;
 vlc.input.time = &amp;amp;lt;absolute seek&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;!-- relative seek in stream !--&amp;amp;gt;&lt;br /&gt;
 vlc.input.time = vlc.input.time + &amp;amp;lt;relative seek&amp;amp;gt;&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.state&#039;&#039;&#039;: current state of the input chain given as enumeration (IDLE/CLOSE=0, OPENING=1, BUFFERING=2, PLAYING=3, PAUSED=4, STOPPING=5, FORWARD=6, BACWARD=7, ERROR=8). &#039;&#039;&#039;Note that FORWARD and BACKWARD states are currently reserved and not yet operational.&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.rate&#039;&#039;&#039;: input speed given as float (1.0 for normal speed, 0.5 for half speed, 2.0 for twice as fast, etc.)&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Playlist object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.itemCount&#039;&#039;&#039;: number that returns the amount of items currently in the playlist (&#039;&#039;&#039;deprecated&#039;&#039;&#039;, do not use, see [[#Playlist_items_object| Playlist items]])&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.isPlaying&#039;&#039;&#039;: a boolean that returns true if the current playlist item is playing and false when it is not playing&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.items&#039;&#039;&#039;: return the playlist items collection, see [[#Playlist_items_object| Playlist items]]&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.add(mrl)&#039;&#039;&#039;: add a playlist item as [[MRL]]. The MRL must be given as a string. Returns a number as an item identifier in playlist (this is not a position  in playlist).&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.add(mrl,name,options)&#039;&#039;&#039;: add a playlist item as MRL, with metaname &#039;name&#039; and options &#039;options&#039;. options are text arguments which can be provided either as a single string containing space separated values, akin to VLC command line, or as an array of string values. Returns a number as an item identifier in playlist (this is not a position in playlist).&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.play()&#039;&#039;&#039;: start playing the current playlist item&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.playItem(number)&#039;&#039;&#039;: start playing the item whose identifier is number&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.togglePause()&#039;&#039;&#039;: toggle the pause state for the current playlist item&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.stop()&#039;&#039;&#039;: stop playing the current playlist item&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.next()&#039;&#039;&#039;: iterate to the next playlist item&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.prev()&#039;&#039;&#039;: iterate to the previous playlist item&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.clear()&#039;&#039;&#039;: empty the current playlist, all items will be deleted from the playlist (&#039;&#039;&#039;deprecated&#039;&#039;&#039;, do not use, see [[#Playlist_items_object| Playlist items]])&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.removeItem(number)&#039;&#039;&#039;: remove the item from playlist whose identifier is number &amp;lt;!-- (note: this number isn&#039;t the position in the playlist, but the number given by vlc.playlist.add() ) --&amp;gt; (&#039;&#039;&#039;deprecated&#039;&#039;&#039;, do not use, see [[#Playlist_items_object| Playlist items]])&lt;br /&gt;
&lt;br /&gt;
====Playlist items object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.items.count&#039;&#039;&#039;: number of items currently in the playlist&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.items.clear()&#039;&#039;&#039;: empty the current playlist, all items will be deleted from the playlist. If a movie is playing, it stop. Note that when this method returns, playlist may not have been entirely been cleared as this operation is performed asynchronously; use the &#039;&#039;count&#039;&#039; property to verify/wait until the playlist is empty.&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.items.remove(number)&#039;&#039;&#039;: remove the item whose identifier is number from playlist. (note: this number isn&#039;t the position in the playlist, but the number given by vlc.playlist.add() )&lt;br /&gt;
&lt;br /&gt;
====Video object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.width&#039;&#039;&#039;: returns the horizontal size of the video&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.height&#039;&#039;&#039;: returns the vertical size of the video&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.fullscreen&#039;&#039;&#039;: 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.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.aspectRatio&#039;&#039;&#039;: get and set the aspect ratio to use in the video screen. The property takes a string as input value. Typical values are: &amp;quot;1:1&amp;quot;, &amp;quot;4:3&amp;quot;, &amp;quot;16:9&amp;quot;, &amp;quot;16:10&amp;quot;, &amp;quot;221:100&amp;quot; and &amp;quot;5:4&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.subtitle&#039;&#039;&#039;: (supported in vlc version &amp;gt; 0.8.6a) get and set the subtitle track to show on the video screen. The property takes an integer as input value [1..65535]. If subtitle track is set to 0, the subtitles will be disabled. If set to a value outside the current subtitle tracks range, then it will return -1 and display an error message.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.teletext&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 0.9.0) get and set teletext page to show on the video stream. This will only work if a teletext elementary stream is available in the video stream. The property takes an integer as input value [0..999] for indicating the teletext page to view, setting the value to 0 means hide teletext. On error it will return -1 and display an error message.&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.toggleFullscreen()&#039;&#039;&#039;: toggle the fullscreen mode based on the previous setting&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.toggleTeletext()&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 0.9.0) toggle the teletext page to overlay transparent or not, based on the previous setting&lt;br /&gt;
&lt;br /&gt;
====Log object====&lt;br /&gt;
&lt;br /&gt;
this object allows accessing VLC main message logging queue. Typically this queue capacity is very small (no nore than 256 entries) and can easily overflow, therefore messages should be read and cleared as often as possible.&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.log.messages&#039;&#039;&#039;: returns the message collection, see [[Messages object]]&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.log.verbosity&#039;&#039;&#039;: write number [-1,0,1,2,3] for changing the verbosity level of the log messages; messages whose verbosity is higher than set will be not be logged in the queue. The numbers have the following meaning: -1 disable, 0 info, 1 error, 2 warning, 3 debug. &lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Messages object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;messages.count&#039;&#039;&#039;: returns number of messages in the log&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;messages.clear()&#039;&#039;&#039;: clear the current log buffer. It should be called as frequently as possible to not overflow the message queue. Call this method after the log messages of interest are read.&lt;br /&gt;
*&#039;&#039;&#039;messages.iterator()&#039;&#039;&#039;: creates and returns an iterator object, used to iterate over the messages in the log. &#039;&#039;&#039;Don&#039;t clear the log buffer while holding an iterator object.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Messages Iterator object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;iterator.hasNext&#039;&#039;&#039;: returns a boolean that indicates whether &#039;&#039;vlc.log.messages.next()&#039;&#039; will return the next message.&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;iterator.next()&#039;&#039;&#039;: returns the next message object in the log, see [[Message object]]&lt;br /&gt;
&lt;br /&gt;
====Message object====&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;message.severity&#039;&#039;&#039;: number that indicates the severity of the log message (0 = info, 1 = error, 2 = warning, 3 = debug)&lt;br /&gt;
*&#039;&#039;&#039;message.name&#039;&#039;&#039;: name of VLC module that printed the log message (e.g: main, http, directx, etc...)&lt;br /&gt;
*&#039;&#039;&#039;message.type&#039;&#039;&#039;: type of VLC module that printed the log message (eg: input, access, vout, sout, etc...)&lt;br /&gt;
*&#039;&#039;&#039;message.message&#039;&#039;&#039;: the message text&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Documentation}}&lt;/div&gt;</summary>
		<author><name>Jpsaman</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=ActiveX&amp;diff=11856</id>
		<title>ActiveX</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=ActiveX&amp;diff=11856"/>
		<updated>2008-06-10T12:12:36Z</updated>

		<summary type="html">&lt;p&gt;Jpsaman: Add a note about the old and new interface.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The [[Windows]] build of VLC includes an (optionaly installed) &#039;&#039;&#039;ActiveX control&#039;&#039;&#039;.  The ActiveX control enables VLC to be embedded in web browsers and third-party applications.  &lt;br /&gt;
&lt;br /&gt;
==Properties==&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
NOTE TO EDITORS!&lt;br /&gt;
PLEASE LEAVE THE SYNTAX AS VB (6 or 98, not .net or 2005).  IF NEEDED, WE SHOULD CREATE A SEPERATE SECTION FOR EACH LANGUAGE/VARIANT AND LINK TO IT.  &lt;br /&gt;
--&amp;gt;&lt;br /&gt;
The ActiveX control includes the following properties:&lt;br /&gt;
{|&lt;br /&gt;
|&#039;&#039;&#039;&#039;&#039;name&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;&#039;&#039;type&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;&#039;&#039;get or set&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;&#039;&#039;description&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|Length&lt;br /&gt;
|Integer&lt;br /&gt;
|get&lt;br /&gt;
|Returns length of the current clip.&lt;br /&gt;
|-&lt;br /&gt;
|playlistCount&lt;br /&gt;
|&lt;br /&gt;
|get&lt;br /&gt;
|Returns the count of items in the playlist&lt;br /&gt;
|-&lt;br /&gt;
|playlistIndex&lt;br /&gt;
|&lt;br /&gt;
|get&lt;br /&gt;
|Returns the index of the current item in the playlist.  &lt;br /&gt;
|-&lt;br /&gt;
|AutoLoop&lt;br /&gt;
|Boolean&lt;br /&gt;
|get/set&lt;br /&gt;
|Determines if the player should automatically loop when it finishes the current playlist.  &lt;br /&gt;
|-&lt;br /&gt;
|AutoPlay&lt;br /&gt;
|Boolean&lt;br /&gt;
|get/set&lt;br /&gt;
|Determines if the player should start playing a new file/playlist immediately upon being loaded.  &lt;br /&gt;
|-&lt;br /&gt;
|Volume&lt;br /&gt;
|Integer&lt;br /&gt;
|get/set&lt;br /&gt;
|Current volume (scaled from 0 to 100)&lt;br /&gt;
|-&lt;br /&gt;
|MRL&lt;br /&gt;
|String&lt;br /&gt;
|get/set&lt;br /&gt;
|Presumably returns the MRL of the currently loaded file.&amp;lt;!-- readme says &amp;quot;initial MRL in playlist&amp;quot; --&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|Time&lt;br /&gt;
|Integer&lt;br /&gt;
|get/set&lt;br /&gt;
|Time elapsed in seconds playing current MRL, 0 for live feed&lt;br /&gt;
|-&lt;br /&gt;
|showdisplay&lt;br /&gt;
|Boolean&lt;br /&gt;
|get/set&lt;br /&gt;
|show/hide control viewport&amp;lt;!-- from readme --&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|Playing&lt;br /&gt;
|Boolean&lt;br /&gt;
|get&lt;br /&gt;
|Returns whether some MRL is playing&amp;lt;!-- from readme --&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|Position&lt;br /&gt;
|&#039;real&#039;&lt;br /&gt;
|get/set&lt;br /&gt;
|Playback position within current MRL, scaled from 0.0 to 1.0.  Live feed returns 0.0&lt;br /&gt;
|-&lt;br /&gt;
|VersionInfo&lt;br /&gt;
|String&lt;br /&gt;
|get&lt;br /&gt;
|Returns version and build information.&lt;br /&gt;
|}&lt;br /&gt;
Note:  In Visual Basic, type &amp;quot;Long&amp;quot; should be used for properties listed with type &amp;quot;Integer&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==Important==&lt;br /&gt;
The API described in this page only reflects VLC ActiveX controls prior to 0.8.5.1 It is not adviced to use this JS API any longer. Please use the VLC ActiveX v2 interface as described in: http://www.videolan.org/doc/play-howto/en/ch04.html#id310965 (Subject: &amp;quot;Build HTML pages that use the plugin (version &amp;gt; 0.8.5.1)&amp;quot;) or http://wiki.videolan.org/Documentation:Play_HowTo/Advanced_Use_of_VLC#Building_HTML_pages_for_Mozilla.2FFirefox.2FInternet_Explorere.2FSafari_.28VLC_version_0.8.6_and_above.29&lt;br /&gt;
&lt;br /&gt;
The new JS API interface is exactly the same for Internet Explorer, Mozilla/Firefox and Safari. Thus easing the maintenance and developing of webpages for the VLC browser plugins.&lt;br /&gt;
&lt;br /&gt;
==Methods==&lt;br /&gt;
The ActiveX control includes the following methods (functions):&lt;br /&gt;
{|&lt;br /&gt;
|&#039;&#039;&#039;&#039;&#039;name&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;&#039;&#039;type&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;&#039;&#039;description&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;&#039;&#039;syntax ([[wikipedia:Visual Basic|VB]])&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|setVariable&lt;br /&gt;
|method&lt;br /&gt;
|Assigns a value to a variable that is defined in libvlc.c&lt;br /&gt;
|controlname.setVariable name as String, value&lt;br /&gt;
|-&lt;br /&gt;
|getVariable&lt;br /&gt;
|method&lt;br /&gt;
|Returns the contents of a variable that is defined in libvlc.c&lt;br /&gt;
|x = controlname.getVariable(name as String)&lt;br /&gt;
|-&lt;br /&gt;
|pause&lt;br /&gt;
|method&lt;br /&gt;
|Pauses the currently playing clip&lt;br /&gt;
|controlname.pause&lt;br /&gt;
|-&lt;br /&gt;
|play&lt;br /&gt;
|method&lt;br /&gt;
|Plays as in the normal player, if a clip is not loaded, does nothing.&lt;br /&gt;
|controlname.play&lt;br /&gt;
|-&lt;br /&gt;
|playFaster&lt;br /&gt;
|method&lt;br /&gt;
|Makes the currently playing clip play faster.&lt;br /&gt;
|controlname.playFaster&lt;br /&gt;
|-&lt;br /&gt;
|playSlower&lt;br /&gt;
|method&lt;br /&gt;
|Makes the currently playing clip play slower.&lt;br /&gt;
|controlname.playSlower&lt;br /&gt;
|-&lt;br /&gt;
|stop&lt;br /&gt;
|method&lt;br /&gt;
|Makes the currently playing clip stop.&lt;br /&gt;
|controlname.stop&lt;br /&gt;
|-&lt;br /&gt;
|shuttle&lt;br /&gt;
|method&lt;br /&gt;
|Moves the playback position a specified number of seconds in either direction.&lt;br /&gt;
|controlname.shuttle(seconds as Long)&lt;br /&gt;
|-&lt;br /&gt;
|playlistClear&lt;br /&gt;
|method&lt;br /&gt;
|Clears the playlist&lt;br /&gt;
|controlname.playlistClear&lt;br /&gt;
|-&lt;br /&gt;
|playlistNext&lt;br /&gt;
|method&lt;br /&gt;
|Goes to next item in the playlist&lt;br /&gt;
|controlname.playlistNext&lt;br /&gt;
|-&lt;br /&gt;
|playlistPrev&lt;br /&gt;
|method&lt;br /&gt;
|Goes to previous item in the playlist&lt;br /&gt;
|controlname.playlistPrev&lt;br /&gt;
|-&lt;br /&gt;
|addTarget&lt;br /&gt;
|method&lt;br /&gt;
|Adds a uri to the current playlist or replaces the current playlist with the uri.  &lt;br /&gt;
|controlname.addTarget(uri as String, options, mode as [[VLCPlaylistMode]], Position as Long)&lt;br /&gt;
|-&lt;br /&gt;
|toggleMute&lt;br /&gt;
|method&lt;br /&gt;
|Toggles between the muted/unmuted state of the embedded player.&lt;br /&gt;
|controlname.toggleMute&lt;br /&gt;
|-&lt;br /&gt;
|fullscreen&lt;br /&gt;
|method&lt;br /&gt;
|Toggles between fullscreen and non-fullscreen modes.&lt;br /&gt;
|controlname.fullscreen&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Options==&lt;br /&gt;
The &amp;lt;code&amp;gt;addTarget&amp;lt;/code&amp;gt; method accepts most of the command line options; including, but not limited to, the following :&lt;br /&gt;
*&amp;lt;code&amp;gt;:audio-track=&#039;&#039;index&#039;&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
*&amp;lt;code&amp;gt;:vout-filter=&#039;&#039;output-filter&#039;&#039;&amp;lt;/code&amp;gt; (&amp;lt;code&amp;gt;deinterlace&amp;lt;/code&amp;gt; for example)&lt;br /&gt;
*&amp;lt;code&amp;gt;:deinterlace-mode=&#039;&#039;mode&#039;&#039;&amp;lt;/code&amp;gt; (&amp;lt;code&amp;gt;linear&amp;lt;/code&amp;gt; for example)&lt;br /&gt;
&lt;br /&gt;
==Samples==&lt;br /&gt;
*[[ActiveX/Delphi|Delphi Implementation]]&lt;br /&gt;
&lt;br /&gt;
* [[ActiveX/HTML|HTML Implementation]]&lt;br /&gt;
&lt;br /&gt;
==Installing==&lt;br /&gt;
===Introduction===&lt;br /&gt;
&lt;br /&gt;
VideoLAN is not a good source for the installation of VLC through an ActiveX control. At some point, Microsoft Internet Explorer stopped allowing the installation of ActiveX controls unless:&lt;br /&gt;
* they were signed to associate the software vendor&#039;s name with the file containing the ActiveX control, or&lt;br /&gt;
* they resided in an &amp;quot;trusted site&amp;quot; (from the user&#039;s perspective, running Internet Explorer)&lt;br /&gt;
The second option is only feasible where both server and client infrastructure are managed under the same umbrella, i.e. where the server providing the ActiveX control can be declared &amp;quot;trusted&amp;quot;. This is not feasible in the open web. In a web configuration, a [http://en.wikipedia.org/wiki/Certificate_authority Certificate Authority] needs to digitally sign the ActiveX control. This comes at a cost which the VideoLAN project is not able to bear. The solution is to create one&#039;s own ActiveX control distribution, which in turn can be digitally signed by a Certificate Authority of your choice, if necessary.&lt;br /&gt;
&lt;br /&gt;
===Creating an VLC ActiveX Distribution===&lt;br /&gt;
The following requisites are required:&lt;br /&gt;
* CABSDK by Microsoft to create a [http://en.wikipedia.org/wiki/Cabinet_%28file_format%29 Cabinet File] (.cab-file) containing the relevant ActiveX control and VLC files. MSDN has [http://msdn2.microsoft.com/en-us/library/aa751974.aspx a good description how to package an ActiveX Control], including a link to the CABSDK download page.&lt;br /&gt;
* The .cab-file is a special form of a .zip file, consisting of:&lt;br /&gt;
** axvlc.inf - The INF file, which would be called manifest in the modern age&lt;br /&gt;
** axvlc.dll - ActiveX DLL which bootstraps the VLC setup file&lt;br /&gt;
** vlc-0.8.6e-win32.exe - VLC setup file (refer to your version)&lt;br /&gt;
&lt;br /&gt;
I am using the following code in the INF file:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
; Version number and signature of INF file.&lt;br /&gt;
;&lt;br /&gt;
[version]&lt;br /&gt;
signature=&amp;quot;$CHICAGO$&amp;quot;&lt;br /&gt;
AdvancedINF=2.0&lt;br /&gt;
&lt;br /&gt;
[Add.Code]&lt;br /&gt;
vlc-0.8.6e-win32.exe&lt;br /&gt;
axvlc.dll=axvlc.dll&lt;br /&gt;
&lt;br /&gt;
[axvlc.dll]&lt;br /&gt;
FileVersion=0,8,6,0&lt;br /&gt;
clsid={9BE31822-FDAD-461B-AD51-BE1D1C159921}&lt;br /&gt;
RegisterServer=no&lt;br /&gt;
hook=nsiinstaller&lt;br /&gt;
&lt;br /&gt;
[vlc-0.8.6e-win32.exe]&lt;br /&gt;
FileVersion=0,8,6,0&lt;br /&gt;
file-win32-x86=thiscab&lt;br /&gt;
&lt;br /&gt;
[nsiinstaller]&lt;br /&gt;
run=%EXTRACT_DIR%\vlc-0.8.6e-win32.exe&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Again, refer to your version of VLC.&lt;br /&gt;
&lt;br /&gt;
You can extract axvlc.dll from the binary distribution of VLC. This is a zip file on VideoLAN&#039;s download page, version 0.8.6.e [http://downloads.videolan.org/pub/videolan/vlc/0.8.6e/win32/vlc-0.8.6e-win32.zip here].&lt;br /&gt;
&lt;br /&gt;
The regular VLC setup file is the &amp;quot;featured&amp;quot; download on VideoLAN&#039;s main page; a copy resides in the same directory as axvlc.dll, the VLC setup file of version 0.8.6.e [http://downloads.videolan.org/pub/videolan/vlc/0.8.6e/win32/vlc-0.8.6e-win32.exe here].&lt;br /&gt;
&lt;br /&gt;
With CABSDK installed and the three components in place, you can create the .cab-file using the CABARC tool from Microsoft&#039;s CABSDK, using the following command from a command prompt:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;CABARC.EXE N axvlc.cab axvlc.inf axvlc.dll vlc-0.8.6e-win32.exe&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
This assumes the [http://en.wikipedia.org/wiki/Path_%28computing%29 PATH] has been set to CABARC.EXE&#039;s directory. If you need to sign the .cab-file, you need to use the -s switch to allocate space for your digital certificate.&lt;br /&gt;
&lt;br /&gt;
===.cab-file Integration===&lt;br /&gt;
The .cab file is integrated as described in the [http://wiki.videolan.org/ActiveX#Samples samples above], using the &amp;lt;OBJECT&amp;gt; element in the case of HTML, for example. When the ActiveX Control is called for the first time, i.e. prior to VLC installation through any means, the setup program should start up. Unfortunately, users have to click through a few dialogs, &amp;quot;allow blocked contents&amp;quot; or deal with other inconveniences, depending on your configuration and the user&#039;s security settings of Internet Explorer. The user must have proper rights to install VLC on the user&#039;s computer; identical to a regular installation of VLC as required by the VLC setup program.&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
*[http://git.videolan.org/?p=vlc.git;a=blob;f=projects/activex/README.TXT Official ReadMe]&lt;br /&gt;
&lt;br /&gt;
[[Category:Embedded]]&lt;/div&gt;</summary>
		<author><name>Jpsaman</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=Documentation:Advanced_Use_of_VLC&amp;diff=10319</id>
		<title>Documentation:Advanced Use of VLC</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=Documentation:Advanced_Use_of_VLC&amp;diff=10319"/>
		<updated>2007-12-18T09:20:19Z</updated>

		<summary type="html">&lt;p&gt;Jpsaman: /* Video object */ not sure about 0 for hiding teletext, needs experimenting&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{RightMenu|documentation play howto toc}}&lt;br /&gt;
&lt;br /&gt;
==Use the command line==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;TODO: completely outdated&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
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&#039;t need or want a GUI. Here is the complete description of VLC&#039;s command line and how to use it.&lt;br /&gt;
&lt;br /&gt;
You need to be quite comfortable with command line usage to use this.&lt;br /&gt;
&lt;br /&gt;
 Note: Windows users have to use the &#039;&#039;--option-name=&amp;quot;value&amp;quot;&#039;&#039; syntax instead of the &#039;&#039;--option-name value&#039;&#039; syntax.&lt;br /&gt;
&lt;br /&gt;
===Getting help===&lt;br /&gt;
&lt;br /&gt;
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, ...&lt;br /&gt;
&lt;br /&gt;
This chapter will only describe the &amp;quot;general&amp;quot; options, i.e. the core options. Each module adds new options. For example, the HTTP input module will add options for caching, proxy, authentication, ...&lt;br /&gt;
&lt;br /&gt;
By using &#039;&#039;&#039;vlc --help&#039;&#039;&#039;, you will get the basic core options. &#039;&#039;&#039;vlc --longhelp&#039;&#039;&#039; will give all the basic options (core + modules). Adding &#039;&#039;&#039;--advanced&#039;&#039;&#039; will give the &amp;quot;advanced options&amp;quot; (for advanced users). So &#039;&#039;&#039;vlc --longhelp --advanced&#039;&#039;&#039; will give you all options. You can also append &#039;&#039;&#039;--help-verbose&#039;&#039;&#039; if you want more detailed help.&lt;br /&gt;
&lt;br /&gt;
Also, you might want to get debug informations. To do this, use &#039;&#039;&#039;-v&#039;&#039;&#039; or &#039;&#039;&#039;-vv&#039;&#039;&#039; (this will show lower severity messages). If your console supports it, you can add &#039;&#039;&#039;--color to get messages in color.&lt;br /&gt;
&lt;br /&gt;
===Opening streams===&lt;br /&gt;
&lt;br /&gt;
The following commands start VLC and start reading the given element(s)&lt;br /&gt;
&lt;br /&gt;
====Opening a file====&lt;br /&gt;
&lt;br /&gt;
Start VLC with:&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc my_file&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
VLC should be able to recognize the file type. If it does not, you can force demultiplexer and decoder (see below).&lt;br /&gt;
&lt;br /&gt;
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].&lt;br /&gt;
&lt;br /&gt;
====Opening a DVD or VCD, or an audio CD====&lt;br /&gt;
&lt;br /&gt;
Start VLC with:&lt;br /&gt;
&lt;br /&gt;
For a DVD with menus:&lt;br /&gt;
 % &#039;&#039;&#039;vlc dvd://[device][@raw_device][@[title][:[chapter][:angle]]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
In most cases, &#039;&#039;&#039;vlc dvd://&#039;&#039;&#039; or &#039;&#039;&#039;vlc dvd://[device]&#039;&#039;&#039; will do. [device] is for example &#039;&#039;&#039;/dev/dvd&#039;&#039;&#039; on GNU/Linux or &#039;&#039;&#039;D:&#039;&#039;&#039; on Windows (complete path to your DVD drive).&lt;br /&gt;
&lt;br /&gt;
or&lt;br /&gt;
&lt;br /&gt;
(DVD without menus):&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc dvdsimple://[device][@raw_device][@[title][:[chapter][:angle]]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
or&lt;br /&gt;
&lt;br /&gt;
(VCD):&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc vcd://[device][@{E|P|E|T|S}[number]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
or&lt;br /&gt;
&lt;br /&gt;
(Audio CD):&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc cdda://[device][@[track]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Receiving a network stream====&lt;br /&gt;
&lt;br /&gt;
To receive an unicast UDP stream (sent by VLS or VLC&#039;s stream output), start VLC with:&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc  udp:[@:server_port]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If you use the default port (1234), &#039;&#039;&#039;vlc udp:&#039;&#039;&#039; will do. For more information, look at the Streaming Howto.&lt;br /&gt;
&lt;br /&gt;
To receive an multicast UDP stream (sent by VLS or VLC&#039;s stream output), start VLC with:&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc udp:@multicast_address[:server_port]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
To receive a SSM (source specific multicast) stream, you can use:&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc udp:server_address@multicast_address[:server_port]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This only works on OSs that support SSM (Windows XP and recent Linux kernels).&lt;br /&gt;
&lt;br /&gt;
To receive a HTTP stream, start VLC with:&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc http://www.example.org/your_file.mpg&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
To receive a RTSP stream, start VLC with:&amp;lt;/para&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc rtsp://www.example.org/your_stream&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Modules selection===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--intf  &amp;lt;module&amp;gt;&#039;&#039;&#039; allows you to select the interface module.&lt;br /&gt;
*&#039;&#039;&#039;--extraintf  &amp;lt;module&amp;gt;&#039;&#039;&#039; allows you to select extra interface modules that will be launched in addition to the main one. This is mainly useful for special &#039;&#039;control&#039;&#039; interfaces, like HTTP, RC (Remote Control), ... (see below)&lt;br /&gt;
*&#039;&#039;&#039;--aout  &amp;lt;module&amp;gt;&#039;&#039;&#039; allows you to select the audio output module.&lt;br /&gt;
*&#039;&#039;&#039;--vout  &amp;lt;module&amp;gt;&#039;&#039;&#039; allows you to select the video output module.&lt;br /&gt;
*&#039;&#039;&#039;--memcpy  &amp;lt;module&amp;gt;&#039;&#039;&#039; allows you to choose a memory copy module. You should probably never touch that.&lt;br /&gt;
&lt;br /&gt;
You can get a listing of the available modules by using &#039;&#039;&#039;vlc -l&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Stream Output===&lt;br /&gt;
&lt;br /&gt;
The Stream output system allows vlc to become a streaming server.&lt;br /&gt;
&lt;br /&gt;
For more details on the stream output system, please have a look at the [[Documentation:Streaming HowTo|Streaming HowTo]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Other Options===&lt;br /&gt;
&lt;br /&gt;
====Audio options====&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--noaudio&#039;&#039;&#039; disables audio output.&lt;br /&gt;
*&#039;&#039;&#039;--mono&#039;&#039;&#039; forces VLC to treat the stream in mono audio.&lt;br /&gt;
*&#039;&#039;&#039;--volume &amp;lt;integer&amp;gt;&#039;&#039;&#039; sets the level of audio output (between 0 and 1024).&lt;br /&gt;
*&#039;&#039;&#039;--aout-rate &amp;lt;integer&amp;gt;&#039;&#039;&#039; sets the audio output frequency (Hz). By default, VLC will try to autodetect this.&lt;br /&gt;
*&#039;&#039;&#039;--desync &amp;lt;integer&amp;gt;&#039;&#039;&#039; compensates desynchronization of audio (ms). (If audio and video streams are not synchronized, use this setting to delay the audio stream)&lt;br /&gt;
*&#039;&#039;&#039;--audio-filter &amp;lt;string&amp;gt;&#039;&#039;&#039; 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)&lt;br /&gt;
&lt;br /&gt;
====Video options====&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--novideo&#039;&#039;&#039; disables video output.&lt;br /&gt;
*&#039;&#039;&#039;--greyscale&#039;&#039;&#039; turns video output into grayscale mode.&lt;br /&gt;
*&#039;&#039;&#039;--fullscreen&#039;&#039;&#039; ( or &#039;&#039;&#039;-f&#039;&#039;&#039;) sets fullscreen video.&lt;br /&gt;
*&#039;&#039;&#039;--nooverlay&#039;&#039;&#039; disables hardware acceleration for the video output.&lt;br /&gt;
*&#039;&#039;&#039;--width, --height &amp;lt;integer&amp;gt;&#039;&#039;&#039; sets the video window dimensions. By default, the video window size will be adjusted to match the video dimensions.&lt;br /&gt;
*&#039;&#039;&#039;--zoom &amp;lt;float&amp;gt;&#039;&#039;&#039; adds a zoom factor.&lt;br /&gt;
*&#039;&#039;&#039;--aspect-ratio &amp;lt;mode&amp;gt;&#039;&#039;&#039; forces source aspect ratio. Modes are 4x3, 16x9, ...&lt;br /&gt;
*&#039;&#039;&#039;--spumargin  &amp;lt;integer&amp;gt;&#039;&#039;&#039; forces SPU subtitles postion.&lt;br /&gt;
*&#039;&#039;&#039;--filter &amp;lt;string&amp;gt;&#039;&#039;&#039; adds video filters to the processing chain. You can add several filters, separated by commas&lt;br /&gt;
*&#039;&#039;&#039;--sub-filter &amp;lt;string&amp;gt;&#039;&#039;&#039; adds video subpictures filter to the processing chain.&lt;br /&gt;
&lt;br /&gt;
====Playlist options====&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--random&#039;&#039;&#039; plays files randomly forever.&lt;br /&gt;
*&#039;&#039;&#039;--loop&#039;&#039;&#039; loops playlist on end.&lt;br /&gt;
*&#039;&#039;&#039;--repeat&#039;&#039;&#039; repeats current item until another item is forced&lt;br /&gt;
*&#039;&#039;&#039;--play-and-stop&#039;&#039;&#039; stops the playlist after each played item.&lt;br /&gt;
&lt;br /&gt;
====Network options====&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--server-port &amp;lt;integer&amp;gt;&#039;&#039;&#039; sets server port.&lt;br /&gt;
*&#039;&#039;&#039;--iface  &amp;lt;string&amp;gt;&#039;&#039;&#039; specifies the network interface to use.&lt;br /&gt;
*&#039;&#039;&#039;--iface-addr  &amp;lt;string&amp;gt;&#039;&#039;&#039; specifies your network interface IP address.&lt;br /&gt;
*&#039;&#039;&#039;--mtu  &amp;lt;integer&amp;gt;&#039;&#039;&#039; specifies the MTU of the network interface.&lt;br /&gt;
*&#039;&#039;&#039;--ipv6&#039;&#039;&#039; forces IPv6.&lt;br /&gt;
*&#039;&#039;&#039;--ipv4&#039;&#039;&#039; forces IPv4.&lt;br /&gt;
&lt;br /&gt;
====CPU options====&lt;br /&gt;
&lt;br /&gt;
You should probably not touch these options unless you know what you are doing.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--nommx&#039;&#039;&#039; disables the use of MMX CPU extensions.&lt;br /&gt;
*&#039;&#039;&#039;--no3dn&#039;&#039;&#039; disables the use of 3D Now! CPU extensions.&lt;br /&gt;
*&#039;&#039;&#039;--nommxext&#039;&#039;&#039; disables the use of MMX Ext CPU extensions.&lt;br /&gt;
*&#039;&#039;&#039;--nosse&#039;&#039;&#039; disables the use of SSE CPU extensions.&lt;br /&gt;
*&#039;&#039;&#039;--noaltivec&#039;&#039;&#039; disables the use of Altivec CPU extensions.&lt;br /&gt;
&lt;br /&gt;
====Miscellaneous options====&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--quiet&#039;&#039;&#039;  deactivates all console messages.&lt;br /&gt;
*&#039;&#039;&#039;--color&#039;&#039;&#039; displays color messages.&lt;br /&gt;
*&#039;&#039;&#039;--search-path  &amp;lt;string&amp;gt;&#039;&#039;&#039; specifies interface default search path.&lt;br /&gt;
*&#039;&#039;&#039;--plugin-path  &amp;lt;string&amp;gt;&#039;&#039;&#039; specifies plugin search path.&lt;br /&gt;
*&#039;&#039;&#039;--no-plugins-cache&#039;&#039;&#039; disables the plugin cache (plugins cache speeds up startup)&lt;br /&gt;
*&#039;&#039;&#039;--dvd  &amp;lt;string&amp;gt;&#039;&#039;&#039; specifies the default DVD device.&lt;br /&gt;
*&#039;&#039;&#039;--vcd  &amp;lt;string&amp;gt;&#039;&#039;&#039; specifies the default VCD device.&lt;br /&gt;
*&#039;&#039;&#039;--program  &amp;lt;integer&amp;gt;&#039;&#039;&#039; specifies program (SID) (for streams with several programs, like satellite ones).&lt;br /&gt;
*&#039;&#039;&#039;--audio-type  &amp;lt;integer&amp;gt;&#039;&#039;&#039; specifies the default audio type to use with dvds.&lt;br /&gt;
*&#039;&#039;&#039;--audio-channel  &amp;lt;integer&amp;gt;&#039;&#039;&#039; specifies the default audio channel to use with dvds.&lt;br /&gt;
*&#039;&#039;&#039;--spu-channel  &amp;lt;integer&amp;gt;&#039;&#039;&#039; specifies the default subtitle channel to use with dvds.&lt;br /&gt;
*&#039;&#039;&#039;--version&#039;&#039;&#039; gives you information about the current VLC version.&lt;br /&gt;
*&#039;&#039;&#039;--module  &amp;lt;module&amp;gt; &#039;&#039;&#039; displays help about specified module. (Shortcut: &#039;&#039;&#039;-p&#039;&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
===Item-specific options===&lt;br /&gt;
&lt;br /&gt;
There are many options that are related to items (like &#039;&#039;&#039;--novideo&#039;&#039;&#039;, &#039;&#039;&#039;--codec&#039;&#039;&#039;, &#039;&#039;&#039;--fullscreen&#039;&#039;&#039;).&lt;br /&gt;
&lt;br /&gt;
For all of these, you have the possibility to make them item-specific, using &amp;quot;:&amp;quot; instead of &amp;quot;--&amp;quot; and putting the option just after the concerned item.&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc file1.mpg :fullscreen file2.mpg&#039;&#039;&#039;&lt;br /&gt;
will play file1.mpg in fullscreen mode and file2.mpg in the default mode (which is generally no fullscreen), whereas&lt;br /&gt;
 % &#039;&#039;&#039;vlc --fullscreen file1.mpg file2.mpg&#039;&#039;&#039;&lt;br /&gt;
will play both files in fullscreen mode&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc --fullscreen file1.mpg :sub-file=file1.srt :no-fullscreen file2.mpg :filter=distort&#039;&#039;&#039;&lt;br /&gt;
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)&lt;br /&gt;
&lt;br /&gt;
==Advanced use of filters==&lt;br /&gt;
&lt;br /&gt;
===Filters===&lt;br /&gt;
&lt;br /&gt;
These are the old style VLC filters. They only apply to on screen display and thus cannot be streamed.&lt;br /&gt;
&lt;br /&gt;
====Deinterlacing video filter====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;deinterlace&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--deinterlace-mode {discard,blend,mean,bob,linear}&#039;&#039;&#039; choose a deinterlacing mode.&lt;br /&gt;
&lt;br /&gt;
====Invert video filter====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;invert&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Image properties filter====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;adjust&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--contrast &amp;lt;float&amp;gt;&#039;&#039;&#039; Image contrast in the 0-2 range.&lt;br /&gt;
*&#039;&#039;&#039;--brightness &amp;lt;float&amp;gt;&#039;&#039;&#039; Image brightness in the 0-2 range.&lt;br /&gt;
*&#039;&#039;&#039;--hue &amp;lt;integer&amp;gt;&#039;&#039;&#039; Image hue in the 0-360 range.&lt;br /&gt;
*&#039;&#039;&#039;--saturation &amp;lt;float&amp;gt;&#039;&#039;&#039; Image saturation in the 0-3 range.&lt;br /&gt;
*&#039;&#039;&#039;-gamma &amp;lt;float&amp;gt;&#039;&#039;&#039; Image gamma in the 0-10 range.&lt;br /&gt;
&lt;br /&gt;
====Wall video filter====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;wall&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This filter splits the output in several windows.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--wall-cols &amp;lt;integer&amp;gt;&#039;&#039;&#039; Number of columns.&lt;br /&gt;
*&#039;&#039;&#039;--wall-rows &amp;lt;integer&amp;gt;&#039;&#039;&#039; Number of rows.&lt;br /&gt;
*&#039;&#039;&#039;--wall-active &amp;lt;string&amp;gt;&#039;&#039;&#039; Select the windows you want to display. To select windows 2 and 4 you would write &#039;&#039;&#039;--wall-active 2,4&#039;&#039;&#039;. When this option isn&#039;t specified, all windows are displayed.&lt;br /&gt;
&lt;br /&gt;
====Video transformation filter====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;transform&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--transform-type {90,180,270,hflip,vflip}&#039;&#039;&#039; Select rotation angle or symmetry.&lt;br /&gt;
&lt;br /&gt;
====Distort video filter====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;distort&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Clone video filter====&lt;br /&gt;
&lt;br /&gt;
This filter clones the output window.&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;clone&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--clone-count &amp;lt;integer&amp;gt;&#039;&#039;&#039; Number of clones.&lt;br /&gt;
*&#039;&#039;&#039;--clone-vout-list &amp;lt;string&amp;gt;&#039;&#039;&#039; Comma separated string of video output modules.&lt;br /&gt;
&lt;br /&gt;
====Crop video filter====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;crop&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--crop-geometry &amp;lt;string&amp;gt;&#039;&#039;&#039; Set the geometry of the zone to crop. This is set as &amp;lt;width&amp;gt; x &amp;lt;height&amp;gt; + &amp;lt;left offset&amp;gt; + &amp;lt;top offset&amp;gt;.&lt;br /&gt;
*&#039;&#039;&#039;--autocrop&#039;&#039;&#039; Enable automatic black border cropping.&lt;br /&gt;
&lt;br /&gt;
====Motion blur filter====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;motionblur&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;blur-factor &amp;lt;integer&amp;gt;&#039;&#039;&#039; Blur factor in the 1-127 range.&lt;br /&gt;
&lt;br /&gt;
====Video pictures blending====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;blend&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Video scaling filter====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;scale&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Subpictures Filters===&lt;br /&gt;
&lt;br /&gt;
These are the new VLC filters. They can be streamed.&lt;br /&gt;
&lt;br /&gt;
====Time display sub filter====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;time&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--time-format &amp;lt;string&amp;gt;&#039;&#039;&#039; Time format string. You can use the following special characters %Y = year, %m = month, %d = day, %H = hour, %M = minute, %S = second.&lt;br /&gt;
*&#039;&#039;&#039;--time-x &amp;lt;integer&amp;gt;&#039;&#039;&#039; X offset from the left in pixels.&lt;br /&gt;
*&#039;&#039;&#039;--time-y &amp;lt;integer&amp;gt;&#039;&#039;&#039; Y offset from the top in pixels.&lt;br /&gt;
&lt;br /&gt;
====Marquee display sub filter====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;marq&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--marq-marquee &amp;lt;string&amp;gt;&#039;&#039;&#039; Marquee text to display.&lt;br /&gt;
*&#039;&#039;&#039;--marq-x &amp;lt;integer&amp;gt;&#039;&#039;&#039; X offset from the left in pixels.&lt;br /&gt;
*&#039;&#039;&#039;--marq-y &amp;lt;integer&amp;gt;&#039;&#039;&#039; Y offset from the top in pixels.&lt;br /&gt;
*&#039;&#039;&#039;--marq-timeout &amp;lt;timeout&amp;gt;&#039;&#039;&#039; Defines the time the marquee must remain displayed in milliseconds. Default value is 0 (remain forever).&lt;br /&gt;
&lt;br /&gt;
====Logo video filter====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;logo&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This filter can be used both as an old style filter or a subpictures filter.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--logo-file &amp;lt;string&amp;gt;&#039;&#039;&#039; Full path of the PNG file to use.&lt;br /&gt;
*&#039;&#039;&#039;--logo-x &amp;lt;integer&amp;gt;&#039;&#039;&#039; X offset from the left in pixels.&lt;br /&gt;
*&#039;&#039;&#039;--logo-y &amp;lt;integer&amp;gt;&#039;&#039;&#039; Y offset from the top in pixels.&lt;br /&gt;
*&#039;&#039;&#039;--logo-transparency &amp;lt;integer&amp;gt;&#039;&#039;&#039; You can set the logo transparency value here (from 0 for full transparency to 255 for full opacity).&lt;br /&gt;
&lt;br /&gt;
Note: You can move the logo by left-clicking on it.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==The HTTP interface==&lt;br /&gt;
&lt;br /&gt;
VLC ships with a little HTTP server integrated. It is used both to stream using HTTP, and for the HTTP remote control interface.&lt;br /&gt;
&lt;br /&gt;
To start VLC with the HTTP interface, use:&lt;br /&gt;
 % &#039;&#039;&#039;vlc -I http [--http-src /directory/] [--http-host host:port]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If you want to have both the &amp;quot;normal&amp;quot; interface and the HTTP interface, use &#039;&#039;&#039;vlc --extraintf http&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
The HTTP interface will start listening at host:port (&amp;lt;all interfaces&amp;gt;:8080 if omitted), and will reproduce the structure of /directory at http://host:port/ ( vlc_source_path/share/http if omitted ).&lt;br /&gt;
&lt;br /&gt;
Use a browser to go to http://your_host_machine:port. You should be taken to the main page.&lt;br /&gt;
&lt;br /&gt;
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]].&lt;br /&gt;
&lt;br /&gt;
Available pages are:&lt;br /&gt;
* &#039;&#039;&#039;list was obsolete&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Other control interfaces==&lt;br /&gt;
&lt;br /&gt;
VLC includes a number of so-called interfaces that are not really 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 &#039;&#039;&#039;-I&#039;&#039;&#039; or &#039;&#039;&#039;--extraintf&#039;&#039;&#039; on the command line.&lt;br /&gt;
&lt;br /&gt;
===Hotkeys===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Hotkeys can be hacked by:&lt;br /&gt;
 % &#039;&#039;&#039;vlc --key-&amp;lt;function&amp;gt; &amp;amp;lt;code&amp;amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Code is composed by modifiers keys (Alt, Shift, Ctrl, Meta,Command) separated by a dash (-) and terminated by a key (a...z, +, =, -, &#039;,&#039;, +, &amp;amp;lt;, &amp;amp;gt;, `, /, ;, &#039;, \, [, ], *, 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 &#039;&#039;&#039;--longhelp&#039;&#039;&#039; option for full list of functions).&lt;br /&gt;
For example, for binding fullscreen to Ctrl-f, run:&lt;br /&gt;
 % &#039;&#039;&#039;vlc --key-fullscreen &#039;Ctrl-f&#039; &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===RC and RTCI===&lt;br /&gt;
&lt;br /&gt;
These two interfaces allow you to control VLC from a command shell (possibly using a remote connexion or a Unix socket).&lt;br /&gt;
&lt;br /&gt;
Start VLC with &#039;&#039;&#039;-I rc&#039;&#039;&#039; or &#039;&#039;&#039;--extraintf rc&#039;&#039;&#039;. When you get the &#039;&#039;&#039;Remote control interface initialized, `h&#039; for help&#039;&#039;&#039; message, press h and Enter to get help about available commands.&lt;br /&gt;
&lt;br /&gt;
To be able to remote connect to your VLC using a TCP socket (telnet-like connexion), use &#039;&#039;&#039;--rc-host your_host:port&#039;&#039;&#039;. Then, by connecting (using telnet or netcat) to the host on the given port, you will get the command shell.&lt;br /&gt;
&lt;br /&gt;
To use a UNIX socket (local socket, this does not work for Windows), use &#039;&#039;&#039;--rc-unix /path/to/socket&#039;&#039;&#039;. Commands can then be passed using this UNIX socket.&lt;br /&gt;
&lt;br /&gt;
The RTCI interface gives you more advanced options, such as marquee control for the marquee subpicture filter (See filter section).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Ncurses===&lt;br /&gt;
&lt;br /&gt;
This is a text interface, using ncurses library.&lt;br /&gt;
&lt;br /&gt;
Start VLC with &#039;&#039;&#039;-I ncurses&#039;&#039;&#039; or &#039;&#039;&#039;--extraintf ncurses&#039;&#039;&#039;. You will then get something like that:&lt;br /&gt;
&lt;br /&gt;
http://www.videolan.org/doc/play-howto/en/images/play-howto/intf-ncurses-playlist.jpg The ncurses interface&lt;br /&gt;
&lt;br /&gt;
Press h to get the list of all available commands, with a short description.&lt;br /&gt;
&lt;br /&gt;
There is also a filebrowser available for the ncurses interface in order to add playlist items. Press &#039;B&#039; to use it.&lt;br /&gt;
&lt;br /&gt;
http://www.videolan.org/doc/play-howto/en/images/play-howto/intf-ncurses-filebrowser.jpg The ncurses filebrowser&lt;br /&gt;
&lt;br /&gt;
You can set the filebrowser starting point by launching vlc with the &#039;&#039;&#039;--browse-dir&#039;&#039;&#039; option:&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc -I ncurses --browse-dir /filebrowser/starting/point/&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Gestures===&lt;br /&gt;
&lt;br /&gt;
Gestures provide a simple mouse gestures control. TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==The Mozilla plugin==&lt;br /&gt;
&lt;br /&gt;
VLC can also be embedded in a web browser! The following browsers are supported [http://www.mozilla.org/ Mozilla], [http://www.mozilla.org/products/firefox/ Firefox] and [http://www.apple.com/macosx/features/safari Safari].&lt;br /&gt;
&lt;br /&gt;
===Install the plugin===&lt;br /&gt;
&lt;br /&gt;
====GNU/Linux Debian====&lt;br /&gt;
&lt;br /&gt;
Install the &#039;&#039;mozilla-plugin-vlc&#039;&#039; package:&lt;br /&gt;
&lt;br /&gt;
 # &#039;&#039;&#039;apt-get update&#039;&#039;&#039;&lt;br /&gt;
 # &#039;&#039;&#039;apt-get install mozilla-plugin-vlc&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Windows====&lt;br /&gt;
&lt;br /&gt;
Quit Firefox or Mozilla.&lt;br /&gt;
&lt;br /&gt;
Copy the two files in &#039;&#039;&#039;VLC_Installation_folder\mozilla&#039;&#039;&#039; (usually &#039;&#039;&#039;C:\Program Files\VideoLAN\VLC\mozilla&#039;&#039;&#039;) to your mozilla plugins directory (Usually &#039;&#039;&#039;C:\Program Files\Mozilla\plugins&#039;&#039;&#039; or &#039;&#039;&#039;C:\Program Files\Mozilla&lt;br /&gt;
Firefox\plugins&#039;&#039;&#039;).&lt;br /&gt;
&lt;br /&gt;
Restart Firefox or Mozilla.&lt;br /&gt;
&lt;br /&gt;
====MacOS X====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;The Mozilla/Safari plugin for MacOS X is only available from vlc version 0.8.5.1 and onwards.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Quit Safari browser.&lt;br /&gt;
&lt;br /&gt;
Download the Mozilla/safari plugin package from [http://www.videolan.org/vlc/download-macosx.html MacOS X download page].&lt;br /&gt;
&lt;br /&gt;
Run the installer from the dmg image.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Compile the sources yourself====&lt;br /&gt;
&lt;br /&gt;
Please look at the [http://developers.videolan.org developers page] for information on how to do this.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Use the mozilla plugin===&lt;br /&gt;
&lt;br /&gt;
If you open a link to a video file handled by the VLC plugin (To get the list of handled types, browse to &#039;&#039;&#039;about:plugins&#039;&#039;&#039;) or a page with an embedded video, the plugin should open and read the&lt;br /&gt;
video.&lt;br /&gt;
&lt;br /&gt;
===Build HTML pages that use the plugin (VLC version up to 0.8.5)===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;WARNING:&#039;&#039;&#039; the APIs described in this section are &#039;&#039;&#039;deprecated&#039;&#039;&#039;, do not use, &lt;br /&gt;
&lt;br /&gt;
The following API description is only valid uptill version 0.8.5 of the mozilla plugin.&lt;br /&gt;
&lt;br /&gt;
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&lt;br /&gt;
plugin.&lt;br /&gt;
&lt;br /&gt;
The vlc plugin supports the following function calls:&lt;br /&gt;
*&#039;&#039;&#039;play()&#039;&#039;&#039;: Start playing media in the plugin.&lt;br /&gt;
*&#039;&#039;&#039;pause()&#039;&#039;&#039;: Pause playback.&lt;br /&gt;
*&#039;&#039;&#039;stop()&#039;&#039;&#039;: Stop media playback.&lt;br /&gt;
*&#039;&#039;&#039;fullscreen()&#039;&#039;&#039;: Switch the video to full screen.&lt;br /&gt;
*&#039;&#039;&#039;set_volume(vol)&#039;&#039;&#039;: Set the volume. &#039;&#039;&#039;vol&#039;&#039;&#039; has to be an int in the 0-200 range.&lt;br /&gt;
*&#039;&#039;&#039;get_volume()&#039;&#039;&#039;: Get the current volume setting.&lt;br /&gt;
*&#039;&#039;&#039;mute()&#039;&#039;&#039;: Toggle volume muting.&lt;br /&gt;
*&#039;&#039;&#039;set_int_variable(var_name, value)&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;set_bool_variable(var_name, value)&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;set_str_variable(var_name, value)&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;get_int_variable(var_name)&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;get_bool_variable(var_name)&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;get_str_variable(var_name)&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;clear_playlist()&#039;&#039;&#039;: Clear the playlist.&lt;br /&gt;
*&#039;&#039;&#039;add_item(mrl)&#039;&#039;&#039;: Append an item whose location is given by the [[media resource locator]] to the playlist.&lt;br /&gt;
*&#039;&#039;&#039;next()&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;previous()&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;isplaying()&#039;&#039;&#039;: return true if the plugin is playing something.&lt;br /&gt;
*&#039;&#039;&#039;get_length()&#039;&#039;&#039;: Get the media&#039;s length in seconds.&lt;br /&gt;
*&#039;&#039;&#039;get_position()&#039;&#039;&#039;: Get the current position in the media in percent.&lt;br /&gt;
*&#039;&#039;&#039;get_time()&#039;&#039;&#039;: Get the current position in the media in seconds.&lt;br /&gt;
*&#039;&#039;&#039;seek(seconds,is_relative)&#039;&#039;&#039;: If is_relative is true, seek relatively to current time, else seek from beginning of the stream. Seek time is specified in seconds.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Here are a few examples of HTML pages that use the&lt;br /&gt;
Mozilla plugin.&lt;br /&gt;
&lt;br /&gt;
====Example 1====&lt;br /&gt;
&lt;br /&gt;
In this example, the plugin will read an HTTP stream inside the web page. If the user goes fullscreen, he will have to press &#039;&#039;f&#039;&#039; or double-click on the video to go back in normal view.&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;html&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;head&amp;amp;gt;&amp;amp;lt;title&amp;amp;gt;Demo of VLC mozilla plugin&amp;amp;lt;/title&amp;amp;gt;&amp;amp;lt;/head&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;body&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;h1&amp;amp;gt;Demo of VLC mozilla plugin - Example 1&amp;amp;lt;/h1&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;embed type=&amp;quot;application/x-vlc-plugin&amp;quot;&lt;br /&gt;
          name=&amp;quot;video1&amp;quot;&lt;br /&gt;
          autoplay=&amp;quot;no&amp;quot; loop=&amp;quot;yes&amp;quot; width=&amp;quot;400&amp;quot; height=&amp;quot;300&amp;quot;&lt;br /&gt;
          target=&amp;quot;http://server.example.org/video1.vob&amp;quot; /&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;br /&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video1.play()&#039;&amp;amp;gt;Play video1&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video1.pause()&#039;&amp;amp;gt;Pause video1&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video1.stop()&#039;&amp;amp;gt;Stop video1&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video1.fullscreen()&#039;&amp;amp;gt;Fullscreen&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;/body&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/html&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Example 2====&lt;br /&gt;
&lt;br /&gt;
In this example, the plugin will read a multicast UDP stream in a dedicated video output window.&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;html&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;head&amp;amp;gt;&amp;amp;lt;title&amp;amp;gt;Demo of VLC mozilla plugin&amp;amp;lt;/title&amp;amp;gt;&amp;amp;lt;/head&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;body&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;h1&amp;amp;gt;Demo of VLC mozilla plugin - Example 2&amp;amp;lt;/h1&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;embed type=&amp;quot;application/x-vlc-plugin&amp;quot;&lt;br /&gt;
          name=&amp;quot;video2&amp;quot;&lt;br /&gt;
          autoplay=&amp;quot;no&amp;quot; loop=&amp;quot;no&amp;quot; hidden=&amp;quot;yes&amp;quot;&lt;br /&gt;
          target=&amp;quot;udp:@239.255.12.42&amp;quot; /&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;br /&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video2.play()&#039;&amp;amp;gt;Play video2&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video2.stop()&#039;&amp;amp;gt;Stop video2&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video2.fullscreen()&#039;&amp;amp;gt;Fullscreen&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;/body&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/html&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Building HTML pages for Mozilla/Firefox/Internet Explorere/Safari (VLC version 0.8.6 and above)==&lt;br /&gt;
&lt;br /&gt;
The following description works for any of the browsers VLC supports. The JavaScript API has been unified between Mozilla/Firefox/IE (ActiveX) and Safari, thus targetting at all of the major OS out there. This is only valid for VLC version 0.8.6 and above.&lt;br /&gt;
&lt;br /&gt;
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&lt;br /&gt;
plugin.&lt;br /&gt;
&lt;br /&gt;
The vlc plugin exports serveral objects that can be accessed for setting and getting information. When used improperly the API&#039;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.&lt;br /&gt;
&lt;br /&gt;
The vlc plugin knows the following objects:&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;audio&#039;&#039;&#039;: Access audio properties.&lt;br /&gt;
*&#039;&#039;&#039;input&#039;&#039;&#039;: Access input properties.&lt;br /&gt;
*&#039;&#039;&#039;playlist&#039;&#039;&#039;: Access playlist properties.&lt;br /&gt;
*&#039;&#039;&#039;video&#039;&#039;&#039;: Access video properties.&lt;br /&gt;
*&#039;&#039;&#039;log&#039;&#039;&#039;: Access log properties.&lt;br /&gt;
*&#039;&#039;&#039;messages&#039;&#039;&#039;: Access to log message properties.&lt;br /&gt;
*&#039;&#039;&#039;iterator&#039;&#039;&#039;: Access to log iterator properties.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;html&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;title&amp;amp;gt;VLC Mozilla plugin test page&amp;amp;lt;/title&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;body&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;embed type=&amp;quot;application/x-vlc-plugin&amp;quot; pluginspage=&amp;quot;http://www.videolan.org&amp;quot; version=&amp;quot;VideoLAN.VLCPlugin.2&amp;quot;&lt;br /&gt;
     width=&amp;quot;640&amp;quot;&lt;br /&gt;
     height=&amp;quot;480&amp;quot;&lt;br /&gt;
     id=&amp;quot;vlc&amp;quot;&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/embed&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;script language=&amp;quot;Javascript&amp;quot;&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;!--&lt;br /&gt;
 var vlc = document.getElementById(&amp;quot;vlc&amp;quot;);&lt;br /&gt;
 vlc.audio.toggleMute();&lt;br /&gt;
 !--&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/script&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/body&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/html&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Root object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;VersionInfo&#039;&#039;&#039;: returns version information string&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;vlc.versionInfo()&#039;&#039;&#039;: returns version information string (same as VersionInfo)&lt;br /&gt;
&lt;br /&gt;
====Audio object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.audio.mute&#039;&#039;&#039;: boolean value to mute and ummute the audio&lt;br /&gt;
*&#039;&#039;&#039;vlc.audio.volume&#039;&#039;&#039;: a value between [0-200] which indicates a percentage of the volume.&lt;br /&gt;
*&#039;&#039;&#039;vlc.audio.track&#039;&#039;&#039;: (supported in vlc version &amp;gt; 0.8.6) a value between [1-65535] which indicates the audio track to play or that is playing. a value of 0 means the audio is/will be disabled.&lt;br /&gt;
*&#039;&#039;&#039;vlc.audio.channel&#039;&#039;&#039;: (supported in vlc version &amp;gt; 0.8.6) integer value between [1-5] that indicates which audio channel mode is used, values can be: &amp;quot;1=stereo&amp;quot;, &amp;quot;2=reverse stereo&amp;quot;, &amp;quot;3=left&amp;quot;, &amp;quot;4=right&amp;quot;, &amp;quot;5=dolby&amp;quot;. Use vlc.audio.channel to check if setting of the audio channel mode has succeeded.&lt;br /&gt;
&lt;br /&gt;
 Audio Channel:&lt;br /&gt;
 &amp;lt;SELECT readonly onChange=&#039;doAudioChannel(this.value)&#039;&amp;gt;&lt;br /&gt;
    &amp;lt;OPTION value=1&amp;gt;Stereo&amp;lt;/OPTION&amp;gt;&lt;br /&gt;
    &amp;lt;OPTION value=2&amp;gt;Reverse stereo&amp;lt;/OPTION&amp;gt;&lt;br /&gt;
    &amp;lt;OPTION value=3&amp;gt;Left&amp;lt;/OPTION&amp;gt;&lt;br /&gt;
    &amp;lt;OPTION value=4&amp;gt;Right&amp;lt;/OPTION&amp;gt;&lt;br /&gt;
    &amp;lt;OPTION value=5&amp;gt;Dolby&amp;lt;/OPTION&amp;gt;&lt;br /&gt;
 &amp;lt;/SELECT&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;SCRIPT language=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;amp;lt;!--&lt;br /&gt;
 function doAudioChannel(value)&lt;br /&gt;
 {&lt;br /&gt;
    var vlc = getVLC(&amp;quot;vlc&amp;quot;);&lt;br /&gt;
    vlc.audio.channel = parseInt(value);&lt;br /&gt;
    alert(vlc.audio.channel);&lt;br /&gt;
 };&lt;br /&gt;
 --&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;vlc.audio.toggleMute()&#039;&#039;&#039;: boolean toggle that mutes and unmutes the audio based upon the previous state&lt;br /&gt;
&lt;br /&gt;
====Input object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.length&#039;&#039;&#039;: length of the input file in number of milliseconds. 0 is returned for &#039;live&#039; streams or clips whose length cannot be determined by VLC&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.fps&#039;&#039;&#039;: frames per second returned as a float (typically 60.0, 50.0, 23.976, etc...)&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.hasVout&#039;&#039;&#039;: a boolean that returns true when the video is being displayed, it returns false when video is not displayed&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.position&#039;&#039;&#039;: normalized position in multimedia stream item given as a float value between [0.0 - 1.0]&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.time&#039;&#039;&#039;: the absolute position in time given in milliseconds, this property can be used to seek through the stream&lt;br /&gt;
 &amp;amp;lt;!-- absolute seek in stream !--&amp;amp;gt;&lt;br /&gt;
 vlc.input.time = &amp;amp;lt;absolute seek&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;!-- relative seek in stream !--&amp;amp;gt;&lt;br /&gt;
 vlc.input.time = vlc.input.time + &amp;amp;lt;relative seek&amp;amp;gt;&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.state&#039;&#039;&#039;: current state of the input chain given as enumeration (IDLE/CLOSE=0, OPENING=1, BUFFERING=2, PLAYING=3, PAUSED=4, STOPPING=5, ERROR=6)&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.rate&#039;&#039;&#039;: input speed given as float (1.0 for normal speed, 0.5 for half speed, 2.0 for twice as fast, etc.)&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Playlist object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.itemCount&#039;&#039;&#039;: number that returns the amount of items currently in the playlist (&#039;&#039;&#039;deprecated&#039;&#039;&#039;, do not use, see [[Playlist items]])&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.isPlaying&#039;&#039;&#039;: a boolean that returns true if the current playlist item is playing and false when it is not playing&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.items&#039;&#039;&#039;: return the playlist items collection, see [[Playlist items object]]&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.add(mrl)&#039;&#039;&#039;: add a playlist item as [[MRL]]. The MRL must be given as a string. Returns a number as an item identifier in playlist (this is not a position  in playlist).&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.add(mrl,name,options)&#039;&#039;&#039;: add a playlist item as MRL, with metaname &#039;name&#039; and options &#039;options&#039;. options are text arguments which can be provided either as a single string containing space separated values, akin to VLC command line, or as an array of string values. Returns a number as an item identifier in playlist (this is not a position in playlist).&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.play()&#039;&#039;&#039;: start playing the current playlist item&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.playItem(number)&#039;&#039;&#039;: start playing the item whose identifier is number&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.togglePause()&#039;&#039;&#039;: toggle the pause state for the current playlist item&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.stop()&#039;&#039;&#039;: stop playing the current playlist item&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.next()&#039;&#039;&#039;: iterate to the next playlist item&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.prev()&#039;&#039;&#039;: iterate to the previous playlist item&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.clear()&#039;&#039;&#039;: empty the current playlist, all items will be deleted from the playlist (&#039;&#039;&#039;deprecated&#039;&#039;&#039;, do not use, see [[Playlist items]])&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.removeItem(number)&#039;&#039;&#039;: remove the item from playlist whose identifier is number (note: this number isn&#039;t the position in the playlist, but the number given by vlc.playlist.add() )&lt;br /&gt;
&lt;br /&gt;
====Playlist items object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.items.count&#039;&#039;&#039;: number of items currently in the playlist&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.items.clear()&#039;&#039;&#039;: empty the current playlist, all items will be deleted from the playlist. Note that when this method returns playlist may not have been entirely been cleared as this operation is performed asynchronously; use the &#039;&#039;count&#039;&#039; property to verify/wait until the playlist is empty.&lt;br /&gt;
&lt;br /&gt;
====Video object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.width&#039;&#039;&#039;: returns the horizontal size of the video&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.height&#039;&#039;&#039;: returns the vertical size of the video&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.fullscreen&#039;&#039;&#039;: 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.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.aspectRatio&#039;&#039;&#039;: get and set the aspect ratio to use in the video screen. The property takes a string as input value. Typical values are: &amp;quot;1:1&amp;quot;, &amp;quot;4:3&amp;quot;, &amp;quot;16:9&amp;quot;, &amp;quot;16:10&amp;quot;, &amp;quot;221:100&amp;quot; and &amp;quot;5:4&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.subtitle&#039;&#039;&#039;: (supported in vlc version &amp;gt; 0.8.6a) get and set the subtitle track to show on the video screen. The property takes an integer as input value [1..65535]. If subtitle track is set to 0, the subtitles will be disabled. If set to a value outside the current subtitle tracks range, then it will return -1 and display an error message.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.teletext&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 0.9.0) get and set teletext page to show on the video stream. This will only work if a teletext elementary stream is available in the video stream. The property takes an integer as input value [0..999] for indicating the teletext page to view, setting the value to 0 means hide teletext. On error it will return -1 and display an error message.&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.toggleFullscreen()&#039;&#039;&#039;: toggle the fullscreen mode based on the previous setting&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.toggleTeletext()&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 0.9.0) toggle the teletext page to overlay transparent or not, based on the previous setting&lt;br /&gt;
&lt;br /&gt;
====Log object====&lt;br /&gt;
&lt;br /&gt;
this object allows accessing VLC main message logging queue. Typically this queue capacity is very small (no nore than 256 entries) and can easily overflow, therefore messages should be read and cleared as often as possible.&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.log.messages&#039;&#039;&#039;: returns the message collection, see [[Messages object]]&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.log.verbosity&#039;&#039;&#039;: write number [-1,0,1,2,3] for changing the verbosity level of the log messages; messages whose verbosity is higher than set will be not be logged in the queue. The numbers have the following meaning: -1 disable, 0 info, 1 error, 2 warning, 3 debug. &lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Messages object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;messages.count&#039;&#039;&#039;: returns number of messages in the log&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;messages.clear()&#039;&#039;&#039;: clear the current log buffer. It should be called as frequently as possible to not overflow the message queue. Call this method after the log messages of interest are read.&lt;br /&gt;
*&#039;&#039;&#039;messages.iterator()&#039;&#039;&#039;: creates and returns an iterator object, used to iterate over the messages in the log. &#039;&#039;&#039;Don&#039;t clear the log buffer while holding an iterator object.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Messages Iterator object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;iterator.hasNext&#039;&#039;&#039;: returns a boolean that indicates whether &#039;&#039;vlc.log.messages.next()&#039;&#039; will return the next message.&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;iterator.next()&#039;&#039;&#039;: returns the next message object in the log, see [[Message object]]&lt;br /&gt;
&lt;br /&gt;
====Message object====&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;message.severity&#039;&#039;&#039;: number that indicates the severity of the log message (0 = info, 1 = error, 2 = warning, 3 = debug)&lt;br /&gt;
*&#039;&#039;&#039;message.name&#039;&#039;&#039;: name of VLC module that printed the log message (e.g: main, http, directx, etc...)&lt;br /&gt;
*&#039;&#039;&#039;message.type&#039;&#039;&#039;: type of VLC module that printed the log message (eg: input, access, vout, sout, etc...)&lt;br /&gt;
*&#039;&#039;&#039;message.message&#039;&#039;&#039;: the message text&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Documentation}}&lt;/div&gt;</summary>
		<author><name>Jpsaman</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=Documentation:Advanced_Use_of_VLC&amp;diff=10318</id>
		<title>Documentation:Advanced Use of VLC</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=Documentation:Advanced_Use_of_VLC&amp;diff=10318"/>
		<updated>2007-12-18T09:18:19Z</updated>

		<summary type="html">&lt;p&gt;Jpsaman: /* Video object */  Limit the range&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{RightMenu|documentation play howto toc}}&lt;br /&gt;
&lt;br /&gt;
==Use the command line==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;TODO: completely outdated&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
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&#039;t need or want a GUI. Here is the complete description of VLC&#039;s command line and how to use it.&lt;br /&gt;
&lt;br /&gt;
You need to be quite comfortable with command line usage to use this.&lt;br /&gt;
&lt;br /&gt;
 Note: Windows users have to use the &#039;&#039;--option-name=&amp;quot;value&amp;quot;&#039;&#039; syntax instead of the &#039;&#039;--option-name value&#039;&#039; syntax.&lt;br /&gt;
&lt;br /&gt;
===Getting help===&lt;br /&gt;
&lt;br /&gt;
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, ...&lt;br /&gt;
&lt;br /&gt;
This chapter will only describe the &amp;quot;general&amp;quot; options, i.e. the core options. Each module adds new options. For example, the HTTP input module will add options for caching, proxy, authentication, ...&lt;br /&gt;
&lt;br /&gt;
By using &#039;&#039;&#039;vlc --help&#039;&#039;&#039;, you will get the basic core options. &#039;&#039;&#039;vlc --longhelp&#039;&#039;&#039; will give all the basic options (core + modules). Adding &#039;&#039;&#039;--advanced&#039;&#039;&#039; will give the &amp;quot;advanced options&amp;quot; (for advanced users). So &#039;&#039;&#039;vlc --longhelp --advanced&#039;&#039;&#039; will give you all options. You can also append &#039;&#039;&#039;--help-verbose&#039;&#039;&#039; if you want more detailed help.&lt;br /&gt;
&lt;br /&gt;
Also, you might want to get debug informations. To do this, use &#039;&#039;&#039;-v&#039;&#039;&#039; or &#039;&#039;&#039;-vv&#039;&#039;&#039; (this will show lower severity messages). If your console supports it, you can add &#039;&#039;&#039;--color to get messages in color.&lt;br /&gt;
&lt;br /&gt;
===Opening streams===&lt;br /&gt;
&lt;br /&gt;
The following commands start VLC and start reading the given element(s)&lt;br /&gt;
&lt;br /&gt;
====Opening a file====&lt;br /&gt;
&lt;br /&gt;
Start VLC with:&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc my_file&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
VLC should be able to recognize the file type. If it does not, you can force demultiplexer and decoder (see below).&lt;br /&gt;
&lt;br /&gt;
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].&lt;br /&gt;
&lt;br /&gt;
====Opening a DVD or VCD, or an audio CD====&lt;br /&gt;
&lt;br /&gt;
Start VLC with:&lt;br /&gt;
&lt;br /&gt;
For a DVD with menus:&lt;br /&gt;
 % &#039;&#039;&#039;vlc dvd://[device][@raw_device][@[title][:[chapter][:angle]]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
In most cases, &#039;&#039;&#039;vlc dvd://&#039;&#039;&#039; or &#039;&#039;&#039;vlc dvd://[device]&#039;&#039;&#039; will do. [device] is for example &#039;&#039;&#039;/dev/dvd&#039;&#039;&#039; on GNU/Linux or &#039;&#039;&#039;D:&#039;&#039;&#039; on Windows (complete path to your DVD drive).&lt;br /&gt;
&lt;br /&gt;
or&lt;br /&gt;
&lt;br /&gt;
(DVD without menus):&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc dvdsimple://[device][@raw_device][@[title][:[chapter][:angle]]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
or&lt;br /&gt;
&lt;br /&gt;
(VCD):&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc vcd://[device][@{E|P|E|T|S}[number]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
or&lt;br /&gt;
&lt;br /&gt;
(Audio CD):&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc cdda://[device][@[track]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Receiving a network stream====&lt;br /&gt;
&lt;br /&gt;
To receive an unicast UDP stream (sent by VLS or VLC&#039;s stream output), start VLC with:&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc  udp:[@:server_port]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If you use the default port (1234), &#039;&#039;&#039;vlc udp:&#039;&#039;&#039; will do. For more information, look at the Streaming Howto.&lt;br /&gt;
&lt;br /&gt;
To receive an multicast UDP stream (sent by VLS or VLC&#039;s stream output), start VLC with:&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc udp:@multicast_address[:server_port]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
To receive a SSM (source specific multicast) stream, you can use:&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc udp:server_address@multicast_address[:server_port]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This only works on OSs that support SSM (Windows XP and recent Linux kernels).&lt;br /&gt;
&lt;br /&gt;
To receive a HTTP stream, start VLC with:&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc http://www.example.org/your_file.mpg&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
To receive a RTSP stream, start VLC with:&amp;lt;/para&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc rtsp://www.example.org/your_stream&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Modules selection===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--intf  &amp;lt;module&amp;gt;&#039;&#039;&#039; allows you to select the interface module.&lt;br /&gt;
*&#039;&#039;&#039;--extraintf  &amp;lt;module&amp;gt;&#039;&#039;&#039; allows you to select extra interface modules that will be launched in addition to the main one. This is mainly useful for special &#039;&#039;control&#039;&#039; interfaces, like HTTP, RC (Remote Control), ... (see below)&lt;br /&gt;
*&#039;&#039;&#039;--aout  &amp;lt;module&amp;gt;&#039;&#039;&#039; allows you to select the audio output module.&lt;br /&gt;
*&#039;&#039;&#039;--vout  &amp;lt;module&amp;gt;&#039;&#039;&#039; allows you to select the video output module.&lt;br /&gt;
*&#039;&#039;&#039;--memcpy  &amp;lt;module&amp;gt;&#039;&#039;&#039; allows you to choose a memory copy module. You should probably never touch that.&lt;br /&gt;
&lt;br /&gt;
You can get a listing of the available modules by using &#039;&#039;&#039;vlc -l&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Stream Output===&lt;br /&gt;
&lt;br /&gt;
The Stream output system allows vlc to become a streaming server.&lt;br /&gt;
&lt;br /&gt;
For more details on the stream output system, please have a look at the [[Documentation:Streaming HowTo|Streaming HowTo]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Other Options===&lt;br /&gt;
&lt;br /&gt;
====Audio options====&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--noaudio&#039;&#039;&#039; disables audio output.&lt;br /&gt;
*&#039;&#039;&#039;--mono&#039;&#039;&#039; forces VLC to treat the stream in mono audio.&lt;br /&gt;
*&#039;&#039;&#039;--volume &amp;lt;integer&amp;gt;&#039;&#039;&#039; sets the level of audio output (between 0 and 1024).&lt;br /&gt;
*&#039;&#039;&#039;--aout-rate &amp;lt;integer&amp;gt;&#039;&#039;&#039; sets the audio output frequency (Hz). By default, VLC will try to autodetect this.&lt;br /&gt;
*&#039;&#039;&#039;--desync &amp;lt;integer&amp;gt;&#039;&#039;&#039; compensates desynchronization of audio (ms). (If audio and video streams are not synchronized, use this setting to delay the audio stream)&lt;br /&gt;
*&#039;&#039;&#039;--audio-filter &amp;lt;string&amp;gt;&#039;&#039;&#039; 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)&lt;br /&gt;
&lt;br /&gt;
====Video options====&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--novideo&#039;&#039;&#039; disables video output.&lt;br /&gt;
*&#039;&#039;&#039;--greyscale&#039;&#039;&#039; turns video output into grayscale mode.&lt;br /&gt;
*&#039;&#039;&#039;--fullscreen&#039;&#039;&#039; ( or &#039;&#039;&#039;-f&#039;&#039;&#039;) sets fullscreen video.&lt;br /&gt;
*&#039;&#039;&#039;--nooverlay&#039;&#039;&#039; disables hardware acceleration for the video output.&lt;br /&gt;
*&#039;&#039;&#039;--width, --height &amp;lt;integer&amp;gt;&#039;&#039;&#039; sets the video window dimensions. By default, the video window size will be adjusted to match the video dimensions.&lt;br /&gt;
*&#039;&#039;&#039;--zoom &amp;lt;float&amp;gt;&#039;&#039;&#039; adds a zoom factor.&lt;br /&gt;
*&#039;&#039;&#039;--aspect-ratio &amp;lt;mode&amp;gt;&#039;&#039;&#039; forces source aspect ratio. Modes are 4x3, 16x9, ...&lt;br /&gt;
*&#039;&#039;&#039;--spumargin  &amp;lt;integer&amp;gt;&#039;&#039;&#039; forces SPU subtitles postion.&lt;br /&gt;
*&#039;&#039;&#039;--filter &amp;lt;string&amp;gt;&#039;&#039;&#039; adds video filters to the processing chain. You can add several filters, separated by commas&lt;br /&gt;
*&#039;&#039;&#039;--sub-filter &amp;lt;string&amp;gt;&#039;&#039;&#039; adds video subpictures filter to the processing chain.&lt;br /&gt;
&lt;br /&gt;
====Playlist options====&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--random&#039;&#039;&#039; plays files randomly forever.&lt;br /&gt;
*&#039;&#039;&#039;--loop&#039;&#039;&#039; loops playlist on end.&lt;br /&gt;
*&#039;&#039;&#039;--repeat&#039;&#039;&#039; repeats current item until another item is forced&lt;br /&gt;
*&#039;&#039;&#039;--play-and-stop&#039;&#039;&#039; stops the playlist after each played item.&lt;br /&gt;
&lt;br /&gt;
====Network options====&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--server-port &amp;lt;integer&amp;gt;&#039;&#039;&#039; sets server port.&lt;br /&gt;
*&#039;&#039;&#039;--iface  &amp;lt;string&amp;gt;&#039;&#039;&#039; specifies the network interface to use.&lt;br /&gt;
*&#039;&#039;&#039;--iface-addr  &amp;lt;string&amp;gt;&#039;&#039;&#039; specifies your network interface IP address.&lt;br /&gt;
*&#039;&#039;&#039;--mtu  &amp;lt;integer&amp;gt;&#039;&#039;&#039; specifies the MTU of the network interface.&lt;br /&gt;
*&#039;&#039;&#039;--ipv6&#039;&#039;&#039; forces IPv6.&lt;br /&gt;
*&#039;&#039;&#039;--ipv4&#039;&#039;&#039; forces IPv4.&lt;br /&gt;
&lt;br /&gt;
====CPU options====&lt;br /&gt;
&lt;br /&gt;
You should probably not touch these options unless you know what you are doing.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--nommx&#039;&#039;&#039; disables the use of MMX CPU extensions.&lt;br /&gt;
*&#039;&#039;&#039;--no3dn&#039;&#039;&#039; disables the use of 3D Now! CPU extensions.&lt;br /&gt;
*&#039;&#039;&#039;--nommxext&#039;&#039;&#039; disables the use of MMX Ext CPU extensions.&lt;br /&gt;
*&#039;&#039;&#039;--nosse&#039;&#039;&#039; disables the use of SSE CPU extensions.&lt;br /&gt;
*&#039;&#039;&#039;--noaltivec&#039;&#039;&#039; disables the use of Altivec CPU extensions.&lt;br /&gt;
&lt;br /&gt;
====Miscellaneous options====&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--quiet&#039;&#039;&#039;  deactivates all console messages.&lt;br /&gt;
*&#039;&#039;&#039;--color&#039;&#039;&#039; displays color messages.&lt;br /&gt;
*&#039;&#039;&#039;--search-path  &amp;lt;string&amp;gt;&#039;&#039;&#039; specifies interface default search path.&lt;br /&gt;
*&#039;&#039;&#039;--plugin-path  &amp;lt;string&amp;gt;&#039;&#039;&#039; specifies plugin search path.&lt;br /&gt;
*&#039;&#039;&#039;--no-plugins-cache&#039;&#039;&#039; disables the plugin cache (plugins cache speeds up startup)&lt;br /&gt;
*&#039;&#039;&#039;--dvd  &amp;lt;string&amp;gt;&#039;&#039;&#039; specifies the default DVD device.&lt;br /&gt;
*&#039;&#039;&#039;--vcd  &amp;lt;string&amp;gt;&#039;&#039;&#039; specifies the default VCD device.&lt;br /&gt;
*&#039;&#039;&#039;--program  &amp;lt;integer&amp;gt;&#039;&#039;&#039; specifies program (SID) (for streams with several programs, like satellite ones).&lt;br /&gt;
*&#039;&#039;&#039;--audio-type  &amp;lt;integer&amp;gt;&#039;&#039;&#039; specifies the default audio type to use with dvds.&lt;br /&gt;
*&#039;&#039;&#039;--audio-channel  &amp;lt;integer&amp;gt;&#039;&#039;&#039; specifies the default audio channel to use with dvds.&lt;br /&gt;
*&#039;&#039;&#039;--spu-channel  &amp;lt;integer&amp;gt;&#039;&#039;&#039; specifies the default subtitle channel to use with dvds.&lt;br /&gt;
*&#039;&#039;&#039;--version&#039;&#039;&#039; gives you information about the current VLC version.&lt;br /&gt;
*&#039;&#039;&#039;--module  &amp;lt;module&amp;gt; &#039;&#039;&#039; displays help about specified module. (Shortcut: &#039;&#039;&#039;-p&#039;&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
===Item-specific options===&lt;br /&gt;
&lt;br /&gt;
There are many options that are related to items (like &#039;&#039;&#039;--novideo&#039;&#039;&#039;, &#039;&#039;&#039;--codec&#039;&#039;&#039;, &#039;&#039;&#039;--fullscreen&#039;&#039;&#039;).&lt;br /&gt;
&lt;br /&gt;
For all of these, you have the possibility to make them item-specific, using &amp;quot;:&amp;quot; instead of &amp;quot;--&amp;quot; and putting the option just after the concerned item.&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc file1.mpg :fullscreen file2.mpg&#039;&#039;&#039;&lt;br /&gt;
will play file1.mpg in fullscreen mode and file2.mpg in the default mode (which is generally no fullscreen), whereas&lt;br /&gt;
 % &#039;&#039;&#039;vlc --fullscreen file1.mpg file2.mpg&#039;&#039;&#039;&lt;br /&gt;
will play both files in fullscreen mode&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc --fullscreen file1.mpg :sub-file=file1.srt :no-fullscreen file2.mpg :filter=distort&#039;&#039;&#039;&lt;br /&gt;
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)&lt;br /&gt;
&lt;br /&gt;
==Advanced use of filters==&lt;br /&gt;
&lt;br /&gt;
===Filters===&lt;br /&gt;
&lt;br /&gt;
These are the old style VLC filters. They only apply to on screen display and thus cannot be streamed.&lt;br /&gt;
&lt;br /&gt;
====Deinterlacing video filter====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;deinterlace&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--deinterlace-mode {discard,blend,mean,bob,linear}&#039;&#039;&#039; choose a deinterlacing mode.&lt;br /&gt;
&lt;br /&gt;
====Invert video filter====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;invert&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Image properties filter====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;adjust&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--contrast &amp;lt;float&amp;gt;&#039;&#039;&#039; Image contrast in the 0-2 range.&lt;br /&gt;
*&#039;&#039;&#039;--brightness &amp;lt;float&amp;gt;&#039;&#039;&#039; Image brightness in the 0-2 range.&lt;br /&gt;
*&#039;&#039;&#039;--hue &amp;lt;integer&amp;gt;&#039;&#039;&#039; Image hue in the 0-360 range.&lt;br /&gt;
*&#039;&#039;&#039;--saturation &amp;lt;float&amp;gt;&#039;&#039;&#039; Image saturation in the 0-3 range.&lt;br /&gt;
*&#039;&#039;&#039;-gamma &amp;lt;float&amp;gt;&#039;&#039;&#039; Image gamma in the 0-10 range.&lt;br /&gt;
&lt;br /&gt;
====Wall video filter====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;wall&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This filter splits the output in several windows.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--wall-cols &amp;lt;integer&amp;gt;&#039;&#039;&#039; Number of columns.&lt;br /&gt;
*&#039;&#039;&#039;--wall-rows &amp;lt;integer&amp;gt;&#039;&#039;&#039; Number of rows.&lt;br /&gt;
*&#039;&#039;&#039;--wall-active &amp;lt;string&amp;gt;&#039;&#039;&#039; Select the windows you want to display. To select windows 2 and 4 you would write &#039;&#039;&#039;--wall-active 2,4&#039;&#039;&#039;. When this option isn&#039;t specified, all windows are displayed.&lt;br /&gt;
&lt;br /&gt;
====Video transformation filter====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;transform&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--transform-type {90,180,270,hflip,vflip}&#039;&#039;&#039; Select rotation angle or symmetry.&lt;br /&gt;
&lt;br /&gt;
====Distort video filter====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;distort&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Clone video filter====&lt;br /&gt;
&lt;br /&gt;
This filter clones the output window.&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;clone&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--clone-count &amp;lt;integer&amp;gt;&#039;&#039;&#039; Number of clones.&lt;br /&gt;
*&#039;&#039;&#039;--clone-vout-list &amp;lt;string&amp;gt;&#039;&#039;&#039; Comma separated string of video output modules.&lt;br /&gt;
&lt;br /&gt;
====Crop video filter====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;crop&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--crop-geometry &amp;lt;string&amp;gt;&#039;&#039;&#039; Set the geometry of the zone to crop. This is set as &amp;lt;width&amp;gt; x &amp;lt;height&amp;gt; + &amp;lt;left offset&amp;gt; + &amp;lt;top offset&amp;gt;.&lt;br /&gt;
*&#039;&#039;&#039;--autocrop&#039;&#039;&#039; Enable automatic black border cropping.&lt;br /&gt;
&lt;br /&gt;
====Motion blur filter====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;motionblur&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;blur-factor &amp;lt;integer&amp;gt;&#039;&#039;&#039; Blur factor in the 1-127 range.&lt;br /&gt;
&lt;br /&gt;
====Video pictures blending====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;blend&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Video scaling filter====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;scale&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Subpictures Filters===&lt;br /&gt;
&lt;br /&gt;
These are the new VLC filters. They can be streamed.&lt;br /&gt;
&lt;br /&gt;
====Time display sub filter====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;time&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--time-format &amp;lt;string&amp;gt;&#039;&#039;&#039; Time format string. You can use the following special characters %Y = year, %m = month, %d = day, %H = hour, %M = minute, %S = second.&lt;br /&gt;
*&#039;&#039;&#039;--time-x &amp;lt;integer&amp;gt;&#039;&#039;&#039; X offset from the left in pixels.&lt;br /&gt;
*&#039;&#039;&#039;--time-y &amp;lt;integer&amp;gt;&#039;&#039;&#039; Y offset from the top in pixels.&lt;br /&gt;
&lt;br /&gt;
====Marquee display sub filter====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;marq&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--marq-marquee &amp;lt;string&amp;gt;&#039;&#039;&#039; Marquee text to display.&lt;br /&gt;
*&#039;&#039;&#039;--marq-x &amp;lt;integer&amp;gt;&#039;&#039;&#039; X offset from the left in pixels.&lt;br /&gt;
*&#039;&#039;&#039;--marq-y &amp;lt;integer&amp;gt;&#039;&#039;&#039; Y offset from the top in pixels.&lt;br /&gt;
*&#039;&#039;&#039;--marq-timeout &amp;lt;timeout&amp;gt;&#039;&#039;&#039; Defines the time the marquee must remain displayed in milliseconds. Default value is 0 (remain forever).&lt;br /&gt;
&lt;br /&gt;
====Logo video filter====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;logo&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This filter can be used both as an old style filter or a subpictures filter.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--logo-file &amp;lt;string&amp;gt;&#039;&#039;&#039; Full path of the PNG file to use.&lt;br /&gt;
*&#039;&#039;&#039;--logo-x &amp;lt;integer&amp;gt;&#039;&#039;&#039; X offset from the left in pixels.&lt;br /&gt;
*&#039;&#039;&#039;--logo-y &amp;lt;integer&amp;gt;&#039;&#039;&#039; Y offset from the top in pixels.&lt;br /&gt;
*&#039;&#039;&#039;--logo-transparency &amp;lt;integer&amp;gt;&#039;&#039;&#039; You can set the logo transparency value here (from 0 for full transparency to 255 for full opacity).&lt;br /&gt;
&lt;br /&gt;
Note: You can move the logo by left-clicking on it.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==The HTTP interface==&lt;br /&gt;
&lt;br /&gt;
VLC ships with a little HTTP server integrated. It is used both to stream using HTTP, and for the HTTP remote control interface.&lt;br /&gt;
&lt;br /&gt;
To start VLC with the HTTP interface, use:&lt;br /&gt;
 % &#039;&#039;&#039;vlc -I http [--http-src /directory/] [--http-host host:port]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If you want to have both the &amp;quot;normal&amp;quot; interface and the HTTP interface, use &#039;&#039;&#039;vlc --extraintf http&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
The HTTP interface will start listening at host:port (&amp;lt;all interfaces&amp;gt;:8080 if omitted), and will reproduce the structure of /directory at http://host:port/ ( vlc_source_path/share/http if omitted ).&lt;br /&gt;
&lt;br /&gt;
Use a browser to go to http://your_host_machine:port. You should be taken to the main page.&lt;br /&gt;
&lt;br /&gt;
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]].&lt;br /&gt;
&lt;br /&gt;
Available pages are:&lt;br /&gt;
* &#039;&#039;&#039;list was obsolete&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Other control interfaces==&lt;br /&gt;
&lt;br /&gt;
VLC includes a number of so-called interfaces that are not really 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 &#039;&#039;&#039;-I&#039;&#039;&#039; or &#039;&#039;&#039;--extraintf&#039;&#039;&#039; on the command line.&lt;br /&gt;
&lt;br /&gt;
===Hotkeys===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Hotkeys can be hacked by:&lt;br /&gt;
 % &#039;&#039;&#039;vlc --key-&amp;lt;function&amp;gt; &amp;amp;lt;code&amp;amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Code is composed by modifiers keys (Alt, Shift, Ctrl, Meta,Command) separated by a dash (-) and terminated by a key (a...z, +, =, -, &#039;,&#039;, +, &amp;amp;lt;, &amp;amp;gt;, `, /, ;, &#039;, \, [, ], *, 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 &#039;&#039;&#039;--longhelp&#039;&#039;&#039; option for full list of functions).&lt;br /&gt;
For example, for binding fullscreen to Ctrl-f, run:&lt;br /&gt;
 % &#039;&#039;&#039;vlc --key-fullscreen &#039;Ctrl-f&#039; &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===RC and RTCI===&lt;br /&gt;
&lt;br /&gt;
These two interfaces allow you to control VLC from a command shell (possibly using a remote connexion or a Unix socket).&lt;br /&gt;
&lt;br /&gt;
Start VLC with &#039;&#039;&#039;-I rc&#039;&#039;&#039; or &#039;&#039;&#039;--extraintf rc&#039;&#039;&#039;. When you get the &#039;&#039;&#039;Remote control interface initialized, `h&#039; for help&#039;&#039;&#039; message, press h and Enter to get help about available commands.&lt;br /&gt;
&lt;br /&gt;
To be able to remote connect to your VLC using a TCP socket (telnet-like connexion), use &#039;&#039;&#039;--rc-host your_host:port&#039;&#039;&#039;. Then, by connecting (using telnet or netcat) to the host on the given port, you will get the command shell.&lt;br /&gt;
&lt;br /&gt;
To use a UNIX socket (local socket, this does not work for Windows), use &#039;&#039;&#039;--rc-unix /path/to/socket&#039;&#039;&#039;. Commands can then be passed using this UNIX socket.&lt;br /&gt;
&lt;br /&gt;
The RTCI interface gives you more advanced options, such as marquee control for the marquee subpicture filter (See filter section).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Ncurses===&lt;br /&gt;
&lt;br /&gt;
This is a text interface, using ncurses library.&lt;br /&gt;
&lt;br /&gt;
Start VLC with &#039;&#039;&#039;-I ncurses&#039;&#039;&#039; or &#039;&#039;&#039;--extraintf ncurses&#039;&#039;&#039;. You will then get something like that:&lt;br /&gt;
&lt;br /&gt;
http://www.videolan.org/doc/play-howto/en/images/play-howto/intf-ncurses-playlist.jpg The ncurses interface&lt;br /&gt;
&lt;br /&gt;
Press h to get the list of all available commands, with a short description.&lt;br /&gt;
&lt;br /&gt;
There is also a filebrowser available for the ncurses interface in order to add playlist items. Press &#039;B&#039; to use it.&lt;br /&gt;
&lt;br /&gt;
http://www.videolan.org/doc/play-howto/en/images/play-howto/intf-ncurses-filebrowser.jpg The ncurses filebrowser&lt;br /&gt;
&lt;br /&gt;
You can set the filebrowser starting point by launching vlc with the &#039;&#039;&#039;--browse-dir&#039;&#039;&#039; option:&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc -I ncurses --browse-dir /filebrowser/starting/point/&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Gestures===&lt;br /&gt;
&lt;br /&gt;
Gestures provide a simple mouse gestures control. TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==The Mozilla plugin==&lt;br /&gt;
&lt;br /&gt;
VLC can also be embedded in a web browser! The following browsers are supported [http://www.mozilla.org/ Mozilla], [http://www.mozilla.org/products/firefox/ Firefox] and [http://www.apple.com/macosx/features/safari Safari].&lt;br /&gt;
&lt;br /&gt;
===Install the plugin===&lt;br /&gt;
&lt;br /&gt;
====GNU/Linux Debian====&lt;br /&gt;
&lt;br /&gt;
Install the &#039;&#039;mozilla-plugin-vlc&#039;&#039; package:&lt;br /&gt;
&lt;br /&gt;
 # &#039;&#039;&#039;apt-get update&#039;&#039;&#039;&lt;br /&gt;
 # &#039;&#039;&#039;apt-get install mozilla-plugin-vlc&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Windows====&lt;br /&gt;
&lt;br /&gt;
Quit Firefox or Mozilla.&lt;br /&gt;
&lt;br /&gt;
Copy the two files in &#039;&#039;&#039;VLC_Installation_folder\mozilla&#039;&#039;&#039; (usually &#039;&#039;&#039;C:\Program Files\VideoLAN\VLC\mozilla&#039;&#039;&#039;) to your mozilla plugins directory (Usually &#039;&#039;&#039;C:\Program Files\Mozilla\plugins&#039;&#039;&#039; or &#039;&#039;&#039;C:\Program Files\Mozilla&lt;br /&gt;
Firefox\plugins&#039;&#039;&#039;).&lt;br /&gt;
&lt;br /&gt;
Restart Firefox or Mozilla.&lt;br /&gt;
&lt;br /&gt;
====MacOS X====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;The Mozilla/Safari plugin for MacOS X is only available from vlc version 0.8.5.1 and onwards.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Quit Safari browser.&lt;br /&gt;
&lt;br /&gt;
Download the Mozilla/safari plugin package from [http://www.videolan.org/vlc/download-macosx.html MacOS X download page].&lt;br /&gt;
&lt;br /&gt;
Run the installer from the dmg image.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Compile the sources yourself====&lt;br /&gt;
&lt;br /&gt;
Please look at the [http://developers.videolan.org developers page] for information on how to do this.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Use the mozilla plugin===&lt;br /&gt;
&lt;br /&gt;
If you open a link to a video file handled by the VLC plugin (To get the list of handled types, browse to &#039;&#039;&#039;about:plugins&#039;&#039;&#039;) or a page with an embedded video, the plugin should open and read the&lt;br /&gt;
video.&lt;br /&gt;
&lt;br /&gt;
===Build HTML pages that use the plugin (VLC version up to 0.8.5)===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;WARNING:&#039;&#039;&#039; the APIs described in this section are &#039;&#039;&#039;deprecated&#039;&#039;&#039;, do not use, &lt;br /&gt;
&lt;br /&gt;
The following API description is only valid uptill version 0.8.5 of the mozilla plugin.&lt;br /&gt;
&lt;br /&gt;
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&lt;br /&gt;
plugin.&lt;br /&gt;
&lt;br /&gt;
The vlc plugin supports the following function calls:&lt;br /&gt;
*&#039;&#039;&#039;play()&#039;&#039;&#039;: Start playing media in the plugin.&lt;br /&gt;
*&#039;&#039;&#039;pause()&#039;&#039;&#039;: Pause playback.&lt;br /&gt;
*&#039;&#039;&#039;stop()&#039;&#039;&#039;: Stop media playback.&lt;br /&gt;
*&#039;&#039;&#039;fullscreen()&#039;&#039;&#039;: Switch the video to full screen.&lt;br /&gt;
*&#039;&#039;&#039;set_volume(vol)&#039;&#039;&#039;: Set the volume. &#039;&#039;&#039;vol&#039;&#039;&#039; has to be an int in the 0-200 range.&lt;br /&gt;
*&#039;&#039;&#039;get_volume()&#039;&#039;&#039;: Get the current volume setting.&lt;br /&gt;
*&#039;&#039;&#039;mute()&#039;&#039;&#039;: Toggle volume muting.&lt;br /&gt;
*&#039;&#039;&#039;set_int_variable(var_name, value)&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;set_bool_variable(var_name, value)&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;set_str_variable(var_name, value)&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;get_int_variable(var_name)&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;get_bool_variable(var_name)&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;get_str_variable(var_name)&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;clear_playlist()&#039;&#039;&#039;: Clear the playlist.&lt;br /&gt;
*&#039;&#039;&#039;add_item(mrl)&#039;&#039;&#039;: Append an item whose location is given by the [[media resource locator]] to the playlist.&lt;br /&gt;
*&#039;&#039;&#039;next()&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;previous()&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;isplaying()&#039;&#039;&#039;: return true if the plugin is playing something.&lt;br /&gt;
*&#039;&#039;&#039;get_length()&#039;&#039;&#039;: Get the media&#039;s length in seconds.&lt;br /&gt;
*&#039;&#039;&#039;get_position()&#039;&#039;&#039;: Get the current position in the media in percent.&lt;br /&gt;
*&#039;&#039;&#039;get_time()&#039;&#039;&#039;: Get the current position in the media in seconds.&lt;br /&gt;
*&#039;&#039;&#039;seek(seconds,is_relative)&#039;&#039;&#039;: If is_relative is true, seek relatively to current time, else seek from beginning of the stream. Seek time is specified in seconds.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Here are a few examples of HTML pages that use the&lt;br /&gt;
Mozilla plugin.&lt;br /&gt;
&lt;br /&gt;
====Example 1====&lt;br /&gt;
&lt;br /&gt;
In this example, the plugin will read an HTTP stream inside the web page. If the user goes fullscreen, he will have to press &#039;&#039;f&#039;&#039; or double-click on the video to go back in normal view.&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;html&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;head&amp;amp;gt;&amp;amp;lt;title&amp;amp;gt;Demo of VLC mozilla plugin&amp;amp;lt;/title&amp;amp;gt;&amp;amp;lt;/head&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;body&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;h1&amp;amp;gt;Demo of VLC mozilla plugin - Example 1&amp;amp;lt;/h1&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;embed type=&amp;quot;application/x-vlc-plugin&amp;quot;&lt;br /&gt;
          name=&amp;quot;video1&amp;quot;&lt;br /&gt;
          autoplay=&amp;quot;no&amp;quot; loop=&amp;quot;yes&amp;quot; width=&amp;quot;400&amp;quot; height=&amp;quot;300&amp;quot;&lt;br /&gt;
          target=&amp;quot;http://server.example.org/video1.vob&amp;quot; /&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;br /&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video1.play()&#039;&amp;amp;gt;Play video1&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video1.pause()&#039;&amp;amp;gt;Pause video1&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video1.stop()&#039;&amp;amp;gt;Stop video1&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video1.fullscreen()&#039;&amp;amp;gt;Fullscreen&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;/body&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/html&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Example 2====&lt;br /&gt;
&lt;br /&gt;
In this example, the plugin will read a multicast UDP stream in a dedicated video output window.&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;html&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;head&amp;amp;gt;&amp;amp;lt;title&amp;amp;gt;Demo of VLC mozilla plugin&amp;amp;lt;/title&amp;amp;gt;&amp;amp;lt;/head&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;body&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;h1&amp;amp;gt;Demo of VLC mozilla plugin - Example 2&amp;amp;lt;/h1&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;embed type=&amp;quot;application/x-vlc-plugin&amp;quot;&lt;br /&gt;
          name=&amp;quot;video2&amp;quot;&lt;br /&gt;
          autoplay=&amp;quot;no&amp;quot; loop=&amp;quot;no&amp;quot; hidden=&amp;quot;yes&amp;quot;&lt;br /&gt;
          target=&amp;quot;udp:@239.255.12.42&amp;quot; /&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;br /&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video2.play()&#039;&amp;amp;gt;Play video2&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video2.stop()&#039;&amp;amp;gt;Stop video2&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video2.fullscreen()&#039;&amp;amp;gt;Fullscreen&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;/body&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/html&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Building HTML pages for Mozilla/Firefox/Internet Explorere/Safari (VLC version 0.8.6 and above)==&lt;br /&gt;
&lt;br /&gt;
The following description works for any of the browsers VLC supports. The JavaScript API has been unified between Mozilla/Firefox/IE (ActiveX) and Safari, thus targetting at all of the major OS out there. This is only valid for VLC version 0.8.6 and above.&lt;br /&gt;
&lt;br /&gt;
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&lt;br /&gt;
plugin.&lt;br /&gt;
&lt;br /&gt;
The vlc plugin exports serveral objects that can be accessed for setting and getting information. When used improperly the API&#039;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.&lt;br /&gt;
&lt;br /&gt;
The vlc plugin knows the following objects:&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;audio&#039;&#039;&#039;: Access audio properties.&lt;br /&gt;
*&#039;&#039;&#039;input&#039;&#039;&#039;: Access input properties.&lt;br /&gt;
*&#039;&#039;&#039;playlist&#039;&#039;&#039;: Access playlist properties.&lt;br /&gt;
*&#039;&#039;&#039;video&#039;&#039;&#039;: Access video properties.&lt;br /&gt;
*&#039;&#039;&#039;log&#039;&#039;&#039;: Access log properties.&lt;br /&gt;
*&#039;&#039;&#039;messages&#039;&#039;&#039;: Access to log message properties.&lt;br /&gt;
*&#039;&#039;&#039;iterator&#039;&#039;&#039;: Access to log iterator properties.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;html&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;title&amp;amp;gt;VLC Mozilla plugin test page&amp;amp;lt;/title&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;body&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;embed type=&amp;quot;application/x-vlc-plugin&amp;quot; pluginspage=&amp;quot;http://www.videolan.org&amp;quot; version=&amp;quot;VideoLAN.VLCPlugin.2&amp;quot;&lt;br /&gt;
     width=&amp;quot;640&amp;quot;&lt;br /&gt;
     height=&amp;quot;480&amp;quot;&lt;br /&gt;
     id=&amp;quot;vlc&amp;quot;&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/embed&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;script language=&amp;quot;Javascript&amp;quot;&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;!--&lt;br /&gt;
 var vlc = document.getElementById(&amp;quot;vlc&amp;quot;);&lt;br /&gt;
 vlc.audio.toggleMute();&lt;br /&gt;
 !--&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/script&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/body&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/html&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Root object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;VersionInfo&#039;&#039;&#039;: returns version information string&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;vlc.versionInfo()&#039;&#039;&#039;: returns version information string (same as VersionInfo)&lt;br /&gt;
&lt;br /&gt;
====Audio object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.audio.mute&#039;&#039;&#039;: boolean value to mute and ummute the audio&lt;br /&gt;
*&#039;&#039;&#039;vlc.audio.volume&#039;&#039;&#039;: a value between [0-200] which indicates a percentage of the volume.&lt;br /&gt;
*&#039;&#039;&#039;vlc.audio.track&#039;&#039;&#039;: (supported in vlc version &amp;gt; 0.8.6) a value between [1-65535] which indicates the audio track to play or that is playing. a value of 0 means the audio is/will be disabled.&lt;br /&gt;
*&#039;&#039;&#039;vlc.audio.channel&#039;&#039;&#039;: (supported in vlc version &amp;gt; 0.8.6) integer value between [1-5] that indicates which audio channel mode is used, values can be: &amp;quot;1=stereo&amp;quot;, &amp;quot;2=reverse stereo&amp;quot;, &amp;quot;3=left&amp;quot;, &amp;quot;4=right&amp;quot;, &amp;quot;5=dolby&amp;quot;. Use vlc.audio.channel to check if setting of the audio channel mode has succeeded.&lt;br /&gt;
&lt;br /&gt;
 Audio Channel:&lt;br /&gt;
 &amp;lt;SELECT readonly onChange=&#039;doAudioChannel(this.value)&#039;&amp;gt;&lt;br /&gt;
    &amp;lt;OPTION value=1&amp;gt;Stereo&amp;lt;/OPTION&amp;gt;&lt;br /&gt;
    &amp;lt;OPTION value=2&amp;gt;Reverse stereo&amp;lt;/OPTION&amp;gt;&lt;br /&gt;
    &amp;lt;OPTION value=3&amp;gt;Left&amp;lt;/OPTION&amp;gt;&lt;br /&gt;
    &amp;lt;OPTION value=4&amp;gt;Right&amp;lt;/OPTION&amp;gt;&lt;br /&gt;
    &amp;lt;OPTION value=5&amp;gt;Dolby&amp;lt;/OPTION&amp;gt;&lt;br /&gt;
 &amp;lt;/SELECT&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;SCRIPT language=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;amp;lt;!--&lt;br /&gt;
 function doAudioChannel(value)&lt;br /&gt;
 {&lt;br /&gt;
    var vlc = getVLC(&amp;quot;vlc&amp;quot;);&lt;br /&gt;
    vlc.audio.channel = parseInt(value);&lt;br /&gt;
    alert(vlc.audio.channel);&lt;br /&gt;
 };&lt;br /&gt;
 --&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;vlc.audio.toggleMute()&#039;&#039;&#039;: boolean toggle that mutes and unmutes the audio based upon the previous state&lt;br /&gt;
&lt;br /&gt;
====Input object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.length&#039;&#039;&#039;: length of the input file in number of milliseconds. 0 is returned for &#039;live&#039; streams or clips whose length cannot be determined by VLC&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.fps&#039;&#039;&#039;: frames per second returned as a float (typically 60.0, 50.0, 23.976, etc...)&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.hasVout&#039;&#039;&#039;: a boolean that returns true when the video is being displayed, it returns false when video is not displayed&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.position&#039;&#039;&#039;: normalized position in multimedia stream item given as a float value between [0.0 - 1.0]&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.time&#039;&#039;&#039;: the absolute position in time given in milliseconds, this property can be used to seek through the stream&lt;br /&gt;
 &amp;amp;lt;!-- absolute seek in stream !--&amp;amp;gt;&lt;br /&gt;
 vlc.input.time = &amp;amp;lt;absolute seek&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;!-- relative seek in stream !--&amp;amp;gt;&lt;br /&gt;
 vlc.input.time = vlc.input.time + &amp;amp;lt;relative seek&amp;amp;gt;&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.state&#039;&#039;&#039;: current state of the input chain given as enumeration (IDLE/CLOSE=0, OPENING=1, BUFFERING=2, PLAYING=3, PAUSED=4, STOPPING=5, ERROR=6)&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.rate&#039;&#039;&#039;: input speed given as float (1.0 for normal speed, 0.5 for half speed, 2.0 for twice as fast, etc.)&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Playlist object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.itemCount&#039;&#039;&#039;: number that returns the amount of items currently in the playlist (&#039;&#039;&#039;deprecated&#039;&#039;&#039;, do not use, see [[Playlist items]])&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.isPlaying&#039;&#039;&#039;: a boolean that returns true if the current playlist item is playing and false when it is not playing&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.items&#039;&#039;&#039;: return the playlist items collection, see [[Playlist items object]]&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.add(mrl)&#039;&#039;&#039;: add a playlist item as [[MRL]]. The MRL must be given as a string. Returns a number as an item identifier in playlist (this is not a position  in playlist).&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.add(mrl,name,options)&#039;&#039;&#039;: add a playlist item as MRL, with metaname &#039;name&#039; and options &#039;options&#039;. options are text arguments which can be provided either as a single string containing space separated values, akin to VLC command line, or as an array of string values. Returns a number as an item identifier in playlist (this is not a position in playlist).&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.play()&#039;&#039;&#039;: start playing the current playlist item&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.playItem(number)&#039;&#039;&#039;: start playing the item whose identifier is number&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.togglePause()&#039;&#039;&#039;: toggle the pause state for the current playlist item&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.stop()&#039;&#039;&#039;: stop playing the current playlist item&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.next()&#039;&#039;&#039;: iterate to the next playlist item&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.prev()&#039;&#039;&#039;: iterate to the previous playlist item&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.clear()&#039;&#039;&#039;: empty the current playlist, all items will be deleted from the playlist (&#039;&#039;&#039;deprecated&#039;&#039;&#039;, do not use, see [[Playlist items]])&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.removeItem(number)&#039;&#039;&#039;: remove the item from playlist whose identifier is number (note: this number isn&#039;t the position in the playlist, but the number given by vlc.playlist.add() )&lt;br /&gt;
&lt;br /&gt;
====Playlist items object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.items.count&#039;&#039;&#039;: number of items currently in the playlist&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.items.clear()&#039;&#039;&#039;: empty the current playlist, all items will be deleted from the playlist. Note that when this method returns playlist may not have been entirely been cleared as this operation is performed asynchronously; use the &#039;&#039;count&#039;&#039; property to verify/wait until the playlist is empty.&lt;br /&gt;
&lt;br /&gt;
====Video object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.width&#039;&#039;&#039;: returns the horizontal size of the video&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.height&#039;&#039;&#039;: returns the vertical size of the video&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.fullscreen&#039;&#039;&#039;: 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.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.aspectRatio&#039;&#039;&#039;: get and set the aspect ratio to use in the video screen. The property takes a string as input value. Typical values are: &amp;quot;1:1&amp;quot;, &amp;quot;4:3&amp;quot;, &amp;quot;16:9&amp;quot;, &amp;quot;16:10&amp;quot;, &amp;quot;221:100&amp;quot; and &amp;quot;5:4&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.subtitle&#039;&#039;&#039;: (supported in vlc version &amp;gt; 0.8.6a) get and set the subtitle track to show on the video screen. The property takes an integer as input value [1..65535]. If subtitle track is set to 0, the subtitles will be disabled. If set to a value outside the current subtitle tracks range, then it will return -1 and display an error message.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.teletext&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 0.9.0) get and set teletext page to show on the video stream. This will only work if a teletext elementary stream is available in the video stream. The property takes an integer as input value [0..999] for indicating the teletext page to view, setting the value to -1 means hide teletext. On error it will return -1 and display an error message.&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.toggleFullscreen()&#039;&#039;&#039;: toggle the fullscreen mode based on the previous setting&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.toggleTeletext()&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 0.9.0) toggle the teletext page to overlay transparent or not, based on the previous setting&lt;br /&gt;
&lt;br /&gt;
====Log object====&lt;br /&gt;
&lt;br /&gt;
this object allows accessing VLC main message logging queue. Typically this queue capacity is very small (no nore than 256 entries) and can easily overflow, therefore messages should be read and cleared as often as possible.&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.log.messages&#039;&#039;&#039;: returns the message collection, see [[Messages object]]&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.log.verbosity&#039;&#039;&#039;: write number [-1,0,1,2,3] for changing the verbosity level of the log messages; messages whose verbosity is higher than set will be not be logged in the queue. The numbers have the following meaning: -1 disable, 0 info, 1 error, 2 warning, 3 debug. &lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Messages object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;messages.count&#039;&#039;&#039;: returns number of messages in the log&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;messages.clear()&#039;&#039;&#039;: clear the current log buffer. It should be called as frequently as possible to not overflow the message queue. Call this method after the log messages of interest are read.&lt;br /&gt;
*&#039;&#039;&#039;messages.iterator()&#039;&#039;&#039;: creates and returns an iterator object, used to iterate over the messages in the log. &#039;&#039;&#039;Don&#039;t clear the log buffer while holding an iterator object.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Messages Iterator object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;iterator.hasNext&#039;&#039;&#039;: returns a boolean that indicates whether &#039;&#039;vlc.log.messages.next()&#039;&#039; will return the next message.&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;iterator.next()&#039;&#039;&#039;: returns the next message object in the log, see [[Message object]]&lt;br /&gt;
&lt;br /&gt;
====Message object====&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;message.severity&#039;&#039;&#039;: number that indicates the severity of the log message (0 = info, 1 = error, 2 = warning, 3 = debug)&lt;br /&gt;
*&#039;&#039;&#039;message.name&#039;&#039;&#039;: name of VLC module that printed the log message (e.g: main, http, directx, etc...)&lt;br /&gt;
*&#039;&#039;&#039;message.type&#039;&#039;&#039;: type of VLC module that printed the log message (eg: input, access, vout, sout, etc...)&lt;br /&gt;
*&#039;&#039;&#039;message.message&#039;&#039;&#039;: the message text&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Documentation}}&lt;/div&gt;</summary>
		<author><name>Jpsaman</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=Documentation:Advanced_Use_of_VLC&amp;diff=10317</id>
		<title>Documentation:Advanced Use of VLC</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=Documentation:Advanced_Use_of_VLC&amp;diff=10317"/>
		<updated>2007-12-18T08:35:17Z</updated>

		<summary type="html">&lt;p&gt;Jpsaman: /* Video object */ Document teletext transparent overlay method&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{RightMenu|documentation play howto toc}}&lt;br /&gt;
&lt;br /&gt;
==Use the command line==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;TODO: completely outdated&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
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&#039;t need or want a GUI. Here is the complete description of VLC&#039;s command line and how to use it.&lt;br /&gt;
&lt;br /&gt;
You need to be quite comfortable with command line usage to use this.&lt;br /&gt;
&lt;br /&gt;
 Note: Windows users have to use the &#039;&#039;--option-name=&amp;quot;value&amp;quot;&#039;&#039; syntax instead of the &#039;&#039;--option-name value&#039;&#039; syntax.&lt;br /&gt;
&lt;br /&gt;
===Getting help===&lt;br /&gt;
&lt;br /&gt;
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, ...&lt;br /&gt;
&lt;br /&gt;
This chapter will only describe the &amp;quot;general&amp;quot; options, i.e. the core options. Each module adds new options. For example, the HTTP input module will add options for caching, proxy, authentication, ...&lt;br /&gt;
&lt;br /&gt;
By using &#039;&#039;&#039;vlc --help&#039;&#039;&#039;, you will get the basic core options. &#039;&#039;&#039;vlc --longhelp&#039;&#039;&#039; will give all the basic options (core + modules). Adding &#039;&#039;&#039;--advanced&#039;&#039;&#039; will give the &amp;quot;advanced options&amp;quot; (for advanced users). So &#039;&#039;&#039;vlc --longhelp --advanced&#039;&#039;&#039; will give you all options. You can also append &#039;&#039;&#039;--help-verbose&#039;&#039;&#039; if you want more detailed help.&lt;br /&gt;
&lt;br /&gt;
Also, you might want to get debug informations. To do this, use &#039;&#039;&#039;-v&#039;&#039;&#039; or &#039;&#039;&#039;-vv&#039;&#039;&#039; (this will show lower severity messages). If your console supports it, you can add &#039;&#039;&#039;--color to get messages in color.&lt;br /&gt;
&lt;br /&gt;
===Opening streams===&lt;br /&gt;
&lt;br /&gt;
The following commands start VLC and start reading the given element(s)&lt;br /&gt;
&lt;br /&gt;
====Opening a file====&lt;br /&gt;
&lt;br /&gt;
Start VLC with:&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc my_file&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
VLC should be able to recognize the file type. If it does not, you can force demultiplexer and decoder (see below).&lt;br /&gt;
&lt;br /&gt;
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].&lt;br /&gt;
&lt;br /&gt;
====Opening a DVD or VCD, or an audio CD====&lt;br /&gt;
&lt;br /&gt;
Start VLC with:&lt;br /&gt;
&lt;br /&gt;
For a DVD with menus:&lt;br /&gt;
 % &#039;&#039;&#039;vlc dvd://[device][@raw_device][@[title][:[chapter][:angle]]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
In most cases, &#039;&#039;&#039;vlc dvd://&#039;&#039;&#039; or &#039;&#039;&#039;vlc dvd://[device]&#039;&#039;&#039; will do. [device] is for example &#039;&#039;&#039;/dev/dvd&#039;&#039;&#039; on GNU/Linux or &#039;&#039;&#039;D:&#039;&#039;&#039; on Windows (complete path to your DVD drive).&lt;br /&gt;
&lt;br /&gt;
or&lt;br /&gt;
&lt;br /&gt;
(DVD without menus):&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc dvdsimple://[device][@raw_device][@[title][:[chapter][:angle]]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
or&lt;br /&gt;
&lt;br /&gt;
(VCD):&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc vcd://[device][@{E|P|E|T|S}[number]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
or&lt;br /&gt;
&lt;br /&gt;
(Audio CD):&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc cdda://[device][@[track]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Receiving a network stream====&lt;br /&gt;
&lt;br /&gt;
To receive an unicast UDP stream (sent by VLS or VLC&#039;s stream output), start VLC with:&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc  udp:[@:server_port]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If you use the default port (1234), &#039;&#039;&#039;vlc udp:&#039;&#039;&#039; will do. For more information, look at the Streaming Howto.&lt;br /&gt;
&lt;br /&gt;
To receive an multicast UDP stream (sent by VLS or VLC&#039;s stream output), start VLC with:&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc udp:@multicast_address[:server_port]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
To receive a SSM (source specific multicast) stream, you can use:&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc udp:server_address@multicast_address[:server_port]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This only works on OSs that support SSM (Windows XP and recent Linux kernels).&lt;br /&gt;
&lt;br /&gt;
To receive a HTTP stream, start VLC with:&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc http://www.example.org/your_file.mpg&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
To receive a RTSP stream, start VLC with:&amp;lt;/para&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc rtsp://www.example.org/your_stream&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Modules selection===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--intf  &amp;lt;module&amp;gt;&#039;&#039;&#039; allows you to select the interface module.&lt;br /&gt;
*&#039;&#039;&#039;--extraintf  &amp;lt;module&amp;gt;&#039;&#039;&#039; allows you to select extra interface modules that will be launched in addition to the main one. This is mainly useful for special &#039;&#039;control&#039;&#039; interfaces, like HTTP, RC (Remote Control), ... (see below)&lt;br /&gt;
*&#039;&#039;&#039;--aout  &amp;lt;module&amp;gt;&#039;&#039;&#039; allows you to select the audio output module.&lt;br /&gt;
*&#039;&#039;&#039;--vout  &amp;lt;module&amp;gt;&#039;&#039;&#039; allows you to select the video output module.&lt;br /&gt;
*&#039;&#039;&#039;--memcpy  &amp;lt;module&amp;gt;&#039;&#039;&#039; allows you to choose a memory copy module. You should probably never touch that.&lt;br /&gt;
&lt;br /&gt;
You can get a listing of the available modules by using &#039;&#039;&#039;vlc -l&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Stream Output===&lt;br /&gt;
&lt;br /&gt;
The Stream output system allows vlc to become a streaming server.&lt;br /&gt;
&lt;br /&gt;
For more details on the stream output system, please have a look at the [[Documentation:Streaming HowTo|Streaming HowTo]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Other Options===&lt;br /&gt;
&lt;br /&gt;
====Audio options====&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--noaudio&#039;&#039;&#039; disables audio output.&lt;br /&gt;
*&#039;&#039;&#039;--mono&#039;&#039;&#039; forces VLC to treat the stream in mono audio.&lt;br /&gt;
*&#039;&#039;&#039;--volume &amp;lt;integer&amp;gt;&#039;&#039;&#039; sets the level of audio output (between 0 and 1024).&lt;br /&gt;
*&#039;&#039;&#039;--aout-rate &amp;lt;integer&amp;gt;&#039;&#039;&#039; sets the audio output frequency (Hz). By default, VLC will try to autodetect this.&lt;br /&gt;
*&#039;&#039;&#039;--desync &amp;lt;integer&amp;gt;&#039;&#039;&#039; compensates desynchronization of audio (ms). (If audio and video streams are not synchronized, use this setting to delay the audio stream)&lt;br /&gt;
*&#039;&#039;&#039;--audio-filter &amp;lt;string&amp;gt;&#039;&#039;&#039; 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)&lt;br /&gt;
&lt;br /&gt;
====Video options====&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--novideo&#039;&#039;&#039; disables video output.&lt;br /&gt;
*&#039;&#039;&#039;--greyscale&#039;&#039;&#039; turns video output into grayscale mode.&lt;br /&gt;
*&#039;&#039;&#039;--fullscreen&#039;&#039;&#039; ( or &#039;&#039;&#039;-f&#039;&#039;&#039;) sets fullscreen video.&lt;br /&gt;
*&#039;&#039;&#039;--nooverlay&#039;&#039;&#039; disables hardware acceleration for the video output.&lt;br /&gt;
*&#039;&#039;&#039;--width, --height &amp;lt;integer&amp;gt;&#039;&#039;&#039; sets the video window dimensions. By default, the video window size will be adjusted to match the video dimensions.&lt;br /&gt;
*&#039;&#039;&#039;--zoom &amp;lt;float&amp;gt;&#039;&#039;&#039; adds a zoom factor.&lt;br /&gt;
*&#039;&#039;&#039;--aspect-ratio &amp;lt;mode&amp;gt;&#039;&#039;&#039; forces source aspect ratio. Modes are 4x3, 16x9, ...&lt;br /&gt;
*&#039;&#039;&#039;--spumargin  &amp;lt;integer&amp;gt;&#039;&#039;&#039; forces SPU subtitles postion.&lt;br /&gt;
*&#039;&#039;&#039;--filter &amp;lt;string&amp;gt;&#039;&#039;&#039; adds video filters to the processing chain. You can add several filters, separated by commas&lt;br /&gt;
*&#039;&#039;&#039;--sub-filter &amp;lt;string&amp;gt;&#039;&#039;&#039; adds video subpictures filter to the processing chain.&lt;br /&gt;
&lt;br /&gt;
====Playlist options====&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--random&#039;&#039;&#039; plays files randomly forever.&lt;br /&gt;
*&#039;&#039;&#039;--loop&#039;&#039;&#039; loops playlist on end.&lt;br /&gt;
*&#039;&#039;&#039;--repeat&#039;&#039;&#039; repeats current item until another item is forced&lt;br /&gt;
*&#039;&#039;&#039;--play-and-stop&#039;&#039;&#039; stops the playlist after each played item.&lt;br /&gt;
&lt;br /&gt;
====Network options====&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--server-port &amp;lt;integer&amp;gt;&#039;&#039;&#039; sets server port.&lt;br /&gt;
*&#039;&#039;&#039;--iface  &amp;lt;string&amp;gt;&#039;&#039;&#039; specifies the network interface to use.&lt;br /&gt;
*&#039;&#039;&#039;--iface-addr  &amp;lt;string&amp;gt;&#039;&#039;&#039; specifies your network interface IP address.&lt;br /&gt;
*&#039;&#039;&#039;--mtu  &amp;lt;integer&amp;gt;&#039;&#039;&#039; specifies the MTU of the network interface.&lt;br /&gt;
*&#039;&#039;&#039;--ipv6&#039;&#039;&#039; forces IPv6.&lt;br /&gt;
*&#039;&#039;&#039;--ipv4&#039;&#039;&#039; forces IPv4.&lt;br /&gt;
&lt;br /&gt;
====CPU options====&lt;br /&gt;
&lt;br /&gt;
You should probably not touch these options unless you know what you are doing.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--nommx&#039;&#039;&#039; disables the use of MMX CPU extensions.&lt;br /&gt;
*&#039;&#039;&#039;--no3dn&#039;&#039;&#039; disables the use of 3D Now! CPU extensions.&lt;br /&gt;
*&#039;&#039;&#039;--nommxext&#039;&#039;&#039; disables the use of MMX Ext CPU extensions.&lt;br /&gt;
*&#039;&#039;&#039;--nosse&#039;&#039;&#039; disables the use of SSE CPU extensions.&lt;br /&gt;
*&#039;&#039;&#039;--noaltivec&#039;&#039;&#039; disables the use of Altivec CPU extensions.&lt;br /&gt;
&lt;br /&gt;
====Miscellaneous options====&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--quiet&#039;&#039;&#039;  deactivates all console messages.&lt;br /&gt;
*&#039;&#039;&#039;--color&#039;&#039;&#039; displays color messages.&lt;br /&gt;
*&#039;&#039;&#039;--search-path  &amp;lt;string&amp;gt;&#039;&#039;&#039; specifies interface default search path.&lt;br /&gt;
*&#039;&#039;&#039;--plugin-path  &amp;lt;string&amp;gt;&#039;&#039;&#039; specifies plugin search path.&lt;br /&gt;
*&#039;&#039;&#039;--no-plugins-cache&#039;&#039;&#039; disables the plugin cache (plugins cache speeds up startup)&lt;br /&gt;
*&#039;&#039;&#039;--dvd  &amp;lt;string&amp;gt;&#039;&#039;&#039; specifies the default DVD device.&lt;br /&gt;
*&#039;&#039;&#039;--vcd  &amp;lt;string&amp;gt;&#039;&#039;&#039; specifies the default VCD device.&lt;br /&gt;
*&#039;&#039;&#039;--program  &amp;lt;integer&amp;gt;&#039;&#039;&#039; specifies program (SID) (for streams with several programs, like satellite ones).&lt;br /&gt;
*&#039;&#039;&#039;--audio-type  &amp;lt;integer&amp;gt;&#039;&#039;&#039; specifies the default audio type to use with dvds.&lt;br /&gt;
*&#039;&#039;&#039;--audio-channel  &amp;lt;integer&amp;gt;&#039;&#039;&#039; specifies the default audio channel to use with dvds.&lt;br /&gt;
*&#039;&#039;&#039;--spu-channel  &amp;lt;integer&amp;gt;&#039;&#039;&#039; specifies the default subtitle channel to use with dvds.&lt;br /&gt;
*&#039;&#039;&#039;--version&#039;&#039;&#039; gives you information about the current VLC version.&lt;br /&gt;
*&#039;&#039;&#039;--module  &amp;lt;module&amp;gt; &#039;&#039;&#039; displays help about specified module. (Shortcut: &#039;&#039;&#039;-p&#039;&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
===Item-specific options===&lt;br /&gt;
&lt;br /&gt;
There are many options that are related to items (like &#039;&#039;&#039;--novideo&#039;&#039;&#039;, &#039;&#039;&#039;--codec&#039;&#039;&#039;, &#039;&#039;&#039;--fullscreen&#039;&#039;&#039;).&lt;br /&gt;
&lt;br /&gt;
For all of these, you have the possibility to make them item-specific, using &amp;quot;:&amp;quot; instead of &amp;quot;--&amp;quot; and putting the option just after the concerned item.&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc file1.mpg :fullscreen file2.mpg&#039;&#039;&#039;&lt;br /&gt;
will play file1.mpg in fullscreen mode and file2.mpg in the default mode (which is generally no fullscreen), whereas&lt;br /&gt;
 % &#039;&#039;&#039;vlc --fullscreen file1.mpg file2.mpg&#039;&#039;&#039;&lt;br /&gt;
will play both files in fullscreen mode&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc --fullscreen file1.mpg :sub-file=file1.srt :no-fullscreen file2.mpg :filter=distort&#039;&#039;&#039;&lt;br /&gt;
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)&lt;br /&gt;
&lt;br /&gt;
==Advanced use of filters==&lt;br /&gt;
&lt;br /&gt;
===Filters===&lt;br /&gt;
&lt;br /&gt;
These are the old style VLC filters. They only apply to on screen display and thus cannot be streamed.&lt;br /&gt;
&lt;br /&gt;
====Deinterlacing video filter====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;deinterlace&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--deinterlace-mode {discard,blend,mean,bob,linear}&#039;&#039;&#039; choose a deinterlacing mode.&lt;br /&gt;
&lt;br /&gt;
====Invert video filter====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;invert&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Image properties filter====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;adjust&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--contrast &amp;lt;float&amp;gt;&#039;&#039;&#039; Image contrast in the 0-2 range.&lt;br /&gt;
*&#039;&#039;&#039;--brightness &amp;lt;float&amp;gt;&#039;&#039;&#039; Image brightness in the 0-2 range.&lt;br /&gt;
*&#039;&#039;&#039;--hue &amp;lt;integer&amp;gt;&#039;&#039;&#039; Image hue in the 0-360 range.&lt;br /&gt;
*&#039;&#039;&#039;--saturation &amp;lt;float&amp;gt;&#039;&#039;&#039; Image saturation in the 0-3 range.&lt;br /&gt;
*&#039;&#039;&#039;-gamma &amp;lt;float&amp;gt;&#039;&#039;&#039; Image gamma in the 0-10 range.&lt;br /&gt;
&lt;br /&gt;
====Wall video filter====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;wall&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This filter splits the output in several windows.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--wall-cols &amp;lt;integer&amp;gt;&#039;&#039;&#039; Number of columns.&lt;br /&gt;
*&#039;&#039;&#039;--wall-rows &amp;lt;integer&amp;gt;&#039;&#039;&#039; Number of rows.&lt;br /&gt;
*&#039;&#039;&#039;--wall-active &amp;lt;string&amp;gt;&#039;&#039;&#039; Select the windows you want to display. To select windows 2 and 4 you would write &#039;&#039;&#039;--wall-active 2,4&#039;&#039;&#039;. When this option isn&#039;t specified, all windows are displayed.&lt;br /&gt;
&lt;br /&gt;
====Video transformation filter====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;transform&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--transform-type {90,180,270,hflip,vflip}&#039;&#039;&#039; Select rotation angle or symmetry.&lt;br /&gt;
&lt;br /&gt;
====Distort video filter====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;distort&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Clone video filter====&lt;br /&gt;
&lt;br /&gt;
This filter clones the output window.&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;clone&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--clone-count &amp;lt;integer&amp;gt;&#039;&#039;&#039; Number of clones.&lt;br /&gt;
*&#039;&#039;&#039;--clone-vout-list &amp;lt;string&amp;gt;&#039;&#039;&#039; Comma separated string of video output modules.&lt;br /&gt;
&lt;br /&gt;
====Crop video filter====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;crop&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--crop-geometry &amp;lt;string&amp;gt;&#039;&#039;&#039; Set the geometry of the zone to crop. This is set as &amp;lt;width&amp;gt; x &amp;lt;height&amp;gt; + &amp;lt;left offset&amp;gt; + &amp;lt;top offset&amp;gt;.&lt;br /&gt;
*&#039;&#039;&#039;--autocrop&#039;&#039;&#039; Enable automatic black border cropping.&lt;br /&gt;
&lt;br /&gt;
====Motion blur filter====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;motionblur&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;blur-factor &amp;lt;integer&amp;gt;&#039;&#039;&#039; Blur factor in the 1-127 range.&lt;br /&gt;
&lt;br /&gt;
====Video pictures blending====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;blend&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Video scaling filter====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;scale&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Subpictures Filters===&lt;br /&gt;
&lt;br /&gt;
These are the new VLC filters. They can be streamed.&lt;br /&gt;
&lt;br /&gt;
====Time display sub filter====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;time&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--time-format &amp;lt;string&amp;gt;&#039;&#039;&#039; Time format string. You can use the following special characters %Y = year, %m = month, %d = day, %H = hour, %M = minute, %S = second.&lt;br /&gt;
*&#039;&#039;&#039;--time-x &amp;lt;integer&amp;gt;&#039;&#039;&#039; X offset from the left in pixels.&lt;br /&gt;
*&#039;&#039;&#039;--time-y &amp;lt;integer&amp;gt;&#039;&#039;&#039; Y offset from the top in pixels.&lt;br /&gt;
&lt;br /&gt;
====Marquee display sub filter====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;marq&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--marq-marquee &amp;lt;string&amp;gt;&#039;&#039;&#039; Marquee text to display.&lt;br /&gt;
*&#039;&#039;&#039;--marq-x &amp;lt;integer&amp;gt;&#039;&#039;&#039; X offset from the left in pixels.&lt;br /&gt;
*&#039;&#039;&#039;--marq-y &amp;lt;integer&amp;gt;&#039;&#039;&#039; Y offset from the top in pixels.&lt;br /&gt;
*&#039;&#039;&#039;--marq-timeout &amp;lt;timeout&amp;gt;&#039;&#039;&#039; Defines the time the marquee must remain displayed in milliseconds. Default value is 0 (remain forever).&lt;br /&gt;
&lt;br /&gt;
====Logo video filter====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;logo&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This filter can be used both as an old style filter or a subpictures filter.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--logo-file &amp;lt;string&amp;gt;&#039;&#039;&#039; Full path of the PNG file to use.&lt;br /&gt;
*&#039;&#039;&#039;--logo-x &amp;lt;integer&amp;gt;&#039;&#039;&#039; X offset from the left in pixels.&lt;br /&gt;
*&#039;&#039;&#039;--logo-y &amp;lt;integer&amp;gt;&#039;&#039;&#039; Y offset from the top in pixels.&lt;br /&gt;
*&#039;&#039;&#039;--logo-transparency &amp;lt;integer&amp;gt;&#039;&#039;&#039; You can set the logo transparency value here (from 0 for full transparency to 255 for full opacity).&lt;br /&gt;
&lt;br /&gt;
Note: You can move the logo by left-clicking on it.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==The HTTP interface==&lt;br /&gt;
&lt;br /&gt;
VLC ships with a little HTTP server integrated. It is used both to stream using HTTP, and for the HTTP remote control interface.&lt;br /&gt;
&lt;br /&gt;
To start VLC with the HTTP interface, use:&lt;br /&gt;
 % &#039;&#039;&#039;vlc -I http [--http-src /directory/] [--http-host host:port]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If you want to have both the &amp;quot;normal&amp;quot; interface and the HTTP interface, use &#039;&#039;&#039;vlc --extraintf http&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
The HTTP interface will start listening at host:port (&amp;lt;all interfaces&amp;gt;:8080 if omitted), and will reproduce the structure of /directory at http://host:port/ ( vlc_source_path/share/http if omitted ).&lt;br /&gt;
&lt;br /&gt;
Use a browser to go to http://your_host_machine:port. You should be taken to the main page.&lt;br /&gt;
&lt;br /&gt;
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]].&lt;br /&gt;
&lt;br /&gt;
Available pages are:&lt;br /&gt;
* &#039;&#039;&#039;list was obsolete&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Other control interfaces==&lt;br /&gt;
&lt;br /&gt;
VLC includes a number of so-called interfaces that are not really 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 &#039;&#039;&#039;-I&#039;&#039;&#039; or &#039;&#039;&#039;--extraintf&#039;&#039;&#039; on the command line.&lt;br /&gt;
&lt;br /&gt;
===Hotkeys===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Hotkeys can be hacked by:&lt;br /&gt;
 % &#039;&#039;&#039;vlc --key-&amp;lt;function&amp;gt; &amp;amp;lt;code&amp;amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Code is composed by modifiers keys (Alt, Shift, Ctrl, Meta,Command) separated by a dash (-) and terminated by a key (a...z, +, =, -, &#039;,&#039;, +, &amp;amp;lt;, &amp;amp;gt;, `, /, ;, &#039;, \, [, ], *, 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 &#039;&#039;&#039;--longhelp&#039;&#039;&#039; option for full list of functions).&lt;br /&gt;
For example, for binding fullscreen to Ctrl-f, run:&lt;br /&gt;
 % &#039;&#039;&#039;vlc --key-fullscreen &#039;Ctrl-f&#039; &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===RC and RTCI===&lt;br /&gt;
&lt;br /&gt;
These two interfaces allow you to control VLC from a command shell (possibly using a remote connexion or a Unix socket).&lt;br /&gt;
&lt;br /&gt;
Start VLC with &#039;&#039;&#039;-I rc&#039;&#039;&#039; or &#039;&#039;&#039;--extraintf rc&#039;&#039;&#039;. When you get the &#039;&#039;&#039;Remote control interface initialized, `h&#039; for help&#039;&#039;&#039; message, press h and Enter to get help about available commands.&lt;br /&gt;
&lt;br /&gt;
To be able to remote connect to your VLC using a TCP socket (telnet-like connexion), use &#039;&#039;&#039;--rc-host your_host:port&#039;&#039;&#039;. Then, by connecting (using telnet or netcat) to the host on the given port, you will get the command shell.&lt;br /&gt;
&lt;br /&gt;
To use a UNIX socket (local socket, this does not work for Windows), use &#039;&#039;&#039;--rc-unix /path/to/socket&#039;&#039;&#039;. Commands can then be passed using this UNIX socket.&lt;br /&gt;
&lt;br /&gt;
The RTCI interface gives you more advanced options, such as marquee control for the marquee subpicture filter (See filter section).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Ncurses===&lt;br /&gt;
&lt;br /&gt;
This is a text interface, using ncurses library.&lt;br /&gt;
&lt;br /&gt;
Start VLC with &#039;&#039;&#039;-I ncurses&#039;&#039;&#039; or &#039;&#039;&#039;--extraintf ncurses&#039;&#039;&#039;. You will then get something like that:&lt;br /&gt;
&lt;br /&gt;
http://www.videolan.org/doc/play-howto/en/images/play-howto/intf-ncurses-playlist.jpg The ncurses interface&lt;br /&gt;
&lt;br /&gt;
Press h to get the list of all available commands, with a short description.&lt;br /&gt;
&lt;br /&gt;
There is also a filebrowser available for the ncurses interface in order to add playlist items. Press &#039;B&#039; to use it.&lt;br /&gt;
&lt;br /&gt;
http://www.videolan.org/doc/play-howto/en/images/play-howto/intf-ncurses-filebrowser.jpg The ncurses filebrowser&lt;br /&gt;
&lt;br /&gt;
You can set the filebrowser starting point by launching vlc with the &#039;&#039;&#039;--browse-dir&#039;&#039;&#039; option:&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc -I ncurses --browse-dir /filebrowser/starting/point/&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Gestures===&lt;br /&gt;
&lt;br /&gt;
Gestures provide a simple mouse gestures control. TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==The Mozilla plugin==&lt;br /&gt;
&lt;br /&gt;
VLC can also be embedded in a web browser! The following browsers are supported [http://www.mozilla.org/ Mozilla], [http://www.mozilla.org/products/firefox/ Firefox] and [http://www.apple.com/macosx/features/safari Safari].&lt;br /&gt;
&lt;br /&gt;
===Install the plugin===&lt;br /&gt;
&lt;br /&gt;
====GNU/Linux Debian====&lt;br /&gt;
&lt;br /&gt;
Install the &#039;&#039;mozilla-plugin-vlc&#039;&#039; package:&lt;br /&gt;
&lt;br /&gt;
 # &#039;&#039;&#039;apt-get update&#039;&#039;&#039;&lt;br /&gt;
 # &#039;&#039;&#039;apt-get install mozilla-plugin-vlc&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Windows====&lt;br /&gt;
&lt;br /&gt;
Quit Firefox or Mozilla.&lt;br /&gt;
&lt;br /&gt;
Copy the two files in &#039;&#039;&#039;VLC_Installation_folder\mozilla&#039;&#039;&#039; (usually &#039;&#039;&#039;C:\Program Files\VideoLAN\VLC\mozilla&#039;&#039;&#039;) to your mozilla plugins directory (Usually &#039;&#039;&#039;C:\Program Files\Mozilla\plugins&#039;&#039;&#039; or &#039;&#039;&#039;C:\Program Files\Mozilla&lt;br /&gt;
Firefox\plugins&#039;&#039;&#039;).&lt;br /&gt;
&lt;br /&gt;
Restart Firefox or Mozilla.&lt;br /&gt;
&lt;br /&gt;
====MacOS X====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;The Mozilla/Safari plugin for MacOS X is only available from vlc version 0.8.5.1 and onwards.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Quit Safari browser.&lt;br /&gt;
&lt;br /&gt;
Download the Mozilla/safari plugin package from [http://www.videolan.org/vlc/download-macosx.html MacOS X download page].&lt;br /&gt;
&lt;br /&gt;
Run the installer from the dmg image.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Compile the sources yourself====&lt;br /&gt;
&lt;br /&gt;
Please look at the [http://developers.videolan.org developers page] for information on how to do this.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Use the mozilla plugin===&lt;br /&gt;
&lt;br /&gt;
If you open a link to a video file handled by the VLC plugin (To get the list of handled types, browse to &#039;&#039;&#039;about:plugins&#039;&#039;&#039;) or a page with an embedded video, the plugin should open and read the&lt;br /&gt;
video.&lt;br /&gt;
&lt;br /&gt;
===Build HTML pages that use the plugin (VLC version up to 0.8.5)===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;WARNING:&#039;&#039;&#039; the APIs described in this section are &#039;&#039;&#039;deprecated&#039;&#039;&#039;, do not use, &lt;br /&gt;
&lt;br /&gt;
The following API description is only valid uptill version 0.8.5 of the mozilla plugin.&lt;br /&gt;
&lt;br /&gt;
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&lt;br /&gt;
plugin.&lt;br /&gt;
&lt;br /&gt;
The vlc plugin supports the following function calls:&lt;br /&gt;
*&#039;&#039;&#039;play()&#039;&#039;&#039;: Start playing media in the plugin.&lt;br /&gt;
*&#039;&#039;&#039;pause()&#039;&#039;&#039;: Pause playback.&lt;br /&gt;
*&#039;&#039;&#039;stop()&#039;&#039;&#039;: Stop media playback.&lt;br /&gt;
*&#039;&#039;&#039;fullscreen()&#039;&#039;&#039;: Switch the video to full screen.&lt;br /&gt;
*&#039;&#039;&#039;set_volume(vol)&#039;&#039;&#039;: Set the volume. &#039;&#039;&#039;vol&#039;&#039;&#039; has to be an int in the 0-200 range.&lt;br /&gt;
*&#039;&#039;&#039;get_volume()&#039;&#039;&#039;: Get the current volume setting.&lt;br /&gt;
*&#039;&#039;&#039;mute()&#039;&#039;&#039;: Toggle volume muting.&lt;br /&gt;
*&#039;&#039;&#039;set_int_variable(var_name, value)&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;set_bool_variable(var_name, value)&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;set_str_variable(var_name, value)&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;get_int_variable(var_name)&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;get_bool_variable(var_name)&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;get_str_variable(var_name)&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;clear_playlist()&#039;&#039;&#039;: Clear the playlist.&lt;br /&gt;
*&#039;&#039;&#039;add_item(mrl)&#039;&#039;&#039;: Append an item whose location is given by the [[media resource locator]] to the playlist.&lt;br /&gt;
*&#039;&#039;&#039;next()&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;previous()&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;isplaying()&#039;&#039;&#039;: return true if the plugin is playing something.&lt;br /&gt;
*&#039;&#039;&#039;get_length()&#039;&#039;&#039;: Get the media&#039;s length in seconds.&lt;br /&gt;
*&#039;&#039;&#039;get_position()&#039;&#039;&#039;: Get the current position in the media in percent.&lt;br /&gt;
*&#039;&#039;&#039;get_time()&#039;&#039;&#039;: Get the current position in the media in seconds.&lt;br /&gt;
*&#039;&#039;&#039;seek(seconds,is_relative)&#039;&#039;&#039;: If is_relative is true, seek relatively to current time, else seek from beginning of the stream. Seek time is specified in seconds.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Here are a few examples of HTML pages that use the&lt;br /&gt;
Mozilla plugin.&lt;br /&gt;
&lt;br /&gt;
====Example 1====&lt;br /&gt;
&lt;br /&gt;
In this example, the plugin will read an HTTP stream inside the web page. If the user goes fullscreen, he will have to press &#039;&#039;f&#039;&#039; or double-click on the video to go back in normal view.&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;html&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;head&amp;amp;gt;&amp;amp;lt;title&amp;amp;gt;Demo of VLC mozilla plugin&amp;amp;lt;/title&amp;amp;gt;&amp;amp;lt;/head&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;body&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;h1&amp;amp;gt;Demo of VLC mozilla plugin - Example 1&amp;amp;lt;/h1&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;embed type=&amp;quot;application/x-vlc-plugin&amp;quot;&lt;br /&gt;
          name=&amp;quot;video1&amp;quot;&lt;br /&gt;
          autoplay=&amp;quot;no&amp;quot; loop=&amp;quot;yes&amp;quot; width=&amp;quot;400&amp;quot; height=&amp;quot;300&amp;quot;&lt;br /&gt;
          target=&amp;quot;http://server.example.org/video1.vob&amp;quot; /&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;br /&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video1.play()&#039;&amp;amp;gt;Play video1&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video1.pause()&#039;&amp;amp;gt;Pause video1&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video1.stop()&#039;&amp;amp;gt;Stop video1&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video1.fullscreen()&#039;&amp;amp;gt;Fullscreen&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;/body&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/html&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Example 2====&lt;br /&gt;
&lt;br /&gt;
In this example, the plugin will read a multicast UDP stream in a dedicated video output window.&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;html&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;head&amp;amp;gt;&amp;amp;lt;title&amp;amp;gt;Demo of VLC mozilla plugin&amp;amp;lt;/title&amp;amp;gt;&amp;amp;lt;/head&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;body&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;h1&amp;amp;gt;Demo of VLC mozilla plugin - Example 2&amp;amp;lt;/h1&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;embed type=&amp;quot;application/x-vlc-plugin&amp;quot;&lt;br /&gt;
          name=&amp;quot;video2&amp;quot;&lt;br /&gt;
          autoplay=&amp;quot;no&amp;quot; loop=&amp;quot;no&amp;quot; hidden=&amp;quot;yes&amp;quot;&lt;br /&gt;
          target=&amp;quot;udp:@239.255.12.42&amp;quot; /&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;br /&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video2.play()&#039;&amp;amp;gt;Play video2&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video2.stop()&#039;&amp;amp;gt;Stop video2&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video2.fullscreen()&#039;&amp;amp;gt;Fullscreen&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;/body&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/html&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Building HTML pages for Mozilla/Firefox/Internet Explorere/Safari (VLC version 0.8.6 and above)==&lt;br /&gt;
&lt;br /&gt;
The following description works for any of the browsers VLC supports. The JavaScript API has been unified between Mozilla/Firefox/IE (ActiveX) and Safari, thus targetting at all of the major OS out there. This is only valid for VLC version 0.8.6 and above.&lt;br /&gt;
&lt;br /&gt;
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&lt;br /&gt;
plugin.&lt;br /&gt;
&lt;br /&gt;
The vlc plugin exports serveral objects that can be accessed for setting and getting information. When used improperly the API&#039;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.&lt;br /&gt;
&lt;br /&gt;
The vlc plugin knows the following objects:&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;audio&#039;&#039;&#039;: Access audio properties.&lt;br /&gt;
*&#039;&#039;&#039;input&#039;&#039;&#039;: Access input properties.&lt;br /&gt;
*&#039;&#039;&#039;playlist&#039;&#039;&#039;: Access playlist properties.&lt;br /&gt;
*&#039;&#039;&#039;video&#039;&#039;&#039;: Access video properties.&lt;br /&gt;
*&#039;&#039;&#039;log&#039;&#039;&#039;: Access log properties.&lt;br /&gt;
*&#039;&#039;&#039;messages&#039;&#039;&#039;: Access to log message properties.&lt;br /&gt;
*&#039;&#039;&#039;iterator&#039;&#039;&#039;: Access to log iterator properties.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;html&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;title&amp;amp;gt;VLC Mozilla plugin test page&amp;amp;lt;/title&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;body&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;embed type=&amp;quot;application/x-vlc-plugin&amp;quot; pluginspage=&amp;quot;http://www.videolan.org&amp;quot; version=&amp;quot;VideoLAN.VLCPlugin.2&amp;quot;&lt;br /&gt;
     width=&amp;quot;640&amp;quot;&lt;br /&gt;
     height=&amp;quot;480&amp;quot;&lt;br /&gt;
     id=&amp;quot;vlc&amp;quot;&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/embed&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;script language=&amp;quot;Javascript&amp;quot;&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;!--&lt;br /&gt;
 var vlc = document.getElementById(&amp;quot;vlc&amp;quot;);&lt;br /&gt;
 vlc.audio.toggleMute();&lt;br /&gt;
 !--&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/script&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/body&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/html&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Root object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;VersionInfo&#039;&#039;&#039;: returns version information string&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;vlc.versionInfo()&#039;&#039;&#039;: returns version information string (same as VersionInfo)&lt;br /&gt;
&lt;br /&gt;
====Audio object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.audio.mute&#039;&#039;&#039;: boolean value to mute and ummute the audio&lt;br /&gt;
*&#039;&#039;&#039;vlc.audio.volume&#039;&#039;&#039;: a value between [0-200] which indicates a percentage of the volume.&lt;br /&gt;
*&#039;&#039;&#039;vlc.audio.track&#039;&#039;&#039;: (supported in vlc version &amp;gt; 0.8.6) a value between [1-65535] which indicates the audio track to play or that is playing. a value of 0 means the audio is/will be disabled.&lt;br /&gt;
*&#039;&#039;&#039;vlc.audio.channel&#039;&#039;&#039;: (supported in vlc version &amp;gt; 0.8.6) integer value between [1-5] that indicates which audio channel mode is used, values can be: &amp;quot;1=stereo&amp;quot;, &amp;quot;2=reverse stereo&amp;quot;, &amp;quot;3=left&amp;quot;, &amp;quot;4=right&amp;quot;, &amp;quot;5=dolby&amp;quot;. Use vlc.audio.channel to check if setting of the audio channel mode has succeeded.&lt;br /&gt;
&lt;br /&gt;
 Audio Channel:&lt;br /&gt;
 &amp;lt;SELECT readonly onChange=&#039;doAudioChannel(this.value)&#039;&amp;gt;&lt;br /&gt;
    &amp;lt;OPTION value=1&amp;gt;Stereo&amp;lt;/OPTION&amp;gt;&lt;br /&gt;
    &amp;lt;OPTION value=2&amp;gt;Reverse stereo&amp;lt;/OPTION&amp;gt;&lt;br /&gt;
    &amp;lt;OPTION value=3&amp;gt;Left&amp;lt;/OPTION&amp;gt;&lt;br /&gt;
    &amp;lt;OPTION value=4&amp;gt;Right&amp;lt;/OPTION&amp;gt;&lt;br /&gt;
    &amp;lt;OPTION value=5&amp;gt;Dolby&amp;lt;/OPTION&amp;gt;&lt;br /&gt;
 &amp;lt;/SELECT&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;SCRIPT language=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;amp;lt;!--&lt;br /&gt;
 function doAudioChannel(value)&lt;br /&gt;
 {&lt;br /&gt;
    var vlc = getVLC(&amp;quot;vlc&amp;quot;);&lt;br /&gt;
    vlc.audio.channel = parseInt(value);&lt;br /&gt;
    alert(vlc.audio.channel);&lt;br /&gt;
 };&lt;br /&gt;
 --&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;vlc.audio.toggleMute()&#039;&#039;&#039;: boolean toggle that mutes and unmutes the audio based upon the previous state&lt;br /&gt;
&lt;br /&gt;
====Input object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.length&#039;&#039;&#039;: length of the input file in number of milliseconds. 0 is returned for &#039;live&#039; streams or clips whose length cannot be determined by VLC&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.fps&#039;&#039;&#039;: frames per second returned as a float (typically 60.0, 50.0, 23.976, etc...)&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.hasVout&#039;&#039;&#039;: a boolean that returns true when the video is being displayed, it returns false when video is not displayed&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.position&#039;&#039;&#039;: normalized position in multimedia stream item given as a float value between [0.0 - 1.0]&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.time&#039;&#039;&#039;: the absolute position in time given in milliseconds, this property can be used to seek through the stream&lt;br /&gt;
 &amp;amp;lt;!-- absolute seek in stream !--&amp;amp;gt;&lt;br /&gt;
 vlc.input.time = &amp;amp;lt;absolute seek&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;!-- relative seek in stream !--&amp;amp;gt;&lt;br /&gt;
 vlc.input.time = vlc.input.time + &amp;amp;lt;relative seek&amp;amp;gt;&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.state&#039;&#039;&#039;: current state of the input chain given as enumeration (IDLE/CLOSE=0, OPENING=1, BUFFERING=2, PLAYING=3, PAUSED=4, STOPPING=5, ERROR=6)&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.rate&#039;&#039;&#039;: input speed given as float (1.0 for normal speed, 0.5 for half speed, 2.0 for twice as fast, etc.)&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Playlist object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.itemCount&#039;&#039;&#039;: number that returns the amount of items currently in the playlist (&#039;&#039;&#039;deprecated&#039;&#039;&#039;, do not use, see [[Playlist items]])&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.isPlaying&#039;&#039;&#039;: a boolean that returns true if the current playlist item is playing and false when it is not playing&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.items&#039;&#039;&#039;: return the playlist items collection, see [[Playlist items object]]&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.add(mrl)&#039;&#039;&#039;: add a playlist item as [[MRL]]. The MRL must be given as a string. Returns a number as an item identifier in playlist (this is not a position  in playlist).&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.add(mrl,name,options)&#039;&#039;&#039;: add a playlist item as MRL, with metaname &#039;name&#039; and options &#039;options&#039;. options are text arguments which can be provided either as a single string containing space separated values, akin to VLC command line, or as an array of string values. Returns a number as an item identifier in playlist (this is not a position in playlist).&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.play()&#039;&#039;&#039;: start playing the current playlist item&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.playItem(number)&#039;&#039;&#039;: start playing the item whose identifier is number&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.togglePause()&#039;&#039;&#039;: toggle the pause state for the current playlist item&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.stop()&#039;&#039;&#039;: stop playing the current playlist item&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.next()&#039;&#039;&#039;: iterate to the next playlist item&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.prev()&#039;&#039;&#039;: iterate to the previous playlist item&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.clear()&#039;&#039;&#039;: empty the current playlist, all items will be deleted from the playlist (&#039;&#039;&#039;deprecated&#039;&#039;&#039;, do not use, see [[Playlist items]])&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.removeItem(number)&#039;&#039;&#039;: remove the item from playlist whose identifier is number (note: this number isn&#039;t the position in the playlist, but the number given by vlc.playlist.add() )&lt;br /&gt;
&lt;br /&gt;
====Playlist items object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.items.count&#039;&#039;&#039;: number of items currently in the playlist&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.items.clear()&#039;&#039;&#039;: empty the current playlist, all items will be deleted from the playlist. Note that when this method returns playlist may not have been entirely been cleared as this operation is performed asynchronously; use the &#039;&#039;count&#039;&#039; property to verify/wait until the playlist is empty.&lt;br /&gt;
&lt;br /&gt;
====Video object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.width&#039;&#039;&#039;: returns the horizontal size of the video&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.height&#039;&#039;&#039;: returns the vertical size of the video&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.fullscreen&#039;&#039;&#039;: 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.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.aspectRatio&#039;&#039;&#039;: get and set the aspect ratio to use in the video screen. The property takes a string as input value. Typical values are: &amp;quot;1:1&amp;quot;, &amp;quot;4:3&amp;quot;, &amp;quot;16:9&amp;quot;, &amp;quot;16:10&amp;quot;, &amp;quot;221:100&amp;quot; and &amp;quot;5:4&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.subtitle&#039;&#039;&#039;: (supported in vlc version &amp;gt; 0.8.6a) get and set the subtitle track to show on the video screen. The property takes an integer as input value [1..65535]. If subtitle track is set to 0, the subtitles will be disabled. If set to a value outside the current subtitle tracks range, then it will return -1 and display an error message.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.teletext&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 0.9.0) get and set teletext page to show on the video stream. This will only work if a teletext elementary stream is available in the video stream. The property takes an integer as input value [0..65535] for indicating the teletext page to view, setting the value to -1 means hide teletext. On error it will return -1 and display an error message.&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.toggleFullscreen()&#039;&#039;&#039;: toggle the fullscreen mode based on the previous setting&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.toggleTeletext()&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 0.9.0) toggle the teletext page to overlay transparent or not, based on the previous setting&lt;br /&gt;
&lt;br /&gt;
====Log object====&lt;br /&gt;
&lt;br /&gt;
this object allows accessing VLC main message logging queue. Typically this queue capacity is very small (no nore than 256 entries) and can easily overflow, therefore messages should be read and cleared as often as possible.&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.log.messages&#039;&#039;&#039;: returns the message collection, see [[Messages object]]&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.log.verbosity&#039;&#039;&#039;: write number [-1,0,1,2,3] for changing the verbosity level of the log messages; messages whose verbosity is higher than set will be not be logged in the queue. The numbers have the following meaning: -1 disable, 0 info, 1 error, 2 warning, 3 debug. &lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Messages object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;messages.count&#039;&#039;&#039;: returns number of messages in the log&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;messages.clear()&#039;&#039;&#039;: clear the current log buffer. It should be called as frequently as possible to not overflow the message queue. Call this method after the log messages of interest are read.&lt;br /&gt;
*&#039;&#039;&#039;messages.iterator()&#039;&#039;&#039;: creates and returns an iterator object, used to iterate over the messages in the log. &#039;&#039;&#039;Don&#039;t clear the log buffer while holding an iterator object.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Messages Iterator object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;iterator.hasNext&#039;&#039;&#039;: returns a boolean that indicates whether &#039;&#039;vlc.log.messages.next()&#039;&#039; will return the next message.&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;iterator.next()&#039;&#039;&#039;: returns the next message object in the log, see [[Message object]]&lt;br /&gt;
&lt;br /&gt;
====Message object====&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;message.severity&#039;&#039;&#039;: number that indicates the severity of the log message (0 = info, 1 = error, 2 = warning, 3 = debug)&lt;br /&gt;
*&#039;&#039;&#039;message.name&#039;&#039;&#039;: name of VLC module that printed the log message (e.g: main, http, directx, etc...)&lt;br /&gt;
*&#039;&#039;&#039;message.type&#039;&#039;&#039;: type of VLC module that printed the log message (eg: input, access, vout, sout, etc...)&lt;br /&gt;
*&#039;&#039;&#039;message.message&#039;&#039;&#039;: the message text&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Documentation}}&lt;/div&gt;</summary>
		<author><name>Jpsaman</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=Documentation:Advanced_Use_of_VLC&amp;diff=10316</id>
		<title>Documentation:Advanced Use of VLC</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=Documentation:Advanced_Use_of_VLC&amp;diff=10316"/>
		<updated>2007-12-18T08:06:44Z</updated>

		<summary type="html">&lt;p&gt;Jpsaman: /* Video object */  Document teletext feature.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{RightMenu|documentation play howto toc}}&lt;br /&gt;
&lt;br /&gt;
==Use the command line==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;TODO: completely outdated&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
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&#039;t need or want a GUI. Here is the complete description of VLC&#039;s command line and how to use it.&lt;br /&gt;
&lt;br /&gt;
You need to be quite comfortable with command line usage to use this.&lt;br /&gt;
&lt;br /&gt;
 Note: Windows users have to use the &#039;&#039;--option-name=&amp;quot;value&amp;quot;&#039;&#039; syntax instead of the &#039;&#039;--option-name value&#039;&#039; syntax.&lt;br /&gt;
&lt;br /&gt;
===Getting help===&lt;br /&gt;
&lt;br /&gt;
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, ...&lt;br /&gt;
&lt;br /&gt;
This chapter will only describe the &amp;quot;general&amp;quot; options, i.e. the core options. Each module adds new options. For example, the HTTP input module will add options for caching, proxy, authentication, ...&lt;br /&gt;
&lt;br /&gt;
By using &#039;&#039;&#039;vlc --help&#039;&#039;&#039;, you will get the basic core options. &#039;&#039;&#039;vlc --longhelp&#039;&#039;&#039; will give all the basic options (core + modules). Adding &#039;&#039;&#039;--advanced&#039;&#039;&#039; will give the &amp;quot;advanced options&amp;quot; (for advanced users). So &#039;&#039;&#039;vlc --longhelp --advanced&#039;&#039;&#039; will give you all options. You can also append &#039;&#039;&#039;--help-verbose&#039;&#039;&#039; if you want more detailed help.&lt;br /&gt;
&lt;br /&gt;
Also, you might want to get debug informations. To do this, use &#039;&#039;&#039;-v&#039;&#039;&#039; or &#039;&#039;&#039;-vv&#039;&#039;&#039; (this will show lower severity messages). If your console supports it, you can add &#039;&#039;&#039;--color to get messages in color.&lt;br /&gt;
&lt;br /&gt;
===Opening streams===&lt;br /&gt;
&lt;br /&gt;
The following commands start VLC and start reading the given element(s)&lt;br /&gt;
&lt;br /&gt;
====Opening a file====&lt;br /&gt;
&lt;br /&gt;
Start VLC with:&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc my_file&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
VLC should be able to recognize the file type. If it does not, you can force demultiplexer and decoder (see below).&lt;br /&gt;
&lt;br /&gt;
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].&lt;br /&gt;
&lt;br /&gt;
====Opening a DVD or VCD, or an audio CD====&lt;br /&gt;
&lt;br /&gt;
Start VLC with:&lt;br /&gt;
&lt;br /&gt;
For a DVD with menus:&lt;br /&gt;
 % &#039;&#039;&#039;vlc dvd://[device][@raw_device][@[title][:[chapter][:angle]]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
In most cases, &#039;&#039;&#039;vlc dvd://&#039;&#039;&#039; or &#039;&#039;&#039;vlc dvd://[device]&#039;&#039;&#039; will do. [device] is for example &#039;&#039;&#039;/dev/dvd&#039;&#039;&#039; on GNU/Linux or &#039;&#039;&#039;D:&#039;&#039;&#039; on Windows (complete path to your DVD drive).&lt;br /&gt;
&lt;br /&gt;
or&lt;br /&gt;
&lt;br /&gt;
(DVD without menus):&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc dvdsimple://[device][@raw_device][@[title][:[chapter][:angle]]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
or&lt;br /&gt;
&lt;br /&gt;
(VCD):&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc vcd://[device][@{E|P|E|T|S}[number]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
or&lt;br /&gt;
&lt;br /&gt;
(Audio CD):&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc cdda://[device][@[track]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Receiving a network stream====&lt;br /&gt;
&lt;br /&gt;
To receive an unicast UDP stream (sent by VLS or VLC&#039;s stream output), start VLC with:&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc  udp:[@:server_port]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If you use the default port (1234), &#039;&#039;&#039;vlc udp:&#039;&#039;&#039; will do. For more information, look at the Streaming Howto.&lt;br /&gt;
&lt;br /&gt;
To receive an multicast UDP stream (sent by VLS or VLC&#039;s stream output), start VLC with:&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc udp:@multicast_address[:server_port]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
To receive a SSM (source specific multicast) stream, you can use:&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc udp:server_address@multicast_address[:server_port]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This only works on OSs that support SSM (Windows XP and recent Linux kernels).&lt;br /&gt;
&lt;br /&gt;
To receive a HTTP stream, start VLC with:&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc http://www.example.org/your_file.mpg&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
To receive a RTSP stream, start VLC with:&amp;lt;/para&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc rtsp://www.example.org/your_stream&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Modules selection===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--intf  &amp;lt;module&amp;gt;&#039;&#039;&#039; allows you to select the interface module.&lt;br /&gt;
*&#039;&#039;&#039;--extraintf  &amp;lt;module&amp;gt;&#039;&#039;&#039; allows you to select extra interface modules that will be launched in addition to the main one. This is mainly useful for special &#039;&#039;control&#039;&#039; interfaces, like HTTP, RC (Remote Control), ... (see below)&lt;br /&gt;
*&#039;&#039;&#039;--aout  &amp;lt;module&amp;gt;&#039;&#039;&#039; allows you to select the audio output module.&lt;br /&gt;
*&#039;&#039;&#039;--vout  &amp;lt;module&amp;gt;&#039;&#039;&#039; allows you to select the video output module.&lt;br /&gt;
*&#039;&#039;&#039;--memcpy  &amp;lt;module&amp;gt;&#039;&#039;&#039; allows you to choose a memory copy module. You should probably never touch that.&lt;br /&gt;
&lt;br /&gt;
You can get a listing of the available modules by using &#039;&#039;&#039;vlc -l&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Stream Output===&lt;br /&gt;
&lt;br /&gt;
The Stream output system allows vlc to become a streaming server.&lt;br /&gt;
&lt;br /&gt;
For more details on the stream output system, please have a look at the [[Documentation:Streaming HowTo|Streaming HowTo]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Other Options===&lt;br /&gt;
&lt;br /&gt;
====Audio options====&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--noaudio&#039;&#039;&#039; disables audio output.&lt;br /&gt;
*&#039;&#039;&#039;--mono&#039;&#039;&#039; forces VLC to treat the stream in mono audio.&lt;br /&gt;
*&#039;&#039;&#039;--volume &amp;lt;integer&amp;gt;&#039;&#039;&#039; sets the level of audio output (between 0 and 1024).&lt;br /&gt;
*&#039;&#039;&#039;--aout-rate &amp;lt;integer&amp;gt;&#039;&#039;&#039; sets the audio output frequency (Hz). By default, VLC will try to autodetect this.&lt;br /&gt;
*&#039;&#039;&#039;--desync &amp;lt;integer&amp;gt;&#039;&#039;&#039; compensates desynchronization of audio (ms). (If audio and video streams are not synchronized, use this setting to delay the audio stream)&lt;br /&gt;
*&#039;&#039;&#039;--audio-filter &amp;lt;string&amp;gt;&#039;&#039;&#039; 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)&lt;br /&gt;
&lt;br /&gt;
====Video options====&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--novideo&#039;&#039;&#039; disables video output.&lt;br /&gt;
*&#039;&#039;&#039;--greyscale&#039;&#039;&#039; turns video output into grayscale mode.&lt;br /&gt;
*&#039;&#039;&#039;--fullscreen&#039;&#039;&#039; ( or &#039;&#039;&#039;-f&#039;&#039;&#039;) sets fullscreen video.&lt;br /&gt;
*&#039;&#039;&#039;--nooverlay&#039;&#039;&#039; disables hardware acceleration for the video output.&lt;br /&gt;
*&#039;&#039;&#039;--width, --height &amp;lt;integer&amp;gt;&#039;&#039;&#039; sets the video window dimensions. By default, the video window size will be adjusted to match the video dimensions.&lt;br /&gt;
*&#039;&#039;&#039;--zoom &amp;lt;float&amp;gt;&#039;&#039;&#039; adds a zoom factor.&lt;br /&gt;
*&#039;&#039;&#039;--aspect-ratio &amp;lt;mode&amp;gt;&#039;&#039;&#039; forces source aspect ratio. Modes are 4x3, 16x9, ...&lt;br /&gt;
*&#039;&#039;&#039;--spumargin  &amp;lt;integer&amp;gt;&#039;&#039;&#039; forces SPU subtitles postion.&lt;br /&gt;
*&#039;&#039;&#039;--filter &amp;lt;string&amp;gt;&#039;&#039;&#039; adds video filters to the processing chain. You can add several filters, separated by commas&lt;br /&gt;
*&#039;&#039;&#039;--sub-filter &amp;lt;string&amp;gt;&#039;&#039;&#039; adds video subpictures filter to the processing chain.&lt;br /&gt;
&lt;br /&gt;
====Playlist options====&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--random&#039;&#039;&#039; plays files randomly forever.&lt;br /&gt;
*&#039;&#039;&#039;--loop&#039;&#039;&#039; loops playlist on end.&lt;br /&gt;
*&#039;&#039;&#039;--repeat&#039;&#039;&#039; repeats current item until another item is forced&lt;br /&gt;
*&#039;&#039;&#039;--play-and-stop&#039;&#039;&#039; stops the playlist after each played item.&lt;br /&gt;
&lt;br /&gt;
====Network options====&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--server-port &amp;lt;integer&amp;gt;&#039;&#039;&#039; sets server port.&lt;br /&gt;
*&#039;&#039;&#039;--iface  &amp;lt;string&amp;gt;&#039;&#039;&#039; specifies the network interface to use.&lt;br /&gt;
*&#039;&#039;&#039;--iface-addr  &amp;lt;string&amp;gt;&#039;&#039;&#039; specifies your network interface IP address.&lt;br /&gt;
*&#039;&#039;&#039;--mtu  &amp;lt;integer&amp;gt;&#039;&#039;&#039; specifies the MTU of the network interface.&lt;br /&gt;
*&#039;&#039;&#039;--ipv6&#039;&#039;&#039; forces IPv6.&lt;br /&gt;
*&#039;&#039;&#039;--ipv4&#039;&#039;&#039; forces IPv4.&lt;br /&gt;
&lt;br /&gt;
====CPU options====&lt;br /&gt;
&lt;br /&gt;
You should probably not touch these options unless you know what you are doing.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--nommx&#039;&#039;&#039; disables the use of MMX CPU extensions.&lt;br /&gt;
*&#039;&#039;&#039;--no3dn&#039;&#039;&#039; disables the use of 3D Now! CPU extensions.&lt;br /&gt;
*&#039;&#039;&#039;--nommxext&#039;&#039;&#039; disables the use of MMX Ext CPU extensions.&lt;br /&gt;
*&#039;&#039;&#039;--nosse&#039;&#039;&#039; disables the use of SSE CPU extensions.&lt;br /&gt;
*&#039;&#039;&#039;--noaltivec&#039;&#039;&#039; disables the use of Altivec CPU extensions.&lt;br /&gt;
&lt;br /&gt;
====Miscellaneous options====&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--quiet&#039;&#039;&#039;  deactivates all console messages.&lt;br /&gt;
*&#039;&#039;&#039;--color&#039;&#039;&#039; displays color messages.&lt;br /&gt;
*&#039;&#039;&#039;--search-path  &amp;lt;string&amp;gt;&#039;&#039;&#039; specifies interface default search path.&lt;br /&gt;
*&#039;&#039;&#039;--plugin-path  &amp;lt;string&amp;gt;&#039;&#039;&#039; specifies plugin search path.&lt;br /&gt;
*&#039;&#039;&#039;--no-plugins-cache&#039;&#039;&#039; disables the plugin cache (plugins cache speeds up startup)&lt;br /&gt;
*&#039;&#039;&#039;--dvd  &amp;lt;string&amp;gt;&#039;&#039;&#039; specifies the default DVD device.&lt;br /&gt;
*&#039;&#039;&#039;--vcd  &amp;lt;string&amp;gt;&#039;&#039;&#039; specifies the default VCD device.&lt;br /&gt;
*&#039;&#039;&#039;--program  &amp;lt;integer&amp;gt;&#039;&#039;&#039; specifies program (SID) (for streams with several programs, like satellite ones).&lt;br /&gt;
*&#039;&#039;&#039;--audio-type  &amp;lt;integer&amp;gt;&#039;&#039;&#039; specifies the default audio type to use with dvds.&lt;br /&gt;
*&#039;&#039;&#039;--audio-channel  &amp;lt;integer&amp;gt;&#039;&#039;&#039; specifies the default audio channel to use with dvds.&lt;br /&gt;
*&#039;&#039;&#039;--spu-channel  &amp;lt;integer&amp;gt;&#039;&#039;&#039; specifies the default subtitle channel to use with dvds.&lt;br /&gt;
*&#039;&#039;&#039;--version&#039;&#039;&#039; gives you information about the current VLC version.&lt;br /&gt;
*&#039;&#039;&#039;--module  &amp;lt;module&amp;gt; &#039;&#039;&#039; displays help about specified module. (Shortcut: &#039;&#039;&#039;-p&#039;&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
===Item-specific options===&lt;br /&gt;
&lt;br /&gt;
There are many options that are related to items (like &#039;&#039;&#039;--novideo&#039;&#039;&#039;, &#039;&#039;&#039;--codec&#039;&#039;&#039;, &#039;&#039;&#039;--fullscreen&#039;&#039;&#039;).&lt;br /&gt;
&lt;br /&gt;
For all of these, you have the possibility to make them item-specific, using &amp;quot;:&amp;quot; instead of &amp;quot;--&amp;quot; and putting the option just after the concerned item.&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc file1.mpg :fullscreen file2.mpg&#039;&#039;&#039;&lt;br /&gt;
will play file1.mpg in fullscreen mode and file2.mpg in the default mode (which is generally no fullscreen), whereas&lt;br /&gt;
 % &#039;&#039;&#039;vlc --fullscreen file1.mpg file2.mpg&#039;&#039;&#039;&lt;br /&gt;
will play both files in fullscreen mode&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc --fullscreen file1.mpg :sub-file=file1.srt :no-fullscreen file2.mpg :filter=distort&#039;&#039;&#039;&lt;br /&gt;
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)&lt;br /&gt;
&lt;br /&gt;
==Advanced use of filters==&lt;br /&gt;
&lt;br /&gt;
===Filters===&lt;br /&gt;
&lt;br /&gt;
These are the old style VLC filters. They only apply to on screen display and thus cannot be streamed.&lt;br /&gt;
&lt;br /&gt;
====Deinterlacing video filter====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;deinterlace&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--deinterlace-mode {discard,blend,mean,bob,linear}&#039;&#039;&#039; choose a deinterlacing mode.&lt;br /&gt;
&lt;br /&gt;
====Invert video filter====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;invert&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Image properties filter====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;adjust&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--contrast &amp;lt;float&amp;gt;&#039;&#039;&#039; Image contrast in the 0-2 range.&lt;br /&gt;
*&#039;&#039;&#039;--brightness &amp;lt;float&amp;gt;&#039;&#039;&#039; Image brightness in the 0-2 range.&lt;br /&gt;
*&#039;&#039;&#039;--hue &amp;lt;integer&amp;gt;&#039;&#039;&#039; Image hue in the 0-360 range.&lt;br /&gt;
*&#039;&#039;&#039;--saturation &amp;lt;float&amp;gt;&#039;&#039;&#039; Image saturation in the 0-3 range.&lt;br /&gt;
*&#039;&#039;&#039;-gamma &amp;lt;float&amp;gt;&#039;&#039;&#039; Image gamma in the 0-10 range.&lt;br /&gt;
&lt;br /&gt;
====Wall video filter====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;wall&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This filter splits the output in several windows.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--wall-cols &amp;lt;integer&amp;gt;&#039;&#039;&#039; Number of columns.&lt;br /&gt;
*&#039;&#039;&#039;--wall-rows &amp;lt;integer&amp;gt;&#039;&#039;&#039; Number of rows.&lt;br /&gt;
*&#039;&#039;&#039;--wall-active &amp;lt;string&amp;gt;&#039;&#039;&#039; Select the windows you want to display. To select windows 2 and 4 you would write &#039;&#039;&#039;--wall-active 2,4&#039;&#039;&#039;. When this option isn&#039;t specified, all windows are displayed.&lt;br /&gt;
&lt;br /&gt;
====Video transformation filter====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;transform&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--transform-type {90,180,270,hflip,vflip}&#039;&#039;&#039; Select rotation angle or symmetry.&lt;br /&gt;
&lt;br /&gt;
====Distort video filter====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;distort&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Clone video filter====&lt;br /&gt;
&lt;br /&gt;
This filter clones the output window.&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;clone&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--clone-count &amp;lt;integer&amp;gt;&#039;&#039;&#039; Number of clones.&lt;br /&gt;
*&#039;&#039;&#039;--clone-vout-list &amp;lt;string&amp;gt;&#039;&#039;&#039; Comma separated string of video output modules.&lt;br /&gt;
&lt;br /&gt;
====Crop video filter====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;crop&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--crop-geometry &amp;lt;string&amp;gt;&#039;&#039;&#039; Set the geometry of the zone to crop. This is set as &amp;lt;width&amp;gt; x &amp;lt;height&amp;gt; + &amp;lt;left offset&amp;gt; + &amp;lt;top offset&amp;gt;.&lt;br /&gt;
*&#039;&#039;&#039;--autocrop&#039;&#039;&#039; Enable automatic black border cropping.&lt;br /&gt;
&lt;br /&gt;
====Motion blur filter====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;motionblur&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;blur-factor &amp;lt;integer&amp;gt;&#039;&#039;&#039; Blur factor in the 1-127 range.&lt;br /&gt;
&lt;br /&gt;
====Video pictures blending====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;blend&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Video scaling filter====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;scale&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Subpictures Filters===&lt;br /&gt;
&lt;br /&gt;
These are the new VLC filters. They can be streamed.&lt;br /&gt;
&lt;br /&gt;
====Time display sub filter====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;time&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--time-format &amp;lt;string&amp;gt;&#039;&#039;&#039; Time format string. You can use the following special characters %Y = year, %m = month, %d = day, %H = hour, %M = minute, %S = second.&lt;br /&gt;
*&#039;&#039;&#039;--time-x &amp;lt;integer&amp;gt;&#039;&#039;&#039; X offset from the left in pixels.&lt;br /&gt;
*&#039;&#039;&#039;--time-y &amp;lt;integer&amp;gt;&#039;&#039;&#039; Y offset from the top in pixels.&lt;br /&gt;
&lt;br /&gt;
====Marquee display sub filter====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;marq&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--marq-marquee &amp;lt;string&amp;gt;&#039;&#039;&#039; Marquee text to display.&lt;br /&gt;
*&#039;&#039;&#039;--marq-x &amp;lt;integer&amp;gt;&#039;&#039;&#039; X offset from the left in pixels.&lt;br /&gt;
*&#039;&#039;&#039;--marq-y &amp;lt;integer&amp;gt;&#039;&#039;&#039; Y offset from the top in pixels.&lt;br /&gt;
*&#039;&#039;&#039;--marq-timeout &amp;lt;timeout&amp;gt;&#039;&#039;&#039; Defines the time the marquee must remain displayed in milliseconds. Default value is 0 (remain forever).&lt;br /&gt;
&lt;br /&gt;
====Logo video filter====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;logo&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This filter can be used both as an old style filter or a subpictures filter.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--logo-file &amp;lt;string&amp;gt;&#039;&#039;&#039; Full path of the PNG file to use.&lt;br /&gt;
*&#039;&#039;&#039;--logo-x &amp;lt;integer&amp;gt;&#039;&#039;&#039; X offset from the left in pixels.&lt;br /&gt;
*&#039;&#039;&#039;--logo-y &amp;lt;integer&amp;gt;&#039;&#039;&#039; Y offset from the top in pixels.&lt;br /&gt;
*&#039;&#039;&#039;--logo-transparency &amp;lt;integer&amp;gt;&#039;&#039;&#039; You can set the logo transparency value here (from 0 for full transparency to 255 for full opacity).&lt;br /&gt;
&lt;br /&gt;
Note: You can move the logo by left-clicking on it.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==The HTTP interface==&lt;br /&gt;
&lt;br /&gt;
VLC ships with a little HTTP server integrated. It is used both to stream using HTTP, and for the HTTP remote control interface.&lt;br /&gt;
&lt;br /&gt;
To start VLC with the HTTP interface, use:&lt;br /&gt;
 % &#039;&#039;&#039;vlc -I http [--http-src /directory/] [--http-host host:port]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If you want to have both the &amp;quot;normal&amp;quot; interface and the HTTP interface, use &#039;&#039;&#039;vlc --extraintf http&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
The HTTP interface will start listening at host:port (&amp;lt;all interfaces&amp;gt;:8080 if omitted), and will reproduce the structure of /directory at http://host:port/ ( vlc_source_path/share/http if omitted ).&lt;br /&gt;
&lt;br /&gt;
Use a browser to go to http://your_host_machine:port. You should be taken to the main page.&lt;br /&gt;
&lt;br /&gt;
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]].&lt;br /&gt;
&lt;br /&gt;
Available pages are:&lt;br /&gt;
* &#039;&#039;&#039;list was obsolete&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Other control interfaces==&lt;br /&gt;
&lt;br /&gt;
VLC includes a number of so-called interfaces that are not really 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 &#039;&#039;&#039;-I&#039;&#039;&#039; or &#039;&#039;&#039;--extraintf&#039;&#039;&#039; on the command line.&lt;br /&gt;
&lt;br /&gt;
===Hotkeys===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Hotkeys can be hacked by:&lt;br /&gt;
 % &#039;&#039;&#039;vlc --key-&amp;lt;function&amp;gt; &amp;amp;lt;code&amp;amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Code is composed by modifiers keys (Alt, Shift, Ctrl, Meta,Command) separated by a dash (-) and terminated by a key (a...z, +, =, -, &#039;,&#039;, +, &amp;amp;lt;, &amp;amp;gt;, `, /, ;, &#039;, \, [, ], *, 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 &#039;&#039;&#039;--longhelp&#039;&#039;&#039; option for full list of functions).&lt;br /&gt;
For example, for binding fullscreen to Ctrl-f, run:&lt;br /&gt;
 % &#039;&#039;&#039;vlc --key-fullscreen &#039;Ctrl-f&#039; &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===RC and RTCI===&lt;br /&gt;
&lt;br /&gt;
These two interfaces allow you to control VLC from a command shell (possibly using a remote connexion or a Unix socket).&lt;br /&gt;
&lt;br /&gt;
Start VLC with &#039;&#039;&#039;-I rc&#039;&#039;&#039; or &#039;&#039;&#039;--extraintf rc&#039;&#039;&#039;. When you get the &#039;&#039;&#039;Remote control interface initialized, `h&#039; for help&#039;&#039;&#039; message, press h and Enter to get help about available commands.&lt;br /&gt;
&lt;br /&gt;
To be able to remote connect to your VLC using a TCP socket (telnet-like connexion), use &#039;&#039;&#039;--rc-host your_host:port&#039;&#039;&#039;. Then, by connecting (using telnet or netcat) to the host on the given port, you will get the command shell.&lt;br /&gt;
&lt;br /&gt;
To use a UNIX socket (local socket, this does not work for Windows), use &#039;&#039;&#039;--rc-unix /path/to/socket&#039;&#039;&#039;. Commands can then be passed using this UNIX socket.&lt;br /&gt;
&lt;br /&gt;
The RTCI interface gives you more advanced options, such as marquee control for the marquee subpicture filter (See filter section).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Ncurses===&lt;br /&gt;
&lt;br /&gt;
This is a text interface, using ncurses library.&lt;br /&gt;
&lt;br /&gt;
Start VLC with &#039;&#039;&#039;-I ncurses&#039;&#039;&#039; or &#039;&#039;&#039;--extraintf ncurses&#039;&#039;&#039;. You will then get something like that:&lt;br /&gt;
&lt;br /&gt;
http://www.videolan.org/doc/play-howto/en/images/play-howto/intf-ncurses-playlist.jpg The ncurses interface&lt;br /&gt;
&lt;br /&gt;
Press h to get the list of all available commands, with a short description.&lt;br /&gt;
&lt;br /&gt;
There is also a filebrowser available for the ncurses interface in order to add playlist items. Press &#039;B&#039; to use it.&lt;br /&gt;
&lt;br /&gt;
http://www.videolan.org/doc/play-howto/en/images/play-howto/intf-ncurses-filebrowser.jpg The ncurses filebrowser&lt;br /&gt;
&lt;br /&gt;
You can set the filebrowser starting point by launching vlc with the &#039;&#039;&#039;--browse-dir&#039;&#039;&#039; option:&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc -I ncurses --browse-dir /filebrowser/starting/point/&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Gestures===&lt;br /&gt;
&lt;br /&gt;
Gestures provide a simple mouse gestures control. TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==The Mozilla plugin==&lt;br /&gt;
&lt;br /&gt;
VLC can also be embedded in a web browser! The following browsers are supported [http://www.mozilla.org/ Mozilla], [http://www.mozilla.org/products/firefox/ Firefox] and [http://www.apple.com/macosx/features/safari Safari].&lt;br /&gt;
&lt;br /&gt;
===Install the plugin===&lt;br /&gt;
&lt;br /&gt;
====GNU/Linux Debian====&lt;br /&gt;
&lt;br /&gt;
Install the &#039;&#039;mozilla-plugin-vlc&#039;&#039; package:&lt;br /&gt;
&lt;br /&gt;
 # &#039;&#039;&#039;apt-get update&#039;&#039;&#039;&lt;br /&gt;
 # &#039;&#039;&#039;apt-get install mozilla-plugin-vlc&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Windows====&lt;br /&gt;
&lt;br /&gt;
Quit Firefox or Mozilla.&lt;br /&gt;
&lt;br /&gt;
Copy the two files in &#039;&#039;&#039;VLC_Installation_folder\mozilla&#039;&#039;&#039; (usually &#039;&#039;&#039;C:\Program Files\VideoLAN\VLC\mozilla&#039;&#039;&#039;) to your mozilla plugins directory (Usually &#039;&#039;&#039;C:\Program Files\Mozilla\plugins&#039;&#039;&#039; or &#039;&#039;&#039;C:\Program Files\Mozilla&lt;br /&gt;
Firefox\plugins&#039;&#039;&#039;).&lt;br /&gt;
&lt;br /&gt;
Restart Firefox or Mozilla.&lt;br /&gt;
&lt;br /&gt;
====MacOS X====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;The Mozilla/Safari plugin for MacOS X is only available from vlc version 0.8.5.1 and onwards.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Quit Safari browser.&lt;br /&gt;
&lt;br /&gt;
Download the Mozilla/safari plugin package from [http://www.videolan.org/vlc/download-macosx.html MacOS X download page].&lt;br /&gt;
&lt;br /&gt;
Run the installer from the dmg image.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Compile the sources yourself====&lt;br /&gt;
&lt;br /&gt;
Please look at the [http://developers.videolan.org developers page] for information on how to do this.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Use the mozilla plugin===&lt;br /&gt;
&lt;br /&gt;
If you open a link to a video file handled by the VLC plugin (To get the list of handled types, browse to &#039;&#039;&#039;about:plugins&#039;&#039;&#039;) or a page with an embedded video, the plugin should open and read the&lt;br /&gt;
video.&lt;br /&gt;
&lt;br /&gt;
===Build HTML pages that use the plugin (VLC version up to 0.8.5)===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;WARNING:&#039;&#039;&#039; the APIs described in this section are &#039;&#039;&#039;deprecated&#039;&#039;&#039;, do not use, &lt;br /&gt;
&lt;br /&gt;
The following API description is only valid uptill version 0.8.5 of the mozilla plugin.&lt;br /&gt;
&lt;br /&gt;
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&lt;br /&gt;
plugin.&lt;br /&gt;
&lt;br /&gt;
The vlc plugin supports the following function calls:&lt;br /&gt;
*&#039;&#039;&#039;play()&#039;&#039;&#039;: Start playing media in the plugin.&lt;br /&gt;
*&#039;&#039;&#039;pause()&#039;&#039;&#039;: Pause playback.&lt;br /&gt;
*&#039;&#039;&#039;stop()&#039;&#039;&#039;: Stop media playback.&lt;br /&gt;
*&#039;&#039;&#039;fullscreen()&#039;&#039;&#039;: Switch the video to full screen.&lt;br /&gt;
*&#039;&#039;&#039;set_volume(vol)&#039;&#039;&#039;: Set the volume. &#039;&#039;&#039;vol&#039;&#039;&#039; has to be an int in the 0-200 range.&lt;br /&gt;
*&#039;&#039;&#039;get_volume()&#039;&#039;&#039;: Get the current volume setting.&lt;br /&gt;
*&#039;&#039;&#039;mute()&#039;&#039;&#039;: Toggle volume muting.&lt;br /&gt;
*&#039;&#039;&#039;set_int_variable(var_name, value)&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;set_bool_variable(var_name, value)&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;set_str_variable(var_name, value)&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;get_int_variable(var_name)&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;get_bool_variable(var_name)&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;get_str_variable(var_name)&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;clear_playlist()&#039;&#039;&#039;: Clear the playlist.&lt;br /&gt;
*&#039;&#039;&#039;add_item(mrl)&#039;&#039;&#039;: Append an item whose location is given by the [[media resource locator]] to the playlist.&lt;br /&gt;
*&#039;&#039;&#039;next()&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;previous()&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;isplaying()&#039;&#039;&#039;: return true if the plugin is playing something.&lt;br /&gt;
*&#039;&#039;&#039;get_length()&#039;&#039;&#039;: Get the media&#039;s length in seconds.&lt;br /&gt;
*&#039;&#039;&#039;get_position()&#039;&#039;&#039;: Get the current position in the media in percent.&lt;br /&gt;
*&#039;&#039;&#039;get_time()&#039;&#039;&#039;: Get the current position in the media in seconds.&lt;br /&gt;
*&#039;&#039;&#039;seek(seconds,is_relative)&#039;&#039;&#039;: If is_relative is true, seek relatively to current time, else seek from beginning of the stream. Seek time is specified in seconds.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Here are a few examples of HTML pages that use the&lt;br /&gt;
Mozilla plugin.&lt;br /&gt;
&lt;br /&gt;
====Example 1====&lt;br /&gt;
&lt;br /&gt;
In this example, the plugin will read an HTTP stream inside the web page. If the user goes fullscreen, he will have to press &#039;&#039;f&#039;&#039; or double-click on the video to go back in normal view.&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;html&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;head&amp;amp;gt;&amp;amp;lt;title&amp;amp;gt;Demo of VLC mozilla plugin&amp;amp;lt;/title&amp;amp;gt;&amp;amp;lt;/head&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;body&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;h1&amp;amp;gt;Demo of VLC mozilla plugin - Example 1&amp;amp;lt;/h1&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;embed type=&amp;quot;application/x-vlc-plugin&amp;quot;&lt;br /&gt;
          name=&amp;quot;video1&amp;quot;&lt;br /&gt;
          autoplay=&amp;quot;no&amp;quot; loop=&amp;quot;yes&amp;quot; width=&amp;quot;400&amp;quot; height=&amp;quot;300&amp;quot;&lt;br /&gt;
          target=&amp;quot;http://server.example.org/video1.vob&amp;quot; /&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;br /&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video1.play()&#039;&amp;amp;gt;Play video1&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video1.pause()&#039;&amp;amp;gt;Pause video1&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video1.stop()&#039;&amp;amp;gt;Stop video1&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video1.fullscreen()&#039;&amp;amp;gt;Fullscreen&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;/body&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/html&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Example 2====&lt;br /&gt;
&lt;br /&gt;
In this example, the plugin will read a multicast UDP stream in a dedicated video output window.&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;html&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;head&amp;amp;gt;&amp;amp;lt;title&amp;amp;gt;Demo of VLC mozilla plugin&amp;amp;lt;/title&amp;amp;gt;&amp;amp;lt;/head&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;body&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;h1&amp;amp;gt;Demo of VLC mozilla plugin - Example 2&amp;amp;lt;/h1&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;embed type=&amp;quot;application/x-vlc-plugin&amp;quot;&lt;br /&gt;
          name=&amp;quot;video2&amp;quot;&lt;br /&gt;
          autoplay=&amp;quot;no&amp;quot; loop=&amp;quot;no&amp;quot; hidden=&amp;quot;yes&amp;quot;&lt;br /&gt;
          target=&amp;quot;udp:@239.255.12.42&amp;quot; /&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;br /&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video2.play()&#039;&amp;amp;gt;Play video2&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video2.stop()&#039;&amp;amp;gt;Stop video2&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video2.fullscreen()&#039;&amp;amp;gt;Fullscreen&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;/body&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/html&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Building HTML pages for Mozilla/Firefox/Internet Explorere/Safari (VLC version 0.8.6 and above)==&lt;br /&gt;
&lt;br /&gt;
The following description works for any of the browsers VLC supports. The JavaScript API has been unified between Mozilla/Firefox/IE (ActiveX) and Safari, thus targetting at all of the major OS out there. This is only valid for VLC version 0.8.6 and above.&lt;br /&gt;
&lt;br /&gt;
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&lt;br /&gt;
plugin.&lt;br /&gt;
&lt;br /&gt;
The vlc plugin exports serveral objects that can be accessed for setting and getting information. When used improperly the API&#039;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.&lt;br /&gt;
&lt;br /&gt;
The vlc plugin knows the following objects:&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;audio&#039;&#039;&#039;: Access audio properties.&lt;br /&gt;
*&#039;&#039;&#039;input&#039;&#039;&#039;: Access input properties.&lt;br /&gt;
*&#039;&#039;&#039;playlist&#039;&#039;&#039;: Access playlist properties.&lt;br /&gt;
*&#039;&#039;&#039;video&#039;&#039;&#039;: Access video properties.&lt;br /&gt;
*&#039;&#039;&#039;log&#039;&#039;&#039;: Access log properties.&lt;br /&gt;
*&#039;&#039;&#039;messages&#039;&#039;&#039;: Access to log message properties.&lt;br /&gt;
*&#039;&#039;&#039;iterator&#039;&#039;&#039;: Access to log iterator properties.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;html&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;title&amp;amp;gt;VLC Mozilla plugin test page&amp;amp;lt;/title&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;body&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;embed type=&amp;quot;application/x-vlc-plugin&amp;quot; pluginspage=&amp;quot;http://www.videolan.org&amp;quot; version=&amp;quot;VideoLAN.VLCPlugin.2&amp;quot;&lt;br /&gt;
     width=&amp;quot;640&amp;quot;&lt;br /&gt;
     height=&amp;quot;480&amp;quot;&lt;br /&gt;
     id=&amp;quot;vlc&amp;quot;&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/embed&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;script language=&amp;quot;Javascript&amp;quot;&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;!--&lt;br /&gt;
 var vlc = document.getElementById(&amp;quot;vlc&amp;quot;);&lt;br /&gt;
 vlc.audio.toggleMute();&lt;br /&gt;
 !--&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/script&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/body&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/html&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Root object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;VersionInfo&#039;&#039;&#039;: returns version information string&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;vlc.versionInfo()&#039;&#039;&#039;: returns version information string (same as VersionInfo)&lt;br /&gt;
&lt;br /&gt;
====Audio object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.audio.mute&#039;&#039;&#039;: boolean value to mute and ummute the audio&lt;br /&gt;
*&#039;&#039;&#039;vlc.audio.volume&#039;&#039;&#039;: a value between [0-200] which indicates a percentage of the volume.&lt;br /&gt;
*&#039;&#039;&#039;vlc.audio.track&#039;&#039;&#039;: (supported in vlc version &amp;gt; 0.8.6) a value between [1-65535] which indicates the audio track to play or that is playing. a value of 0 means the audio is/will be disabled.&lt;br /&gt;
*&#039;&#039;&#039;vlc.audio.channel&#039;&#039;&#039;: (supported in vlc version &amp;gt; 0.8.6) integer value between [1-5] that indicates which audio channel mode is used, values can be: &amp;quot;1=stereo&amp;quot;, &amp;quot;2=reverse stereo&amp;quot;, &amp;quot;3=left&amp;quot;, &amp;quot;4=right&amp;quot;, &amp;quot;5=dolby&amp;quot;. Use vlc.audio.channel to check if setting of the audio channel mode has succeeded.&lt;br /&gt;
&lt;br /&gt;
 Audio Channel:&lt;br /&gt;
 &amp;lt;SELECT readonly onChange=&#039;doAudioChannel(this.value)&#039;&amp;gt;&lt;br /&gt;
    &amp;lt;OPTION value=1&amp;gt;Stereo&amp;lt;/OPTION&amp;gt;&lt;br /&gt;
    &amp;lt;OPTION value=2&amp;gt;Reverse stereo&amp;lt;/OPTION&amp;gt;&lt;br /&gt;
    &amp;lt;OPTION value=3&amp;gt;Left&amp;lt;/OPTION&amp;gt;&lt;br /&gt;
    &amp;lt;OPTION value=4&amp;gt;Right&amp;lt;/OPTION&amp;gt;&lt;br /&gt;
    &amp;lt;OPTION value=5&amp;gt;Dolby&amp;lt;/OPTION&amp;gt;&lt;br /&gt;
 &amp;lt;/SELECT&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;SCRIPT language=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;amp;lt;!--&lt;br /&gt;
 function doAudioChannel(value)&lt;br /&gt;
 {&lt;br /&gt;
    var vlc = getVLC(&amp;quot;vlc&amp;quot;);&lt;br /&gt;
    vlc.audio.channel = parseInt(value);&lt;br /&gt;
    alert(vlc.audio.channel);&lt;br /&gt;
 };&lt;br /&gt;
 --&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;vlc.audio.toggleMute()&#039;&#039;&#039;: boolean toggle that mutes and unmutes the audio based upon the previous state&lt;br /&gt;
&lt;br /&gt;
====Input object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.length&#039;&#039;&#039;: length of the input file in number of milliseconds. 0 is returned for &#039;live&#039; streams or clips whose length cannot be determined by VLC&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.fps&#039;&#039;&#039;: frames per second returned as a float (typically 60.0, 50.0, 23.976, etc...)&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.hasVout&#039;&#039;&#039;: a boolean that returns true when the video is being displayed, it returns false when video is not displayed&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.position&#039;&#039;&#039;: normalized position in multimedia stream item given as a float value between [0.0 - 1.0]&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.time&#039;&#039;&#039;: the absolute position in time given in milliseconds, this property can be used to seek through the stream&lt;br /&gt;
 &amp;amp;lt;!-- absolute seek in stream !--&amp;amp;gt;&lt;br /&gt;
 vlc.input.time = &amp;amp;lt;absolute seek&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;!-- relative seek in stream !--&amp;amp;gt;&lt;br /&gt;
 vlc.input.time = vlc.input.time + &amp;amp;lt;relative seek&amp;amp;gt;&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.state&#039;&#039;&#039;: current state of the input chain given as enumeration (IDLE/CLOSE=0, OPENING=1, BUFFERING=2, PLAYING=3, PAUSED=4, STOPPING=5, ERROR=6)&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.rate&#039;&#039;&#039;: input speed given as float (1.0 for normal speed, 0.5 for half speed, 2.0 for twice as fast, etc.)&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Playlist object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.itemCount&#039;&#039;&#039;: number that returns the amount of items currently in the playlist (&#039;&#039;&#039;deprecated&#039;&#039;&#039;, do not use, see [[Playlist items]])&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.isPlaying&#039;&#039;&#039;: a boolean that returns true if the current playlist item is playing and false when it is not playing&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.items&#039;&#039;&#039;: return the playlist items collection, see [[Playlist items object]]&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.add(mrl)&#039;&#039;&#039;: add a playlist item as [[MRL]]. The MRL must be given as a string. Returns a number as an item identifier in playlist (this is not a position  in playlist).&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.add(mrl,name,options)&#039;&#039;&#039;: add a playlist item as MRL, with metaname &#039;name&#039; and options &#039;options&#039;. options are text arguments which can be provided either as a single string containing space separated values, akin to VLC command line, or as an array of string values. Returns a number as an item identifier in playlist (this is not a position in playlist).&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.play()&#039;&#039;&#039;: start playing the current playlist item&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.playItem(number)&#039;&#039;&#039;: start playing the item whose identifier is number&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.togglePause()&#039;&#039;&#039;: toggle the pause state for the current playlist item&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.stop()&#039;&#039;&#039;: stop playing the current playlist item&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.next()&#039;&#039;&#039;: iterate to the next playlist item&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.prev()&#039;&#039;&#039;: iterate to the previous playlist item&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.clear()&#039;&#039;&#039;: empty the current playlist, all items will be deleted from the playlist (&#039;&#039;&#039;deprecated&#039;&#039;&#039;, do not use, see [[Playlist items]])&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.removeItem(number)&#039;&#039;&#039;: remove the item from playlist whose identifier is number (note: this number isn&#039;t the position in the playlist, but the number given by vlc.playlist.add() )&lt;br /&gt;
&lt;br /&gt;
====Playlist items object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.items.count&#039;&#039;&#039;: number of items currently in the playlist&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.items.clear()&#039;&#039;&#039;: empty the current playlist, all items will be deleted from the playlist. Note that when this method returns playlist may not have been entirely been cleared as this operation is performed asynchronously; use the &#039;&#039;count&#039;&#039; property to verify/wait until the playlist is empty.&lt;br /&gt;
&lt;br /&gt;
====Video object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.width&#039;&#039;&#039;: returns the horizontal size of the video&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.height&#039;&#039;&#039;: returns the vertical size of the video&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.fullscreen&#039;&#039;&#039;: 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.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.aspectRatio&#039;&#039;&#039;: get and set the aspect ratio to use in the video screen. The property takes a string as input value. Typical values are: &amp;quot;1:1&amp;quot;, &amp;quot;4:3&amp;quot;, &amp;quot;16:9&amp;quot;, &amp;quot;16:10&amp;quot;, &amp;quot;221:100&amp;quot; and &amp;quot;5:4&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.subtitle&#039;&#039;&#039;: (supported in vlc version &amp;gt; 0.8.6a) get and set the subtitle track to show on the video screen. The property takes an integer as input value [1..65535]. If subtitle track is set to 0, the subtitles will be disabled. If set to a value outside the current subtitle tracks range, then it will return -1 and display an error message.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.teletext&#039;&#039;&#039;: (supported in vlc version &amp;gt;= 0.9.0) get and set teletext page to show on the video stream. This will only work if a teletext elementary stream is available in the video stream. The property takes an integer as input value [0..65535] for indicating the teletext page to view, setting the value to -1 means hide teletext. On error it will return -1 and display an error message.&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.toggleFullscreen()&#039;&#039;&#039;: toggle the fullscreen mode based on the previous setting&lt;br /&gt;
&lt;br /&gt;
====Log object====&lt;br /&gt;
&lt;br /&gt;
this object allows accessing VLC main message logging queue. Typically this queue capacity is very small (no nore than 256 entries) and can easily overflow, therefore messages should be read and cleared as often as possible.&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.log.messages&#039;&#039;&#039;: returns the message collection, see [[Messages object]]&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.log.verbosity&#039;&#039;&#039;: write number [-1,0,1,2,3] for changing the verbosity level of the log messages; messages whose verbosity is higher than set will be not be logged in the queue. The numbers have the following meaning: -1 disable, 0 info, 1 error, 2 warning, 3 debug. &lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Messages object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;messages.count&#039;&#039;&#039;: returns number of messages in the log&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;messages.clear()&#039;&#039;&#039;: clear the current log buffer. It should be called as frequently as possible to not overflow the message queue. Call this method after the log messages of interest are read.&lt;br /&gt;
*&#039;&#039;&#039;messages.iterator()&#039;&#039;&#039;: creates and returns an iterator object, used to iterate over the messages in the log. &#039;&#039;&#039;Don&#039;t clear the log buffer while holding an iterator object.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Messages Iterator object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;iterator.hasNext&#039;&#039;&#039;: returns a boolean that indicates whether &#039;&#039;vlc.log.messages.next()&#039;&#039; will return the next message.&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;iterator.next()&#039;&#039;&#039;: returns the next message object in the log, see [[Message object]]&lt;br /&gt;
&lt;br /&gt;
====Message object====&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;message.severity&#039;&#039;&#039;: number that indicates the severity of the log message (0 = info, 1 = error, 2 = warning, 3 = debug)&lt;br /&gt;
*&#039;&#039;&#039;message.name&#039;&#039;&#039;: name of VLC module that printed the log message (e.g: main, http, directx, etc...)&lt;br /&gt;
*&#039;&#039;&#039;message.type&#039;&#039;&#039;: type of VLC module that printed the log message (eg: input, access, vout, sout, etc...)&lt;br /&gt;
*&#039;&#039;&#039;message.message&#039;&#039;&#039;: the message text&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Documentation}}&lt;/div&gt;</summary>
		<author><name>Jpsaman</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=Streaming&amp;diff=10303</id>
		<title>Streaming</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=Streaming&amp;diff=10303"/>
		<updated>2007-12-06T14:13:30Z</updated>

		<summary type="html">&lt;p&gt;Jpsaman: censored spam&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Jpsaman</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=VideoLAN_in_the_news&amp;diff=10276</id>
		<title>VideoLAN in the news</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=VideoLAN_in_the_news&amp;diff=10276"/>
		<updated>2007-12-03T10:31:10Z</updated>

		<summary type="html">&lt;p&gt;Jpsaman: VLC in the news 2007&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| class=&amp;quot;infobox&amp;quot;&lt;br /&gt;
| [http://news.google.co.uk/news?as_q=&amp;amp;svnum=10&amp;amp;as_scoring=r&amp;amp;hl=en&amp;amp;tab=wn&amp;amp;ie=UTF-8&amp;amp;btnG=Google+Search&amp;amp;as_epq=&amp;amp;as_oq=VLC+VideoLAN&amp;amp;as_eq=&amp;amp;as_nsrc=&amp;amp;as_nloc=&amp;amp;as_occt=any&amp;amp;as_drrb=q&amp;amp;as_qdr=&amp;amp;as_mind=9&amp;amp;as_minm=9&amp;amp;as_maxd=9&amp;amp;as_maxm=10 Search Google News] for the latest on VLC ([http://news.google.co.uk/news?svnum=10&amp;amp;as_scoring=r&amp;amp;hl=en&amp;amp;tab=wn&amp;amp;ie=UTF-8&amp;amp;as_drrb=q&amp;amp;as_qdr=&amp;amp;as_mind=9&amp;amp;as_minm=9&amp;amp;as_maxd=9&amp;amp;as_maxm=10&amp;amp;q=VLC+OR+VideoLAN&amp;amp;output=rss RSS feed])&lt;br /&gt;
|}&lt;br /&gt;
List of articles related to VideoLAN / VLC media player. Please add those which are missing.&lt;br /&gt;
&lt;br /&gt;
== 2007 ==&lt;br /&gt;
&lt;br /&gt;
[http://articles.techrepublic.com.com/2415-7343_11-175865.html SolutionBase: Overcome multimedia hurdles in Linux]&lt;br /&gt;
&lt;br /&gt;
== 2006 ==&lt;br /&gt;
&lt;br /&gt;
[http://software.newsforge.com/article.pl?sid=06/04/19/1711245&amp;amp;from=rss &amp;quot;NewsForge, Transcoding and streaming DVD films with VLC media player&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
[http://www.lesechos.fr/journal20061004/lec2_innovation/4475889.htm Les Echos (France), &amp;quot;Le lecteur multimédia français VLC téléchargé 18 millions de fois&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
[http://www.m2x.nl/mambo/index.php?option=content&amp;amp;task=view&amp;amp;id=124&amp;amp;Itemid=27 M2X Article and NLUUG talk (Netherlands) &amp;quot;Streaming networks with VLC&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
== 2005 ==&lt;br /&gt;
[http://www.01net.com/article/284013.html 01net.com (France)]&lt;br /&gt;
&lt;br /&gt;
[http://blogs.zdnet.fr/index.php/2005/06/28/vlc-un-lecteur-multimedia-tres-courtise/ ZDNet (France), &amp;quot;VLC: un lecteur multimedia très courtisé&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
[http://solutions.journaldunet.com/0506/050613_videolan.shtml solutions.journaldunet.com (France)]&lt;br /&gt;
&lt;br /&gt;
[http://www.theregister.co.uk/2005/09/02/dvd_jon_mediaplayer/ The Register (UK), &amp;quot;DVD Jon hacks Media Player file encryption&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
[http://www.source21.nl/2005/12/27/linuxworld-videolan-en-vlc Source21.nl (Netherlands), &amp;quot;LinuxWorld: VideoLAN en VLC (Interview with Jean-Paul Saman)&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
[http://www.macplus.net/magplus/chronique-9311-interview-de-christophe-massiot MacPlus (France), &amp;quot;Interview de Christophe Massiot&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
[http://home.planet.nl/~jpsaman/linux/downloads/vlc_open_source_multimedia.sxi LinuxWorld (Netherlands), &amp;quot;Open Source multimedia by Jean-Paul Saman&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
== 2004 ==&lt;br /&gt;
&lt;br /&gt;
[http://builder.com.com/5100-6375-5136135.html Builder.com (USA?), &amp;quot;Open Source Awards 2004: VideoLAN&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
[http://www.streamingmedia.com/article.asp?id=9000&amp;amp;page=1&amp;amp;c= streamingmedia.com (USA?), &amp;quot;VideoLAN&#039;s Piece de Resistance&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
[http://home.planet.nl/~jpsaman/linux/downloads/videolan-fosdem-2004.pdf FOSDEM (Belgium) &amp;quot;VideoLAN VLC presentation at FOSDEM by Jean-Paul Saman&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
== 2002 ==&lt;br /&gt;
&lt;br /&gt;
[http://download.videolan.org/images/macworld0-doublepage.jpg Mac World, &amp;quot;Les petits princes du MPEG-2&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
[http://www.mac4ever.com/articles/humeur/336/interview_de_christophe_massiot_de_vlc/ Mac4ever (France), &amp;quot;Interview de Christophe Massiot de VLC&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
[[Category:About VideoLAN]]&lt;/div&gt;</summary>
		<author><name>Jpsaman</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=Documentation:User_Guide&amp;diff=10269</id>
		<title>Documentation:User Guide</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=Documentation:User_Guide&amp;diff=10269"/>
		<updated>2007-12-01T11:12:54Z</updated>

		<summary type="html">&lt;p&gt;Jpsaman: extra whitespace&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{RightMenu|documentation play howto toc}}&lt;br /&gt;
&lt;br /&gt;
Authors:&lt;br /&gt;
* Alexis de Lattre&lt;br /&gt;
* Johan Bilien&lt;br /&gt;
* Anil Daoud&lt;br /&gt;
* Clément Stenac&lt;br /&gt;
* Jean-Paul Saman&lt;br /&gt;
&lt;br /&gt;
Copyright (c) 2002-2006 the VideoLAN project&lt;br /&gt;
&lt;br /&gt;
{{GPL}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;This document is the complete user guide for the VLC media player.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*[[Documentation:Play_HowTo/Introduction to VLC|Introduction]]&lt;br /&gt;
**Overview and history of the VideoLAN project.&lt;br /&gt;
*[[Documentation:Play_HowTo/Installing VLC|Installation]]&lt;br /&gt;
**Installation instructions for a variety of computers.&lt;br /&gt;
*[[Documentation:Play_HowTo/Basic Use|Basic Use]]&lt;br /&gt;
**How to play audio/video materials with the VLC media player.&lt;br /&gt;
*[[Documentation:Play_HowTo/Advanced Use of VLC|Advanced Use]]&lt;br /&gt;
**Advanced instruction on streams, filters, plug-ins and more.&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
&lt;br /&gt;
*[[Documentation:Play_HowTo/Building Pages for the HTTP Interface|Building Pages for the HTTP Interface]]&lt;br /&gt;
*[[Documentation:Play_HowTo/Format String|Format String]]&lt;br /&gt;
*[[Documentation:Play_HowTo/Building Lua Playlist Scripts|Building Lua Playlist Scripts]]&lt;br /&gt;
&lt;br /&gt;
{{Documentation}}&lt;br /&gt;
&lt;br /&gt;
Copyright &amp;amp;copy; 2002-2007 the VideoLAN project.&lt;/div&gt;</summary>
		<author><name>Jpsaman</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=Documentation:User_Guide&amp;diff=10268</id>
		<title>Documentation:User Guide</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=Documentation:User_Guide&amp;diff=10268"/>
		<updated>2007-12-01T11:12:28Z</updated>

		<summary type="html">&lt;p&gt;Jpsaman: Add authors&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{RightMenu|documentation play howto toc}}&lt;br /&gt;
&lt;br /&gt;
Authors:&lt;br /&gt;
* Alexis de Lattre&lt;br /&gt;
* Johan Bilien&lt;br /&gt;
* Anil Daoud&lt;br /&gt;
* Clément Stenac&lt;br /&gt;
* Jean-Paul Saman&lt;br /&gt;
&lt;br /&gt;
Copyright (c) 2002-2006 the VideoLAN project&lt;br /&gt;
&lt;br /&gt;
{{GPL}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;This document is the complete user guide for the VLC media player.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*[[Documentation:Play_HowTo/Introduction to VLC|Introduction]]&lt;br /&gt;
**Overview and history of the VideoLAN project.&lt;br /&gt;
*[[Documentation:Play_HowTo/Installing VLC|Installation]]&lt;br /&gt;
**Installation instructions for a variety of computers.&lt;br /&gt;
*[[Documentation:Play_HowTo/Basic Use|Basic Use]]&lt;br /&gt;
**How to play audio/video materials with the VLC media player.&lt;br /&gt;
*[[Documentation:Play_HowTo/Advanced Use of VLC|Advanced Use]]&lt;br /&gt;
**Advanced instruction on streams, filters, plug-ins and more.&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
&lt;br /&gt;
*[[Documentation:Play_HowTo/Building Pages for the HTTP Interface|Building Pages for the HTTP Interface]]&lt;br /&gt;
*[[Documentation:Play_HowTo/Format String|Format String]]&lt;br /&gt;
*[[Documentation:Play_HowTo/Building Lua Playlist Scripts|Building Lua Playlist Scripts]]&lt;br /&gt;
&lt;br /&gt;
{{Documentation}}&lt;br /&gt;
&lt;br /&gt;
Copyright &amp;amp;copy; 2002-2007 the VideoLAN project.&lt;/div&gt;</summary>
		<author><name>Jpsaman</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=Documentation:User_Guide&amp;diff=10267</id>
		<title>Documentation:User Guide</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=Documentation:User_Guide&amp;diff=10267"/>
		<updated>2007-12-01T11:12:04Z</updated>

		<summary type="html">&lt;p&gt;Jpsaman: /* See also */  oops wrong place&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{RightMenu|documentation play howto toc}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;This document is the complete user guide for the VLC media player.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*[[Documentation:Play_HowTo/Introduction to VLC|Introduction]]&lt;br /&gt;
**Overview and history of the VideoLAN project.&lt;br /&gt;
*[[Documentation:Play_HowTo/Installing VLC|Installation]]&lt;br /&gt;
**Installation instructions for a variety of computers.&lt;br /&gt;
*[[Documentation:Play_HowTo/Basic Use|Basic Use]]&lt;br /&gt;
**How to play audio/video materials with the VLC media player.&lt;br /&gt;
*[[Documentation:Play_HowTo/Advanced Use of VLC|Advanced Use]]&lt;br /&gt;
**Advanced instruction on streams, filters, plug-ins and more.&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
&lt;br /&gt;
*[[Documentation:Play_HowTo/Building Pages for the HTTP Interface|Building Pages for the HTTP Interface]]&lt;br /&gt;
*[[Documentation:Play_HowTo/Format String|Format String]]&lt;br /&gt;
*[[Documentation:Play_HowTo/Building Lua Playlist Scripts|Building Lua Playlist Scripts]]&lt;br /&gt;
&lt;br /&gt;
{{Documentation}}&lt;br /&gt;
&lt;br /&gt;
Copyright &amp;amp;copy; 2002-2007 the VideoLAN project.&lt;/div&gt;</summary>
		<author><name>Jpsaman</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=Documentation:User_Guide&amp;diff=10266</id>
		<title>Documentation:User Guide</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=Documentation:User_Guide&amp;diff=10266"/>
		<updated>2007-12-01T11:11:13Z</updated>

		<summary type="html">&lt;p&gt;Jpsaman: /* See also */ Add original authors.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{RightMenu|documentation play howto toc}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;This document is the complete user guide for the VLC media player.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*[[Documentation:Play_HowTo/Introduction to VLC|Introduction]]&lt;br /&gt;
**Overview and history of the VideoLAN project.&lt;br /&gt;
*[[Documentation:Play_HowTo/Installing VLC|Installation]]&lt;br /&gt;
**Installation instructions for a variety of computers.&lt;br /&gt;
*[[Documentation:Play_HowTo/Basic Use|Basic Use]]&lt;br /&gt;
**How to play audio/video materials with the VLC media player.&lt;br /&gt;
*[[Documentation:Play_HowTo/Advanced Use of VLC|Advanced Use]]&lt;br /&gt;
**Advanced instruction on streams, filters, plug-ins and more.&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
&lt;br /&gt;
Authors:&lt;br /&gt;
* Alexis de Lattre&lt;br /&gt;
* Johan Bilien&lt;br /&gt;
* Anil Daoud&lt;br /&gt;
* Clément Stenac&lt;br /&gt;
* Jean-Paul Saman&lt;br /&gt;
&lt;br /&gt;
Copyright (c) 2002-2006 the VideoLAN project&lt;br /&gt;
&lt;br /&gt;
{{GPL}}&lt;br /&gt;
&lt;br /&gt;
*[[Documentation:Play_HowTo/Building Pages for the HTTP Interface|Building Pages for the HTTP Interface]]&lt;br /&gt;
*[[Documentation:Play_HowTo/Format String|Format String]]&lt;br /&gt;
*[[Documentation:Play_HowTo/Building Lua Playlist Scripts|Building Lua Playlist Scripts]]&lt;br /&gt;
&lt;br /&gt;
{{Documentation}}&lt;br /&gt;
&lt;br /&gt;
Copyright &amp;amp;copy; 2002-2007 the VideoLAN project.&lt;/div&gt;</summary>
		<author><name>Jpsaman</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=Documentation:Advanced_Use_of_VLC&amp;diff=9605</id>
		<title>Documentation:Advanced Use of VLC</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=Documentation:Advanced_Use_of_VLC&amp;diff=9605"/>
		<updated>2007-07-27T21:34:49Z</updated>

		<summary type="html">&lt;p&gt;Jpsaman: /* Build HTML pages that use the plugin (VLC version 0.8.6 and above) */  Clarify the new JavaScript API&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{RightMenu|documentation play howto toc}}&lt;br /&gt;
&lt;br /&gt;
==Use the command line==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;TODO: completely outdated&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
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&#039;t need or want a GUI. Here is the complete description of VLC&#039;s command line and how to use it.&lt;br /&gt;
&lt;br /&gt;
You need to be quite comfortable with command line usage to use this.&lt;br /&gt;
&lt;br /&gt;
 Note: Windows users have to use the &#039;&#039;--option-name=&amp;quot;value&amp;quot;&#039;&#039; syntax instead of the &#039;&#039;--option-name value&#039;&#039; syntax.&lt;br /&gt;
&lt;br /&gt;
===Getting help===&lt;br /&gt;
&lt;br /&gt;
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, ...&lt;br /&gt;
&lt;br /&gt;
This chapter will only describe the &amp;quot;general&amp;quot; options, i.e. the core options. Each module adds new options. For example, the HTTP input module will add options for caching, proxy, authentication, ...&lt;br /&gt;
&lt;br /&gt;
By using &#039;&#039;&#039;vlc --help&#039;&#039;&#039;, you will get the basic core options. &#039;&#039;&#039;vlc --longhelp&#039;&#039;&#039; will give all the basic options (core + modules). Adding &#039;&#039;&#039;--advanced&#039;&#039;&#039; will give the &amp;quot;advanced options&amp;quot; (for advanced users). So &#039;&#039;&#039;vlc --longhelp --advanced&#039;&#039;&#039; will give you all options. You can also append &#039;&#039;&#039;--help-verbose&#039;&#039;&#039; if you want more detailed help.&lt;br /&gt;
&lt;br /&gt;
Also, you might want to get debug informations. To do this, use &#039;&#039;&#039;-v&#039;&#039;&#039; or &#039;&#039;&#039;-vv&#039;&#039;&#039; (this will show lower severity messages). If your console supports it, you can add &#039;&#039;&#039;--color to get messages in color.&lt;br /&gt;
&lt;br /&gt;
===Opening streams===&lt;br /&gt;
&lt;br /&gt;
The following commands start VLC and start reading the given element(s)&lt;br /&gt;
&lt;br /&gt;
====Opening a file====&lt;br /&gt;
&lt;br /&gt;
Start VLC with:&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc my_file&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
VLC should be able to recognize the file type. If it does not, you can force demultiplexer and decoder (see below).&lt;br /&gt;
&lt;br /&gt;
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].&lt;br /&gt;
&lt;br /&gt;
====Opening a DVD or VCD, or an audio CD====&lt;br /&gt;
&lt;br /&gt;
Start VLC with:&lt;br /&gt;
&lt;br /&gt;
For a DVD with menus:&lt;br /&gt;
 % &#039;&#039;&#039;vlc dvd://[device][@raw_device][@[title][:[chapter][:angle]]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
In most cases, &#039;&#039;&#039;vlc dvd://&#039;&#039;&#039; or &#039;&#039;&#039;vlc dvd://[device]&#039;&#039;&#039; will do. [device] is for example &#039;&#039;&#039;/dev/dvd&#039;&#039;&#039; on GNU/Linux or &#039;&#039;&#039;D:&#039;&#039;&#039; on Windows (complete path to your DVD drive).&lt;br /&gt;
&lt;br /&gt;
or&lt;br /&gt;
&lt;br /&gt;
(DVD without menus):&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc dvdsimple://[device][@raw_device][@[title][:[chapter][:angle]]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
or&lt;br /&gt;
&lt;br /&gt;
(VCD):&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc vcd://[device][@{E|P|E|T|S}[number]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
or&lt;br /&gt;
&lt;br /&gt;
(Audio CD):&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc cdda://[device][@[track]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Receiving a network stream====&lt;br /&gt;
&lt;br /&gt;
To receive an unicast UDP stream (sent by VLS or VLC&#039;s stream output), start VLC with:&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc  udp:[@:server_port]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If you use the default port (1234), &#039;&#039;&#039;vlc udp:&#039;&#039;&#039; will do. For more information, look at the Streaming Howto.&lt;br /&gt;
&lt;br /&gt;
To receive an multicast UDP stream (sent by VLS or VLC&#039;s stream output), start VLC with:&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc udp:@multicast_address[:server_port]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
To receive a SSM (source specific multicast) stream, you can use:&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc udp:server_address@multicast_address[:server_port]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This only works on OSs that support SSM (Windows XP and recent Linux kernels).&lt;br /&gt;
&lt;br /&gt;
To receive a HTTP stream, start VLC with:&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc http://www.example.org/your_file.mpg&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
To receive a RTSP stream, start VLC with:&amp;lt;/para&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc rtsp://www.example.org/your_stream&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Modules selection===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--intf  &amp;lt;module&amp;gt;&#039;&#039;&#039; allows you to select the interface module.&lt;br /&gt;
*&#039;&#039;&#039;--extraintf  &amp;lt;module&amp;gt;&#039;&#039;&#039; allows you to select extra interface modules that will be launched in addition to the main one. This is mainly useful for special &#039;&#039;control&#039;&#039; interfaces, like HTTP, RC (Remote Control), ... (see below)&lt;br /&gt;
*&#039;&#039;&#039;--aout  &amp;lt;module&amp;gt;&#039;&#039;&#039; allows you to select the audio output module.&lt;br /&gt;
*&#039;&#039;&#039;--vout  &amp;lt;module&amp;gt;&#039;&#039;&#039; allows you to select the video output module.&lt;br /&gt;
*&#039;&#039;&#039;--memcpy  &amp;lt;module&amp;gt;&#039;&#039;&#039; allows you to choose a memory copy module. You should probably never touch that.&lt;br /&gt;
&lt;br /&gt;
You can get a listing of the available modules by using &#039;&#039;&#039;vlc -l&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Stream Output===&lt;br /&gt;
&lt;br /&gt;
The Stream output system allows vlc to become a streaming server.&lt;br /&gt;
&lt;br /&gt;
For more details on the stream output system, please have a look at the [[Documentation:Streaming HowTo|Streaming HowTo]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Other Options===&lt;br /&gt;
&lt;br /&gt;
====Audio options====&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--noaudio&#039;&#039;&#039; disables audio output.&lt;br /&gt;
*&#039;&#039;&#039;--mono&#039;&#039;&#039; forces VLC to treat the stream in mono audio.&lt;br /&gt;
*&#039;&#039;&#039;--volume &amp;lt;integer&amp;gt;&#039;&#039;&#039; sets the level of audio output (between 0 and 1024).&lt;br /&gt;
*&#039;&#039;&#039;--aout-rate &amp;lt;integer&amp;gt;&#039;&#039;&#039; sets the audio output frequency (Hz). By default, VLC will try to autodetect this.&lt;br /&gt;
*&#039;&#039;&#039;--desync &amp;lt;integer&amp;gt;&#039;&#039;&#039; compensates desynchronization of audio (ms). (If audio and video streams are not synchronized, use this setting to delay the audio stream)&lt;br /&gt;
*&#039;&#039;&#039;--audio-filter &amp;lt;string&amp;gt;&#039;&#039;&#039; 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)&lt;br /&gt;
&lt;br /&gt;
====Video options====&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--novideo&#039;&#039;&#039; disables video output.&lt;br /&gt;
*&#039;&#039;&#039;--greyscale&#039;&#039;&#039; turns video output into grayscale mode.&lt;br /&gt;
*&#039;&#039;&#039;--fullscreen&#039;&#039;&#039; ( or &#039;&#039;&#039;-f&#039;&#039;&#039;) sets fullscreen video.&lt;br /&gt;
*&#039;&#039;&#039;--nooverlay&#039;&#039;&#039; disables hardware acceleration for the video output.&lt;br /&gt;
*&#039;&#039;&#039;--width, --height &amp;lt;integer&amp;gt;&#039;&#039;&#039; sets the video window dimensions. By default, the video window size will be adjusted to match the video dimensions.&lt;br /&gt;
*&#039;&#039;&#039;--zoom &amp;lt;float&amp;gt;&#039;&#039;&#039; adds a zoom factor.&lt;br /&gt;
*&#039;&#039;&#039;--aspect-ratio &amp;lt;mode&amp;gt;&#039;&#039;&#039; forces source aspect ratio. Modes are 4x3, 16x9, ...&lt;br /&gt;
*&#039;&#039;&#039;--spumargin  &amp;lt;integer&amp;gt;&#039;&#039;&#039; forces SPU subtitles postion.&lt;br /&gt;
*&#039;&#039;&#039;--filter &amp;lt;string&amp;gt;&#039;&#039;&#039; adds video filters to the processing chain. You can add several filters, separated by commas&lt;br /&gt;
*&#039;&#039;&#039;--sub-filter &amp;lt;string&amp;gt;&#039;&#039;&#039; adds video subpictures filter to the processing chain.&lt;br /&gt;
&lt;br /&gt;
====Playlist options====&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--random&#039;&#039;&#039; plays files randomly forever.&lt;br /&gt;
*&#039;&#039;&#039;--loop&#039;&#039;&#039; loops playlist on end.&lt;br /&gt;
*&#039;&#039;&#039;--repeat&#039;&#039;&#039; repeats current item until another item is forced&lt;br /&gt;
*&#039;&#039;&#039;--play-and-stop&#039;&#039;&#039; stops the playlist after each played item.&lt;br /&gt;
&lt;br /&gt;
====Network options====&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--server-port &amp;lt;integer&amp;gt;&#039;&#039;&#039; sets server port.&lt;br /&gt;
*&#039;&#039;&#039;--iface  &amp;lt;string&amp;gt;&#039;&#039;&#039; specifies the network interface to use.&lt;br /&gt;
*&#039;&#039;&#039;--iface-addr  &amp;lt;string&amp;gt;&#039;&#039;&#039; specifies your network interface IP address.&lt;br /&gt;
*&#039;&#039;&#039;--mtu  &amp;lt;integer&amp;gt;&#039;&#039;&#039; specifies the MTU of the network interface.&lt;br /&gt;
*&#039;&#039;&#039;--ipv6&#039;&#039;&#039; forces IPv6.&lt;br /&gt;
*&#039;&#039;&#039;--ipv4&#039;&#039;&#039; forces IPv4.&lt;br /&gt;
&lt;br /&gt;
====CPU options====&lt;br /&gt;
&lt;br /&gt;
You should probably not touch these options unless you know what you are doing.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--nommx&#039;&#039;&#039; disables the use of MMX CPU extensions.&lt;br /&gt;
*&#039;&#039;&#039;--no3dn&#039;&#039;&#039; disables the use of 3D Now! CPU extensions.&lt;br /&gt;
*&#039;&#039;&#039;--nommxext&#039;&#039;&#039; disables the use of MMX Ext CPU extensions.&lt;br /&gt;
*&#039;&#039;&#039;--nosse&#039;&#039;&#039; disables the use of SSE CPU extensions.&lt;br /&gt;
*&#039;&#039;&#039;--noaltivec&#039;&#039;&#039; disables the use of Altivec CPU extensions.&lt;br /&gt;
&lt;br /&gt;
====Miscellaneous options====&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--quiet&#039;&#039;&#039;  deactivates all console messages.&lt;br /&gt;
*&#039;&#039;&#039;--color&#039;&#039;&#039; displays color messages.&lt;br /&gt;
*&#039;&#039;&#039;--search-path  &amp;lt;string&amp;gt;&#039;&#039;&#039; specifies interface default search path.&lt;br /&gt;
*&#039;&#039;&#039;--plugin-path  &amp;lt;string&amp;gt;&#039;&#039;&#039; specifies plugin search path.&lt;br /&gt;
*&#039;&#039;&#039;--no-plugins-cache&#039;&#039;&#039; disables the plugin cache (plugins cache speeds up startup)&lt;br /&gt;
*&#039;&#039;&#039;--dvd  &amp;lt;string&amp;gt;&#039;&#039;&#039; specifies the default DVD device.&lt;br /&gt;
*&#039;&#039;&#039;--vcd  &amp;lt;string&amp;gt;&#039;&#039;&#039; specifies the default VCD device.&lt;br /&gt;
*&#039;&#039;&#039;--program  &amp;lt;integer&amp;gt;&#039;&#039;&#039; specifies program (SID) (for streams with several programs, like satellite ones).&lt;br /&gt;
*&#039;&#039;&#039;--audio-type  &amp;lt;integer&amp;gt;&#039;&#039;&#039; specifies the default audio type to use with dvds.&lt;br /&gt;
*&#039;&#039;&#039;--audio-channel  &amp;lt;integer&amp;gt;&#039;&#039;&#039; specifies the default audio channel to use with dvds.&lt;br /&gt;
*&#039;&#039;&#039;--spu-channel  &amp;lt;integer&amp;gt;&#039;&#039;&#039; specifies the default subtitle channel to use with dvds.&lt;br /&gt;
*&#039;&#039;&#039;--version&#039;&#039;&#039; gives you information about the current VLC version.&lt;br /&gt;
*&#039;&#039;&#039;--module  &amp;lt;module&amp;gt; &#039;&#039;&#039; displays help about specified module. (Shortcut: &#039;&#039;&#039;-p&#039;&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
===Item-specific options===&lt;br /&gt;
&lt;br /&gt;
There are many options that are related to items (like &#039;&#039;&#039;--novideo&#039;&#039;&#039;, &#039;&#039;&#039;--codec&#039;&#039;&#039;, &#039;&#039;&#039;--fullscreen&#039;&#039;&#039;).&lt;br /&gt;
&lt;br /&gt;
For all of these, you have the possibility to make them item-specific, using &amp;quot;:&amp;quot; instead of &amp;quot;--&amp;quot; and putting the option just after the concerned item.&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc file1.mpg :fullscreen file2.mpg&#039;&#039;&#039;&lt;br /&gt;
will play file1.mpg in fullscreen mode and file2.mpg in the default mode (which is generally no fullscreen), whereas&lt;br /&gt;
 % &#039;&#039;&#039;vlc --fullscreen file1.mpg file2.mpg&#039;&#039;&#039;&lt;br /&gt;
will play both files in fullscreen mode&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc --fullscreen file1.mpg :sub-file=file1.srt :no-fullscreen file2.mpg :filter=distort&#039;&#039;&#039;&lt;br /&gt;
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)&lt;br /&gt;
&lt;br /&gt;
==Advanced use of filters==&lt;br /&gt;
&lt;br /&gt;
===Filters===&lt;br /&gt;
&lt;br /&gt;
These are the old style VLC filters. They only apply to on screen display and thus cannot be streamed.&lt;br /&gt;
&lt;br /&gt;
====Deinterlacing video filter====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;deinterlace&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--deinterlace-mode {discard,blend,mean,bob,linear}&#039;&#039;&#039; choose a deinterlacing mode.&lt;br /&gt;
&lt;br /&gt;
====Invert video filter====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;invert&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Image properties filter====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;adjust&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--contrast &amp;lt;float&amp;gt;&#039;&#039;&#039; Image contrast in the 0-2 range.&lt;br /&gt;
*&#039;&#039;&#039;--brightness &amp;lt;float&amp;gt;&#039;&#039;&#039; Image brightness in the 0-2 range.&lt;br /&gt;
*&#039;&#039;&#039;--hue &amp;lt;integer&amp;gt;&#039;&#039;&#039; Image hue in the 0-360 range.&lt;br /&gt;
*&#039;&#039;&#039;--saturation &amp;lt;float&amp;gt;&#039;&#039;&#039; Image saturation in the 0-3 range.&lt;br /&gt;
*&#039;&#039;&#039;-gamma &amp;lt;float&amp;gt;&#039;&#039;&#039; Image gamma in the 0-10 range.&lt;br /&gt;
&lt;br /&gt;
====Wall video filter====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;wall&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This filter splits the output in several windows.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--wall-cols &amp;lt;integer&amp;gt;&#039;&#039;&#039; Number of columns.&lt;br /&gt;
*&#039;&#039;&#039;--wall-rows &amp;lt;integer&amp;gt;&#039;&#039;&#039; Number of rows.&lt;br /&gt;
*&#039;&#039;&#039;--wall-active &amp;lt;string&amp;gt;&#039;&#039;&#039; Select the windows you want to display. To select windows 2 and 4 you would write &#039;&#039;&#039;--wall-active 2,4&#039;&#039;&#039;. When this option isn&#039;t specified, all windows are displayed.&lt;br /&gt;
&lt;br /&gt;
====Video transformation filter====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;transform&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--transform-type {90,180,270,hflip,vflip}&#039;&#039;&#039; Select rotation angle or symmetry.&lt;br /&gt;
&lt;br /&gt;
====Distort video filter====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;distort&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Clone video filter====&lt;br /&gt;
&lt;br /&gt;
This filter clones the output window.&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;clone&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--clone-count &amp;lt;integer&amp;gt;&#039;&#039;&#039; Number of clones.&lt;br /&gt;
*&#039;&#039;&#039;--clone-vout-list &amp;lt;string&amp;gt;&#039;&#039;&#039; Comma separated string of video output modules.&lt;br /&gt;
&lt;br /&gt;
====Crop video filter====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;crop&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--crop-geometry &amp;lt;string&amp;gt;&#039;&#039;&#039; Set the geometry of the zone to crop. This is set as &amp;lt;width&amp;gt; x &amp;lt;height&amp;gt; + &amp;lt;left offset&amp;gt; + &amp;lt;top offset&amp;gt;.&lt;br /&gt;
*&#039;&#039;&#039;--autocrop&#039;&#039;&#039; Enable automatic black border cropping.&lt;br /&gt;
&lt;br /&gt;
====Motion blur filter====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;motionblur&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;blur-factor &amp;lt;integer&amp;gt;&#039;&#039;&#039; Blur factor in the 1-127 range.&lt;br /&gt;
&lt;br /&gt;
====Video pictures blending====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;blend&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Video scaling filter====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;scale&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Subpictures Filters===&lt;br /&gt;
&lt;br /&gt;
These are the new VLC filters. They can be streamed.&lt;br /&gt;
&lt;br /&gt;
====Time display sub filter====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;time&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--time-format &amp;lt;string&amp;gt;&#039;&#039;&#039; Time format string. You can use the following special characters %Y = year, %m = month, %d = day, %H = hour, %M = minute, %S = second.&lt;br /&gt;
*&#039;&#039;&#039;--time-x &amp;lt;integer&amp;gt;&#039;&#039;&#039; X offset from the left in pixels.&lt;br /&gt;
*&#039;&#039;&#039;--time-y &amp;lt;integer&amp;gt;&#039;&#039;&#039; Y offset from the top in pixels.&lt;br /&gt;
&lt;br /&gt;
====Marquee display sub filter====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;marq&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--marq-marquee &amp;lt;string&amp;gt;&#039;&#039;&#039; Marquee text to display.&lt;br /&gt;
*&#039;&#039;&#039;--marq-x &amp;lt;integer&amp;gt;&#039;&#039;&#039; X offset from the left in pixels.&lt;br /&gt;
*&#039;&#039;&#039;--marq-y &amp;lt;integer&amp;gt;&#039;&#039;&#039; Y offset from the top in pixels.&lt;br /&gt;
*&#039;&#039;&#039;--marq-timeout &amp;lt;timeout&amp;gt;&#039;&#039;&#039; Defines the time the marquee must remain displayed in milliseconds. Default value is 0 (remain forever).&lt;br /&gt;
&lt;br /&gt;
====Logo video filter====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;logo&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This filter can be used both as an old style filter or a subpictures filter.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--logo-file &amp;lt;string&amp;gt;&#039;&#039;&#039; Full path of the PNG file to use.&lt;br /&gt;
*&#039;&#039;&#039;--logo-x &amp;lt;integer&amp;gt;&#039;&#039;&#039; X offset from the left in pixels.&lt;br /&gt;
*&#039;&#039;&#039;--logo-y &amp;lt;integer&amp;gt;&#039;&#039;&#039; Y offset from the top in pixels.&lt;br /&gt;
*&#039;&#039;&#039;--logo-transparency &amp;lt;integer&amp;gt;&#039;&#039;&#039; You can set the logo transparency value here (from 0 for full transparency to 255 for full opacity).&lt;br /&gt;
&lt;br /&gt;
Note: You can move the logo by left-clicking on it.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==The HTTP interface==&lt;br /&gt;
&lt;br /&gt;
VLC ships with a little HTTP server integrated. It is used both to stream using HTTP, and for the HTTP remote control interface.&lt;br /&gt;
&lt;br /&gt;
To start VLC with the HTTP interface, use:&lt;br /&gt;
 % &#039;&#039;&#039;vlc -I http [--http-src /directory/] [--http-host host:port]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If you want to have both the &amp;quot;normal&amp;quot; interface and the HTTP interface, use &#039;&#039;&#039;vlc --extraintf http&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
The HTTP interface will start listening at host:port (&amp;lt;all interfaces&amp;gt;:8080 if omitted), and will reproduce the structure of /directory at http://host:port/ ( vlc_source_path/share/http if omitted ).&lt;br /&gt;
&lt;br /&gt;
Use a browser to go to http://your_host_machine:port. You should be taken to the main page.&lt;br /&gt;
&lt;br /&gt;
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]].&lt;br /&gt;
&lt;br /&gt;
Available pages are:&lt;br /&gt;
* &#039;&#039;&#039;list was obsolete&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Other control interfaces==&lt;br /&gt;
&lt;br /&gt;
VLC includes a number of so-called interfaces that are not really 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 &#039;&#039;&#039;-I&#039;&#039;&#039; or &#039;&#039;&#039;--extraintf&#039;&#039;&#039; on the command line.&lt;br /&gt;
&lt;br /&gt;
===Hotkeys===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Hotkeys can be hacked by:&lt;br /&gt;
 % &#039;&#039;&#039;vlc --key-&amp;lt;function&amp;gt; &amp;lt;code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Code is composed by modifiers keys (Alt, Shift, Ctrl, Meta,Command) separated by a dash (-) and terminated by a key (a...z, +, =, -, &#039;,&#039;, +, &amp;amp;lt;, &amp;amp;gt;, `, /, ;, &#039;, \, [, ], *, 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 &#039;&#039;&#039;--longhelp&#039;&#039;&#039; option for full list of functions).&lt;br /&gt;
For example, for binding fullscreen to Ctrl-f, run:&lt;br /&gt;
 % &#039;&#039;&#039;vlc --key-fullscreen &#039;Ctrl-f&#039; &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===RC and RTCI===&lt;br /&gt;
&lt;br /&gt;
These two interfaces allow you to control VLC from a command shell (possibly using a remote connexion or a Unix socket).&lt;br /&gt;
&lt;br /&gt;
Start VLC with &#039;&#039;&#039;-I rc&#039;&#039;&#039; or &#039;&#039;&#039;--extraintf rc&#039;&#039;&#039;. When you get the &#039;&#039;&#039;Remote control interface initialized, `h&#039; for help&#039;&#039;&#039; message, press h and Enter to get help about available commands.&lt;br /&gt;
&lt;br /&gt;
To be able to remote connect to your VLC using a TCP socket (telnet-like connexion), use &#039;&#039;&#039;--rc-host your_host:port&#039;&#039;&#039;. Then, by connecting (using telnet or netcat) to the host on the given port, you will get the command shell.&lt;br /&gt;
&lt;br /&gt;
To use a UNIX socket (local socket, this does not work for Windows), use &#039;&#039;&#039;--rc-unix /path/to/socket&#039;&#039;&#039;. Commands can then be passed using this UNIX socket.&lt;br /&gt;
&lt;br /&gt;
The RTCI interface gives you more advanced options, such as marquee control for the marquee subpicture filter (See filter section).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Ncurses===&lt;br /&gt;
&lt;br /&gt;
This is a text interface, using ncurses library.&lt;br /&gt;
&lt;br /&gt;
Start VLC with &#039;&#039;&#039;-I ncurses&#039;&#039;&#039; or &#039;&#039;&#039;--extraintf ncurses&#039;&#039;&#039;. You will then get something like that:&lt;br /&gt;
&lt;br /&gt;
http://www.videolan.org/doc/play-howto/en/images/play-howto/intf-ncurses-playlist.jpg The ncurses interface&lt;br /&gt;
&lt;br /&gt;
Press h to get the list of all available commands, with a short description.&lt;br /&gt;
&lt;br /&gt;
There is also a filebrowser available for the ncurses interface in order to add playlist items. Press &#039;B&#039; to use it.&lt;br /&gt;
&lt;br /&gt;
http://www.videolan.org/doc/play-howto/en/images/play-howto/intf-ncurses-filebrowser.jpg The ncurses filebrowser&lt;br /&gt;
&lt;br /&gt;
You can set the filebrowser starting point by launching vlc with the &#039;&#039;&#039;--browse-dir&#039;&#039;&#039; option:&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc -I ncurses --browse-dir /filebrowser/starting/point/&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Gestures===&lt;br /&gt;
&lt;br /&gt;
Gestures provide a simple mouse gestures control. TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==The Mozilla plugin==&lt;br /&gt;
&lt;br /&gt;
VLC can also be embedded in a web browser! The following browsers are supported [http://www.mozilla.org/ Mozilla], [http://www.mozilla.org/products/firefox/ Firefox] and [http://www.apple.com/macosx/features/safari Safari].&lt;br /&gt;
&lt;br /&gt;
===Install the plugin===&lt;br /&gt;
&lt;br /&gt;
====GNU/Linux Debian====&lt;br /&gt;
&lt;br /&gt;
Install the &#039;&#039;mozilla-plugin-vlc&#039;&#039; package:&lt;br /&gt;
&lt;br /&gt;
 # &#039;&#039;&#039;apt-get update&#039;&#039;&#039;&lt;br /&gt;
 # &#039;&#039;&#039;apt-get install mozilla-plugin-vlc&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Windows====&lt;br /&gt;
&lt;br /&gt;
Quit Firefox or Mozilla.&lt;br /&gt;
&lt;br /&gt;
Copy the two files in &#039;&#039;&#039;VLC_Installation_folder\mozilla&#039;&#039;&#039; (usually &#039;&#039;&#039;C:\Program Files\VideoLAN\VLC\mozilla&#039;&#039;&#039;) to your mozilla plugins directory (Usually &#039;&#039;&#039;C:\Program Files\Mozilla\plugins&#039;&#039;&#039; or &#039;&#039;&#039;C:\Program Files\Mozilla&lt;br /&gt;
Firefox\plugins&#039;&#039;&#039;).&lt;br /&gt;
&lt;br /&gt;
Restart Firefox or Mozilla.&lt;br /&gt;
&lt;br /&gt;
====MacOS X====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;The Mozilla/Safari plugin for MacOS X is only available from vlc version 0.8.5.1 and onwards.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Quit Safari browser.&lt;br /&gt;
&lt;br /&gt;
Download the Mozilla/safari plugin package from [http://www.videolan.org/vlc/download-macosx.html MacOS X download page].&lt;br /&gt;
&lt;br /&gt;
Run the installer from the dmg image.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Compile the sources yourself====&lt;br /&gt;
&lt;br /&gt;
Please look at the [http://developers.videolan.org developers page] for information on how to do this.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Use the mozilla plugin===&lt;br /&gt;
&lt;br /&gt;
If you open a link to a video file handled by the VLC plugin (To get the list of handled types, browse to &#039;&#039;&#039;about:plugins&#039;&#039;&#039;) or a page with an embedded video, the plugin should open and read the&lt;br /&gt;
video.&lt;br /&gt;
&lt;br /&gt;
===Build HTML pages that use the plugin (VLC version up to 0.8.5)===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;WARNING:&#039;&#039;&#039; the APIs described in this section are &#039;&#039;&#039;deprecated&#039;&#039;&#039;, do not use, &lt;br /&gt;
&lt;br /&gt;
The following API description is only valid uptill version 0.8.5 of the mozilla plugin.&lt;br /&gt;
&lt;br /&gt;
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&lt;br /&gt;
plugin.&lt;br /&gt;
&lt;br /&gt;
The vlc plugin supports the following function calls:&lt;br /&gt;
*&#039;&#039;&#039;play()&#039;&#039;&#039;: Start playing media in the plugin.&lt;br /&gt;
*&#039;&#039;&#039;pause()&#039;&#039;&#039;: Pause playback.&lt;br /&gt;
*&#039;&#039;&#039;stop()&#039;&#039;&#039;: Stop media playback.&lt;br /&gt;
*&#039;&#039;&#039;fullscreen()&#039;&#039;&#039;: Switch the video to full screen.&lt;br /&gt;
*&#039;&#039;&#039;set_volume(vol)&#039;&#039;&#039;: Set the volume. &#039;&#039;&#039;vol&#039;&#039;&#039; has to be an int in the 0-200 range.&lt;br /&gt;
*&#039;&#039;&#039;get_volume()&#039;&#039;&#039;: Get the current volume setting.&lt;br /&gt;
*&#039;&#039;&#039;mute()&#039;&#039;&#039;: Toggle volume muting.&lt;br /&gt;
*&#039;&#039;&#039;set_int_variable(var_name, value)&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;set_bool_variable(var_name, value)&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;set_str_variable(var_name, value)&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;get_int_variable(var_name)&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;get_bool_variable(var_name)&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;get_str_variable(var_name)&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;clear_playlist()&#039;&#039;&#039;: Clear the playlist.&lt;br /&gt;
*&#039;&#039;&#039;add_item(mrl)&#039;&#039;&#039;: Append an item whose location is given by the [[media resource locator]] to the playlist.&lt;br /&gt;
*&#039;&#039;&#039;next()&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;previous()&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;isplaying()&#039;&#039;&#039;: return true if the plugin is playing something.&lt;br /&gt;
*&#039;&#039;&#039;get_length()&#039;&#039;&#039;: Get the media&#039;s length in seconds.&lt;br /&gt;
*&#039;&#039;&#039;get_position()&#039;&#039;&#039;: Get the current position in the media in percent.&lt;br /&gt;
*&#039;&#039;&#039;get_time()&#039;&#039;&#039;: Get the current position in the media in seconds.&lt;br /&gt;
*&#039;&#039;&#039;seek(seconds,is_relative)&#039;&#039;&#039;: If is_relative is true, seek relatively to current time, else seek from beginning of the stream. Seek time is specified in seconds.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Here are a few examples of HTML pages that use the&lt;br /&gt;
Mozilla plugin.&lt;br /&gt;
&lt;br /&gt;
====Example 1====&lt;br /&gt;
&lt;br /&gt;
In this example, the plugin will read an HTTP stream inside the web page. If the user goes fullscreen, he will have to press &#039;&#039;f&#039;&#039; or double-click on the video to go back in normal view.&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;html&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;head&amp;amp;gt;&amp;amp;lt;title&amp;amp;gt;Demo of VLC mozilla plugin&amp;amp;lt;/title&amp;amp;gt;&amp;amp;lt;/head&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;body&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;h1&amp;amp;gt;Demo of VLC mozilla plugin - Example 1&amp;amp;lt;/h1&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;embed type=&amp;quot;application/x-vlc-plugin&amp;quot;&lt;br /&gt;
          name=&amp;quot;video1&amp;quot;&lt;br /&gt;
          autoplay=&amp;quot;no&amp;quot; loop=&amp;quot;yes&amp;quot; width=&amp;quot;400&amp;quot; height=&amp;quot;300&amp;quot;&lt;br /&gt;
          target=&amp;quot;http://server.example.org/video1.vob&amp;quot; /&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;br /&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video1.play()&#039;&amp;amp;gt;Play video1&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video1.pause()&#039;&amp;amp;gt;Pause video1&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video1.stop()&#039;&amp;amp;gt;Stop video1&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video1.fullscreen()&#039;&amp;amp;gt;Fullscreen&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;/body&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/html&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Example 2====&lt;br /&gt;
&lt;br /&gt;
In this example, the plugin will read a multicast UDP stream in a dedicated video output window.&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;html&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;head&amp;amp;gt;&amp;amp;lt;title&amp;amp;gt;Demo of VLC mozilla plugin&amp;amp;lt;/title&amp;amp;gt;&amp;amp;lt;/head&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;body&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;h1&amp;amp;gt;Demo of VLC mozilla plugin - Example 2&amp;amp;lt;/h1&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;embed type=&amp;quot;application/x-vlc-plugin&amp;quot;&lt;br /&gt;
          name=&amp;quot;video2&amp;quot;&lt;br /&gt;
          autoplay=&amp;quot;no&amp;quot; loop=&amp;quot;no&amp;quot; hidden=&amp;quot;yes&amp;quot;&lt;br /&gt;
          target=&amp;quot;udp:@239.255.12.42&amp;quot; /&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;br /&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video2.play()&#039;&amp;amp;gt;Play video2&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video2.stop()&#039;&amp;amp;gt;Stop video2&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video2.fullscreen()&#039;&amp;amp;gt;Fullscreen&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;/body&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/html&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Building HTML pages for Mozilla/Firefox/Internet Explorere/Safari (VLC version 0.8.6 and above)==&lt;br /&gt;
&lt;br /&gt;
The following description works for any of the browsers VLC supports. The JavaScript API has been unified between Mozilla/Firefox/IE (ActiveX) and Safari, thus targetting at all of the major OS out there. This is only valid for VLC version 0.8.6 and above.&lt;br /&gt;
&lt;br /&gt;
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&lt;br /&gt;
plugin.&lt;br /&gt;
&lt;br /&gt;
The vlc plugin exports serveral objects that can be accessed for setting and getting information. When used improperly the API&#039;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.&lt;br /&gt;
&lt;br /&gt;
The vlc plugin knows the following objects:&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;audio&#039;&#039;&#039;: Access audio properties.&lt;br /&gt;
*&#039;&#039;&#039;input&#039;&#039;&#039;: Access input properties.&lt;br /&gt;
*&#039;&#039;&#039;playlist&#039;&#039;&#039;: Access playlist properties.&lt;br /&gt;
*&#039;&#039;&#039;video&#039;&#039;&#039;: Access video properties.&lt;br /&gt;
*&#039;&#039;&#039;log&#039;&#039;&#039;: Access log properties.&lt;br /&gt;
*&#039;&#039;&#039;messages&#039;&#039;&#039;: Access to log message properties.&lt;br /&gt;
*&#039;&#039;&#039;iterator&#039;&#039;&#039;: Access to log iterator properties.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;html&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;title&amp;amp;gt;VLC Mozilla plugin test page&amp;amp;lt;/title&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;body&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;embed type=&amp;quot;application/x-vlc-plugin&amp;quot; pluginspage=&amp;quot;http://www.videolan.org&amp;quot; version=&amp;quot;VideoLAN.VLCPlugin.2&amp;quot;&lt;br /&gt;
     width=&amp;quot;640&amp;quot;&lt;br /&gt;
     height=&amp;quot;480&amp;quot;&lt;br /&gt;
     id=&amp;quot;vlc&amp;quot;&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/embed&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;script language=&amp;quot;Javascript&amp;quot;&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;!--&lt;br /&gt;
 var vlc = document.getElementById(&amp;quot;vlc&amp;quot;);&lt;br /&gt;
 vlc.audio.toggleMute();&lt;br /&gt;
 !--&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/script&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/body&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/html&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Root object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;VersionInfo&#039;&#039;&#039;: returns version information string&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;vlc.versionInfo()&#039;&#039;&#039;: returns version information string (same as VersionInfo)&lt;br /&gt;
&lt;br /&gt;
====Audio object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.audio.mute&#039;&#039;&#039;: boolean value to mute and ummute the audio&lt;br /&gt;
*&#039;&#039;&#039;vlc.audio.volume&#039;&#039;&#039;: a value between [0-200] which indicates a percentage of the volume.&lt;br /&gt;
*&#039;&#039;&#039;vlc.audio.track&#039;&#039;&#039;: (supported in vlc version &amp;gt; 0.8.6) a value between [1-65535] which indicates the audio track to play or that is playing. a value of 0 means the audio is/will be disabled.&lt;br /&gt;
*&#039;&#039;&#039;vlc.audio.channel&#039;&#039;&#039;: (supported in vlc version &amp;gt; 0.8.6) integer value between [1-5] that indicates which audio channel mode is used, values can be: &amp;quot;1=stereo&amp;quot;, &amp;quot;2=reverse stereo&amp;quot;, &amp;quot;3=left&amp;quot;, &amp;quot;4=right&amp;quot;, &amp;quot;5=dolby&amp;quot;. Use vlc.audio.channel to check if setting of the audio channel mode has succeeded.&lt;br /&gt;
&lt;br /&gt;
 Audio Channel:&lt;br /&gt;
 &amp;lt;SELECT readonly onChange=&#039;doAudioChannel(this.value)&#039;&amp;gt;&lt;br /&gt;
    &amp;lt;OPTION value=1&amp;gt;Stereo&amp;lt;/OPTION&amp;gt;&lt;br /&gt;
    &amp;lt;OPTION value=2&amp;gt;Reverse stereo&amp;lt;/OPTION&amp;gt;&lt;br /&gt;
    &amp;lt;OPTION value=3&amp;gt;Left&amp;lt;/OPTION&amp;gt;&lt;br /&gt;
    &amp;lt;OPTION value=4&amp;gt;Right&amp;lt;/OPTION&amp;gt;&lt;br /&gt;
    &amp;lt;OPTION value=5&amp;gt;Dolby&amp;lt;/OPTION&amp;gt;&lt;br /&gt;
 &amp;lt;/SELECT&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;SCRIPT language=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;amp;lt;!--&lt;br /&gt;
 function doAudioChannel(value)&lt;br /&gt;
 {&lt;br /&gt;
    var vlc = getVLC(&amp;quot;vlc&amp;quot;);&lt;br /&gt;
    vlc.audio.channel = parseInt(value);&lt;br /&gt;
    alert(vlc.audio.channel);&lt;br /&gt;
 };&lt;br /&gt;
 --&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;vlc.audio.toggleMute()&#039;&#039;&#039;: boolean toggle that mutes and unmutes the audio based upon the previous state&lt;br /&gt;
&lt;br /&gt;
====Input object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.length&#039;&#039;&#039;: length of the input file in number of milliseconds. 0 is returned for &#039;live&#039; streams or clips whose length cannot be determined by VLC&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.fps&#039;&#039;&#039;: frames per second returned as a float (typically 60.0, 50.0, 23.976, etc...)&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.hasVout&#039;&#039;&#039;: a boolean that returns true when the video is being displayed, it returns false when video is not displayed&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.position&#039;&#039;&#039;: normalized position in multimedia stream item given as a float value between [0.0 - 1.0]&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.time&#039;&#039;&#039;: the absolute position in time given in milliseconds, this property can be used to seek through the stream&lt;br /&gt;
 &amp;amp;lt;!-- absolute seek in stream !--&amp;amp;gt;&lt;br /&gt;
 vlc.input.time = &amp;amp;lt;absolute seek&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;!-- relative seek in stream !--&amp;amp;gt;&lt;br /&gt;
 vlc.input.time = vlc.input.time + &amp;amp;lt;relative seek&amp;amp;gt;&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.state&#039;&#039;&#039;: current state of the input chain given as enumeration (IDLE/CLOSE=0, OPENING=1, BUFFERING=2, PLAYING=3, PAUSED=4, STOPPING=5, ERROR=6)&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.rate&#039;&#039;&#039;: input speed given as float (1.0 for normal speed, 0.5 for half speed, 2.0 for twice as fast, etc.)&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Playlist object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.itemCount&#039;&#039;&#039;: number that returns the amount of items currently in the playlist (&#039;&#039;&#039;deprecated&#039;&#039;&#039;, do not use, see [[Playlist items]])&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.isPlaying&#039;&#039;&#039;: a boolean that returns true if the current playlist item is playing and false when it is not playing&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.items&#039;&#039;&#039;: return the playlist items collection, see [[Playlist items object]]&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.add(mrl)&#039;&#039;&#039;: add a playlist item as [[MRL]]. The MRL must be given as a string. Returns a number as an item identifier in playlist (this is not a position  in playlist).&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.add(mrl,name,options)&#039;&#039;&#039;: add a playlist item as MRL, with metaname &#039;name&#039; and options &#039;options&#039;. options are text arguments which can be provided either as a single string containing space separated values, akin to VLC command line, or as an array of string values. Returns a number as an item identifier in playlist (this is not a position in playlist).&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.play()&#039;&#039;&#039;: start playing the current playlist item&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.playItem(number)&#039;&#039;&#039;: start playing the item whose identifier is number&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.togglePause()&#039;&#039;&#039;: toggle the pause state for the current playlist item&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.stop()&#039;&#039;&#039;: stop playing the current playlist item&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.next()&#039;&#039;&#039;: iterate to the next playlist item&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.prev()&#039;&#039;&#039;: iterate to the previous playlist item&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.clear()&#039;&#039;&#039;: empty the current playlist, all items will be deleted from the playlist (&#039;&#039;&#039;deprecated&#039;&#039;&#039;, do not use, see [[Playlist items]])&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.removeItem(number)&#039;&#039;&#039;: remove the item from playlist whose identifier is number (note: this number isn&#039;t the position in the playlist, but the number given by vlc.playlist.add() )&lt;br /&gt;
&lt;br /&gt;
====Playlist items object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.items.count&#039;&#039;&#039;: number of items currently in the playlist&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.items.clear()&#039;&#039;&#039;: empty the current playlist, all items will be deleted from the playlist. Note that when this method returns playlist may not have been entirely been cleared as this operation is performed asynchronously; use the &#039;&#039;count&#039;&#039; property to verify/wait until the playlist is empty.&lt;br /&gt;
&lt;br /&gt;
====Video object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.width&#039;&#039;&#039;: returns the horizontal size of the video&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.height&#039;&#039;&#039;: returns the vertical size of the video&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.fullscreen&#039;&#039;&#039;: 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.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.aspectRatio&#039;&#039;&#039;: get and set the aspect ratio to use in the video screen. The property takes a string as input value. Typical values are: &amp;quot;1:1&amp;quot;, &amp;quot;4:3&amp;quot;, &amp;quot;16:9&amp;quot;, &amp;quot;16:10&amp;quot;, &amp;quot;221:100&amp;quot; and &amp;quot;5:4&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.subtitle&#039;&#039;&#039;; (supported in vlc version &amp;gt; 0.8.6a) get and set the subtitle track to show on the video screen. The property takes an integer as input value [1..65535]. If subtitle track is set to 0, the subtitles will be disabled. If set to a value outside the current subtitle tracks range, then it will return -1 and display an error message.&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.toggleFullscreen()&#039;&#039;&#039;: toggle the fullscreen mode based on the previous setting&lt;br /&gt;
&lt;br /&gt;
====Log object====&lt;br /&gt;
&lt;br /&gt;
this object allows accessing VLC main message logging queue. Typically this queue capacity is very small (no nore than 256 entries) and can easily overflow, therefore messages should be read and cleared as often as possible.&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.log.messages&#039;&#039;&#039;: returns the message collection, see [[Messages object]]&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.log.verbosity&#039;&#039;&#039;: write number [-1,0,1,2,3] for changing the verbosity level of the log messages; messages whose verbosity is higher than set will be not be logged in the queue. The numbers have the following meaning: -1 disable, 0 info, 1 error, 2 warning, 3 debug. &lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Messages object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;messages.count&#039;&#039;&#039;: returns number of messages in the log&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;messages.clear()&#039;&#039;&#039;: clear the current log buffer. It should be called as frequently as possible to not overflow the message queue. Call this method after the log messages of interest are read.&lt;br /&gt;
*&#039;&#039;&#039;messages.iterator()&#039;&#039;&#039;: creates and returns an iterator object, used to iterate over the messages in the log. &#039;&#039;&#039;Don&#039;t clear the log buffer while holding an iterator object.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Messages Iterator object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;iterator.hasNext&#039;&#039;&#039;: returns a boolean that indicates whether &#039;&#039;vlc.log.messages.next()&#039;&#039; will return the next message.&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;iterator.next()&#039;&#039;&#039;: returns the next message object in the log, see [[Message object]]&lt;br /&gt;
&lt;br /&gt;
====Message object====&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;message.severity&#039;&#039;&#039;: number that indicates the severity of the log message (0 = info, 1 = error, 2 = warning, 3 = debug)&lt;br /&gt;
*&#039;&#039;&#039;message.name&#039;&#039;&#039;: name of VLC module that printed the log message (e.g: main, http, directx, etc...)&lt;br /&gt;
*&#039;&#039;&#039;message.type&#039;&#039;&#039;: type of VLC module that printed the log message (eg: input, access, vout, sout, etc...)&lt;br /&gt;
*&#039;&#039;&#039;message.message&#039;&#039;&#039;: the message text&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Documentation}}&lt;/div&gt;</summary>
		<author><name>Jpsaman</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=Documentation:Advanced_Use_of_VLC&amp;diff=9604</id>
		<title>Documentation:Advanced Use of VLC</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=Documentation:Advanced_Use_of_VLC&amp;diff=9604"/>
		<updated>2007-07-27T21:30:47Z</updated>

		<summary type="html">&lt;p&gt;Jpsaman: /* Use the plugin */  Make more clear that this is mozilla only&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{RightMenu|documentation play howto toc}}&lt;br /&gt;
&lt;br /&gt;
==Use the command line==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;TODO: completely outdated&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
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&#039;t need or want a GUI. Here is the complete description of VLC&#039;s command line and how to use it.&lt;br /&gt;
&lt;br /&gt;
You need to be quite comfortable with command line usage to use this.&lt;br /&gt;
&lt;br /&gt;
 Note: Windows users have to use the &#039;&#039;--option-name=&amp;quot;value&amp;quot;&#039;&#039; syntax instead of the &#039;&#039;--option-name value&#039;&#039; syntax.&lt;br /&gt;
&lt;br /&gt;
===Getting help===&lt;br /&gt;
&lt;br /&gt;
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, ...&lt;br /&gt;
&lt;br /&gt;
This chapter will only describe the &amp;quot;general&amp;quot; options, i.e. the core options. Each module adds new options. For example, the HTTP input module will add options for caching, proxy, authentication, ...&lt;br /&gt;
&lt;br /&gt;
By using &#039;&#039;&#039;vlc --help&#039;&#039;&#039;, you will get the basic core options. &#039;&#039;&#039;vlc --longhelp&#039;&#039;&#039; will give all the basic options (core + modules). Adding &#039;&#039;&#039;--advanced&#039;&#039;&#039; will give the &amp;quot;advanced options&amp;quot; (for advanced users). So &#039;&#039;&#039;vlc --longhelp --advanced&#039;&#039;&#039; will give you all options. You can also append &#039;&#039;&#039;--help-verbose&#039;&#039;&#039; if you want more detailed help.&lt;br /&gt;
&lt;br /&gt;
Also, you might want to get debug informations. To do this, use &#039;&#039;&#039;-v&#039;&#039;&#039; or &#039;&#039;&#039;-vv&#039;&#039;&#039; (this will show lower severity messages). If your console supports it, you can add &#039;&#039;&#039;--color to get messages in color.&lt;br /&gt;
&lt;br /&gt;
===Opening streams===&lt;br /&gt;
&lt;br /&gt;
The following commands start VLC and start reading the given element(s)&lt;br /&gt;
&lt;br /&gt;
====Opening a file====&lt;br /&gt;
&lt;br /&gt;
Start VLC with:&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc my_file&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
VLC should be able to recognize the file type. If it does not, you can force demultiplexer and decoder (see below).&lt;br /&gt;
&lt;br /&gt;
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].&lt;br /&gt;
&lt;br /&gt;
====Opening a DVD or VCD, or an audio CD====&lt;br /&gt;
&lt;br /&gt;
Start VLC with:&lt;br /&gt;
&lt;br /&gt;
For a DVD with menus:&lt;br /&gt;
 % &#039;&#039;&#039;vlc dvd://[device][@raw_device][@[title][:[chapter][:angle]]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
In most cases, &#039;&#039;&#039;vlc dvd://&#039;&#039;&#039; or &#039;&#039;&#039;vlc dvd://[device]&#039;&#039;&#039; will do. [device] is for example &#039;&#039;&#039;/dev/dvd&#039;&#039;&#039; on GNU/Linux or &#039;&#039;&#039;D:&#039;&#039;&#039; on Windows (complete path to your DVD drive).&lt;br /&gt;
&lt;br /&gt;
or&lt;br /&gt;
&lt;br /&gt;
(DVD without menus):&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc dvdsimple://[device][@raw_device][@[title][:[chapter][:angle]]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
or&lt;br /&gt;
&lt;br /&gt;
(VCD):&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc vcd://[device][@{E|P|E|T|S}[number]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
or&lt;br /&gt;
&lt;br /&gt;
(Audio CD):&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc cdda://[device][@[track]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Receiving a network stream====&lt;br /&gt;
&lt;br /&gt;
To receive an unicast UDP stream (sent by VLS or VLC&#039;s stream output), start VLC with:&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc  udp:[@:server_port]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If you use the default port (1234), &#039;&#039;&#039;vlc udp:&#039;&#039;&#039; will do. For more information, look at the Streaming Howto.&lt;br /&gt;
&lt;br /&gt;
To receive an multicast UDP stream (sent by VLS or VLC&#039;s stream output), start VLC with:&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc udp:@multicast_address[:server_port]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
To receive a SSM (source specific multicast) stream, you can use:&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc udp:server_address@multicast_address[:server_port]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This only works on OSs that support SSM (Windows XP and recent Linux kernels).&lt;br /&gt;
&lt;br /&gt;
To receive a HTTP stream, start VLC with:&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc http://www.example.org/your_file.mpg&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
To receive a RTSP stream, start VLC with:&amp;lt;/para&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc rtsp://www.example.org/your_stream&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Modules selection===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--intf  &amp;lt;module&amp;gt;&#039;&#039;&#039; allows you to select the interface module.&lt;br /&gt;
*&#039;&#039;&#039;--extraintf  &amp;lt;module&amp;gt;&#039;&#039;&#039; allows you to select extra interface modules that will be launched in addition to the main one. This is mainly useful for special &#039;&#039;control&#039;&#039; interfaces, like HTTP, RC (Remote Control), ... (see below)&lt;br /&gt;
*&#039;&#039;&#039;--aout  &amp;lt;module&amp;gt;&#039;&#039;&#039; allows you to select the audio output module.&lt;br /&gt;
*&#039;&#039;&#039;--vout  &amp;lt;module&amp;gt;&#039;&#039;&#039; allows you to select the video output module.&lt;br /&gt;
*&#039;&#039;&#039;--memcpy  &amp;lt;module&amp;gt;&#039;&#039;&#039; allows you to choose a memory copy module. You should probably never touch that.&lt;br /&gt;
&lt;br /&gt;
You can get a listing of the available modules by using &#039;&#039;&#039;vlc -l&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Stream Output===&lt;br /&gt;
&lt;br /&gt;
The Stream output system allows vlc to become a streaming server.&lt;br /&gt;
&lt;br /&gt;
For more details on the stream output system, please have a look at the [[Documentation:Streaming HowTo|Streaming HowTo]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Other Options===&lt;br /&gt;
&lt;br /&gt;
====Audio options====&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--noaudio&#039;&#039;&#039; disables audio output.&lt;br /&gt;
*&#039;&#039;&#039;--mono&#039;&#039;&#039; forces VLC to treat the stream in mono audio.&lt;br /&gt;
*&#039;&#039;&#039;--volume &amp;lt;integer&amp;gt;&#039;&#039;&#039; sets the level of audio output (between 0 and 1024).&lt;br /&gt;
*&#039;&#039;&#039;--aout-rate &amp;lt;integer&amp;gt;&#039;&#039;&#039; sets the audio output frequency (Hz). By default, VLC will try to autodetect this.&lt;br /&gt;
*&#039;&#039;&#039;--desync &amp;lt;integer&amp;gt;&#039;&#039;&#039; compensates desynchronization of audio (ms). (If audio and video streams are not synchronized, use this setting to delay the audio stream)&lt;br /&gt;
*&#039;&#039;&#039;--audio-filter &amp;lt;string&amp;gt;&#039;&#039;&#039; 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)&lt;br /&gt;
&lt;br /&gt;
====Video options====&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--novideo&#039;&#039;&#039; disables video output.&lt;br /&gt;
*&#039;&#039;&#039;--greyscale&#039;&#039;&#039; turns video output into grayscale mode.&lt;br /&gt;
*&#039;&#039;&#039;--fullscreen&#039;&#039;&#039; ( or &#039;&#039;&#039;-f&#039;&#039;&#039;) sets fullscreen video.&lt;br /&gt;
*&#039;&#039;&#039;--nooverlay&#039;&#039;&#039; disables hardware acceleration for the video output.&lt;br /&gt;
*&#039;&#039;&#039;--width, --height &amp;lt;integer&amp;gt;&#039;&#039;&#039; sets the video window dimensions. By default, the video window size will be adjusted to match the video dimensions.&lt;br /&gt;
*&#039;&#039;&#039;--zoom &amp;lt;float&amp;gt;&#039;&#039;&#039; adds a zoom factor.&lt;br /&gt;
*&#039;&#039;&#039;--aspect-ratio &amp;lt;mode&amp;gt;&#039;&#039;&#039; forces source aspect ratio. Modes are 4x3, 16x9, ...&lt;br /&gt;
*&#039;&#039;&#039;--spumargin  &amp;lt;integer&amp;gt;&#039;&#039;&#039; forces SPU subtitles postion.&lt;br /&gt;
*&#039;&#039;&#039;--filter &amp;lt;string&amp;gt;&#039;&#039;&#039; adds video filters to the processing chain. You can add several filters, separated by commas&lt;br /&gt;
*&#039;&#039;&#039;--sub-filter &amp;lt;string&amp;gt;&#039;&#039;&#039; adds video subpictures filter to the processing chain.&lt;br /&gt;
&lt;br /&gt;
====Playlist options====&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--random&#039;&#039;&#039; plays files randomly forever.&lt;br /&gt;
*&#039;&#039;&#039;--loop&#039;&#039;&#039; loops playlist on end.&lt;br /&gt;
*&#039;&#039;&#039;--repeat&#039;&#039;&#039; repeats current item until another item is forced&lt;br /&gt;
*&#039;&#039;&#039;--play-and-stop&#039;&#039;&#039; stops the playlist after each played item.&lt;br /&gt;
&lt;br /&gt;
====Network options====&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--server-port &amp;lt;integer&amp;gt;&#039;&#039;&#039; sets server port.&lt;br /&gt;
*&#039;&#039;&#039;--iface  &amp;lt;string&amp;gt;&#039;&#039;&#039; specifies the network interface to use.&lt;br /&gt;
*&#039;&#039;&#039;--iface-addr  &amp;lt;string&amp;gt;&#039;&#039;&#039; specifies your network interface IP address.&lt;br /&gt;
*&#039;&#039;&#039;--mtu  &amp;lt;integer&amp;gt;&#039;&#039;&#039; specifies the MTU of the network interface.&lt;br /&gt;
*&#039;&#039;&#039;--ipv6&#039;&#039;&#039; forces IPv6.&lt;br /&gt;
*&#039;&#039;&#039;--ipv4&#039;&#039;&#039; forces IPv4.&lt;br /&gt;
&lt;br /&gt;
====CPU options====&lt;br /&gt;
&lt;br /&gt;
You should probably not touch these options unless you know what you are doing.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--nommx&#039;&#039;&#039; disables the use of MMX CPU extensions.&lt;br /&gt;
*&#039;&#039;&#039;--no3dn&#039;&#039;&#039; disables the use of 3D Now! CPU extensions.&lt;br /&gt;
*&#039;&#039;&#039;--nommxext&#039;&#039;&#039; disables the use of MMX Ext CPU extensions.&lt;br /&gt;
*&#039;&#039;&#039;--nosse&#039;&#039;&#039; disables the use of SSE CPU extensions.&lt;br /&gt;
*&#039;&#039;&#039;--noaltivec&#039;&#039;&#039; disables the use of Altivec CPU extensions.&lt;br /&gt;
&lt;br /&gt;
====Miscellaneous options====&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--quiet&#039;&#039;&#039;  deactivates all console messages.&lt;br /&gt;
*&#039;&#039;&#039;--color&#039;&#039;&#039; displays color messages.&lt;br /&gt;
*&#039;&#039;&#039;--search-path  &amp;lt;string&amp;gt;&#039;&#039;&#039; specifies interface default search path.&lt;br /&gt;
*&#039;&#039;&#039;--plugin-path  &amp;lt;string&amp;gt;&#039;&#039;&#039; specifies plugin search path.&lt;br /&gt;
*&#039;&#039;&#039;--no-plugins-cache&#039;&#039;&#039; disables the plugin cache (plugins cache speeds up startup)&lt;br /&gt;
*&#039;&#039;&#039;--dvd  &amp;lt;string&amp;gt;&#039;&#039;&#039; specifies the default DVD device.&lt;br /&gt;
*&#039;&#039;&#039;--vcd  &amp;lt;string&amp;gt;&#039;&#039;&#039; specifies the default VCD device.&lt;br /&gt;
*&#039;&#039;&#039;--program  &amp;lt;integer&amp;gt;&#039;&#039;&#039; specifies program (SID) (for streams with several programs, like satellite ones).&lt;br /&gt;
*&#039;&#039;&#039;--audio-type  &amp;lt;integer&amp;gt;&#039;&#039;&#039; specifies the default audio type to use with dvds.&lt;br /&gt;
*&#039;&#039;&#039;--audio-channel  &amp;lt;integer&amp;gt;&#039;&#039;&#039; specifies the default audio channel to use with dvds.&lt;br /&gt;
*&#039;&#039;&#039;--spu-channel  &amp;lt;integer&amp;gt;&#039;&#039;&#039; specifies the default subtitle channel to use with dvds.&lt;br /&gt;
*&#039;&#039;&#039;--version&#039;&#039;&#039; gives you information about the current VLC version.&lt;br /&gt;
*&#039;&#039;&#039;--module  &amp;lt;module&amp;gt; &#039;&#039;&#039; displays help about specified module. (Shortcut: &#039;&#039;&#039;-p&#039;&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
===Item-specific options===&lt;br /&gt;
&lt;br /&gt;
There are many options that are related to items (like &#039;&#039;&#039;--novideo&#039;&#039;&#039;, &#039;&#039;&#039;--codec&#039;&#039;&#039;, &#039;&#039;&#039;--fullscreen&#039;&#039;&#039;).&lt;br /&gt;
&lt;br /&gt;
For all of these, you have the possibility to make them item-specific, using &amp;quot;:&amp;quot; instead of &amp;quot;--&amp;quot; and putting the option just after the concerned item.&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc file1.mpg :fullscreen file2.mpg&#039;&#039;&#039;&lt;br /&gt;
will play file1.mpg in fullscreen mode and file2.mpg in the default mode (which is generally no fullscreen), whereas&lt;br /&gt;
 % &#039;&#039;&#039;vlc --fullscreen file1.mpg file2.mpg&#039;&#039;&#039;&lt;br /&gt;
will play both files in fullscreen mode&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc --fullscreen file1.mpg :sub-file=file1.srt :no-fullscreen file2.mpg :filter=distort&#039;&#039;&#039;&lt;br /&gt;
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)&lt;br /&gt;
&lt;br /&gt;
==Advanced use of filters==&lt;br /&gt;
&lt;br /&gt;
===Filters===&lt;br /&gt;
&lt;br /&gt;
These are the old style VLC filters. They only apply to on screen display and thus cannot be streamed.&lt;br /&gt;
&lt;br /&gt;
====Deinterlacing video filter====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;deinterlace&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--deinterlace-mode {discard,blend,mean,bob,linear}&#039;&#039;&#039; choose a deinterlacing mode.&lt;br /&gt;
&lt;br /&gt;
====Invert video filter====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;invert&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Image properties filter====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;adjust&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--contrast &amp;lt;float&amp;gt;&#039;&#039;&#039; Image contrast in the 0-2 range.&lt;br /&gt;
*&#039;&#039;&#039;--brightness &amp;lt;float&amp;gt;&#039;&#039;&#039; Image brightness in the 0-2 range.&lt;br /&gt;
*&#039;&#039;&#039;--hue &amp;lt;integer&amp;gt;&#039;&#039;&#039; Image hue in the 0-360 range.&lt;br /&gt;
*&#039;&#039;&#039;--saturation &amp;lt;float&amp;gt;&#039;&#039;&#039; Image saturation in the 0-3 range.&lt;br /&gt;
*&#039;&#039;&#039;-gamma &amp;lt;float&amp;gt;&#039;&#039;&#039; Image gamma in the 0-10 range.&lt;br /&gt;
&lt;br /&gt;
====Wall video filter====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;wall&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This filter splits the output in several windows.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--wall-cols &amp;lt;integer&amp;gt;&#039;&#039;&#039; Number of columns.&lt;br /&gt;
*&#039;&#039;&#039;--wall-rows &amp;lt;integer&amp;gt;&#039;&#039;&#039; Number of rows.&lt;br /&gt;
*&#039;&#039;&#039;--wall-active &amp;lt;string&amp;gt;&#039;&#039;&#039; Select the windows you want to display. To select windows 2 and 4 you would write &#039;&#039;&#039;--wall-active 2,4&#039;&#039;&#039;. When this option isn&#039;t specified, all windows are displayed.&lt;br /&gt;
&lt;br /&gt;
====Video transformation filter====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;transform&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--transform-type {90,180,270,hflip,vflip}&#039;&#039;&#039; Select rotation angle or symmetry.&lt;br /&gt;
&lt;br /&gt;
====Distort video filter====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;distort&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Clone video filter====&lt;br /&gt;
&lt;br /&gt;
This filter clones the output window.&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;clone&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--clone-count &amp;lt;integer&amp;gt;&#039;&#039;&#039; Number of clones.&lt;br /&gt;
*&#039;&#039;&#039;--clone-vout-list &amp;lt;string&amp;gt;&#039;&#039;&#039; Comma separated string of video output modules.&lt;br /&gt;
&lt;br /&gt;
====Crop video filter====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;crop&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--crop-geometry &amp;lt;string&amp;gt;&#039;&#039;&#039; Set the geometry of the zone to crop. This is set as &amp;lt;width&amp;gt; x &amp;lt;height&amp;gt; + &amp;lt;left offset&amp;gt; + &amp;lt;top offset&amp;gt;.&lt;br /&gt;
*&#039;&#039;&#039;--autocrop&#039;&#039;&#039; Enable automatic black border cropping.&lt;br /&gt;
&lt;br /&gt;
====Motion blur filter====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;motionblur&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;blur-factor &amp;lt;integer&amp;gt;&#039;&#039;&#039; Blur factor in the 1-127 range.&lt;br /&gt;
&lt;br /&gt;
====Video pictures blending====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;blend&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Video scaling filter====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;scale&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Subpictures Filters===&lt;br /&gt;
&lt;br /&gt;
These are the new VLC filters. They can be streamed.&lt;br /&gt;
&lt;br /&gt;
====Time display sub filter====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;time&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--time-format &amp;lt;string&amp;gt;&#039;&#039;&#039; Time format string. You can use the following special characters %Y = year, %m = month, %d = day, %H = hour, %M = minute, %S = second.&lt;br /&gt;
*&#039;&#039;&#039;--time-x &amp;lt;integer&amp;gt;&#039;&#039;&#039; X offset from the left in pixels.&lt;br /&gt;
*&#039;&#039;&#039;--time-y &amp;lt;integer&amp;gt;&#039;&#039;&#039; Y offset from the top in pixels.&lt;br /&gt;
&lt;br /&gt;
====Marquee display sub filter====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;marq&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--marq-marquee &amp;lt;string&amp;gt;&#039;&#039;&#039; Marquee text to display.&lt;br /&gt;
*&#039;&#039;&#039;--marq-x &amp;lt;integer&amp;gt;&#039;&#039;&#039; X offset from the left in pixels.&lt;br /&gt;
*&#039;&#039;&#039;--marq-y &amp;lt;integer&amp;gt;&#039;&#039;&#039; Y offset from the top in pixels.&lt;br /&gt;
*&#039;&#039;&#039;--marq-timeout &amp;lt;timeout&amp;gt;&#039;&#039;&#039; Defines the time the marquee must remain displayed in milliseconds. Default value is 0 (remain forever).&lt;br /&gt;
&lt;br /&gt;
====Logo video filter====&lt;br /&gt;
&lt;br /&gt;
Module name: &#039;&#039;&#039;logo&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This filter can be used both as an old style filter or a subpictures filter.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--logo-file &amp;lt;string&amp;gt;&#039;&#039;&#039; Full path of the PNG file to use.&lt;br /&gt;
*&#039;&#039;&#039;--logo-x &amp;lt;integer&amp;gt;&#039;&#039;&#039; X offset from the left in pixels.&lt;br /&gt;
*&#039;&#039;&#039;--logo-y &amp;lt;integer&amp;gt;&#039;&#039;&#039; Y offset from the top in pixels.&lt;br /&gt;
*&#039;&#039;&#039;--logo-transparency &amp;lt;integer&amp;gt;&#039;&#039;&#039; You can set the logo transparency value here (from 0 for full transparency to 255 for full opacity).&lt;br /&gt;
&lt;br /&gt;
Note: You can move the logo by left-clicking on it.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==The HTTP interface==&lt;br /&gt;
&lt;br /&gt;
VLC ships with a little HTTP server integrated. It is used both to stream using HTTP, and for the HTTP remote control interface.&lt;br /&gt;
&lt;br /&gt;
To start VLC with the HTTP interface, use:&lt;br /&gt;
 % &#039;&#039;&#039;vlc -I http [--http-src /directory/] [--http-host host:port]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If you want to have both the &amp;quot;normal&amp;quot; interface and the HTTP interface, use &#039;&#039;&#039;vlc --extraintf http&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
The HTTP interface will start listening at host:port (&amp;lt;all interfaces&amp;gt;:8080 if omitted), and will reproduce the structure of /directory at http://host:port/ ( vlc_source_path/share/http if omitted ).&lt;br /&gt;
&lt;br /&gt;
Use a browser to go to http://your_host_machine:port. You should be taken to the main page.&lt;br /&gt;
&lt;br /&gt;
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]].&lt;br /&gt;
&lt;br /&gt;
Available pages are:&lt;br /&gt;
* &#039;&#039;&#039;list was obsolete&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Other control interfaces==&lt;br /&gt;
&lt;br /&gt;
VLC includes a number of so-called interfaces that are not really 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 &#039;&#039;&#039;-I&#039;&#039;&#039; or &#039;&#039;&#039;--extraintf&#039;&#039;&#039; on the command line.&lt;br /&gt;
&lt;br /&gt;
===Hotkeys===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Hotkeys can be hacked by:&lt;br /&gt;
 % &#039;&#039;&#039;vlc --key-&amp;lt;function&amp;gt; &amp;lt;code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Code is composed by modifiers keys (Alt, Shift, Ctrl, Meta,Command) separated by a dash (-) and terminated by a key (a...z, +, =, -, &#039;,&#039;, +, &amp;amp;lt;, &amp;amp;gt;, `, /, ;, &#039;, \, [, ], *, 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 &#039;&#039;&#039;--longhelp&#039;&#039;&#039; option for full list of functions).&lt;br /&gt;
For example, for binding fullscreen to Ctrl-f, run:&lt;br /&gt;
 % &#039;&#039;&#039;vlc --key-fullscreen &#039;Ctrl-f&#039; &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===RC and RTCI===&lt;br /&gt;
&lt;br /&gt;
These two interfaces allow you to control VLC from a command shell (possibly using a remote connexion or a Unix socket).&lt;br /&gt;
&lt;br /&gt;
Start VLC with &#039;&#039;&#039;-I rc&#039;&#039;&#039; or &#039;&#039;&#039;--extraintf rc&#039;&#039;&#039;. When you get the &#039;&#039;&#039;Remote control interface initialized, `h&#039; for help&#039;&#039;&#039; message, press h and Enter to get help about available commands.&lt;br /&gt;
&lt;br /&gt;
To be able to remote connect to your VLC using a TCP socket (telnet-like connexion), use &#039;&#039;&#039;--rc-host your_host:port&#039;&#039;&#039;. Then, by connecting (using telnet or netcat) to the host on the given port, you will get the command shell.&lt;br /&gt;
&lt;br /&gt;
To use a UNIX socket (local socket, this does not work for Windows), use &#039;&#039;&#039;--rc-unix /path/to/socket&#039;&#039;&#039;. Commands can then be passed using this UNIX socket.&lt;br /&gt;
&lt;br /&gt;
The RTCI interface gives you more advanced options, such as marquee control for the marquee subpicture filter (See filter section).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Ncurses===&lt;br /&gt;
&lt;br /&gt;
This is a text interface, using ncurses library.&lt;br /&gt;
&lt;br /&gt;
Start VLC with &#039;&#039;&#039;-I ncurses&#039;&#039;&#039; or &#039;&#039;&#039;--extraintf ncurses&#039;&#039;&#039;. You will then get something like that:&lt;br /&gt;
&lt;br /&gt;
http://www.videolan.org/doc/play-howto/en/images/play-howto/intf-ncurses-playlist.jpg The ncurses interface&lt;br /&gt;
&lt;br /&gt;
Press h to get the list of all available commands, with a short description.&lt;br /&gt;
&lt;br /&gt;
There is also a filebrowser available for the ncurses interface in order to add playlist items. Press &#039;B&#039; to use it.&lt;br /&gt;
&lt;br /&gt;
http://www.videolan.org/doc/play-howto/en/images/play-howto/intf-ncurses-filebrowser.jpg The ncurses filebrowser&lt;br /&gt;
&lt;br /&gt;
You can set the filebrowser starting point by launching vlc with the &#039;&#039;&#039;--browse-dir&#039;&#039;&#039; option:&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc -I ncurses --browse-dir /filebrowser/starting/point/&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Gestures===&lt;br /&gt;
&lt;br /&gt;
Gestures provide a simple mouse gestures control. TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==The Mozilla plugin==&lt;br /&gt;
&lt;br /&gt;
VLC can also be embedded in a web browser! The following browsers are supported [http://www.mozilla.org/ Mozilla], [http://www.mozilla.org/products/firefox/ Firefox] and [http://www.apple.com/macosx/features/safari Safari].&lt;br /&gt;
&lt;br /&gt;
===Install the plugin===&lt;br /&gt;
&lt;br /&gt;
====GNU/Linux Debian====&lt;br /&gt;
&lt;br /&gt;
Install the &#039;&#039;mozilla-plugin-vlc&#039;&#039; package:&lt;br /&gt;
&lt;br /&gt;
 # &#039;&#039;&#039;apt-get update&#039;&#039;&#039;&lt;br /&gt;
 # &#039;&#039;&#039;apt-get install mozilla-plugin-vlc&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Windows====&lt;br /&gt;
&lt;br /&gt;
Quit Firefox or Mozilla.&lt;br /&gt;
&lt;br /&gt;
Copy the two files in &#039;&#039;&#039;VLC_Installation_folder\mozilla&#039;&#039;&#039; (usually &#039;&#039;&#039;C:\Program Files\VideoLAN\VLC\mozilla&#039;&#039;&#039;) to your mozilla plugins directory (Usually &#039;&#039;&#039;C:\Program Files\Mozilla\plugins&#039;&#039;&#039; or &#039;&#039;&#039;C:\Program Files\Mozilla&lt;br /&gt;
Firefox\plugins&#039;&#039;&#039;).&lt;br /&gt;
&lt;br /&gt;
Restart Firefox or Mozilla.&lt;br /&gt;
&lt;br /&gt;
====MacOS X====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;The Mozilla/Safari plugin for MacOS X is only available from vlc version 0.8.5.1 and onwards.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Quit Safari browser.&lt;br /&gt;
&lt;br /&gt;
Download the Mozilla/safari plugin package from [http://www.videolan.org/vlc/download-macosx.html MacOS X download page].&lt;br /&gt;
&lt;br /&gt;
Run the installer from the dmg image.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Compile the sources yourself====&lt;br /&gt;
&lt;br /&gt;
Please look at the [http://developers.videolan.org developers page] for information on how to do this.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Use the mozilla plugin===&lt;br /&gt;
&lt;br /&gt;
If you open a link to a video file handled by the VLC plugin (To get the list of handled types, browse to &#039;&#039;&#039;about:plugins&#039;&#039;&#039;) or a page with an embedded video, the plugin should open and read the&lt;br /&gt;
video.&lt;br /&gt;
&lt;br /&gt;
===Build HTML pages that use the plugin (VLC version up to 0.8.5)===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;WARNING:&#039;&#039;&#039; the APIs described in this section are &#039;&#039;&#039;deprecated&#039;&#039;&#039;, do not use, &lt;br /&gt;
&lt;br /&gt;
The following API description is only valid uptill version 0.8.5 of the mozilla plugin.&lt;br /&gt;
&lt;br /&gt;
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&lt;br /&gt;
plugin.&lt;br /&gt;
&lt;br /&gt;
The vlc plugin supports the following function calls:&lt;br /&gt;
*&#039;&#039;&#039;play()&#039;&#039;&#039;: Start playing media in the plugin.&lt;br /&gt;
*&#039;&#039;&#039;pause()&#039;&#039;&#039;: Pause playback.&lt;br /&gt;
*&#039;&#039;&#039;stop()&#039;&#039;&#039;: Stop media playback.&lt;br /&gt;
*&#039;&#039;&#039;fullscreen()&#039;&#039;&#039;: Switch the video to full screen.&lt;br /&gt;
*&#039;&#039;&#039;set_volume(vol)&#039;&#039;&#039;: Set the volume. &#039;&#039;&#039;vol&#039;&#039;&#039; has to be an int in the 0-200 range.&lt;br /&gt;
*&#039;&#039;&#039;get_volume()&#039;&#039;&#039;: Get the current volume setting.&lt;br /&gt;
*&#039;&#039;&#039;mute()&#039;&#039;&#039;: Toggle volume muting.&lt;br /&gt;
*&#039;&#039;&#039;set_int_variable(var_name, value)&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;set_bool_variable(var_name, value)&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;set_str_variable(var_name, value)&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;get_int_variable(var_name)&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;get_bool_variable(var_name)&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;get_str_variable(var_name)&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;clear_playlist()&#039;&#039;&#039;: Clear the playlist.&lt;br /&gt;
*&#039;&#039;&#039;add_item(mrl)&#039;&#039;&#039;: Append an item whose location is given by the [[media resource locator]] to the playlist.&lt;br /&gt;
*&#039;&#039;&#039;next()&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;previous()&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;isplaying()&#039;&#039;&#039;: return true if the plugin is playing something.&lt;br /&gt;
*&#039;&#039;&#039;get_length()&#039;&#039;&#039;: Get the media&#039;s length in seconds.&lt;br /&gt;
*&#039;&#039;&#039;get_position()&#039;&#039;&#039;: Get the current position in the media in percent.&lt;br /&gt;
*&#039;&#039;&#039;get_time()&#039;&#039;&#039;: Get the current position in the media in seconds.&lt;br /&gt;
*&#039;&#039;&#039;seek(seconds,is_relative)&#039;&#039;&#039;: If is_relative is true, seek relatively to current time, else seek from beginning of the stream. Seek time is specified in seconds.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Here are a few examples of HTML pages that use the&lt;br /&gt;
Mozilla plugin.&lt;br /&gt;
&lt;br /&gt;
====Example 1====&lt;br /&gt;
&lt;br /&gt;
In this example, the plugin will read an HTTP stream inside the web page. If the user goes fullscreen, he will have to press &#039;&#039;f&#039;&#039; or double-click on the video to go back in normal view.&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;html&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;head&amp;amp;gt;&amp;amp;lt;title&amp;amp;gt;Demo of VLC mozilla plugin&amp;amp;lt;/title&amp;amp;gt;&amp;amp;lt;/head&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;body&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;h1&amp;amp;gt;Demo of VLC mozilla plugin - Example 1&amp;amp;lt;/h1&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;embed type=&amp;quot;application/x-vlc-plugin&amp;quot;&lt;br /&gt;
          name=&amp;quot;video1&amp;quot;&lt;br /&gt;
          autoplay=&amp;quot;no&amp;quot; loop=&amp;quot;yes&amp;quot; width=&amp;quot;400&amp;quot; height=&amp;quot;300&amp;quot;&lt;br /&gt;
          target=&amp;quot;http://server.example.org/video1.vob&amp;quot; /&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;br /&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video1.play()&#039;&amp;amp;gt;Play video1&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video1.pause()&#039;&amp;amp;gt;Pause video1&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video1.stop()&#039;&amp;amp;gt;Stop video1&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video1.fullscreen()&#039;&amp;amp;gt;Fullscreen&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;/body&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/html&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Example 2====&lt;br /&gt;
&lt;br /&gt;
In this example, the plugin will read a multicast UDP stream in a dedicated video output window.&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;html&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;head&amp;amp;gt;&amp;amp;lt;title&amp;amp;gt;Demo of VLC mozilla plugin&amp;amp;lt;/title&amp;amp;gt;&amp;amp;lt;/head&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;body&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;h1&amp;amp;gt;Demo of VLC mozilla plugin - Example 2&amp;amp;lt;/h1&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;embed type=&amp;quot;application/x-vlc-plugin&amp;quot;&lt;br /&gt;
          name=&amp;quot;video2&amp;quot;&lt;br /&gt;
          autoplay=&amp;quot;no&amp;quot; loop=&amp;quot;no&amp;quot; hidden=&amp;quot;yes&amp;quot;&lt;br /&gt;
          target=&amp;quot;udp:@239.255.12.42&amp;quot; /&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;br /&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video2.play()&#039;&amp;amp;gt;Play video2&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video2.stop()&#039;&amp;amp;gt;Stop video2&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
   &amp;amp;lt;a href=&amp;quot;javascript:;&amp;quot; onclick=&#039;document.video2.fullscreen()&#039;&amp;amp;gt;Fullscreen&amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;/body&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/html&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Build HTML pages that use the plugin (VLC version 0.8.6 and above)===&lt;br /&gt;
&lt;br /&gt;
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&lt;br /&gt;
plugin.&lt;br /&gt;
&lt;br /&gt;
The vlc plugin exports serveral objects that can be accessed for setting and getting information. When used improperly the API&#039;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.&lt;br /&gt;
&lt;br /&gt;
The vlc plugin knows the following objects:&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;audio&#039;&#039;&#039;: Access audio properties.&lt;br /&gt;
*&#039;&#039;&#039;input&#039;&#039;&#039;: Access input properties.&lt;br /&gt;
*&#039;&#039;&#039;playlist&#039;&#039;&#039;: Access playlist properties.&lt;br /&gt;
*&#039;&#039;&#039;video&#039;&#039;&#039;: Access video properties.&lt;br /&gt;
*&#039;&#039;&#039;log&#039;&#039;&#039;: Access log properties.&lt;br /&gt;
*&#039;&#039;&#039;messages&#039;&#039;&#039;: Access to log message properties.&lt;br /&gt;
*&#039;&#039;&#039;iterator&#039;&#039;&#039;: Access to log iterator properties.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;html&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;title&amp;amp;gt;VLC Mozilla plugin test page&amp;amp;lt;/title&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;body&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;embed type=&amp;quot;application/x-vlc-plugin&amp;quot; pluginspage=&amp;quot;http://www.videolan.org&amp;quot; version=&amp;quot;VideoLAN.VLCPlugin.2&amp;quot;&lt;br /&gt;
     width=&amp;quot;640&amp;quot;&lt;br /&gt;
     height=&amp;quot;480&amp;quot;&lt;br /&gt;
     id=&amp;quot;vlc&amp;quot;&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/embed&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;script language=&amp;quot;Javascript&amp;quot;&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;!--&lt;br /&gt;
 var vlc = document.getElementById(&amp;quot;vlc&amp;quot;);&lt;br /&gt;
 vlc.audio.toggleMute();&lt;br /&gt;
 !--&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/script&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/body&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/html&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Root object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;VersionInfo&#039;&#039;&#039;: returns version information string&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;vlc.versionInfo()&#039;&#039;&#039;: returns version information string (same as VersionInfo)&lt;br /&gt;
&lt;br /&gt;
====Audio object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.audio.mute&#039;&#039;&#039;: boolean value to mute and ummute the audio&lt;br /&gt;
*&#039;&#039;&#039;vlc.audio.volume&#039;&#039;&#039;: a value between [0-200] which indicates a percentage of the volume.&lt;br /&gt;
*&#039;&#039;&#039;vlc.audio.track&#039;&#039;&#039;: (supported in vlc version &amp;gt; 0.8.6) a value between [1-65535] which indicates the audio track to play or that is playing. a value of 0 means the audio is/will be disabled.&lt;br /&gt;
*&#039;&#039;&#039;vlc.audio.channel&#039;&#039;&#039;: (supported in vlc version &amp;gt; 0.8.6) integer value between [1-5] that indicates which audio channel mode is used, values can be: &amp;quot;1=stereo&amp;quot;, &amp;quot;2=reverse stereo&amp;quot;, &amp;quot;3=left&amp;quot;, &amp;quot;4=right&amp;quot;, &amp;quot;5=dolby&amp;quot;. Use vlc.audio.channel to check if setting of the audio channel mode has succeeded.&lt;br /&gt;
&lt;br /&gt;
 Audio Channel:&lt;br /&gt;
 &amp;lt;SELECT readonly onChange=&#039;doAudioChannel(this.value)&#039;&amp;gt;&lt;br /&gt;
    &amp;lt;OPTION value=1&amp;gt;Stereo&amp;lt;/OPTION&amp;gt;&lt;br /&gt;
    &amp;lt;OPTION value=2&amp;gt;Reverse stereo&amp;lt;/OPTION&amp;gt;&lt;br /&gt;
    &amp;lt;OPTION value=3&amp;gt;Left&amp;lt;/OPTION&amp;gt;&lt;br /&gt;
    &amp;lt;OPTION value=4&amp;gt;Right&amp;lt;/OPTION&amp;gt;&lt;br /&gt;
    &amp;lt;OPTION value=5&amp;gt;Dolby&amp;lt;/OPTION&amp;gt;&lt;br /&gt;
 &amp;lt;/SELECT&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;SCRIPT language=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;amp;lt;!--&lt;br /&gt;
 function doAudioChannel(value)&lt;br /&gt;
 {&lt;br /&gt;
    var vlc = getVLC(&amp;quot;vlc&amp;quot;);&lt;br /&gt;
    vlc.audio.channel = parseInt(value);&lt;br /&gt;
    alert(vlc.audio.channel);&lt;br /&gt;
 };&lt;br /&gt;
 --&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;vlc.audio.toggleMute()&#039;&#039;&#039;: boolean toggle that mutes and unmutes the audio based upon the previous state&lt;br /&gt;
&lt;br /&gt;
====Input object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.length&#039;&#039;&#039;: length of the input file in number of milliseconds. 0 is returned for &#039;live&#039; streams or clips whose length cannot be determined by VLC&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.fps&#039;&#039;&#039;: frames per second returned as a float (typically 60.0, 50.0, 23.976, etc...)&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.hasVout&#039;&#039;&#039;: a boolean that returns true when the video is being displayed, it returns false when video is not displayed&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.position&#039;&#039;&#039;: normalized position in multimedia stream item given as a float value between [0.0 - 1.0]&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.time&#039;&#039;&#039;: the absolute position in time given in milliseconds, this property can be used to seek through the stream&lt;br /&gt;
 &amp;amp;lt;!-- absolute seek in stream !--&amp;amp;gt;&lt;br /&gt;
 vlc.input.time = &amp;amp;lt;absolute seek&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;!-- relative seek in stream !--&amp;amp;gt;&lt;br /&gt;
 vlc.input.time = vlc.input.time + &amp;amp;lt;relative seek&amp;amp;gt;&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.state&#039;&#039;&#039;: current state of the input chain given as enumeration (IDLE/CLOSE=0, OPENING=1, BUFFERING=2, PLAYING=3, PAUSED=4, STOPPING=5, ERROR=6)&lt;br /&gt;
*&#039;&#039;&#039;vlc.input.rate&#039;&#039;&#039;: input speed given as float (1.0 for normal speed, 0.5 for half speed, 2.0 for twice as fast, etc.)&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Playlist object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.itemCount&#039;&#039;&#039;: number that returns the amount of items currently in the playlist (&#039;&#039;&#039;deprecated&#039;&#039;&#039;, do not use, see [[Playlist items]])&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.isPlaying&#039;&#039;&#039;: a boolean that returns true if the current playlist item is playing and false when it is not playing&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.items&#039;&#039;&#039;: return the playlist items collection, see [[Playlist items object]]&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.add(mrl)&#039;&#039;&#039;: add a playlist item as [[MRL]]. The MRL must be given as a string. Returns a number as an item identifier in playlist (this is not a position  in playlist).&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.add(mrl,name,options)&#039;&#039;&#039;: add a playlist item as MRL, with metaname &#039;name&#039; and options &#039;options&#039;. options are text arguments which can be provided either as a single string containing space separated values, akin to VLC command line, or as an array of string values. Returns a number as an item identifier in playlist (this is not a position in playlist).&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.play()&#039;&#039;&#039;: start playing the current playlist item&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.playItem(number)&#039;&#039;&#039;: start playing the item whose identifier is number&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.togglePause()&#039;&#039;&#039;: toggle the pause state for the current playlist item&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.stop()&#039;&#039;&#039;: stop playing the current playlist item&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.next()&#039;&#039;&#039;: iterate to the next playlist item&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.prev()&#039;&#039;&#039;: iterate to the previous playlist item&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.clear()&#039;&#039;&#039;: empty the current playlist, all items will be deleted from the playlist (&#039;&#039;&#039;deprecated&#039;&#039;&#039;, do not use, see [[Playlist items]])&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.removeItem(number)&#039;&#039;&#039;: remove the item from playlist whose identifier is number (note: this number isn&#039;t the position in the playlist, but the number given by vlc.playlist.add() )&lt;br /&gt;
&lt;br /&gt;
====Playlist items object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.items.count&#039;&#039;&#039;: number of items currently in the playlist&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;vlc.playlist.items.clear()&#039;&#039;&#039;: empty the current playlist, all items will be deleted from the playlist. Note that when this method returns playlist may not have been entirely been cleared as this operation is performed asynchronously; use the &#039;&#039;count&#039;&#039; property to verify/wait until the playlist is empty.&lt;br /&gt;
&lt;br /&gt;
====Video object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.width&#039;&#039;&#039;: returns the horizontal size of the video&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.height&#039;&#039;&#039;: returns the vertical size of the video&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.fullscreen&#039;&#039;&#039;: 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.&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.aspectRatio&#039;&#039;&#039;: get and set the aspect ratio to use in the video screen. The property takes a string as input value. Typical values are: &amp;quot;1:1&amp;quot;, &amp;quot;4:3&amp;quot;, &amp;quot;16:9&amp;quot;, &amp;quot;16:10&amp;quot;, &amp;quot;221:100&amp;quot; and &amp;quot;5:4&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.subtitle&#039;&#039;&#039;; (supported in vlc version &amp;gt; 0.8.6a) get and set the subtitle track to show on the video screen. The property takes an integer as input value [1..65535]. If subtitle track is set to 0, the subtitles will be disabled. If set to a value outside the current subtitle tracks range, then it will return -1 and display an error message.&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;vlc.video.toggleFullscreen()&#039;&#039;&#039;: toggle the fullscreen mode based on the previous setting&lt;br /&gt;
&lt;br /&gt;
====Log object====&lt;br /&gt;
&lt;br /&gt;
this object allows accessing VLC main message logging queue. Typically this queue capacity is very small (no nore than 256 entries) and can easily overflow, therefore messages should be read and cleared as often as possible.&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.log.messages&#039;&#039;&#039;: returns the message collection, see [[Messages object]]&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;&#039;vlc.log.verbosity&#039;&#039;&#039;: write number [-1,0,1,2,3] for changing the verbosity level of the log messages; messages whose verbosity is higher than set will be not be logged in the queue. The numbers have the following meaning: -1 disable, 0 info, 1 error, 2 warning, 3 debug. &lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Messages object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;messages.count&#039;&#039;&#039;: returns number of messages in the log&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;messages.clear()&#039;&#039;&#039;: clear the current log buffer. It should be called as frequently as possible to not overflow the message queue. Call this method after the log messages of interest are read.&lt;br /&gt;
*&#039;&#039;&#039;messages.iterator()&#039;&#039;&#039;: creates and returns an iterator object, used to iterate over the messages in the log. &#039;&#039;&#039;Don&#039;t clear the log buffer while holding an iterator object.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Messages Iterator object====&lt;br /&gt;
&lt;br /&gt;
readonly properties&lt;br /&gt;
*&#039;&#039;&#039;iterator.hasNext&#039;&#039;&#039;: returns a boolean that indicates whether &#039;&#039;vlc.log.messages.next()&#039;&#039; will return the next message.&lt;br /&gt;
&lt;br /&gt;
read/write properties&lt;br /&gt;
*&#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
methods&lt;br /&gt;
*&#039;&#039;&#039;iterator.next()&#039;&#039;&#039;: returns the next message object in the log, see [[Message object]]&lt;br /&gt;
&lt;br /&gt;
====Message object====&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;message.severity&#039;&#039;&#039;: number that indicates the severity of the log message (0 = info, 1 = error, 2 = warning, 3 = debug)&lt;br /&gt;
*&#039;&#039;&#039;message.name&#039;&#039;&#039;: name of VLC module that printed the log message (e.g: main, http, directx, etc...)&lt;br /&gt;
*&#039;&#039;&#039;message.type&#039;&#039;&#039;: type of VLC module that printed the log message (eg: input, access, vout, sout, etc...)&lt;br /&gt;
*&#039;&#039;&#039;message.message&#039;&#039;&#039;: the message text&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Documentation}}&lt;/div&gt;</summary>
		<author><name>Jpsaman</name></author>
	</entry>
</feed>