<?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=ConfusedVorlon</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=ConfusedVorlon"/>
	<link rel="alternate" type="text/html" href="https://wiki.videolan.org/Special:Contributions/ConfusedVorlon/"/>
	<updated>2026-11-04T18:56:31Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.11</generator>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=VLCKit&amp;diff=27752</id>
		<title>VLCKit</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=VLCKit&amp;diff=27752"/>
		<updated>2015-01-20T14:19:04Z</updated>

		<summary type="html">&lt;p&gt;ConfusedVorlon: /* Are there apps actually deploying VLCKit on OS X and iOS? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page provides a brief overview on the [[LibVLC]] binding for Objective-C.&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
VLCKit is an Objective-C wrapper for libvlc&#039;s external interface, on &#039;&#039;&#039;Mac OS X&#039;&#039;&#039; and &#039;&#039;&#039;iOS&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
It includes basic classes for playback, playlists, streaming and transcoding. Doing simple media players (comparable to QuickTime Player or MPlayer OS X) is as hard as doing a QuickTime-based one; thus, it is really easy.&lt;br /&gt;
MobileVLCKit is a subset specifically targeting the iOS platform, enabling a full playback experience with playlists, metadata handling and network streaming. If you require a media database, MediaLibraryKit will get you going within minutes.&lt;br /&gt;
&lt;br /&gt;
== Building the framework for OS X ==&lt;br /&gt;
&lt;br /&gt;
* Clone git://git.videolan.org/vlc-bindings/VLCKit.git&lt;br /&gt;
* open &amp;lt;code&amp;gt;VLCKit.xcodeproj&amp;lt;/code&amp;gt; &lt;br /&gt;
* make sure the &amp;quot;Build Everything&amp;quot; target is selected &lt;br /&gt;
* build the project&lt;br /&gt;
&lt;br /&gt;
This will automatically fetch and build libvlc as well as accompanying classes.&lt;br /&gt;
&lt;br /&gt;
== Building the framework for iOS ==&lt;br /&gt;
&lt;br /&gt;
* Clone git://git.videolan.org/vlc-bindings/VLCKit.git&lt;br /&gt;
* open your favorite terminal application such as Terminal.app or iTerm 2 and navigate to your checkout.&lt;br /&gt;
* execute &amp;lt;code&amp;gt;./buildMobileVLCKit.sh&amp;lt;/code&amp;gt; &lt;br /&gt;
* check &amp;lt;code&amp;gt;-h&amp;lt;/code&amp;gt; for available options such as &amp;lt;code&amp;gt;-s&amp;lt;/code&amp;gt; to compile for the simulator&lt;br /&gt;
&lt;br /&gt;
This will automatically fetch and build libvlc as well as its dependencies and accompanying classes.&lt;br /&gt;
&lt;br /&gt;
If you want to build a library that will work for both the simulator and devices:&lt;br /&gt;
* execute &amp;lt;code&amp;gt;./buildMobileVLCKit.sh&amp;lt;/code&amp;gt;, then &amp;lt;code&amp;gt;./buildMobileVLCKit.sh -s&amp;lt;/code&amp;gt;&lt;br /&gt;
* use xcode command line tools to build a universal library: &amp;lt;code&amp;gt;lipo -create Release-iphoneos/libMobileVLCKit.a Release-iphonesimulator/libMobileVLCKit.a -o libMobileVLCKit.a&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Dependencies warning:&#039;&#039;&#039; The built script fetches dependencies automatically and builds them locally; beware that system-wide installations through Homebrew may interfere with the local build scripts. If you get autoconf-related errors, try removing /usr/local from your PATH, wiping the source tree, and starting the build over.&lt;br /&gt;
&lt;br /&gt;
== Basic usage in your application ==&lt;br /&gt;
The code should speak by itself&lt;br /&gt;
   // Set up a videoView by hand. You can also do that in the nib file&lt;br /&gt;
    videoView = [[VLCVideoView alloc] initWithFrame:[[window contentView] bounds]];&lt;br /&gt;
    [[window contentView] addSubview:videoView];&lt;br /&gt;
    [videoView setAutoresizingMask: NSViewHeightSizable|NSViewWidthSizable];&lt;br /&gt;
   &lt;br /&gt;
    // Init the player object&lt;br /&gt;
    player = [[VLCMediaPlayer alloc] initWithVideoView:videoView];&lt;br /&gt;
  &lt;br /&gt;
    [player setMedia:[VLCMedia mediaWithPath:@&amp;quot;/to/my/movie&amp;quot;]];&lt;br /&gt;
    [player play];&lt;br /&gt;
&lt;br /&gt;
== Sample code ==&lt;br /&gt;
We offer sample code both for iOS and OS X.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;Examples_OSX&amp;lt;/code&amp;gt; includes 3 different projects.&lt;br /&gt;
* &#039;&#039;BasicPlayerWithPlaylist&#039;&#039;: this sum&#039;s it up pretty well. drag and drop files, hit play / pause, see them play in the same window in the order you want them to.&lt;br /&gt;
[[File:List based vlckit player sample.png|center|Basic Player with Playlist]]&lt;br /&gt;
* &#039;&#039;FlashVideoDownloader&#039;&#039;: this exemplifies the basics on how to deploy VLC&#039;s URL parsing mechanisms to gain access to the actually played media and how to store it.&lt;br /&gt;
[[File:Flash video downloader vlckit sample project.png|center|Flash Video Downloader]]&lt;br /&gt;
* &#039;&#039;iPodConverter&#039;&#039;: VLCKit includes streaming and transcoding features including a few pre-defined profiles. In this sample, you see how to use them. Drop a file in the designated area. Hit convert. See the file being converted including a progress bar.&lt;br /&gt;
[[File:Convert for ipad osx sample project.png|center|iPodConverter]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;Examples_iOS&amp;lt;/code&amp;gt; includes 2 different projects developed using Xcode 5 and with iOS 7 in mind. With minor modifications, they will also work on iOS 5 and 6.&lt;br /&gt;
* &#039;&#039;SimplePlayback&#039;&#039;: it&#039;s as simple as it sounds. Launch the app to watch a file being streamed live over http from one of our servers to your iOS Simulator or device.&lt;br /&gt;
[[File:Simple playback iOS sample project.png|center|Simple Playback]]&lt;br /&gt;
* &#039;&#039;DropIn-Player&#039;&#039;: this is a more advanced sample project implementing a basic view controller, which could be embedded in your own app. It allows any kind of media playback, subtitles handling, multiple audio track handling, aspect ratio customizations, playback position manipulation and display, volume. All of that, implemented in a self-contained class and a single xib file.&lt;br /&gt;
[[File:Drop-in player sample project ios.png|center|Drop-In player]]&lt;br /&gt;
&lt;br /&gt;
== Are there apps actually deploying VLCKit on OS X and iOS? ==&lt;br /&gt;
This is a selection of apps we are aware of. &lt;br /&gt;
&lt;br /&gt;
* [https://www.amahi.org/ios Amahi for iOS] by [https://www.amahi.org Amahi]&lt;br /&gt;
* [http://www.rotapp.com/app/blackbox/ Blackbox] by Rotapp&lt;br /&gt;
* [http://www.rotapp.com/app/dreambox-live/ Dreambox-Live] by Rotapp (discontinued)&lt;br /&gt;
* [http://fleex.tv Fleex player] by fleex.tv&lt;br /&gt;
* [http://imagneto.sourceforge.net/ iMagneto]&lt;br /&gt;
* [http://www.korrisoft.com/references/references.php Korri player] by [http://www.korrisoft.com Korrisoft]&lt;br /&gt;
* [[Lunettes]] by the VideoLAN team&lt;br /&gt;
* [http://www.korrisoft.com/references/references.php Ma TV Star] by [http://www.korrisoft.com Korrisoft]&lt;br /&gt;
* [http://www.domzilla.net/iphone-apps/movieplayer2/ Movie Player 2] by Dominic Rodemer Online Media&lt;br /&gt;
* [http://www.korrisoft.com/references/references.php Player multimédia TNT] by [http://www.korrisoft.com Korrisoft]&lt;br /&gt;
* [[iOS|VLC for iOS]] by the VideoLAN team&lt;br /&gt;
* [http://hobbyistsoftware.com/vlcstreamer-more VLC Streamer] by [http://www.HobbyistSoftware.com HobbyistSoftware]&lt;br /&gt;
Feel free to add your application above in alphabetical order. Note that we don&#039;t list apps violating VLCKit&#039;s licensing terms - regrettably, there are quite a few.&lt;br /&gt;
&lt;br /&gt;
== Compilation tips ==&lt;br /&gt;
* If you do not care about the latest, try using the stable branch, e.g. 2.1-stable&lt;br /&gt;
* The build tree has what could be described as &amp;quot;git submodules&amp;quot; and they sometimes can fall out of sync. If the code inside &amp;lt;code&amp;gt;MobileVLCKit/ImportedSources/vlc&amp;lt;/code&amp;gt; falls out of sync or you need to force a rebuild you may want to remove  &amp;lt;code&amp;gt;contrib/iPhoneOS-armv7*/&amp;lt;/code&amp;gt;&lt;br /&gt;
* In some situations your libtoolize may interfere with the build tools. You may want to add &amp;lt;code&amp;gt;$PATH/MobileVLCKit/ImportedSources/vlc/extras/tools/build/bin&amp;lt;/code&amp;gt; towards the beginning of your PATH and build with it&lt;br /&gt;
&lt;br /&gt;
== Related ==&lt;br /&gt;
* [[OSXCompile|Compiling VLC on MacOS X]]&lt;br /&gt;
&lt;br /&gt;
==External Links==&lt;br /&gt;
&lt;br /&gt;
* [http://developer.apple.com/documentation/Cocoa/Conceptual/ObjectiveC/Introduction/introObjectiveC.html Introduction to The Objective-C 2.0 Programming Language]&lt;br /&gt;
* [http://developer.apple.com/documentation/developertools/Conceptual/IB_UserGuide/Introduction/Introduction.html Interface Builder]&lt;br /&gt;
&lt;br /&gt;
[[Category:LibVLC]]&lt;br /&gt;
[[Category:Mac OS X]]&lt;br /&gt;
[[Category:iOS]]&lt;/div&gt;</summary>
		<author><name>ConfusedVorlon</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=SoC_2013&amp;diff=23780</id>
		<title>SoC 2013</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=SoC_2013&amp;diff=23780"/>
		<updated>2013-02-14T10:11:02Z</updated>

		<summary type="html">&lt;p&gt;ConfusedVorlon: /* Other Ideas for VLC */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;SoC 2013 ideas. This is an ideas page only.&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
This wiki page covers the work of the [[VideoLAN]] project as a mentoring organization for [http://code.google.com/soc/ Google Summer of Code], in order to improve {{VLC}}. &lt;br /&gt;
&lt;br /&gt;
== Introduction &amp;amp;amp; Information  ==&lt;br /&gt;
&lt;br /&gt;
This wiki page covers the attempt by the [[VideoLAN]] project to act as a mentoring organization for [http://code.google.com/soc/ Google Summer of Code], in order to improve {{VLC}}. &lt;br /&gt;
&lt;br /&gt;
[[VideoLAN]] was a mentoring organization in [[SoC 2007|2007]], [[SoC 2008|2008]], [[SoC 2009|2009]], [[SoC 2010|2010]] and [[SoC 2011|2011]]. &lt;br /&gt;
&lt;br /&gt;
*This page list the ideas for VLC&lt;br /&gt;
&lt;br /&gt;
=== VLC media player  ===&lt;br /&gt;
&lt;br /&gt;
{{VLC}} is a cross-platform multimedia player, encoder and streamer application. It is one of the most successful open-source projects without any professional structure underneath. &lt;br /&gt;
&lt;br /&gt;
{{VLC}} is downloaded at an approximate monthly rate of 5 millions from the main website and that&#039;s not including third-party distributions (Linux)! &lt;br /&gt;
&lt;br /&gt;
You can find more information on [http://en.wikipedia.org/wiki/VLC_media_player VLC on Wikipedia] or on this [[Main Page|wiki]]. &lt;br /&gt;
&lt;br /&gt;
=== Summer of Code  ===&lt;br /&gt;
&lt;br /&gt;
If selected and developed, SoC projects for VLC will be included in later releases.&lt;br /&gt;
&lt;br /&gt;
All projects are covered by the GPL (v2+) or LGPL (v2.1+) licenses depending on the module and student wishes.  &lt;br /&gt;
&lt;br /&gt;
== Ideas ==&lt;br /&gt;
=== VLC ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Read this&#039;&#039;&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
This page is split in three lists of ideas: &lt;br /&gt;
&lt;br /&gt;
#The &#039;&#039;main ideas&#039;&#039; are what seem to be &#039;&#039;key projects&#039;&#039; for VLC and should be more &#039;&#039;thrilling&#039;&#039; than the other ones; we have assigned a potential mentor to each of these. &lt;br /&gt;
#The other ideas are less detailed but could be good ideas too. &lt;br /&gt;
#[[Mini Projects]] are short-span projects which can be given as Qualification tasks or extended to be Full Summer of Code project.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Original good ideas will be valued&#039;&#039;&#039;. Last year, half of the ideas were given by students. We don&#039;t want to impose anything. This is free and Open Source software.&lt;br /&gt;
&lt;br /&gt;
If you don&#039;t want to apply for SoC but want other ideas to develop on, check the [[Mini Projects]] page! &lt;br /&gt;
&lt;br /&gt;
And on the IRC channel, you can have even more ideas.&lt;br /&gt;
&lt;br /&gt;
== Key ideas for VLC  ==&lt;br /&gt;
&lt;br /&gt;
=== New Audio Filters  ===&lt;br /&gt;
&lt;br /&gt;
We are looking for a skilled &#039;&#039;&#039;audiophile&#039;&#039;&#039; that knows a lot about audio theory and practice: &lt;br /&gt;
&lt;br /&gt;
*to create or implement new algorithms, like SRS WoW or other 3D effects &lt;br /&gt;
*to work on channels mixing, &lt;br /&gt;
*to work on tracks mixing, &lt;br /&gt;
*to create scriptable new audio filters in lua and enable users to create whatever audio filtering function they want in a Lua script. &lt;br /&gt;
*LADSPA or other libraries integration will be interesting.&lt;br /&gt;
&lt;br /&gt;
This project needs some good audio knowledge and good C experience. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Qualification task&#039;&#039;: port any audio filter from MPlayer&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: [[User:Geal|geal]]&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Porting Audio Filters  ===&lt;br /&gt;
&lt;br /&gt;
We are looking for a skilled &#039;&#039;&#039;audiophile&#039;&#039;&#039; that knows a lot about audio theory and practice: &lt;br /&gt;
* to port open source algorithm for audio filters to VLC.&lt;br /&gt;
&lt;br /&gt;
This project needs some good audio knowledge and good C experience. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: [[User:Geal|geal]]&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
=== UPNP DLNA Server and Client  ===&lt;br /&gt;
&lt;br /&gt;
Test and fix service discovery module for UPNP/DLNA shares done by software (mediatomb, xbmc, etc) and hardware implementations.&lt;br /&gt;
&lt;br /&gt;
Provide DLNA plugin for DLNA server compliant with opensource (xbmc, djmount, etc) and proprietary (PS3, xbox360, etc) DLNA clients. Some of the work is already done by previous SoC students.&lt;br /&gt;
&lt;br /&gt;
The plugin must be smart enough to provide &amp;quot;presets&amp;quot; for known DLNA media clients with limited features (PS3 or XBOX360 for starters) which require additional quirks or hacks or items to be transcoded or streamed.&lt;br /&gt;
&lt;br /&gt;
Requires some VLC knowledge as the project will involve using Media Library (arriving in vlc 1.2) and transcoding with VLC API.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: thresh&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
=== Assembly optimizations in VLC  ===&lt;br /&gt;
&lt;br /&gt;
If you are fond of writing ASM and you are fluent in MMX/SSE2/SSE4, there are many interesting things in VLC to speed up. &lt;br /&gt;
&lt;br /&gt;
* Profiling VLC. &lt;br /&gt;
* memcpy implementations in SSE* and MMX (see modules/misc/memcpy/fastmemcpy.h) &lt;br /&gt;
* video filters ASM speedups (see modules/video_filter/blend.c) &lt;br /&gt;
* audio filters ASM speedups (see modules/audio_filter/equalizer.c) &lt;br /&gt;
* Porting other ASM video filters to VLC.&lt;br /&gt;
&lt;br /&gt;
This project needs some good ASM knowledge and good C experience. &lt;br /&gt;
&lt;br /&gt;
*Stuff to read: http://www.agner.org/optimize/&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: [[User:J-b|jb]]&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
=== VLC Android Port ===&lt;br /&gt;
&lt;br /&gt;
Improve the current VLC for [http://git.videolan.org/?p=vlc/vlc-ports/android.git;a=summary Android].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentors: ?&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== VLC Test Suite  ===&lt;br /&gt;
&lt;br /&gt;
This project aims at making automatic tests to improve VLC quality. &lt;br /&gt;
&lt;br /&gt;
*Write a series of tests for vlc-internal &lt;br /&gt;
*Integrate a framework for automated plugins testing with the automake build system &lt;br /&gt;
*Automate the different codec playback/mux/etc tests &lt;br /&gt;
*Automate the subtitles tests &lt;br /&gt;
*Write tests for the different bindings: Mac OS X Framework/Python Bindings... etc.&lt;br /&gt;
&lt;br /&gt;
This project is a code project, require good knowledge of C &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: Rémi&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
=== VLC Personal Cloud Project 2.0  ===&lt;br /&gt;
&lt;br /&gt;
The personal cloud project is a simple project to allow people to play their media files anywhere in the world. &lt;br /&gt;
&lt;br /&gt;
Through the http interface of VLC, a user can: &lt;br /&gt;
&lt;br /&gt;
*list the medias from the Media Library, &lt;br /&gt;
*play those medias, &lt;br /&gt;
*those medias get transcoded and streamed in: &lt;br /&gt;
**Flash &lt;br /&gt;
**Silverlight &lt;br /&gt;
**iPhone format &lt;br /&gt;
**Android format &lt;br /&gt;
**html5 &lt;br /&gt;
**A VLC webplugin&lt;br /&gt;
&lt;br /&gt;
A good example of the aim is http://www.vodobox.c.la/ &lt;br /&gt;
&lt;br /&gt;
This project has to work on the configuration and NAT traversal. &lt;br /&gt;
&lt;br /&gt;
This projects needs knowledge in HTML and JS; it might require C coding. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: jb&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
=== Playlist improvements ===&lt;br /&gt;
&lt;br /&gt;
We need to reinforce the media library capabilities and its integration with external metadata sources, notably for TV shows.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: jetru&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== AirPlay streaming ===&lt;br /&gt;
&lt;br /&gt;
We need to be able to stream everything to your Apple TV.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Proposed mentor&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Other Ideas for VLC  ==&lt;br /&gt;
&lt;br /&gt;
=== Improve messages display ===&lt;br /&gt;
When VLC has a problem opening or playing files it shows a messages window on top of the player with the error. This can be annoying if the screen is being controlled remotely as the user has to manually dismiss the message. There are various ways this could be improved:&lt;br /&gt;
#Update UI so that messages window will auto-dismiss after x seconds unless it is clicked on (this could be optional behaviour). Clicking on the window would cancel the countdown. If the window was selected from the menu, it would not auto-dismiss.&lt;br /&gt;
#Mac OS: Display messages using notification system (if available). Clicking on the notification would open the messages window.&lt;br /&gt;
&#039;&#039;Suggested by : Confused Vorlon.  Proposed mentor: ?&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== WTV support ===&lt;br /&gt;
Wtv format support&lt;br /&gt;
&#039;&#039;Proposed mentor: Laurent&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== DVD audio support ===&lt;br /&gt;
Very difficult project for Audio fans&lt;br /&gt;
&#039;&#039;Proposed mentor: jb&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Device synchronisation===&lt;br /&gt;
Sync your mp3 player with the media library&lt;br /&gt;
&#039;&#039;Proposed mentor: jetru&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== HD DVD support ===&lt;br /&gt;
Very difficult project for someone having the right hardware&lt;br /&gt;
&#039;&#039;Proposed mentor: jb&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Multi-Angle DVD support ===&lt;br /&gt;
We need multi-angle DVD support&lt;br /&gt;
&#039;&#039;Proposed mentor: Meuuh&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== VLM UI for the Mac OS X interface ===&lt;br /&gt;
Implement an easy-to-use, yet customizable and complete UI for the VideoLAN Media Manager, which allows VLC to stream multiple unicast, multicast and Video-on-Demand streams within a single instance.&lt;br /&gt;
You will need a Mac running OS X 10.6 or later and Cocoa programming experience. A basic understanding of media streams is definitely preferable.&lt;br /&gt;
Note that this task is too small for an entire summer and should be combined with another topic.&lt;br /&gt;
&#039;&#039;Proposed mentor: feepk&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Ideas for VLMC  ==&lt;br /&gt;
&lt;br /&gt;
=== VLMC port fixes ===&lt;br /&gt;
Fix VLMC building and basic features for Mac OSX, Windows and GNU/Linux. The present code is not in sync with current libvlc, for example it has build failures in some cases and vout is broken on OSX. It&#039;s been more than two years since last VLMC release. The task is to fix major blockers and help release version:&lt;br /&gt;
&lt;br /&gt;
- Understand the code, learn about the community and get started (proposed time: 2-3 weeks)&lt;br /&gt;
- Fix build system and port specific issues on OSX and GNU/Linux (and Windows as well) (proposed time: 2-3 weeks)&lt;br /&gt;
- Fix vout and aout issues for both project and preview rendering (proposed time: 2 weeks)&lt;br /&gt;
- Fix blockers for video editing workflow: importing, editing, applying effects (basic ones), project management, saving/reading projects, exporting video as file and to YouTube (proposed time: rest of the time)&lt;br /&gt;
&#039;&#039;Proposed mentor: bhaisaab&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{{GSoC}}&lt;/div&gt;</summary>
		<author><name>ConfusedVorlon</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=MacOSCompile&amp;diff=22482</id>
		<title>MacOSCompile</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=MacOSCompile&amp;diff=22482"/>
		<updated>2012-04-06T13:29:40Z</updated>

		<summary type="html">&lt;p&gt;ConfusedVorlon: /* added xcode select */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is an &#039;&#039;&#039;howto&#039;&#039;&#039; to compile {{VLC}} on &#039;&#039;Mac OS X&#039;&#039;, focused on &#039;&#039;&#039;VLC 2.0&#039;&#039;&#039; and newer. &lt;br /&gt;
&lt;br /&gt;
= Pre-requisites  =&lt;br /&gt;
&lt;br /&gt;
=== Apple Software ===&lt;br /&gt;
&lt;br /&gt;
*You need at least MacOSX 10.5. &#039;&#039;&#039;10.6&#039;&#039;&#039;, &#039;&#039;&#039;Snow Leopard&#039;&#039;&#039; or later is strongly recommended, though. &lt;br /&gt;
*&#039;&#039;&#039;Developer Tools from Apple&#039;&#039;&#039; from http://developer.apple.com/technology/xcode.html&amp;lt;br&amp;gt; Both &#039;&#039;Xcode3&#039;&#039; and &#039;&#039;Xcode4&#039;&#039; should be fine. &amp;lt;br /&amp;gt;Note: If using [https://developer.apple.com/library/mac/#documentation/DeveloperTools/Conceptual/WhatsNewXcode/Articles/xcode_4_3.html Xcode 4.3] or later, the command line tools must be installed manually through preferences. Additionally, [https://trac.videolan.org/vlc/ticket/6305 Xcode 4.3 will require changes to VLC&#039;s build system] which are currently pending and may require patching until resolved.&lt;br /&gt;
&lt;br /&gt;
=== GCC 4.2 on Xcode 4.2 or above  ===&lt;br /&gt;
&lt;br /&gt;
If you are on Xcode 4.2 or above with no previous Xcode installation, you probably &#039;&#039;&#039;NEED&#039;&#039;&#039; gcc-4.2 that isn&#039;t installed anymore. &lt;br /&gt;
&lt;br /&gt;
Please install it from [https://github.com/kennethreitz/osx-gcc-installer/downloads OSX-GCC installer]. &lt;br /&gt;
&lt;br /&gt;
 $ gcc-4.2 --version&lt;br /&gt;
&lt;br /&gt;
=== Xcode select on Xcode 4.3  ===&lt;br /&gt;
&lt;br /&gt;
If you are on Xcode 4.3 with no previous Xcode installation , you probably need to run xcode select to point to your xcode developer directory.&lt;br /&gt;
&lt;br /&gt;
$ xcrun clang&lt;br /&gt;
&lt;br /&gt;
If this outputs &#039;Error: No developer directory...&#039;, then use xcode-select to select the developer directory within the Xcode package.&lt;br /&gt;
&lt;br /&gt;
something like:&lt;br /&gt;
&lt;br /&gt;
$ sudo /usr/bin/xcode-select -switch /Applications/Xcode.app/Contents/Developer  &lt;br /&gt;
&lt;br /&gt;
=== Git  ===&lt;br /&gt;
&lt;br /&gt;
If you have XCode 4, Git is already installed&lt;br /&gt;
You just need to point your Terminal to it:&lt;br /&gt;
&lt;br /&gt;
 $ export PATH=/Developer/usr/bin:$PATH&lt;br /&gt;
&lt;br /&gt;
If you have Xcode 3, [http://git-scm.com/ get Git from their website].&lt;br /&gt;
&lt;br /&gt;
= [[GetTheSource|Get the source code]]  =&lt;br /&gt;
&lt;br /&gt;
  $ git clone git://git.videolan.org/vlc.git&lt;br /&gt;
&lt;br /&gt;
= Build VLC with a single command  =&lt;br /&gt;
&lt;br /&gt;
Setup a build folder:&lt;br /&gt;
  $ cd vlc &amp;amp;&amp;amp; mkdir build &amp;amp;&amp;amp; cd build&lt;br /&gt;
&lt;br /&gt;
And run the build:&lt;br /&gt;
  $ ../extras/package/macosx/build.sh&lt;br /&gt;
&lt;br /&gt;
Wait and you are finished&lt;br /&gt;
&lt;br /&gt;
You can see more options for this build (change arch or sdk):&lt;br /&gt;
  $ ../extras/package/macosx/build.sh -h&lt;br /&gt;
&lt;br /&gt;
= Build steps =&lt;br /&gt;
Now, if you prefer, you can read the following detailed information on how the build internally works:&lt;br /&gt;
&lt;br /&gt;
== Additional development tools  ==&lt;br /&gt;
&lt;br /&gt;
You need development tools, notably all the autotools, to build VLC correctly.&lt;br /&gt;
 &lt;br /&gt;
Here is how:&lt;br /&gt;
 $ cd vlc/extras/tools&lt;br /&gt;
 $ ./bootstrap &amp;amp;&amp;amp; make&lt;br /&gt;
 $ cd ../..&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Important&#039;&#039;&#039;: set the new PATH.&lt;br /&gt;
 $ export PATH=$PWD/extras/tools/build/bin:$PATH&lt;br /&gt;
&lt;br /&gt;
== SDK selection and 32/64 bits  ==&lt;br /&gt;
&lt;br /&gt;
=== SDK selection ===&lt;br /&gt;
&lt;br /&gt;
If you want to use the 10.6 SDK (your VLC will only run on 10.6 and more recent computers): &lt;br /&gt;
&lt;br /&gt;
 $ export OSX_VERSION=10.6&lt;br /&gt;
&lt;br /&gt;
You can do the same for &#039;&#039;&#039;10.5&#039;&#039;&#039;, but please check that you have &#039;&#039;MacOSX10.5.sdk&#039;&#039; installed in &#039;&#039;/Developer/SDKs/&#039;&#039; . If you are using Xcode 4.2, you can [http://stackoverflow.com/a/6293605 install the 10.5 sdk] with the .dmg from Xcode3. &lt;br /&gt;
&lt;br /&gt;
=== 32/64bits selection  ===&lt;br /&gt;
&lt;br /&gt;
The instructions below will build a 64 bits binary using 10.6 (Snow Leopard) SDK. This is reflected by using host and build variables &#039;&#039;&#039;x86_64-apple-darwin10&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
This &amp;quot;triplet&amp;quot; is ARCHITECTURE-apple-SYSTEM. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ARCHITECTURE&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
*&amp;lt;code&amp;gt;x86_64&amp;lt;/code&amp;gt; represents Intel 64bits. &lt;br /&gt;
*&amp;lt;code&amp;gt;i686&amp;lt;/code&amp;gt; represents Intel 32bits. &lt;br /&gt;
*&amp;lt;code&amp;gt;powerpc&amp;lt;/code&amp;gt; represents PowerPC 32bits.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;SDK SYSTEM&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
*&amp;lt;code&amp;gt;darwin9&amp;lt;/code&amp;gt; represents MacOSX 10.5. &lt;br /&gt;
*&amp;lt;code&amp;gt;darwin10&amp;lt;/code&amp;gt; represents MacOSX 10.6.&lt;br /&gt;
&lt;br /&gt;
So to make a PowerPC build, you would use &#039;&#039;&#039;powerpc-apple-darwin9&#039;&#039;&#039;. So to make a intel32 build for 10.5+, you would use &#039;&#039;&#039;i686-apple-darwin9&#039;&#039;&#039;. So to make a intel64 build for 10.6+, you would use &#039;&#039;&#039;x86_64-apple-darwin10&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
== Prepare [[Contrib Status|3rd party libraries]]  ==&lt;br /&gt;
&lt;br /&gt;
Before compiling VLC, you need lots of other libraries. Here is how to get them: &lt;br /&gt;
&lt;br /&gt;
  $ cd contrib&lt;br /&gt;
  $ mkdir -p osx &amp;amp;amp;&amp;amp;amp; cd osx&lt;br /&gt;
  $ ../bootstrap --host=x86_64-apple-darwin10 --build=x86_64-apple-darwin10&lt;br /&gt;
&lt;br /&gt;
=== Prebuilt libraries (recommended) ===&lt;br /&gt;
&lt;br /&gt;
If you want to download a prebuilt package of all the needed libraries. &lt;br /&gt;
&lt;br /&gt;
  $ make prebuilt&lt;br /&gt;
&lt;br /&gt;
And then skip to [[OSXCompile#Bootstrap_VLC|bootstrap section of this page]].&lt;br /&gt;
&lt;br /&gt;
=== Build your own libraries (not for the faint-hearted) ===&lt;br /&gt;
&lt;br /&gt;
If you want to build from source a package in the contribs: &lt;br /&gt;
&lt;br /&gt;
  $ make -j4 .gettext&lt;br /&gt;
  $ export PATH=$PWD/../x86_64-apple-darwin10/bin:$PATH&lt;br /&gt;
&lt;br /&gt;
Then: &lt;br /&gt;
&lt;br /&gt;
  $ make -j4&lt;br /&gt;
&lt;br /&gt;
If you had no errors, the 3rd party libraries (contrib) are built correctly and you can proceed to the next step.&lt;br /&gt;
&lt;br /&gt;
=== Go Back  ===&lt;br /&gt;
&lt;br /&gt;
Go back to the VLC source directory: &lt;br /&gt;
&lt;br /&gt;
  $ cd ../..&lt;br /&gt;
&lt;br /&gt;
== Bootstrap VLC  ==&lt;br /&gt;
&lt;br /&gt;
This will create the configure script: &lt;br /&gt;
&lt;br /&gt;
  $ ./bootstrap&lt;br /&gt;
&lt;br /&gt;
== Configure the VLC build  ==&lt;br /&gt;
&lt;br /&gt;
Create a build folder: &lt;br /&gt;
&lt;br /&gt;
  $ mkdir -p build &amp;amp;amp;&amp;amp;amp; cd build&lt;br /&gt;
&lt;br /&gt;
To list the different options of configure: &lt;br /&gt;
&lt;br /&gt;
  $ ../extras/package/macosx/configure.sh --help&lt;br /&gt;
&lt;br /&gt;
To build a 64 bits binary: &lt;br /&gt;
&lt;br /&gt;
  $ ../extras/package/macosx/configure.sh --enable-debug --host=x86_64-apple-darwin10 --build=x86_64-apple-darwin10&lt;br /&gt;
&lt;br /&gt;
== Build VLC  ==&lt;br /&gt;
&lt;br /&gt;
Just do:&lt;br /&gt;
  $ make -j4&lt;br /&gt;
&lt;br /&gt;
and wait...&lt;br /&gt;
&lt;br /&gt;
== Package VLC Application for Mac  ==&lt;br /&gt;
&lt;br /&gt;
If you want to share the application with another user or another computer: &lt;br /&gt;
&lt;br /&gt;
  $ make VLC.app&lt;br /&gt;
&lt;br /&gt;
If you want a disk-image: &lt;br /&gt;
&lt;br /&gt;
  $ make package-macosx&lt;br /&gt;
&lt;br /&gt;
Respectively &amp;lt;code&amp;gt;make package-macosx-plugin&amp;lt;/code&amp;gt; for the Safari/Mozilla plugin.&lt;br /&gt;
&lt;br /&gt;
= What&#039;s wrong: troubleshooting  =&lt;br /&gt;
&lt;br /&gt;
=== Xcode path  ===&lt;br /&gt;
&lt;br /&gt;
Starting with Leopard, Xcode may be installed to a custom location on the administrator&#039;s choice. While this is non-problematic for ordinary Xcode projects, VLC needs a little help. You have to place extra symbolic links in /Developer pointing to your custom location for these folders: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;usr, Headers, Private, SDKs, Tools, Makefiles&amp;lt;/code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
You can easily create these links by executing the following command for each folder (whereas theFolder is one of these six): &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;ln -s /full/path/to/Developer/theFolder /Developer/theFolder&amp;lt;/code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
=== Xcode version  ===&lt;br /&gt;
&lt;br /&gt;
Please make sure that you are using the latest Xcode3 or the latest version of Xcode4 to compile VLC &lt;br /&gt;
&lt;br /&gt;
=== 3rd party packagers and PATH  ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Pay careful attention to remove any reference to 3rd party package managersfrom your environment.&#039;&#039;&#039; This is important to avoid conflicts between your package manager (homebrew, fink, macports...) and the contrib package manager we use to build our contrib. &lt;br /&gt;
&lt;br /&gt;
It shouldn&#039;t be necessary, but it can happen. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;git must still be accessible though!&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
 $ unset PKG_CONFIG_PATH&lt;br /&gt;
 $ unset PKG_CONFIG_LIBDIR&lt;br /&gt;
 $ export PATH=$PWD/build/bin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin&lt;br /&gt;
&lt;br /&gt;
=== QTsound compilation on X.5  ===&lt;br /&gt;
&lt;br /&gt;
MacOS X.5.SDK is broken - 2 options exist:&lt;br /&gt;
&lt;br /&gt;
Option 1:&lt;br /&gt;
&lt;br /&gt;
*Download the MacOS10.6.sdk and get QTCaptureDecompressedAudioOutput.h from &#039;&#039;/Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/QTKit.framework/Headers/&#039;&#039; and move it to &#039;&#039;/Developer/SDKs/MacOSX10.5.sdk/System/Library/Frameworks/QTKit.framework/Headers/&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*Edit &#039;&#039;/Developer/SDKs/MacOSX10.5.sdk/System/Library/Frameworks/QTKit.framework/Headers/QTKit.h&#039;&#039; and add the&lt;br /&gt;
&lt;br /&gt;
 #import &amp;amp;lt;QTKit/QTCaptureDecompressedAudioOutput.h&amp;amp;gt; where needed.&lt;br /&gt;
&lt;br /&gt;
Option 2:&lt;br /&gt;
&lt;br /&gt;
*Configure the VLC build to explicitly use the MacOS10.6.sdk by adding the following flag:&lt;br /&gt;
 --with-macosx-sdk=/Developer/SDKs/MacOSX10.6.sdk&lt;br /&gt;
&lt;br /&gt;
=== Cross-Compilation to PPC from X.6 intel ===&lt;br /&gt;
If you want to compile VLC for PPC, based on a X.6 intel, you need to tweak a few things since Apple broke it.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;This is VERY advanced stuff!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Pre-requisites ====&lt;br /&gt;
Be sure to:&lt;br /&gt;
* have X.6.8&lt;br /&gt;
* Xcode 4.2 installed in the normal &#039;&#039;/Developers&#039;&#039; location&lt;br /&gt;
* Xcode 3 installed in &#039;&#039;/Xcode3&#039;&#039; location&lt;br /&gt;
* MacOS X.6 and X.5 SDK installed in &#039;&#039;/Developers/SDKs/&#039;&#039; , as explained above (SDK selection).&lt;br /&gt;
&lt;br /&gt;
==== GNU AS ====&lt;br /&gt;
Using this out of the box will not work because &#039;&#039;&#039;AS&#039;&#039;&#039; for ppc is broken on the default setup. Here is how to fix it:&lt;br /&gt;
 cd /usr/libexec/as&lt;br /&gt;
 sudo mkdir ppc&lt;br /&gt;
 cd ppc&lt;br /&gt;
 sudo ln -sf /Xcode3/usr/bin/as as&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Building]] [[Category:Coding]]&lt;/div&gt;</summary>
		<author><name>ConfusedVorlon</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=MacOSCompile&amp;diff=22481</id>
		<title>MacOSCompile</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=MacOSCompile&amp;diff=22481"/>
		<updated>2012-04-06T13:07:19Z</updated>

		<summary type="html">&lt;p&gt;ConfusedVorlon: /* GCC 4.2 on Xcode 4.3 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is an &#039;&#039;&#039;howto&#039;&#039;&#039; to compile {{VLC}} on &#039;&#039;Mac OS X&#039;&#039;, focused on &#039;&#039;&#039;VLC 2.0&#039;&#039;&#039; and newer. &lt;br /&gt;
&lt;br /&gt;
= Pre-requisites  =&lt;br /&gt;
&lt;br /&gt;
=== Apple Software ===&lt;br /&gt;
&lt;br /&gt;
*You need at least MacOSX 10.5. &#039;&#039;&#039;10.6&#039;&#039;&#039;, &#039;&#039;&#039;Snow Leopard&#039;&#039;&#039; or later is strongly recommended, though. &lt;br /&gt;
*&#039;&#039;&#039;Developer Tools from Apple&#039;&#039;&#039; from http://developer.apple.com/technology/xcode.html&amp;lt;br&amp;gt; Both &#039;&#039;Xcode3&#039;&#039; and &#039;&#039;Xcode4&#039;&#039; should be fine. &amp;lt;br /&amp;gt;Note: If using [https://developer.apple.com/library/mac/#documentation/DeveloperTools/Conceptual/WhatsNewXcode/Articles/xcode_4_3.html Xcode 4.3] or later, the command line tools must be installed manually through preferences. Additionally, [https://trac.videolan.org/vlc/ticket/6305 Xcode 4.3 will require changes to VLC&#039;s build system] which are currently pending and may require patching until resolved.&lt;br /&gt;
&lt;br /&gt;
=== GCC 4.2 on Xcode 4.2 or above  ===&lt;br /&gt;
&lt;br /&gt;
If you are on Xcode 4.2 or above with no previous Xcode installation, you probably &#039;&#039;&#039;NEED&#039;&#039;&#039; gcc-4.2 that isn&#039;t installed anymore. &lt;br /&gt;
&lt;br /&gt;
Please install it from [https://github.com/kennethreitz/osx-gcc-installer/downloads OSX-GCC installer]. &lt;br /&gt;
&lt;br /&gt;
 $ gcc-4.2 --version&lt;br /&gt;
&lt;br /&gt;
=== Git  ===&lt;br /&gt;
&lt;br /&gt;
If you have XCode 4, Git is already installed&lt;br /&gt;
You just need to point your Terminal to it:&lt;br /&gt;
&lt;br /&gt;
 $ export PATH=/Developer/usr/bin:$PATH&lt;br /&gt;
&lt;br /&gt;
If you have Xcode 3, [http://git-scm.com/ get Git from their website].&lt;br /&gt;
&lt;br /&gt;
= [[GetTheSource|Get the source code]]  =&lt;br /&gt;
&lt;br /&gt;
  $ git clone git://git.videolan.org/vlc.git&lt;br /&gt;
&lt;br /&gt;
= Build VLC with a single command  =&lt;br /&gt;
&lt;br /&gt;
Setup a build folder:&lt;br /&gt;
  $ cd vlc &amp;amp;&amp;amp; mkdir build &amp;amp;&amp;amp; cd build&lt;br /&gt;
&lt;br /&gt;
And run the build:&lt;br /&gt;
  $ ../extras/package/macosx/build.sh&lt;br /&gt;
&lt;br /&gt;
Wait and you are finished&lt;br /&gt;
&lt;br /&gt;
You can see more options for this build (change arch or sdk):&lt;br /&gt;
  $ ../extras/package/macosx/build.sh -h&lt;br /&gt;
&lt;br /&gt;
= Build steps =&lt;br /&gt;
Now, if you prefer, you can read the following detailed information on how the build internally works:&lt;br /&gt;
&lt;br /&gt;
== Additional development tools  ==&lt;br /&gt;
&lt;br /&gt;
You need development tools, notably all the autotools, to build VLC correctly.&lt;br /&gt;
 &lt;br /&gt;
Here is how:&lt;br /&gt;
 $ cd vlc/extras/tools&lt;br /&gt;
 $ ./bootstrap &amp;amp;&amp;amp; make&lt;br /&gt;
 $ cd ../..&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Important&#039;&#039;&#039;: set the new PATH.&lt;br /&gt;
 $ export PATH=$PWD/extras/tools/build/bin:$PATH&lt;br /&gt;
&lt;br /&gt;
== SDK selection and 32/64 bits  ==&lt;br /&gt;
&lt;br /&gt;
=== SDK selection ===&lt;br /&gt;
&lt;br /&gt;
If you want to use the 10.6 SDK (your VLC will only run on 10.6 and more recent computers): &lt;br /&gt;
&lt;br /&gt;
 $ export OSX_VERSION=10.6&lt;br /&gt;
&lt;br /&gt;
You can do the same for &#039;&#039;&#039;10.5&#039;&#039;&#039;, but please check that you have &#039;&#039;MacOSX10.5.sdk&#039;&#039; installed in &#039;&#039;/Developer/SDKs/&#039;&#039; . If you are using Xcode 4.2, you can [http://stackoverflow.com/a/6293605 install the 10.5 sdk] with the .dmg from Xcode3. &lt;br /&gt;
&lt;br /&gt;
=== 32/64bits selection  ===&lt;br /&gt;
&lt;br /&gt;
The instructions below will build a 64 bits binary using 10.6 (Snow Leopard) SDK. This is reflected by using host and build variables &#039;&#039;&#039;x86_64-apple-darwin10&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
This &amp;quot;triplet&amp;quot; is ARCHITECTURE-apple-SYSTEM. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ARCHITECTURE&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
*&amp;lt;code&amp;gt;x86_64&amp;lt;/code&amp;gt; represents Intel 64bits. &lt;br /&gt;
*&amp;lt;code&amp;gt;i686&amp;lt;/code&amp;gt; represents Intel 32bits. &lt;br /&gt;
*&amp;lt;code&amp;gt;powerpc&amp;lt;/code&amp;gt; represents PowerPC 32bits.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;SDK SYSTEM&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
*&amp;lt;code&amp;gt;darwin9&amp;lt;/code&amp;gt; represents MacOSX 10.5. &lt;br /&gt;
*&amp;lt;code&amp;gt;darwin10&amp;lt;/code&amp;gt; represents MacOSX 10.6.&lt;br /&gt;
&lt;br /&gt;
So to make a PowerPC build, you would use &#039;&#039;&#039;powerpc-apple-darwin9&#039;&#039;&#039;. So to make a intel32 build for 10.5+, you would use &#039;&#039;&#039;i686-apple-darwin9&#039;&#039;&#039;. So to make a intel64 build for 10.6+, you would use &#039;&#039;&#039;x86_64-apple-darwin10&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
== Prepare [[Contrib Status|3rd party libraries]]  ==&lt;br /&gt;
&lt;br /&gt;
Before compiling VLC, you need lots of other libraries. Here is how to get them: &lt;br /&gt;
&lt;br /&gt;
  $ cd contrib&lt;br /&gt;
  $ mkdir -p osx &amp;amp;amp;&amp;amp;amp; cd osx&lt;br /&gt;
  $ ../bootstrap --host=x86_64-apple-darwin10 --build=x86_64-apple-darwin10&lt;br /&gt;
&lt;br /&gt;
=== Prebuilt libraries (recommended) ===&lt;br /&gt;
&lt;br /&gt;
If you want to download a prebuilt package of all the needed libraries. &lt;br /&gt;
&lt;br /&gt;
  $ make prebuilt&lt;br /&gt;
&lt;br /&gt;
And then skip to [[OSXCompile#Bootstrap_VLC|bootstrap section of this page]].&lt;br /&gt;
&lt;br /&gt;
=== Build your own libraries (not for the faint-hearted) ===&lt;br /&gt;
&lt;br /&gt;
If you want to build from source a package in the contribs: &lt;br /&gt;
&lt;br /&gt;
  $ make -j4 .gettext&lt;br /&gt;
  $ export PATH=$PWD/../x86_64-apple-darwin10/bin:$PATH&lt;br /&gt;
&lt;br /&gt;
Then: &lt;br /&gt;
&lt;br /&gt;
  $ make -j4&lt;br /&gt;
&lt;br /&gt;
If you had no errors, the 3rd party libraries (contrib) are built correctly and you can proceed to the next step.&lt;br /&gt;
&lt;br /&gt;
=== Go Back  ===&lt;br /&gt;
&lt;br /&gt;
Go back to the VLC source directory: &lt;br /&gt;
&lt;br /&gt;
  $ cd ../..&lt;br /&gt;
&lt;br /&gt;
== Bootstrap VLC  ==&lt;br /&gt;
&lt;br /&gt;
This will create the configure script: &lt;br /&gt;
&lt;br /&gt;
  $ ./bootstrap&lt;br /&gt;
&lt;br /&gt;
== Configure the VLC build  ==&lt;br /&gt;
&lt;br /&gt;
Create a build folder: &lt;br /&gt;
&lt;br /&gt;
  $ mkdir -p build &amp;amp;amp;&amp;amp;amp; cd build&lt;br /&gt;
&lt;br /&gt;
To list the different options of configure: &lt;br /&gt;
&lt;br /&gt;
  $ ../extras/package/macosx/configure.sh --help&lt;br /&gt;
&lt;br /&gt;
To build a 64 bits binary: &lt;br /&gt;
&lt;br /&gt;
  $ ../extras/package/macosx/configure.sh --enable-debug --host=x86_64-apple-darwin10 --build=x86_64-apple-darwin10&lt;br /&gt;
&lt;br /&gt;
== Build VLC  ==&lt;br /&gt;
&lt;br /&gt;
Just do:&lt;br /&gt;
  $ make -j4&lt;br /&gt;
&lt;br /&gt;
and wait...&lt;br /&gt;
&lt;br /&gt;
== Package VLC Application for Mac  ==&lt;br /&gt;
&lt;br /&gt;
If you want to share the application with another user or another computer: &lt;br /&gt;
&lt;br /&gt;
  $ make VLC.app&lt;br /&gt;
&lt;br /&gt;
If you want a disk-image: &lt;br /&gt;
&lt;br /&gt;
  $ make package-macosx&lt;br /&gt;
&lt;br /&gt;
Respectively &amp;lt;code&amp;gt;make package-macosx-plugin&amp;lt;/code&amp;gt; for the Safari/Mozilla plugin.&lt;br /&gt;
&lt;br /&gt;
= What&#039;s wrong: troubleshooting  =&lt;br /&gt;
&lt;br /&gt;
=== Xcode path  ===&lt;br /&gt;
&lt;br /&gt;
Starting with Leopard, Xcode may be installed to a custom location on the administrator&#039;s choice. While this is non-problematic for ordinary Xcode projects, VLC needs a little help. You have to place extra symbolic links in /Developer pointing to your custom location for these folders: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;usr, Headers, Private, SDKs, Tools, Makefiles&amp;lt;/code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
You can easily create these links by executing the following command for each folder (whereas theFolder is one of these six): &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;ln -s /full/path/to/Developer/theFolder /Developer/theFolder&amp;lt;/code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
=== Xcode version  ===&lt;br /&gt;
&lt;br /&gt;
Please make sure that you are using the latest Xcode3 or the latest version of Xcode4 to compile VLC &lt;br /&gt;
&lt;br /&gt;
=== 3rd party packagers and PATH  ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Pay careful attention to remove any reference to 3rd party package managersfrom your environment.&#039;&#039;&#039; This is important to avoid conflicts between your package manager (homebrew, fink, macports...) and the contrib package manager we use to build our contrib. &lt;br /&gt;
&lt;br /&gt;
It shouldn&#039;t be necessary, but it can happen. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;git must still be accessible though!&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
 $ unset PKG_CONFIG_PATH&lt;br /&gt;
 $ unset PKG_CONFIG_LIBDIR&lt;br /&gt;
 $ export PATH=$PWD/build/bin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin&lt;br /&gt;
&lt;br /&gt;
=== QTsound compilation on X.5  ===&lt;br /&gt;
&lt;br /&gt;
MacOS X.5.SDK is broken - 2 options exist:&lt;br /&gt;
&lt;br /&gt;
Option 1:&lt;br /&gt;
&lt;br /&gt;
*Download the MacOS10.6.sdk and get QTCaptureDecompressedAudioOutput.h from &#039;&#039;/Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/QTKit.framework/Headers/&#039;&#039; and move it to &#039;&#039;/Developer/SDKs/MacOSX10.5.sdk/System/Library/Frameworks/QTKit.framework/Headers/&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*Edit &#039;&#039;/Developer/SDKs/MacOSX10.5.sdk/System/Library/Frameworks/QTKit.framework/Headers/QTKit.h&#039;&#039; and add the&lt;br /&gt;
&lt;br /&gt;
 #import &amp;amp;lt;QTKit/QTCaptureDecompressedAudioOutput.h&amp;amp;gt; where needed.&lt;br /&gt;
&lt;br /&gt;
Option 2:&lt;br /&gt;
&lt;br /&gt;
*Configure the VLC build to explicitly use the MacOS10.6.sdk by adding the following flag:&lt;br /&gt;
 --with-macosx-sdk=/Developer/SDKs/MacOSX10.6.sdk&lt;br /&gt;
&lt;br /&gt;
=== Cross-Compilation to PPC from X.6 intel ===&lt;br /&gt;
If you want to compile VLC for PPC, based on a X.6 intel, you need to tweak a few things since Apple broke it.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;This is VERY advanced stuff!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Pre-requisites ====&lt;br /&gt;
Be sure to:&lt;br /&gt;
* have X.6.8&lt;br /&gt;
* Xcode 4.2 installed in the normal &#039;&#039;/Developers&#039;&#039; location&lt;br /&gt;
* Xcode 3 installed in &#039;&#039;/Xcode3&#039;&#039; location&lt;br /&gt;
* MacOS X.6 and X.5 SDK installed in &#039;&#039;/Developers/SDKs/&#039;&#039; , as explained above (SDK selection).&lt;br /&gt;
&lt;br /&gt;
==== GNU AS ====&lt;br /&gt;
Using this out of the box will not work because &#039;&#039;&#039;AS&#039;&#039;&#039; for ppc is broken on the default setup. Here is how to fix it:&lt;br /&gt;
 cd /usr/libexec/as&lt;br /&gt;
 sudo mkdir ppc&lt;br /&gt;
 cd ppc&lt;br /&gt;
 sudo ln -sf /Xcode3/usr/bin/as as&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Building]] [[Category:Coding]]&lt;/div&gt;</summary>
		<author><name>ConfusedVorlon</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=SoC_2011/Web_Interface_Improvements&amp;diff=19422</id>
		<title>SoC 2011/Web Interface Improvements</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=SoC_2011/Web_Interface_Improvements&amp;diff=19422"/>
		<updated>2011-07-07T14:54:20Z</updated>

		<summary type="html">&lt;p&gt;ConfusedVorlon: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{SoCProject|year=2011|student=[[User:Akashm1990|Akash Mehrotra]]|mentor=confusedvorlon}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
== Abstract  ==&lt;br /&gt;
&lt;br /&gt;
The primary aim of this project is to improve upon the luahttp interface and to add functions which are currently missing in the luahttp interface as compared to the qt interface.&lt;br /&gt;
An additional aim is to redesign the http frontend and to create a lightweight http frontend for mobile devices.&lt;br /&gt;
&lt;br /&gt;
== Tentative list of improvements ==&lt;br /&gt;
&lt;br /&gt;
*enable playlist re-ordering&lt;br /&gt;
*enable selection of a subtitle file (by path)&lt;br /&gt;
*add &#039;unminimise&#039; command to the fullscreen command&lt;br /&gt;
*add ability to control picture controls (brightness, contrast, etc)&lt;br /&gt;
*allow user to get drives list on windows&lt;br /&gt;
&lt;br /&gt;
===in progress===&lt;br /&gt;
&lt;br /&gt;
*enable access to the graphical equaliser &lt;br /&gt;
&lt;br /&gt;
===done===&lt;br /&gt;
&lt;br /&gt;
*speed control&lt;br /&gt;
*subtitle delay control&lt;br /&gt;
*audio delay control&lt;br /&gt;
*get the album art working(working already in luahttp)&lt;br /&gt;
*implement pl_delete on luahttp&lt;br /&gt;
&lt;br /&gt;
== Suggestions for possible incorporation ==&lt;br /&gt;
&lt;br /&gt;
-I&#039;m adding this section as a place to store ideas that we might incorporate into the project, but which are still at the discussion stage.&lt;br /&gt;
&lt;br /&gt;
* create status.json and playlist.json - update: in progress by CV&lt;br /&gt;
* update web interface pages to request and use json requests - update: probably not relevant with new interface by elminster&lt;br /&gt;
* use bonjour to advertise when http interface is live&lt;br /&gt;
* expose aspect ratio&lt;br /&gt;
* expose dvd info (chapter title)&lt;/div&gt;</summary>
		<author><name>ConfusedVorlon</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=SoC_2011/Web_Interface_Improvements&amp;diff=19410</id>
		<title>SoC 2011/Web Interface Improvements</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=SoC_2011/Web_Interface_Improvements&amp;diff=19410"/>
		<updated>2011-07-03T17:15:04Z</updated>

		<summary type="html">&lt;p&gt;ConfusedVorlon: /* Suggestions for possible incorporation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{SoCProject|year=2011|student=[[User:Akashm1990|Akash Mehrotra]]|mentor=confusedvorlon}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
== Abstract  ==&lt;br /&gt;
&lt;br /&gt;
The primary aim of this project is to improve upon the luahttp interface and to add functions which are currently missing in the luahttp interface as compared to the qt interface.&lt;br /&gt;
An additional aim is to redesign the http frontend and to create a lightweight http frontend for mobile devices.&lt;br /&gt;
&lt;br /&gt;
== Tentative list of improvements ==&lt;br /&gt;
&lt;br /&gt;
*enable playlist re-ordering&lt;br /&gt;
*enable selection of a subtitle file (by path)&lt;br /&gt;
*add &#039;unminimise&#039; command to the fullscreen command&lt;br /&gt;
*add ability to control picture controls (brightness, contrast, etc)&lt;br /&gt;
*allow user to get drives list on windows&lt;br /&gt;
&lt;br /&gt;
===in progress===&lt;br /&gt;
&lt;br /&gt;
*enable access to the graphical equaliser &lt;br /&gt;
*implement pl_delete on luahttp&lt;br /&gt;
&lt;br /&gt;
===done===&lt;br /&gt;
&lt;br /&gt;
*speed control&lt;br /&gt;
*subtitle delay control&lt;br /&gt;
*audio delay control&lt;br /&gt;
*get the album art working(working already in luahttp)&lt;br /&gt;
&lt;br /&gt;
== Suggestions for possible incorporation ==&lt;br /&gt;
&lt;br /&gt;
-I&#039;m adding this section as a place to store ideas that we might incorporate into the project, but which are still at the discussion stage.&lt;br /&gt;
&lt;br /&gt;
* create status.json and playlist.json - update: in progress by CV&lt;br /&gt;
* update web interface pages to request and use json requests - update: probably not relevant with new interface by elminster&lt;br /&gt;
* use bonjour to advertise when http interface is live&lt;/div&gt;</summary>
		<author><name>ConfusedVorlon</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=SoC_2011/Web_Interface_Improvements&amp;diff=19402</id>
		<title>SoC 2011/Web Interface Improvements</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=SoC_2011/Web_Interface_Improvements&amp;diff=19402"/>
		<updated>2011-06-29T11:07:08Z</updated>

		<summary type="html">&lt;p&gt;ConfusedVorlon: /* Tentative list of improvements */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{SoCProject|year=2011|student=[[User:Akashm1990|Akash Mehrotra]]|mentor=confusedvorlon}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
== Abstract  ==&lt;br /&gt;
&lt;br /&gt;
The primary aim of this project is to improve upon the luahttp interface and to add functions which are currently missing in the luahttp interface as compared to the qt interface.&lt;br /&gt;
An additional aim is to redesign the http frontend and to create a lightweight http frontend for mobile devices.&lt;br /&gt;
&lt;br /&gt;
== Tentative list of improvements ==&lt;br /&gt;
&lt;br /&gt;
*enable playlist re-ordering&lt;br /&gt;
*enable selection of a subtitle file (by path)&lt;br /&gt;
*add &#039;unminimise&#039; command to the fullscreen command&lt;br /&gt;
*add ability to control picture controls (brightness, contrast, etc)&lt;br /&gt;
*allow user to get drives list on windows&lt;br /&gt;
&lt;br /&gt;
===in progress===&lt;br /&gt;
&lt;br /&gt;
*enable access to the graphical equaliser &lt;br /&gt;
*implement pl_delete on luahttp&lt;br /&gt;
&lt;br /&gt;
===done===&lt;br /&gt;
&lt;br /&gt;
*speed control&lt;br /&gt;
*subtitle delay control&lt;br /&gt;
*audio delay control&lt;br /&gt;
*get the album art working(working already in luahttp)&lt;br /&gt;
&lt;br /&gt;
== Suggestions for possible incorporation ==&lt;br /&gt;
&lt;br /&gt;
-I&#039;m adding this section as a place to store ideas that we might incorporate into the project, but which are still at the discussion stage.&lt;br /&gt;
&lt;br /&gt;
* create status.json and playlist.json&lt;br /&gt;
* update web interface pages to request and use json requests&lt;/div&gt;</summary>
		<author><name>ConfusedVorlon</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=SoC_2011/Web_Interface_Improvements&amp;diff=19348</id>
		<title>SoC 2011/Web Interface Improvements</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=SoC_2011/Web_Interface_Improvements&amp;diff=19348"/>
		<updated>2011-06-16T09:36:28Z</updated>

		<summary type="html">&lt;p&gt;ConfusedVorlon: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{SoCProject|year=2011|student=[[User:Akashm1990|Akash Mehrotra]]|mentor=confusedvorlon}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
== Abstract  ==&lt;br /&gt;
&lt;br /&gt;
The primary aim of this project is to improve upon the luahttp interface and to add functions which are currently missing in the luahttp interface as compared to the qt interface.&lt;br /&gt;
An additional aim is to redesign the http frontend and to create a lightweight http frontend for mobile devices.&lt;br /&gt;
&lt;br /&gt;
== Tentative list of improvements ==&lt;br /&gt;
&lt;br /&gt;
    get the album art working&lt;br /&gt;
    enable playlist re-ordering&lt;br /&gt;
    enable access to the graphical equaliser &lt;br /&gt;
    speed control&lt;br /&gt;
    subtitle delay control&lt;br /&gt;
    audio delay control&lt;br /&gt;
    enable selection of a subtitle file (by path)&lt;br /&gt;
    add &#039;unminimise&#039; command to the fullscreen command&lt;br /&gt;
    add ability to control picture controls (brightness, contrast, etc)&lt;br /&gt;
    implement pl_delete on luahttp&lt;br /&gt;
    allow user to get drives list on windows&lt;br /&gt;
&lt;br /&gt;
== Suggestions for possible incorporation ==&lt;br /&gt;
&lt;br /&gt;
-I&#039;m adding this section as a place to store ideas that we might incorporate into the project, but which are still at the discussion stage.&lt;br /&gt;
&lt;br /&gt;
* create status.json and playlist.json&lt;br /&gt;
* update web interface pages to request and use json requests&lt;/div&gt;</summary>
		<author><name>ConfusedVorlon</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=SoC_2011&amp;diff=18971</id>
		<title>SoC 2011</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=SoC_2011&amp;diff=18971"/>
		<updated>2011-04-26T18:20:12Z</updated>

		<summary type="html">&lt;p&gt;ConfusedVorlon: /* Http interface improvements */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Google Summer of Code 2011.&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
This wiki page covers the work of the [[VideoLAN]] project as a mentoring organization for [http://code.google.com/soc/ Google Summer of Code], in order to improve {{VLC}}, [[X264]], the H.264 video encoder, and VLMC. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
== Introduction &amp;amp;amp; Information  ==&lt;br /&gt;
&lt;br /&gt;
This wiki page covers the attempt by the [[VideoLAN]] project to act as a mentoring organization for [http://code.google.com/soc/ Google Summer of Code], in order to improve {{VLC}} and [[X264]], the H.264 video encoder. &lt;br /&gt;
&lt;br /&gt;
[[VideoLAN]] was a mentoring organization in [[SoC 2007|2007]], [[SoC 2008|2008]], [[SoC 2009|2009]] and [[SoC 2010|2010]]. &lt;br /&gt;
&lt;br /&gt;
*This page list the ideas for VLC and VLMC &lt;br /&gt;
*There is also a separate page for project ideas for [[X264]]: &#039;&#039;&#039;[[SoC x264 2011]]&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
If you are a &#039;&#039;&#039;student&#039;&#039;&#039;, please read [[SoC 2011 Rules|the rules and advice]]. &lt;br /&gt;
&lt;br /&gt;
=== VLC media player  ===&lt;br /&gt;
&lt;br /&gt;
{{VLC}} is a cross-platform multimedia player, encoder and streamer application. It is one of the most successful open-source projects without any professional structure underneath. &lt;br /&gt;
&lt;br /&gt;
{{VLC}} is downloaded at an approximate monthly rate of 5 millions from the main website and that&#039;s not including third-party distributions (Linux)! &lt;br /&gt;
&lt;br /&gt;
You can find more information on [http://en.wikipedia.org/wiki/VLC_media_player VLC on Wikipedia] or on this [[Main Page|wiki]]. &lt;br /&gt;
&lt;br /&gt;
=== x264  ===&lt;br /&gt;
&lt;br /&gt;
{{x264}} is probably the most popular open source video compression software, used worldwide for applications such as web video, television broadcast, and Blu-ray authoring. It outclasses practically all commercial implementations both speed and compression-wise. While not actually part of VLC or ffmpeg, it is a major library used by both, licensed under the GPL. Due to its popularity in the commercial world (for example, Youtube and Facebook rely on it), many companies have offered bounties in the past for features and improvements that they found useful. &lt;br /&gt;
&lt;br /&gt;
=== Summer of Code  ===&lt;br /&gt;
&lt;br /&gt;
If selected and developed, SoC projects for VLC will be included in later releases; SoC projects for x264 will be included in the main tree of the project. &lt;br /&gt;
&lt;br /&gt;
All projects are covered by the GPL licence. (v2+) &lt;br /&gt;
&lt;br /&gt;
== Ideas ==&lt;br /&gt;
=== VLC and VLMC  ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Read this&#039;&#039;&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
This page is split in three lists of ideas: &lt;br /&gt;
&lt;br /&gt;
#The &#039;&#039;main ideas&#039;&#039; are what seem to be &#039;&#039;key projects&#039;&#039; for VLC and should be more &#039;&#039;thrilling&#039;&#039; than the other ones; we have assigned a potential mentor to each of these. &lt;br /&gt;
#The other ideas are less detailed but could be good ideas too. &lt;br /&gt;
#VLMC ideas &lt;br /&gt;
#[[Mini Projects]] are short-span projects which can be given as Qualification tasks or extended to be Full Summer of Code project.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Original good ideas will be valued&#039;&#039;&#039;. Last year, half of the ideas were given by students. We don&#039;t want to impose anything. This is free and Open Source software.&lt;br /&gt;
&lt;br /&gt;
If you don&#039;t want to apply for SoC but want other ideas to develop on, check the [[Mini Projects]] page! &lt;br /&gt;
&lt;br /&gt;
And on the IRC channel, you can have even more ideas.&lt;br /&gt;
&lt;br /&gt;
=== Ideas for x264  ===&lt;br /&gt;
&lt;br /&gt;
For x264 ideas, please see [[SoC x264 2011]]. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Key ideas for VLC  ==&lt;br /&gt;
&lt;br /&gt;
=== New Audio Filters  ===&lt;br /&gt;
&lt;br /&gt;
We are looking for a skilled &#039;&#039;&#039;audiophile&#039;&#039;&#039; that knows a lot about audio theory and practice: &lt;br /&gt;
&lt;br /&gt;
*to create or implement new algorithms, like SRS WoW or other 3D effects &lt;br /&gt;
*to work on channels mixing, &lt;br /&gt;
*to work on tracks mixing, &lt;br /&gt;
*to create scriptable new audio filters in lua and enable users to create whatever audio filtering function they want in a Lua script. &lt;br /&gt;
*LADSPA or other libraries integration will be interesting.&lt;br /&gt;
&lt;br /&gt;
This project needs some good audio knowledge and good C experience. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Qualification task&#039;&#039;: port any audio filter from MPlayer&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: [[User:Geal|geal]]&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Porting Audio Filters  ===&lt;br /&gt;
&lt;br /&gt;
We are looking for a skilled &#039;&#039;&#039;audiophile&#039;&#039;&#039; that knows a lot about audio theory and practice: &lt;br /&gt;
* to port open source algorithm for audio filters to VLC.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This project needs some good audio knowledge and good C experience. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: [[User:Geal|geal]]&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== UPNP DLNA Server and Client  ===&lt;br /&gt;
&lt;br /&gt;
Test and fix service discovery module for UPNP/DLNA shares done by software (mediatomb, xbmc, etc) and hardware implementations.&lt;br /&gt;
&lt;br /&gt;
Provide DLNA plugin for DLNA server compliant with opensource (xbmc, djmount, etc) and proprietary (PS3, xbox360, etc) DLNA clients. Some of the work is already done by previous SoC students.&lt;br /&gt;
&lt;br /&gt;
The plugin must be smart enough to provide &amp;quot;presets&amp;quot; for known DLNA media clients with limited features (PS3 or XBOX360 for starters) which require additional quirks or hacks or items to be transcoded or streamed.&lt;br /&gt;
&lt;br /&gt;
Requires some VLC knowledge as the project will involve using Media Library (arriving in vlc 1.2) and transcoding with VLC API.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: thresh&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Assembly optimizations in VLC  ===&lt;br /&gt;
&lt;br /&gt;
If you are fond of writing ASM and you are fluent in MMX/SSE2/SSE4, there are many interesting things in VLC to speed up. &lt;br /&gt;
&lt;br /&gt;
* Profiling VLC. &lt;br /&gt;
* memcpy implementations in SSE* and MMX (see modules/misc/memcpy/fastmemcpy.h) &lt;br /&gt;
* video filters ASM speedups (see modules/video_filter/blend.c) &lt;br /&gt;
* audio filters ASM speedups (see modules/audio_filter/equalizer.c) &lt;br /&gt;
* Porting other ASM video filters to VLC.&lt;br /&gt;
&lt;br /&gt;
This project needs some good ASM knowledge and good C experience. &lt;br /&gt;
&lt;br /&gt;
*Stuff to read: http://www.agner.org/optimize/&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: [[User:J-b|jb]]&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== VLC Android Port ===&lt;br /&gt;
&lt;br /&gt;
Improve current VLC [http://git.videolan.org/?p=vlc/vlc-android.git;a=summary android port], improve/add native/java interfaces and design and implement a GUI.&lt;br /&gt;
The project can be broken into:&lt;br /&gt;
&lt;br /&gt;
* Build libvlc jni, understand LibVlc.&lt;br /&gt;
* Design and implement a cool GUI with gestures and using LibVlc implement callbacks, map user events etc.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentors: ivoire&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== VLC Test Suite  ===&lt;br /&gt;
&lt;br /&gt;
This project aims at making automatic tests to improve VLC quality. &lt;br /&gt;
&lt;br /&gt;
*Write a series of tests for vlc-internal &lt;br /&gt;
*Integrate a framework for automated plugins testing with the automake build system &lt;br /&gt;
*Automate the different codec playback/mux/etc tests &lt;br /&gt;
*Automate the subtitles tests &lt;br /&gt;
*Write tests for the different bindings: Mac OS X Framework/Python Bindings... etc.&lt;br /&gt;
&lt;br /&gt;
This project is a code project, require good knowledge of C &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: Rémi&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== VLC Personnal Cloud Project 2.0  ===&lt;br /&gt;
&lt;br /&gt;
The personal cloud project is a simple project to allow people to play their media files anywhere in the world. &lt;br /&gt;
&lt;br /&gt;
Through the http interface of VLC, a user can: &lt;br /&gt;
&lt;br /&gt;
*list the medias from the Media Library, &lt;br /&gt;
*play those medias, &lt;br /&gt;
*those medias get transcoded and streamed in: &lt;br /&gt;
**Flash &lt;br /&gt;
**Silverlight &lt;br /&gt;
**iPhone format &lt;br /&gt;
**Android format &lt;br /&gt;
**html5 &lt;br /&gt;
**A VLC webplugin&lt;br /&gt;
&lt;br /&gt;
A good example of the aim is http://www.vodobox.c.la/ &lt;br /&gt;
&lt;br /&gt;
This project has to work on the configuration and NAT traversal. &lt;br /&gt;
&lt;br /&gt;
This projects needs knowledge in HTML and JS; it might require C coding. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: jb&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== VLC for Anime  ===&lt;br /&gt;
&lt;br /&gt;
We are looking for a skilled &#039;&#039;&#039;anime fan&#039;&#039;&#039; that knows a lot about anime theory and practice to work on the optimisation of VLC for anime.&lt;br /&gt;
Ideas include:&lt;br /&gt;
&lt;br /&gt;
* Improvement of MKV demuxer for special anime needs&lt;br /&gt;
* Subtitles display improvements&lt;br /&gt;
* video filters that make sense for anime&lt;br /&gt;
* metadata and extensions.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: jb&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== SVCD/VCD improvements  ===&lt;br /&gt;
&lt;br /&gt;
Menus and such needs to be improvements and fixed.&lt;br /&gt;
&lt;br /&gt;
Proposed mentor: &amp;quot;fenrir&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Automatic LibVLC bindings generation ===&lt;br /&gt;
&lt;br /&gt;
libVLC can be used from several programming languages like Java or python to embbed VLC feature inside another application. Anyway, maintaining these binding is power consuming.&lt;br /&gt;
VLC needs a way to automatically generate theses binding for a large set of programming languages and keep them up-to-date easily.&lt;br /&gt;
We advice to use Swig (from http://www.swig.org/) but any other tool is accepted too.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: ivoire&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== OMA/Atrac improvements ===&lt;br /&gt;
&lt;br /&gt;
We need to improve the oma demuxer to support more features and work on the ATRAC3+ decoder in libavcodec, so people can play their files from MiniDiscs.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentors: Adrian, Michael or other people from linux-minidisc&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Playlist improvements ===&lt;br /&gt;
&lt;br /&gt;
We need to reinforce the media library capabilities and its integration with external metadata sources, notably for TV shows.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: jetru&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== AirTune streaming ===&lt;br /&gt;
&lt;br /&gt;
We need to be able to stream everything to your iPhone.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Proposed mentor&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== BD-J / BD-Live ===&lt;br /&gt;
&lt;br /&gt;
This is a project to go on the work of last year on Blu-Ray Menus&lt;br /&gt;
&lt;br /&gt;
This project requires Java knowledge&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: jb&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Http interface improvements ===&lt;br /&gt;
&lt;br /&gt;
This is a project to fix and extend the http inteface (also called oldhttp) &lt;br /&gt;
&lt;br /&gt;
The http interface is used by many remote control apps on various platforms. This project would improve the capability of the interface - and thus enable more features in the various remotes that use it.&lt;br /&gt;
&lt;br /&gt;
* get the album art working&lt;br /&gt;
**the interface is supposed to return the current album art at /art (assuming &#039;export album art&#039; is enabled)&lt;br /&gt;
**at the moment, this simply doesn&#039;t work.&lt;br /&gt;
*enable playlist re-ordering&lt;br /&gt;
**at the moment, there is no way in the http interface for the playlist order to be changed&lt;br /&gt;
*enable access to the graphical equaliser&lt;br /&gt;
**should provide a list of presets available&lt;br /&gt;
**should provide info on each slider&lt;br /&gt;
**should allow user to select a preset&lt;br /&gt;
**should allow user to adjust a slider&lt;br /&gt;
*speed control&lt;br /&gt;
**allow speed to be set in the form host:8080/requests/status.xml?command=speed&amp;amp;val=&amp;lt;someVal&amp;gt;&lt;br /&gt;
**show current speed as part of the status.xml response&lt;br /&gt;
*subtitle delay control&lt;br /&gt;
**(similar to speed control)&lt;br /&gt;
*audio delay control&lt;br /&gt;
**(similar to speed control)&lt;br /&gt;
*enable selection of a subtitle file (by path)&lt;br /&gt;
*add &#039;unminimise&#039; command to the fullscreen command&lt;br /&gt;
**the current fullscreen command just sets the bool value of fullscreen in VLC. However if vlc is minimised on Ubuntu (possibly windows), then fullscreen does nothing. To work as the user would expect, the command=fullscreen should a) set fullscreen b) unminimise VLC&lt;br /&gt;
*add ability to control picture controls (brightness, contrast, etc)&lt;br /&gt;
*implement pl_delete on luahttp&lt;br /&gt;
*allow user to get drives list on windows (in oldHttp, user can browse to c:/..)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*and lots more...&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: confusedVorlon&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Other Ideas for VLC  ==&lt;br /&gt;
&lt;br /&gt;
=== WTV support ===&lt;br /&gt;
Wtv format support&lt;br /&gt;
&#039;&#039;Proposed mentor: Laurent&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== DVD audio support ===&lt;br /&gt;
Very difficult project for Audio fans&lt;br /&gt;
&#039;&#039;Proposed mentor: jb&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Device synchronisation===&lt;br /&gt;
Sync your mp3 player with the media library&lt;br /&gt;
&#039;&#039;Proposed mentor: jetru&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== HD DVD support ===&lt;br /&gt;
Very difficult project for someone having the right hardware&lt;br /&gt;
&#039;&#039;Proposed mentor: jb&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Multi-Angle DVD support ===&lt;br /&gt;
We need multi-angle DVD support&lt;br /&gt;
&#039;&#039;Proposed mentor: Meuuh&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== VLC&amp;amp;nbsp;Student Proposals ==&lt;br /&gt;
&lt;br /&gt;
=== Mobile Remote Control  ===&lt;br /&gt;
&lt;br /&gt;
(proposed by akashm1990)&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
The aim is to make a mobile remote control application for VLC running on the PC. This would be a native application.&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
The application will run on a mobile phone connected to the local network over WiFi.(probably using the http interface)&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
In addition to the usual remote control functionalities such as play,pause, open new file,volume control,etc. the application aims to implement 2 specific functionalities:&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
*On receiving an incoming call, if a video is playing on the PC, it will pause, or if music is playing, the volume may reduce. (user configurable)&amp;lt;br&amp;gt; &lt;br /&gt;
*On receiving an incoming text message, the video playing on screen is paused and the text is displayed onscreen. After a predetermined period of time, the video starts playing again.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Target Platforms: Android(primary), Symbian-QT (If time permits) &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
A video showing the auto pause functionality using Android emulators and the VLC Python API is shown here: &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
http://www.youtube.com/watch?v=ou5prh-EoBs&lt;br /&gt;
&lt;br /&gt;
== VLMC  ==&lt;br /&gt;
&lt;br /&gt;
VLMC is a non-linear cross-platform video editor based on VLC. We&#039;re looking for student(s) with good C++ skills and some experience with Qt with lots of passion of hacking. &lt;br /&gt;
&lt;br /&gt;
Hang with us at #vlmc or #videolan on irc.freenode.net and talk to the developers directly! &lt;br /&gt;
&lt;br /&gt;
To get selected: &lt;br /&gt;
&lt;br /&gt;
1. [http://wiki.videolan.org/Building_VLMC Download and build] VLMC and start playing with it. &lt;br /&gt;
&lt;br /&gt;
2. Implement some feature(s) or fix some bug(s), search VLMC&#039;s [http://trac.videolan.org/vlmc/report bug tracker]. &lt;br /&gt;
&lt;br /&gt;
3. Send your patch to vlmc-devel@videolan.org for evaluation and work on your GSoC proposal. &lt;br /&gt;
&lt;br /&gt;
4. Get selected and work on your project! &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; You&#039;ll be greatly appreciated if you complete any of the proposed qualification tasks: (in increasing level of difficulty) &lt;br /&gt;
&lt;br /&gt;
1. [http://trac.videolan.org/vlmc/ticket/134 Bug 134]: Update labels and strings when locale is changed. &lt;br /&gt;
&lt;br /&gt;
2. [http://trac.videolan.org/vlmc/ticket/61 Bug 61]: Improve project timeline widget to have clip thumbnail. &lt;br /&gt;
&lt;br /&gt;
3. [http://trac.videolan.org/vlmc/ticket/145 Bug 145]: Project preview has no sound on Windows. &lt;br /&gt;
&lt;br /&gt;
4. [http://trac.videolan.org/vlmc/ticket/196 Bug 196]: Fix distorted audio playback in project preview. &lt;br /&gt;
&lt;br /&gt;
5. [http://trac.videolan.org/vlmc/ticket/144 Bug 144]: On some platforms, rendered video file has no sound. Identify the problem and fix it. &lt;br /&gt;
&lt;br /&gt;
=== GUI Improvements  ===&lt;br /&gt;
&lt;br /&gt;
Difficulty: Medium &lt;br /&gt;
&lt;br /&gt;
Proposed mentor: etix &lt;br /&gt;
&lt;br /&gt;
VLMC needs a GUI make over, using Qt APIs such as graphics view, animation, states etc. Correcting those widgets such as the import window, provide alternative widget so VLMC better fits with the video editing needs. &lt;br /&gt;
&lt;br /&gt;
Many widgets can be rewritten&amp;amp;nbsp;: Import, Library, Clip property... be creative&amp;amp;nbsp;! &lt;br /&gt;
&lt;br /&gt;
=== Quality Improvements: Writing Tests and fixing LibVLC APIs  ===&lt;br /&gt;
&lt;br /&gt;
Difficulty: Hard &lt;br /&gt;
&lt;br /&gt;
Proposed mentor:&amp;amp;nbsp;? (needs a VLC developer to mentor this one) &lt;br /&gt;
&lt;br /&gt;
While rendering preview and project, VLMC may sometimes crash due to bugs in the libVLC. The project will consist of; writing (unit) tests/test-cases for VLMC/libVLC APIs, and identify what&#039;s causing the crashes and fixing the bugs. The major area is rendering. Testing should be verified on at least two of the OSs: Linux, Windows and Mac. This project can help VLMC have stable releases and better quality control. &lt;br /&gt;
&lt;br /&gt;
=== Plugin Architecture for VLMC  ===&lt;br /&gt;
&lt;br /&gt;
Difficulty: Hard &lt;br /&gt;
&lt;br /&gt;
Proposed mentor:&amp;amp;nbsp;? &lt;br /&gt;
&lt;br /&gt;
VLMC uses frei0r plugins to add special effects. The project consists of designing and implementing a plugin architecture that can take in lua/python/compiled-plugins(.so) plugins.&lt;/div&gt;</summary>
		<author><name>ConfusedVorlon</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=SoC_2011&amp;diff=18953</id>
		<title>SoC 2011</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=SoC_2011&amp;diff=18953"/>
		<updated>2011-04-06T15:32:06Z</updated>

		<summary type="html">&lt;p&gt;ConfusedVorlon: /* Http interface improvements */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Google Summer of Code 2011.&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
This wiki page covers the work of the [[VideoLAN]] project as a mentoring organization for [http://code.google.com/soc/ Google Summer of Code], in order to improve {{VLC}}, [[X264]], the H.264 video encoder, and VLMC. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
== Introduction &amp;amp;amp; Information  ==&lt;br /&gt;
&lt;br /&gt;
This wiki page covers the attempt by the [[VideoLAN]] project to act as a mentoring organization for [http://code.google.com/soc/ Google Summer of Code], in order to improve {{VLC}} and [[X264]], the H.264 video encoder. &lt;br /&gt;
&lt;br /&gt;
[[VideoLAN]] was a mentoring organization in [[SoC 2007|2007]], [[SoC 2008|2008]], [[SoC 2009|2009]] and [[SoC 2010|2010]]. &lt;br /&gt;
&lt;br /&gt;
*This page list the ideas for VLC and VLMC &lt;br /&gt;
*There is also a separate page for project ideas for [[X264]]: &#039;&#039;&#039;[[SoC x264 2011]]&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
If you are a &#039;&#039;&#039;student&#039;&#039;&#039;, please read [[SoC 2011 Rules|the rules and advice]]. &lt;br /&gt;
&lt;br /&gt;
=== VLC media player  ===&lt;br /&gt;
&lt;br /&gt;
{{VLC}} is a cross-platform multimedia player, encoder and streamer application. It is one of the most successful open-source projects without any professional structure underneath. &lt;br /&gt;
&lt;br /&gt;
{{VLC}} is downloaded at an approximate monthly rate of 5 millions from the main website and that&#039;s not including third-party distributions (Linux)! &lt;br /&gt;
&lt;br /&gt;
You can find more information on [http://en.wikipedia.org/wiki/VLC_media_player VLC on Wikipedia] or on this [[Main Page|wiki]]. &lt;br /&gt;
&lt;br /&gt;
=== x264  ===&lt;br /&gt;
&lt;br /&gt;
{{x264}} is probably the most popular open source video compression software, used worldwide for applications such as web video, television broadcast, and Blu-ray authoring. It outclasses practically all commercial implementations both speed and compression-wise. While not actually part of VLC or ffmpeg, it is a major library used by both, licensed under the GPL. Due to its popularity in the commercial world (for example, Youtube and Facebook rely on it), many companies have offered bounties in the past for features and improvements that they found useful. &lt;br /&gt;
&lt;br /&gt;
=== Summer of Code  ===&lt;br /&gt;
&lt;br /&gt;
If selected and developed, SoC projects for VLC will be included in later releases; SoC projects for x264 will be included in the main tree of the project. &lt;br /&gt;
&lt;br /&gt;
All projects are covered by the GPL licence. (v2+) &lt;br /&gt;
&lt;br /&gt;
== Ideas ==&lt;br /&gt;
=== VLC and VLMC  ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Read this&#039;&#039;&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
This page is split in three lists of ideas: &lt;br /&gt;
&lt;br /&gt;
#The &#039;&#039;main ideas&#039;&#039; are what seem to be &#039;&#039;key projects&#039;&#039; for VLC and should be more &#039;&#039;thrilling&#039;&#039; than the other ones; we have assigned a potential mentor to each of these. &lt;br /&gt;
#The other ideas are less detailed but could be good ideas too. &lt;br /&gt;
#VLMC ideas &lt;br /&gt;
#[[Mini Projects]] are short-span projects which can be given as Qualification tasks or extended to be Full Summer of Code project.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Original good ideas will be valued&#039;&#039;&#039;. Last year, half of the ideas were given by students. We don&#039;t want to impose anything. This is free and Open Source software.&lt;br /&gt;
&lt;br /&gt;
If you don&#039;t want to apply for SoC but want other ideas to develop on, check the [[Mini Projects]] page! &lt;br /&gt;
&lt;br /&gt;
And on the IRC channel, you can have even more ideas.&lt;br /&gt;
&lt;br /&gt;
=== Ideas for x264  ===&lt;br /&gt;
&lt;br /&gt;
For x264 ideas, please see [[SoC x264 2011]]. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Key ideas for VLC  ==&lt;br /&gt;
&lt;br /&gt;
=== New Audio Filters  ===&lt;br /&gt;
&lt;br /&gt;
We are looking for a skilled &#039;&#039;&#039;audiophile&#039;&#039;&#039; that knows a lot about audio theory and practice: &lt;br /&gt;
&lt;br /&gt;
*to create or implement new algorithms, like SRS WoW or other 3D effects &lt;br /&gt;
*to work on channels mixing, &lt;br /&gt;
*to work on tracks mixing, &lt;br /&gt;
*to create scriptable new audio filters in lua and enable users to create whatever audio filtering function they want in a Lua script. &lt;br /&gt;
*LADSPA or other libraries integration will be interesting.&lt;br /&gt;
&lt;br /&gt;
This project needs some good audio knowledge and good C experience. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Qualification task&#039;&#039;: port any audio filter from MPlayer&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: [[User:Geal|geal]]&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Porting Audio Filters  ===&lt;br /&gt;
&lt;br /&gt;
We are looking for a skilled &#039;&#039;&#039;audiophile&#039;&#039;&#039; that knows a lot about audio theory and practice: &lt;br /&gt;
* to port open source algorithm for audio filters to VLC.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This project needs some good audio knowledge and good C experience. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: [[User:Geal|geal]]&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== UPNP DLNA Server and Client  ===&lt;br /&gt;
&lt;br /&gt;
Test and fix service discovery module for UPNP/DLNA shares done by software (mediatomb, xbmc, etc) and hardware implementations.&lt;br /&gt;
&lt;br /&gt;
Provide DLNA plugin for DLNA server compliant with opensource (xbmc, djmount, etc) and proprietary (PS3, xbox360, etc) DLNA clients. Some of the work is already done by previous SoC students.&lt;br /&gt;
&lt;br /&gt;
The plugin must be smart enough to provide &amp;quot;presets&amp;quot; for known DLNA media clients with limited features (PS3 or XBOX360 for starters) which require additional quirks or hacks or items to be transcoded or streamed.&lt;br /&gt;
&lt;br /&gt;
Requires some VLC knowledge as the project will involve using Media Library (arriving in vlc 1.2) and transcoding with VLC API.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: thresh&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Assembly optimizations in VLC  ===&lt;br /&gt;
&lt;br /&gt;
If you are fond of writing ASM and you are fluent in MMX/SSE2/SSE4, there are many interesting things in VLC to speed up. &lt;br /&gt;
&lt;br /&gt;
* Profiling VLC. &lt;br /&gt;
* memcpy implementations in SSE* and MMX (see modules/misc/memcpy/fastmemcpy.h) &lt;br /&gt;
* video filters ASM speedups (see modules/video_filter/blend.c) &lt;br /&gt;
* audio filters ASM speedups (see modules/audio_filter/equalizer.c) &lt;br /&gt;
* Porting other ASM video filters to VLC.&lt;br /&gt;
&lt;br /&gt;
This project needs some good ASM knowledge and good C experience. &lt;br /&gt;
&lt;br /&gt;
*Stuff to read: http://www.agner.org/optimize/&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: [[User:J-b|jb]]&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== VLC Android Port ===&lt;br /&gt;
&lt;br /&gt;
Improve current VLC [http://git.videolan.org/?p=vlc/vlc-android.git;a=summary android port], improve/add native/java interfaces and design and implement a GUI.&lt;br /&gt;
The project can be broken into:&lt;br /&gt;
&lt;br /&gt;
* Build libvlc jni, understand LibVlc.&lt;br /&gt;
* Design and implement a cool GUI with gestures and using LibVlc implement callbacks, map user events etc.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentors: MagSoft, ivore&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== VLC Test Suite  ===&lt;br /&gt;
&lt;br /&gt;
This project aims at making automatic tests to improve VLC quality. &lt;br /&gt;
&lt;br /&gt;
*Write a series of tests for vlc-internal &lt;br /&gt;
*Integrate a framework for automated plugins testing with the automake build system &lt;br /&gt;
*Automate the different codec playback/mux/etc tests &lt;br /&gt;
*Automate the subtitles tests &lt;br /&gt;
*Write tests for the different bindings: Mac OS X Framework/Python Bindings... etc.&lt;br /&gt;
&lt;br /&gt;
This project is a code project, require good knowledge of C &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: Rémi&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== VLC Personnal Cloud Project 2.0  ===&lt;br /&gt;
&lt;br /&gt;
The personal cloud project is a simple project to allow people to play their media files anywhere in the world. &lt;br /&gt;
&lt;br /&gt;
Through the http interface of VLC, a user can: &lt;br /&gt;
&lt;br /&gt;
*list the medias from the Media Library, &lt;br /&gt;
*play those medias, &lt;br /&gt;
*those medias get transcoded and streamed in: &lt;br /&gt;
**Flash &lt;br /&gt;
**Silverlight &lt;br /&gt;
**iPhone format &lt;br /&gt;
**Android format &lt;br /&gt;
**html5 &lt;br /&gt;
**A VLC webplugin&lt;br /&gt;
&lt;br /&gt;
A good example of the aim is http://www.vodobox.c.la/ &lt;br /&gt;
&lt;br /&gt;
This project has to work on the configuration and NAT traversal. &lt;br /&gt;
&lt;br /&gt;
This projects needs knowledge in HTML and JS; it might require C coding. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: jb&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== VLC for Anime  ===&lt;br /&gt;
&lt;br /&gt;
We are looking for a skilled &#039;&#039;&#039;anime fan&#039;&#039;&#039; that knows a lot about anime theory and practice to work on the optimisation of VLC for anime.&lt;br /&gt;
Ideas include:&lt;br /&gt;
&lt;br /&gt;
* Improvement of MKV demuxer for special anime needs&lt;br /&gt;
* Subtitles display improvements&lt;br /&gt;
* video filters that make sense for anime&lt;br /&gt;
* metadata and extensions.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: jb&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== SVCD/VCD improvements  ===&lt;br /&gt;
&lt;br /&gt;
Menus and such needs to be improvements and fixed.&lt;br /&gt;
&lt;br /&gt;
Proposed mentor: &amp;quot;fenrir&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Automatic LibVLC bindings generation ===&lt;br /&gt;
&lt;br /&gt;
libVLC can be used from several programming languages like Java or python to embbed VLC feature inside another application. Anyway, maintaining these binding is power consuming.&lt;br /&gt;
VLC needs a way to automatically generate theses binding for a large set of programming languages and keep them up-to-date easily.&lt;br /&gt;
We advice to use Swig (from http://www.swig.org/) but any other tool is accepted too.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: ivoire&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== OMA/Atrac improvements ===&lt;br /&gt;
&lt;br /&gt;
We need to improve the oma demuxer to support more features and work on the ATRAC3+ decoder in libavcodec, so people can play their files from MiniDiscs.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentors: Adrian, Michael or other people from linux-minidisc&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Playlist improvements ===&lt;br /&gt;
&lt;br /&gt;
We need to reinforce the media library capabilities and its integration with external metadata sources, notably for TV shows.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: jetru&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== AirTune streaming ===&lt;br /&gt;
&lt;br /&gt;
We need to be able to stream everything to your iPhone.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Proposed mentor&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== BD-J / BD-Live ===&lt;br /&gt;
&lt;br /&gt;
This is a project to go on the work of last year on Blu-Ray Menus&lt;br /&gt;
&lt;br /&gt;
This project requires Java knowledge&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: jb&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Http interface improvements ===&lt;br /&gt;
&lt;br /&gt;
This is a project to fix and extend the http inteface (also called oldhttp) &lt;br /&gt;
&lt;br /&gt;
The http interface is used by many remote control apps on various platforms. This project would improve the capability of the interface - and thus enable more features in the various remotes that use it.&lt;br /&gt;
&lt;br /&gt;
* get the album art working&lt;br /&gt;
**the interface is supposed to return the current album art at /art (assuming &#039;export album art&#039; is enabled)&lt;br /&gt;
**at the moment, this simply doesn&#039;t work.&lt;br /&gt;
*enable playlist re-ordering&lt;br /&gt;
**at the moment, there is no way in the http interface for the playlist order to be changed&lt;br /&gt;
*enable access to the graphical equaliser&lt;br /&gt;
**should provide a list of presets available&lt;br /&gt;
**should provide info on each slider&lt;br /&gt;
**should allow user to select a preset&lt;br /&gt;
**should allow user to adjust a slider&lt;br /&gt;
*speed control&lt;br /&gt;
**allow speed to be set in the form host:8080/requests/status.xml?command=speed&amp;amp;val=&amp;lt;someVal&amp;gt;&lt;br /&gt;
**show current speed as part of the status.xml response&lt;br /&gt;
*subtitle delay control&lt;br /&gt;
**(similar to speed control)&lt;br /&gt;
*audio delay control&lt;br /&gt;
**(similar to speed control)&lt;br /&gt;
*enable selection of a subtitle file (by path)&lt;br /&gt;
&lt;br /&gt;
*and lots more...&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: confusedVorlon&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Other Ideas for VLC  ==&lt;br /&gt;
&lt;br /&gt;
=== WTV support ===&lt;br /&gt;
Wtv format support&lt;br /&gt;
&#039;&#039;Proposed mentor: Laurent&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== DVD audio support ===&lt;br /&gt;
Very difficult project for Audio fans&lt;br /&gt;
&#039;&#039;Proposed mentor: jb&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Device synchronisation===&lt;br /&gt;
Sync your mp3 player with the media library&lt;br /&gt;
&#039;&#039;Proposed mentor: jetru&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== HD DVD support ===&lt;br /&gt;
Very difficult project for someone having the right hardware&lt;br /&gt;
&#039;&#039;Proposed mentor: jb&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Multi-Angle DVD support ===&lt;br /&gt;
We need multi-angle DVD support&lt;br /&gt;
&#039;&#039;Proposed mentor: Meuuh&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== VLC&amp;amp;nbsp;Student Proposals ==&lt;br /&gt;
&lt;br /&gt;
=== Mobile Remote Control  ===&lt;br /&gt;
&lt;br /&gt;
(proposed by akashm1990)&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
The aim is to make a mobile remote control application for VLC running on the PC. This would be a native application.&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
The application will run on a mobile phone connected to the local network over WiFi.(probably using the http interface)&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
In addition to the usual remote control functionalities such as play,pause, open new file,volume control,etc. the application aims to implement 2 specific functionalities:&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
*On receiving an incoming call, if a video is playing on the PC, it will pause, or if music is playing, the volume may reduce. (user configurable)&amp;lt;br&amp;gt; &lt;br /&gt;
*On receiving an incoming text message, the video playing on screen is paused and the text is displayed onscreen. After a predetermined period of time, the video starts playing again.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Target Platforms: Android(primary), Symbian-QT (If time permits) &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
A video showing the auto pause functionality using Android emulators and the VLC Python API is shown here: &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
http://www.youtube.com/watch?v=ou5prh-EoBs&lt;br /&gt;
&lt;br /&gt;
== VLMC  ==&lt;br /&gt;
&lt;br /&gt;
VLMC is a non-linear cross-platform video editor based on VLC. We&#039;re looking for student(s) with good C++ skills and some experience with Qt with lots of passion of hacking. &lt;br /&gt;
&lt;br /&gt;
Hang with us at #vlmc or #videolan on irc.freenode.net and talk to the developers directly! &lt;br /&gt;
&lt;br /&gt;
To get selected: &lt;br /&gt;
&lt;br /&gt;
1. [http://wiki.videolan.org/Building_VLMC Download and build] VLMC and start playing with it. &lt;br /&gt;
&lt;br /&gt;
2. Implement some feature(s) or fix some bug(s), search VLMC&#039;s [http://trac.videolan.org/vlmc/report bug tracker]. &lt;br /&gt;
&lt;br /&gt;
3. Send your patch to vlmc-devel@videolan.org for evaluation and work on your GSoC proposal. &lt;br /&gt;
&lt;br /&gt;
4. Get selected and work on your project! &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; You&#039;ll be greatly appreciated if you complete any of the proposed qualification tasks: (in increasing level of difficulty) &lt;br /&gt;
&lt;br /&gt;
1. [http://trac.videolan.org/vlmc/ticket/134 Bug 134]: Update labels and strings when locale is changed. &lt;br /&gt;
&lt;br /&gt;
2. [http://trac.videolan.org/vlmc/ticket/61 Bug 61]: Improve project timeline widget to have clip thumbnail. &lt;br /&gt;
&lt;br /&gt;
3. [http://trac.videolan.org/vlmc/ticket/145 Bug 145]: Project preview has no sound on Windows. &lt;br /&gt;
&lt;br /&gt;
4. [http://trac.videolan.org/vlmc/ticket/196 Bug 196]: Fix distorted audio playback in project preview. &lt;br /&gt;
&lt;br /&gt;
5. [http://trac.videolan.org/vlmc/ticket/144 Bug 144]: On some platforms, rendered video file has no sound. Identify the problem and fix it. &lt;br /&gt;
&lt;br /&gt;
=== GUI Improvements  ===&lt;br /&gt;
&lt;br /&gt;
Difficulty: Medium &lt;br /&gt;
&lt;br /&gt;
Proposed mentor: etix &lt;br /&gt;
&lt;br /&gt;
VLMC needs a GUI make over, using Qt APIs such as graphics view, animation, states etc. Correcting those widgets such as the import window, provide alternative widget so VLMC better fits with the video editing needs. &lt;br /&gt;
&lt;br /&gt;
Many widgets can be rewritten&amp;amp;nbsp;: Import, Library, Clip property... be creative&amp;amp;nbsp;! &lt;br /&gt;
&lt;br /&gt;
=== Quality Improvements: Writing Tests and fixing LibVLC APIs  ===&lt;br /&gt;
&lt;br /&gt;
Difficulty: Hard &lt;br /&gt;
&lt;br /&gt;
Proposed mentor:&amp;amp;nbsp;? (needs a VLC developer to mentor this one) &lt;br /&gt;
&lt;br /&gt;
While rendering preview and project, VLMC may sometimes crash due to bugs in the libVLC. The project will consist of; writing (unit) tests/test-cases for VLMC/libVLC APIs, and identify what&#039;s causing the crashes and fixing the bugs. The major area is rendering. Testing should be verified on at least two of the OSs: Linux, Windows and Mac. This project can help VLMC have stable releases and better quality control. &lt;br /&gt;
&lt;br /&gt;
=== Plugin Architecture for VLMC  ===&lt;br /&gt;
&lt;br /&gt;
Difficulty: Hard &lt;br /&gt;
&lt;br /&gt;
Proposed mentor:&amp;amp;nbsp;? &lt;br /&gt;
&lt;br /&gt;
VLMC uses frei0r plugins to add special effects. The project consists of designing and implementing a plugin architecture that can take in lua/python/compiled-plugins(.so) plugins.&lt;/div&gt;</summary>
		<author><name>ConfusedVorlon</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=SoC_2011&amp;diff=18914</id>
		<title>SoC 2011</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=SoC_2011&amp;diff=18914"/>
		<updated>2011-03-24T12:35:30Z</updated>

		<summary type="html">&lt;p&gt;ConfusedVorlon: /* Http interface improvements */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Google Summer of Code 2011.&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
This wiki page covers the work of the [[VideoLAN]] project as a mentoring organization for [http://code.google.com/soc/ Google Summer of Code], in order to improve {{VLC}}, [[X264]], the H.264 video encoder, and VLMC. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
== Introduction &amp;amp;amp; Information  ==&lt;br /&gt;
&lt;br /&gt;
This wiki page covers the attempt by the [[VideoLAN]] project to act as a mentoring organization for [http://code.google.com/soc/ Google Summer of Code], in order to improve {{VLC}} and [[X264]], the H.264 video encoder. &lt;br /&gt;
&lt;br /&gt;
[[VideoLAN]] was a mentoring organization in [[SoC 2007|2007]], [[SoC 2008|2008]], [[SoC 2009|2009]] and [[SoC 2010|2010]]. &lt;br /&gt;
&lt;br /&gt;
*This page list the ideas for VLC and VLMC &lt;br /&gt;
*There is also a separate page for project ideas for [[X264]]: &#039;&#039;&#039;[[SoC x264 2011]]&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
If you are a &#039;&#039;&#039;student&#039;&#039;&#039;, please read [[SoC 2011 Rules|the rules and advice]]. &lt;br /&gt;
&lt;br /&gt;
=== VLC media player  ===&lt;br /&gt;
&lt;br /&gt;
{{VLC}} is a cross-platform multimedia player, encoder and streamer application. It is one of the most successful open-source projects without any professional structure underneath. &lt;br /&gt;
&lt;br /&gt;
{{VLC}} is downloaded at an approximate monthly rate of 5 millions from the main website and that&#039;s not including third-party distributions (Linux)! &lt;br /&gt;
&lt;br /&gt;
You can find more information on [http://en.wikipedia.org/wiki/VLC_media_player VLC on Wikipedia] or on this [[Main Page|wiki]]. &lt;br /&gt;
&lt;br /&gt;
=== x264  ===&lt;br /&gt;
&lt;br /&gt;
{{x264}} is probably the most popular open source video compression software, used worldwide for applications such as web video, television broadcast, and Blu-ray authoring. It outclasses practically all commercial implementations both speed and compression-wise. While not actually part of VLC or ffmpeg, it is a major library used by both, licensed under the GPL. Due to its popularity in the commercial world (for example, Youtube and Facebook rely on it), many companies have offered bounties in the past for features and improvements that they found useful. &lt;br /&gt;
&lt;br /&gt;
=== Summer of Code  ===&lt;br /&gt;
&lt;br /&gt;
If selected and developed, SoC projects for VLC will be included in later releases; SoC projects for x264 will be included in the main tree of the project. &lt;br /&gt;
&lt;br /&gt;
All projects are covered by the GPL licence. (v2+) &lt;br /&gt;
&lt;br /&gt;
== Ideas ==&lt;br /&gt;
=== VLC and VLMC  ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Read this&#039;&#039;&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
This page is split in three lists of ideas: &lt;br /&gt;
&lt;br /&gt;
#The &#039;&#039;main ideas&#039;&#039; are what seem to be &#039;&#039;key projects&#039;&#039; for VLC and should be more &#039;&#039;thrilling&#039;&#039; than the other ones; we have assigned a potential mentor to each of these. &lt;br /&gt;
#The other ideas are less detailed but could be good ideas too. &lt;br /&gt;
#VLMC ideas &lt;br /&gt;
#[[Mini Projects]] are short-span projects which can be given as Qualification tasks or extended to be Full Summer of Code project.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Original good ideas will be valued&#039;&#039;&#039;. Last year, half of the ideas were given by students. We don&#039;t want to impose anything. This is free and Open Source software.&lt;br /&gt;
&lt;br /&gt;
If you don&#039;t want to apply for SoC but want other ideas to develop on, check the [[Mini Projects]] page! &lt;br /&gt;
&lt;br /&gt;
And on the IRC channel, you can have even more ideas.&lt;br /&gt;
&lt;br /&gt;
=== Ideas for x264  ===&lt;br /&gt;
&lt;br /&gt;
For x264 ideas, please see [[SoC x264 2011]]. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Key ideas for VLC  ==&lt;br /&gt;
&lt;br /&gt;
=== New Audio Filters  ===&lt;br /&gt;
&lt;br /&gt;
We are looking for a skilled &#039;&#039;&#039;audiophile&#039;&#039;&#039; that knows a lot about audio theory and practice: &lt;br /&gt;
&lt;br /&gt;
*to create or implement new algorithms, like SRS WoW or other 3D effects &lt;br /&gt;
*to work on channels mixing, &lt;br /&gt;
*to work on tracks mixing, &lt;br /&gt;
*to create scriptable new audio filters in lua and enable users to create whatever audio filtering function they want in a Lua script. &lt;br /&gt;
*LADSPA or other libraries integration will be interesting.&lt;br /&gt;
&lt;br /&gt;
This project needs some good audio knowledge and good C experience. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Qualification task&#039;&#039;: port any audio filter from MPlayer&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: [[User:Geal|geal]]&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Porting Audio Filters  ===&lt;br /&gt;
&lt;br /&gt;
We are looking for a skilled &#039;&#039;&#039;audiophile&#039;&#039;&#039; that knows a lot about audio theory and practice: &lt;br /&gt;
* to port open source algorithm for audio filters to VLC.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This project needs some good audio knowledge and good C experience. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: [[User:Geal|geal]]&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== UPNP DLNA Server and Client  ===&lt;br /&gt;
&lt;br /&gt;
Test and fix service discovery module for UPNP/DLNA shares done by software (mediatomb, xbmc, etc) and hardware implementations.&lt;br /&gt;
&lt;br /&gt;
Provide DLNA plugin for DLNA server compliant with opensource (xbmc, djmount, etc) and proprietary (PS3, xbox360, etc) DLNA clients. Some of the work is already done by previous SoC students.&lt;br /&gt;
&lt;br /&gt;
The plugin must be smart enough to provide &amp;quot;presets&amp;quot; for known DLNA media clients with limited features (PS3 or XBOX360 for starters) which require additional quirks or hacks or items to be transcoded or streamed.&lt;br /&gt;
&lt;br /&gt;
Requires some VLC knowledge as the project will involve using Media Library (arriving in vlc 1.2) and transcoding with VLC API.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: thresh&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Assembly optimizations in VLC  ===&lt;br /&gt;
&lt;br /&gt;
If you are fond of writing ASM and you are fluent in MMX/SSE2/SSE4, there are many interesting things in VLC to speed up. &lt;br /&gt;
&lt;br /&gt;
* Profiling VLC. &lt;br /&gt;
* memcpy implementations in SSE* and MMX (see modules/misc/memcpy/fastmemcpy.h) &lt;br /&gt;
* video filters ASM speedups (see modules/video_filter/blend.c) &lt;br /&gt;
* audio filters ASM speedups (see modules/audio_filter/equalizer.c) &lt;br /&gt;
* Porting other ASM video filters to VLC.&lt;br /&gt;
&lt;br /&gt;
This project needs some good ASM knowledge and good C experience. &lt;br /&gt;
&lt;br /&gt;
*Stuff to read: http://www.agner.org/optimize/&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: [[User:J-b|jb]]&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== VLC Android Port ===&lt;br /&gt;
&lt;br /&gt;
Improve current VLC [http://git.videolan.org/?p=vlc/vlc-android.git;a=summary android port], improve/add native/java interfaces and design and implement a GUI.&lt;br /&gt;
The project can be broken into:&lt;br /&gt;
&lt;br /&gt;
* Build libvlc jni, understand LibVlc.&lt;br /&gt;
* Design and implement a cool GUI with gestures and using LibVlc implement callbacks, map user events etc.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentors: MagSoft, ivore&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== VLC Test Suite  ===&lt;br /&gt;
&lt;br /&gt;
This project aims at making automatic tests to improve VLC quality. &lt;br /&gt;
&lt;br /&gt;
*Write a series of tests for vlc-internal &lt;br /&gt;
*Integrate a framework for automated plugins testing with the automake build system &lt;br /&gt;
*Automate the different codec playback/mux/etc tests &lt;br /&gt;
*Automate the subtitles tests &lt;br /&gt;
*Write tests for the different bindings: Mac OS X Framework/Python Bindings... etc.&lt;br /&gt;
&lt;br /&gt;
This project is a code project, require good knowledge of C &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: Rémi&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== VLC Personnal Cloud Project 2.0  ===&lt;br /&gt;
&lt;br /&gt;
The personal cloud project is a simple project to allow people to play their media files anywhere in the world. &lt;br /&gt;
&lt;br /&gt;
Through the http interface of VLC, a user can: &lt;br /&gt;
&lt;br /&gt;
*list the medias from the Media Library, &lt;br /&gt;
*play those medias, &lt;br /&gt;
*those medias get transcoded and streamed in: &lt;br /&gt;
**Flash &lt;br /&gt;
**Silverlight &lt;br /&gt;
**iPhone format &lt;br /&gt;
**Android format &lt;br /&gt;
**html5 &lt;br /&gt;
**A VLC webplugin&lt;br /&gt;
&lt;br /&gt;
A good example of the aim is http://www.vodobox.c.la/ &lt;br /&gt;
&lt;br /&gt;
This project has to work on the configuration and NAT traversal. &lt;br /&gt;
&lt;br /&gt;
This projects needs knowledge in HTML and JS; it might require C coding. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: jb&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== VLC for Anime  ===&lt;br /&gt;
&lt;br /&gt;
We are looking for a skilled &#039;&#039;&#039;anime fan&#039;&#039;&#039; that knows a lot about anime theory and practice to work on the optimisation of VLC for anime.&lt;br /&gt;
Ideas include:&lt;br /&gt;
&lt;br /&gt;
* Improvement of MKV demuxer for special anime needs&lt;br /&gt;
* Subtitles display improvements&lt;br /&gt;
* video filters that make sense for anime&lt;br /&gt;
* metadata and extensions.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: jb&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== SVCD/VCD improvements  ===&lt;br /&gt;
&lt;br /&gt;
Menus and such needs to be improvements and fixed.&lt;br /&gt;
&lt;br /&gt;
Proposed mentor: &amp;quot;fenrir&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Automatic LibVLC bindings generation ===&lt;br /&gt;
&lt;br /&gt;
libVLC can be used from several programming languages like Java or python to embbed VLC feature inside another application. Anyway, maintaining these binding is power consuming.&lt;br /&gt;
VLC needs a way to automatically generate theses binding for a large set of programming languages and keep them up-to-date easily.&lt;br /&gt;
We advice to use Swig (from http://www.swig.org/) but any other tool is accepted too.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: ivoire&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== OMA/Atrac improvements ===&lt;br /&gt;
&lt;br /&gt;
We need to improve the oma demuxer to support more features and work on the ATRAC3+ decoder in libavcodec, so people can play their files from MiniDiscs.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentors: Adrian, Michael or other people from linux-minidisc&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Playlist improvements ===&lt;br /&gt;
&lt;br /&gt;
We need to reinforce the media library capabilities and its integration with external metadata sources, notably for TV shows.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: jetru&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== AirTune streaming ===&lt;br /&gt;
&lt;br /&gt;
We need to be able to stream everything to your iPhone.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Proposed mentor&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== BD-J / BD-Live ===&lt;br /&gt;
&lt;br /&gt;
This is a project to go on the work of last year on Blu-Ray Menus&lt;br /&gt;
&lt;br /&gt;
This project requires Java knowledge&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: jb&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Http interface improvements ===&lt;br /&gt;
&lt;br /&gt;
This is a project to fix and extend the http inteface (also called oldhttp) &lt;br /&gt;
&lt;br /&gt;
The http interface is used by many remote control apps on various platforms. This project would improve the capability of the interface - and thus enable more features in the various remotes that use it.&lt;br /&gt;
&lt;br /&gt;
* get the album art working&lt;br /&gt;
**the interface is supposed to return the current album art at /art (assuming &#039;export album art&#039; is enabled)&lt;br /&gt;
**at the moment, this simply doesn&#039;t work.&lt;br /&gt;
*enable playlist re-ordering&lt;br /&gt;
**at the moment, there is no way in the http interface for the playlist order to be changed&lt;br /&gt;
*enable access to the graphical equaliser&lt;br /&gt;
**should provide a list of presets available&lt;br /&gt;
**should provide info on each slider&lt;br /&gt;
**should allow user to select a preset&lt;br /&gt;
**should allow user to adjust a slider&lt;br /&gt;
*speed control&lt;br /&gt;
**allow speed to be set in the form host:8080/requests/status.xml?command=speed&amp;amp;val=&amp;lt;someVal&amp;gt;&lt;br /&gt;
**show current speed as part of the status.xml response&lt;br /&gt;
*subtitle delay control&lt;br /&gt;
**(similar to speed control)&lt;br /&gt;
*audio delay control&lt;br /&gt;
**(similar to speed control)&lt;br /&gt;
*and lots more...&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: confusedVorlon&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Other Ideas for VLC  ==&lt;br /&gt;
&lt;br /&gt;
=== WTV support ===&lt;br /&gt;
Wtv format support&lt;br /&gt;
&#039;&#039;Proposed mentor: Laurent&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== DVD audio support ===&lt;br /&gt;
Very difficult project for Audio fans&lt;br /&gt;
&#039;&#039;Proposed mentor: jb&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Device synchronisation===&lt;br /&gt;
Sync your mp3 player with the media library&lt;br /&gt;
&#039;&#039;Proposed mentor: jetru&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== HD DVD support ===&lt;br /&gt;
Very difficult project for someone having the right hardware&lt;br /&gt;
&#039;&#039;Proposed mentor: jb&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Multi-Angle DVD support ===&lt;br /&gt;
We need multi-angle DVD support&lt;br /&gt;
&#039;&#039;Proposed mentor: Meuuh&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== VLC&amp;amp;nbsp;Student Proposals ==&lt;br /&gt;
&lt;br /&gt;
=== Mobile Remote Control  ===&lt;br /&gt;
&lt;br /&gt;
(proposed by akashm1990)&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
The aim is to make a mobile remote control application for VLC running on the PC. This would be a native application.&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
The application will run on a mobile phone connected to the local network over WiFi.(probably using the http interface)&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
In addition to the usual remote control functionalities such as play,pause, open new file,volume control,etc. the application aims to implement 2 specific functionalities:&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
*On receiving an incoming call, if a video is playing on the PC, it will pause, or if music is playing, the volume may reduce. (user configurable)&amp;lt;br&amp;gt; &lt;br /&gt;
*On receiving an incoming text message, the video playing on screen is paused and the text is displayed onscreen. After a predetermined period of time, the video starts playing again.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Target Platforms: Android(primary), Symbian-QT (If time permits) &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
A video showing the auto pause functionality using Android emulators and the VLC Python API is shown here: &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
http://www.youtube.com/watch?v=ou5prh-EoBs&lt;br /&gt;
&lt;br /&gt;
== VLMC  ==&lt;br /&gt;
&lt;br /&gt;
VLMC is a non-linear cross-platform video editor based on VLC. We&#039;re looking for student(s) with good C++ skills and some experience with Qt with lots of passion of hacking. &lt;br /&gt;
&lt;br /&gt;
Hang with us at #vlmc or #videolan on irc.freenode.net and talk to the developers directly! &lt;br /&gt;
&lt;br /&gt;
To get selected: &lt;br /&gt;
&lt;br /&gt;
1. [http://wiki.videolan.org/Building_VLMC Download and build] VLMC and start playing with it. &lt;br /&gt;
&lt;br /&gt;
2. Implement some feature(s) or fix some bug(s), search VLMC&#039;s [http://trac.videolan.org/vlmc/report bug tracker]. &lt;br /&gt;
&lt;br /&gt;
3. Send your patch to vlmc-devel@videolan.org for evaluation and work on your GSoC proposal. &lt;br /&gt;
&lt;br /&gt;
4. Get selected and work on your project! &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; You&#039;ll be greatly appreciated if you complete any of the proposed qualification tasks: (in increasing level of difficulty) &lt;br /&gt;
&lt;br /&gt;
1. [http://trac.videolan.org/vlmc/ticket/134 Bug 134]: Update labels and strings when locale is changed. &lt;br /&gt;
&lt;br /&gt;
2. [http://trac.videolan.org/vlmc/ticket/61 Bug 61]: Improve project timeline widget to have clip thumbnail. &lt;br /&gt;
&lt;br /&gt;
3. [http://trac.videolan.org/vlmc/ticket/237 Bug 237]: Fix Detached Video Widget on Mac OS when a file is played. &lt;br /&gt;
&lt;br /&gt;
4. [http://trac.videolan.org/vlmc/ticket/145 Bug 145]: Project preview has no sound on Windows. &lt;br /&gt;
&lt;br /&gt;
5. [http://trac.videolan.org/vlmc/ticket/196 Bug 196]: Fix distorted audio playback in project preview. &lt;br /&gt;
&lt;br /&gt;
6. [http://trac.videolan.org/vlmc/ticket/144 Bug 144]: On some platforms, rendered video file has no sound. Identify the problem and fix it. &lt;br /&gt;
&lt;br /&gt;
=== GUI Improvements  ===&lt;br /&gt;
&lt;br /&gt;
Difficulty: Medium &lt;br /&gt;
&lt;br /&gt;
Proposed mentor: etix &lt;br /&gt;
&lt;br /&gt;
VLMC needs a GUI make over, using Qt APIs such as graphics view, animation, states etc. Correcting those widgets such as the import window, provide alternative widget so VLMC better fits with the video editing needs. &lt;br /&gt;
&lt;br /&gt;
Many widgets can be rewritten&amp;amp;nbsp;: Import, Library, Clip property... be creative&amp;amp;nbsp;! &lt;br /&gt;
&lt;br /&gt;
=== Quality Improvements: Writing Tests and fixing LibVLC APIs  ===&lt;br /&gt;
&lt;br /&gt;
Difficulty: Hard &lt;br /&gt;
&lt;br /&gt;
Proposed mentor:&amp;amp;nbsp;? (needs a VLC developer to mentor this one) &lt;br /&gt;
&lt;br /&gt;
While rendering preview and project, VLMC may sometimes crash due to bugs in the libVLC. The project will consist of; writing (unit) tests/test-cases for VLMC/libVLC APIs, and identify what&#039;s causing the crashes and fixing the bugs. The major area is rendering. Testing should be verified on at least two of the OSs: Linux, Windows and Mac. This project can help VLMC have stable releases and better quality control. &lt;br /&gt;
&lt;br /&gt;
=== Plugin Architecture for VLMC  ===&lt;br /&gt;
&lt;br /&gt;
Difficulty: Hard &lt;br /&gt;
&lt;br /&gt;
Proposed mentor:&amp;amp;nbsp;? &lt;br /&gt;
&lt;br /&gt;
VLMC uses frei0r plugins to add special effects. The project consists of designing and implementing a plugin architecture that can take in lua/python/compiled-plugins(.so) plugins.&lt;/div&gt;</summary>
		<author><name>ConfusedVorlon</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=SoC_2011&amp;diff=18913</id>
		<title>SoC 2011</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=SoC_2011&amp;diff=18913"/>
		<updated>2011-03-24T12:34:49Z</updated>

		<summary type="html">&lt;p&gt;ConfusedVorlon: /* Http interface improvements */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Google Summer of Code 2011.&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
This wiki page covers the work of the [[VideoLAN]] project as a mentoring organization for [http://code.google.com/soc/ Google Summer of Code], in order to improve {{VLC}}, [[X264]], the H.264 video encoder, and VLMC. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
== Introduction &amp;amp;amp; Information  ==&lt;br /&gt;
&lt;br /&gt;
This wiki page covers the attempt by the [[VideoLAN]] project to act as a mentoring organization for [http://code.google.com/soc/ Google Summer of Code], in order to improve {{VLC}} and [[X264]], the H.264 video encoder. &lt;br /&gt;
&lt;br /&gt;
[[VideoLAN]] was a mentoring organization in [[SoC 2007|2007]], [[SoC 2008|2008]], [[SoC 2009|2009]] and [[SoC 2010|2010]]. &lt;br /&gt;
&lt;br /&gt;
*This page list the ideas for VLC and VLMC &lt;br /&gt;
*There is also a separate page for project ideas for [[X264]]: &#039;&#039;&#039;[[SoC x264 2011]]&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
If you are a &#039;&#039;&#039;student&#039;&#039;&#039;, please read [[SoC 2011 Rules|the rules and advice]]. &lt;br /&gt;
&lt;br /&gt;
=== VLC media player  ===&lt;br /&gt;
&lt;br /&gt;
{{VLC}} is a cross-platform multimedia player, encoder and streamer application. It is one of the most successful open-source projects without any professional structure underneath. &lt;br /&gt;
&lt;br /&gt;
{{VLC}} is downloaded at an approximate monthly rate of 5 millions from the main website and that&#039;s not including third-party distributions (Linux)! &lt;br /&gt;
&lt;br /&gt;
You can find more information on [http://en.wikipedia.org/wiki/VLC_media_player VLC on Wikipedia] or on this [[Main Page|wiki]]. &lt;br /&gt;
&lt;br /&gt;
=== x264  ===&lt;br /&gt;
&lt;br /&gt;
{{x264}} is probably the most popular open source video compression software, used worldwide for applications such as web video, television broadcast, and Blu-ray authoring. It outclasses practically all commercial implementations both speed and compression-wise. While not actually part of VLC or ffmpeg, it is a major library used by both, licensed under the GPL. Due to its popularity in the commercial world (for example, Youtube and Facebook rely on it), many companies have offered bounties in the past for features and improvements that they found useful. &lt;br /&gt;
&lt;br /&gt;
=== Summer of Code  ===&lt;br /&gt;
&lt;br /&gt;
If selected and developed, SoC projects for VLC will be included in later releases; SoC projects for x264 will be included in the main tree of the project. &lt;br /&gt;
&lt;br /&gt;
All projects are covered by the GPL licence. (v2+) &lt;br /&gt;
&lt;br /&gt;
== Ideas ==&lt;br /&gt;
=== VLC and VLMC  ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Read this&#039;&#039;&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
This page is split in three lists of ideas: &lt;br /&gt;
&lt;br /&gt;
#The &#039;&#039;main ideas&#039;&#039; are what seem to be &#039;&#039;key projects&#039;&#039; for VLC and should be more &#039;&#039;thrilling&#039;&#039; than the other ones; we have assigned a potential mentor to each of these. &lt;br /&gt;
#The other ideas are less detailed but could be good ideas too. &lt;br /&gt;
#VLMC ideas &lt;br /&gt;
#[[Mini Projects]] are short-span projects which can be given as Qualification tasks or extended to be Full Summer of Code project.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Original good ideas will be valued&#039;&#039;&#039;. Last year, half of the ideas were given by students. We don&#039;t want to impose anything. This is free and Open Source software.&lt;br /&gt;
&lt;br /&gt;
If you don&#039;t want to apply for SoC but want other ideas to develop on, check the [[Mini Projects]] page! &lt;br /&gt;
&lt;br /&gt;
And on the IRC channel, you can have even more ideas.&lt;br /&gt;
&lt;br /&gt;
=== Ideas for x264  ===&lt;br /&gt;
&lt;br /&gt;
For x264 ideas, please see [[SoC x264 2011]]. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Key ideas for VLC  ==&lt;br /&gt;
&lt;br /&gt;
=== New Audio Filters  ===&lt;br /&gt;
&lt;br /&gt;
We are looking for a skilled &#039;&#039;&#039;audiophile&#039;&#039;&#039; that knows a lot about audio theory and practice: &lt;br /&gt;
&lt;br /&gt;
*to create or implement new algorithms, like SRS WoW or other 3D effects &lt;br /&gt;
*to work on channels mixing, &lt;br /&gt;
*to work on tracks mixing, &lt;br /&gt;
*to create scriptable new audio filters in lua and enable users to create whatever audio filtering function they want in a Lua script. &lt;br /&gt;
*LADSPA or other libraries integration will be interesting.&lt;br /&gt;
&lt;br /&gt;
This project needs some good audio knowledge and good C experience. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Qualification task&#039;&#039;: port any audio filter from MPlayer&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: [[User:Geal|geal]]&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Porting Audio Filters  ===&lt;br /&gt;
&lt;br /&gt;
We are looking for a skilled &#039;&#039;&#039;audiophile&#039;&#039;&#039; that knows a lot about audio theory and practice: &lt;br /&gt;
* to port open source algorithm for audio filters to VLC.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This project needs some good audio knowledge and good C experience. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: [[User:Geal|geal]]&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== UPNP DLNA Server and Client  ===&lt;br /&gt;
&lt;br /&gt;
Test and fix service discovery module for UPNP/DLNA shares done by software (mediatomb, xbmc, etc) and hardware implementations.&lt;br /&gt;
&lt;br /&gt;
Provide DLNA plugin for DLNA server compliant with opensource (xbmc, djmount, etc) and proprietary (PS3, xbox360, etc) DLNA clients. Some of the work is already done by previous SoC students.&lt;br /&gt;
&lt;br /&gt;
The plugin must be smart enough to provide &amp;quot;presets&amp;quot; for known DLNA media clients with limited features (PS3 or XBOX360 for starters) which require additional quirks or hacks or items to be transcoded or streamed.&lt;br /&gt;
&lt;br /&gt;
Requires some VLC knowledge as the project will involve using Media Library (arriving in vlc 1.2) and transcoding with VLC API.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: thresh&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Assembly optimizations in VLC  ===&lt;br /&gt;
&lt;br /&gt;
If you are fond of writing ASM and you are fluent in MMX/SSE2/SSE4, there are many interesting things in VLC to speed up. &lt;br /&gt;
&lt;br /&gt;
* Profiling VLC. &lt;br /&gt;
* memcpy implementations in SSE* and MMX (see modules/misc/memcpy/fastmemcpy.h) &lt;br /&gt;
* video filters ASM speedups (see modules/video_filter/blend.c) &lt;br /&gt;
* audio filters ASM speedups (see modules/audio_filter/equalizer.c) &lt;br /&gt;
* Porting other ASM video filters to VLC.&lt;br /&gt;
&lt;br /&gt;
This project needs some good ASM knowledge and good C experience. &lt;br /&gt;
&lt;br /&gt;
*Stuff to read: http://www.agner.org/optimize/&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: [[User:J-b|jb]]&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== VLC Android Port ===&lt;br /&gt;
&lt;br /&gt;
Improve current VLC [http://git.videolan.org/?p=vlc/vlc-android.git;a=summary android port], improve/add native/java interfaces and design and implement a GUI.&lt;br /&gt;
The project can be broken into:&lt;br /&gt;
&lt;br /&gt;
* Build libvlc jni, understand LibVlc.&lt;br /&gt;
* Design and implement a cool GUI with gestures and using LibVlc implement callbacks, map user events etc.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentors: MagSoft, ivore&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== VLC Test Suite  ===&lt;br /&gt;
&lt;br /&gt;
This project aims at making automatic tests to improve VLC quality. &lt;br /&gt;
&lt;br /&gt;
*Write a series of tests for vlc-internal &lt;br /&gt;
*Integrate a framework for automated plugins testing with the automake build system &lt;br /&gt;
*Automate the different codec playback/mux/etc tests &lt;br /&gt;
*Automate the subtitles tests &lt;br /&gt;
*Write tests for the different bindings: Mac OS X Framework/Python Bindings... etc.&lt;br /&gt;
&lt;br /&gt;
This project is a code project, require good knowledge of C &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: Rémi&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== VLC Personnal Cloud Project 2.0  ===&lt;br /&gt;
&lt;br /&gt;
The personal cloud project is a simple project to allow people to play their media files anywhere in the world. &lt;br /&gt;
&lt;br /&gt;
Through the http interface of VLC, a user can: &lt;br /&gt;
&lt;br /&gt;
*list the medias from the Media Library, &lt;br /&gt;
*play those medias, &lt;br /&gt;
*those medias get transcoded and streamed in: &lt;br /&gt;
**Flash &lt;br /&gt;
**Silverlight &lt;br /&gt;
**iPhone format &lt;br /&gt;
**Android format &lt;br /&gt;
**html5 &lt;br /&gt;
**A VLC webplugin&lt;br /&gt;
&lt;br /&gt;
A good example of the aim is http://www.vodobox.c.la/ &lt;br /&gt;
&lt;br /&gt;
This project has to work on the configuration and NAT traversal. &lt;br /&gt;
&lt;br /&gt;
This projects needs knowledge in HTML and JS; it might require C coding. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: jb&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== VLC for Anime  ===&lt;br /&gt;
&lt;br /&gt;
We are looking for a skilled &#039;&#039;&#039;anime fan&#039;&#039;&#039; that knows a lot about anime theory and practice to work on the optimisation of VLC for anime.&lt;br /&gt;
Ideas include:&lt;br /&gt;
&lt;br /&gt;
* Improvement of MKV demuxer for special anime needs&lt;br /&gt;
* Subtitles display improvements&lt;br /&gt;
* video filters that make sense for anime&lt;br /&gt;
* metadata and extensions.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: jb&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== SVCD/VCD improvements  ===&lt;br /&gt;
&lt;br /&gt;
Menus and such needs to be improvements and fixed.&lt;br /&gt;
&lt;br /&gt;
Proposed mentor: &amp;quot;fenrir&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Automatic LibVLC bindings generation ===&lt;br /&gt;
&lt;br /&gt;
libVLC can be used from several programming languages like Java or python to embbed VLC feature inside another application. Anyway, maintaining these binding is power consuming.&lt;br /&gt;
VLC needs a way to automatically generate theses binding for a large set of programming languages and keep them up-to-date easily.&lt;br /&gt;
We advice to use Swig (from http://www.swig.org/) but any other tool is accepted too.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: ivoire&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== OMA/Atrac improvements ===&lt;br /&gt;
&lt;br /&gt;
We need to improve the oma demuxer to support more features and work on the ATRAC3+ decoder in libavcodec, so people can play their files from MiniDiscs.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentors: Adrian, Michael or other people from linux-minidisc&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Playlist improvements ===&lt;br /&gt;
&lt;br /&gt;
We need to reinforce the media library capabilities and its integration with external metadata sources, notably for TV shows.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: jetru&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== AirTune streaming ===&lt;br /&gt;
&lt;br /&gt;
We need to be able to stream everything to your iPhone.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Proposed mentor&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== BD-J / BD-Live ===&lt;br /&gt;
&lt;br /&gt;
This is a project to go on the work of last year on Blu-Ray Menus&lt;br /&gt;
&lt;br /&gt;
This project requires Java knowledge&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: jb&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Http interface improvements ===&lt;br /&gt;
&lt;br /&gt;
This is a project to fix and extend the http inteface (also called oldhttp) &lt;br /&gt;
&lt;br /&gt;
The http interface is used by many remote control apps on various platforms. This project would improve the capability of the interface - and thus enable more features in the various remotes that use it.&lt;br /&gt;
&lt;br /&gt;
* get the album art working&lt;br /&gt;
**the interface is supposed to return the current album art at /art (assuming &#039;export album art&#039; is enabled)&lt;br /&gt;
**at the moment, this simply doesn&#039;t work.&lt;br /&gt;
*enable playlist re-ordering&lt;br /&gt;
**at the moment, there is no way in the http interface for the playlist order to be changed&lt;br /&gt;
*enable access to the graphical equaliser&lt;br /&gt;
**should provide a list of presets available&lt;br /&gt;
**should provide info on each slider&lt;br /&gt;
**should allow user to select a preset&lt;br /&gt;
**should allow user to adjust a slider&lt;br /&gt;
*speed control&lt;br /&gt;
**allow speed to be set in the form host:8080/requests/status.xml?command=speed&amp;amp;val=&amp;lt;someVal&amp;gt;&lt;br /&gt;
**show current speed as part of the status.xml response&lt;br /&gt;
*subtitle delay control&lt;br /&gt;
**(similar to speed control)&lt;br /&gt;
*audio delay control&lt;br /&gt;
**(similar to speed control)&lt;br /&gt;
*and lots more...&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: confusedVorlon&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Other Ideas for VLC  ==&lt;br /&gt;
&lt;br /&gt;
=== WTV support ===&lt;br /&gt;
Wtv format support&lt;br /&gt;
&#039;&#039;Proposed mentor: Laurent&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== DVD audio support ===&lt;br /&gt;
Very difficult project for Audio fans&lt;br /&gt;
&#039;&#039;Proposed mentor: jb&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Device synchronisation===&lt;br /&gt;
Sync your mp3 player with the media library&lt;br /&gt;
&#039;&#039;Proposed mentor: jetru&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== HD DVD support ===&lt;br /&gt;
Very difficult project for someone having the right hardware&lt;br /&gt;
&#039;&#039;Proposed mentor: jb&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Multi-Angle DVD support ===&lt;br /&gt;
We need multi-angle DVD support&lt;br /&gt;
&#039;&#039;Proposed mentor: Meuuh&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== VLC&amp;amp;nbsp;Student Proposals ==&lt;br /&gt;
&lt;br /&gt;
=== Mobile Remote Control  ===&lt;br /&gt;
&lt;br /&gt;
(proposed by akashm1990)&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
The aim is to make a mobile remote control application for VLC running on the PC. This would be a native application.&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
The application will run on a mobile phone connected to the local network over WiFi.(probably using the http interface)&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
In addition to the usual remote control functionalities such as play,pause, open new file,volume control,etc. the application aims to implement 2 specific functionalities:&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
*On receiving an incoming call, if a video is playing on the PC, it will pause, or if music is playing, the volume may reduce. (user configurable)&amp;lt;br&amp;gt; &lt;br /&gt;
*On receiving an incoming text message, the video playing on screen is paused and the text is displayed onscreen. After a predetermined period of time, the video starts playing again.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Target Platforms: Android(primary), Symbian-QT (If time permits) &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
A video showing the auto pause functionality using Android emulators and the VLC Python API is shown here: &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
http://www.youtube.com/watch?v=ou5prh-EoBs&lt;br /&gt;
&lt;br /&gt;
== VLMC  ==&lt;br /&gt;
&lt;br /&gt;
VLMC is a non-linear cross-platform video editor based on VLC. We&#039;re looking for student(s) with good C++ skills and some experience with Qt with lots of passion of hacking. &lt;br /&gt;
&lt;br /&gt;
Hang with us at #vlmc or #videolan on irc.freenode.net and talk to the developers directly! &lt;br /&gt;
&lt;br /&gt;
To get selected: &lt;br /&gt;
&lt;br /&gt;
1. [http://wiki.videolan.org/Building_VLMC Download and build] VLMC and start playing with it. &lt;br /&gt;
&lt;br /&gt;
2. Implement some feature(s) or fix some bug(s), search VLMC&#039;s [http://trac.videolan.org/vlmc/report bug tracker]. &lt;br /&gt;
&lt;br /&gt;
3. Send your patch to vlmc-devel@videolan.org for evaluation and work on your GSoC proposal. &lt;br /&gt;
&lt;br /&gt;
4. Get selected and work on your project! &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; You&#039;ll be greatly appreciated if you complete any of the proposed qualification tasks: (in increasing level of difficulty) &lt;br /&gt;
&lt;br /&gt;
1. [http://trac.videolan.org/vlmc/ticket/134 Bug 134]: Update labels and strings when locale is changed. &lt;br /&gt;
&lt;br /&gt;
2. [http://trac.videolan.org/vlmc/ticket/61 Bug 61]: Improve project timeline widget to have clip thumbnail. &lt;br /&gt;
&lt;br /&gt;
3. [http://trac.videolan.org/vlmc/ticket/237 Bug 237]: Fix Detached Video Widget on Mac OS when a file is played. &lt;br /&gt;
&lt;br /&gt;
4. [http://trac.videolan.org/vlmc/ticket/145 Bug 145]: Project preview has no sound on Windows. &lt;br /&gt;
&lt;br /&gt;
5. [http://trac.videolan.org/vlmc/ticket/196 Bug 196]: Fix distorted audio playback in project preview. &lt;br /&gt;
&lt;br /&gt;
6. [http://trac.videolan.org/vlmc/ticket/144 Bug 144]: On some platforms, rendered video file has no sound. Identify the problem and fix it. &lt;br /&gt;
&lt;br /&gt;
=== GUI Improvements  ===&lt;br /&gt;
&lt;br /&gt;
Difficulty: Medium &lt;br /&gt;
&lt;br /&gt;
Proposed mentor: etix &lt;br /&gt;
&lt;br /&gt;
VLMC needs a GUI make over, using Qt APIs such as graphics view, animation, states etc. Correcting those widgets such as the import window, provide alternative widget so VLMC better fits with the video editing needs. &lt;br /&gt;
&lt;br /&gt;
Many widgets can be rewritten&amp;amp;nbsp;: Import, Library, Clip property... be creative&amp;amp;nbsp;! &lt;br /&gt;
&lt;br /&gt;
=== Quality Improvements: Writing Tests and fixing LibVLC APIs  ===&lt;br /&gt;
&lt;br /&gt;
Difficulty: Hard &lt;br /&gt;
&lt;br /&gt;
Proposed mentor:&amp;amp;nbsp;? (needs a VLC developer to mentor this one) &lt;br /&gt;
&lt;br /&gt;
While rendering preview and project, VLMC may sometimes crash due to bugs in the libVLC. The project will consist of; writing (unit) tests/test-cases for VLMC/libVLC APIs, and identify what&#039;s causing the crashes and fixing the bugs. The major area is rendering. Testing should be verified on at least two of the OSs: Linux, Windows and Mac. This project can help VLMC have stable releases and better quality control. &lt;br /&gt;
&lt;br /&gt;
=== Plugin Architecture for VLMC  ===&lt;br /&gt;
&lt;br /&gt;
Difficulty: Hard &lt;br /&gt;
&lt;br /&gt;
Proposed mentor:&amp;amp;nbsp;? &lt;br /&gt;
&lt;br /&gt;
VLMC uses frei0r plugins to add special effects. The project consists of designing and implementing a plugin architecture that can take in lua/python/compiled-plugins(.so) plugins.&lt;/div&gt;</summary>
		<author><name>ConfusedVorlon</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=SoC_2011&amp;diff=18912</id>
		<title>SoC 2011</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=SoC_2011&amp;diff=18912"/>
		<updated>2011-03-24T12:34:02Z</updated>

		<summary type="html">&lt;p&gt;ConfusedVorlon: /* Key ideas for VLC */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Google Summer of Code 2011.&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
This wiki page covers the work of the [[VideoLAN]] project as a mentoring organization for [http://code.google.com/soc/ Google Summer of Code], in order to improve {{VLC}}, [[X264]], the H.264 video encoder, and VLMC. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
== Introduction &amp;amp;amp; Information  ==&lt;br /&gt;
&lt;br /&gt;
This wiki page covers the attempt by the [[VideoLAN]] project to act as a mentoring organization for [http://code.google.com/soc/ Google Summer of Code], in order to improve {{VLC}} and [[X264]], the H.264 video encoder. &lt;br /&gt;
&lt;br /&gt;
[[VideoLAN]] was a mentoring organization in [[SoC 2007|2007]], [[SoC 2008|2008]], [[SoC 2009|2009]] and [[SoC 2010|2010]]. &lt;br /&gt;
&lt;br /&gt;
*This page list the ideas for VLC and VLMC &lt;br /&gt;
*There is also a separate page for project ideas for [[X264]]: &#039;&#039;&#039;[[SoC x264 2011]]&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
If you are a &#039;&#039;&#039;student&#039;&#039;&#039;, please read [[SoC 2011 Rules|the rules and advice]]. &lt;br /&gt;
&lt;br /&gt;
=== VLC media player  ===&lt;br /&gt;
&lt;br /&gt;
{{VLC}} is a cross-platform multimedia player, encoder and streamer application. It is one of the most successful open-source projects without any professional structure underneath. &lt;br /&gt;
&lt;br /&gt;
{{VLC}} is downloaded at an approximate monthly rate of 5 millions from the main website and that&#039;s not including third-party distributions (Linux)! &lt;br /&gt;
&lt;br /&gt;
You can find more information on [http://en.wikipedia.org/wiki/VLC_media_player VLC on Wikipedia] or on this [[Main Page|wiki]]. &lt;br /&gt;
&lt;br /&gt;
=== x264  ===&lt;br /&gt;
&lt;br /&gt;
{{x264}} is probably the most popular open source video compression software, used worldwide for applications such as web video, television broadcast, and Blu-ray authoring. It outclasses practically all commercial implementations both speed and compression-wise. While not actually part of VLC or ffmpeg, it is a major library used by both, licensed under the GPL. Due to its popularity in the commercial world (for example, Youtube and Facebook rely on it), many companies have offered bounties in the past for features and improvements that they found useful. &lt;br /&gt;
&lt;br /&gt;
=== Summer of Code  ===&lt;br /&gt;
&lt;br /&gt;
If selected and developed, SoC projects for VLC will be included in later releases; SoC projects for x264 will be included in the main tree of the project. &lt;br /&gt;
&lt;br /&gt;
All projects are covered by the GPL licence. (v2+) &lt;br /&gt;
&lt;br /&gt;
== Ideas ==&lt;br /&gt;
=== VLC and VLMC  ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Read this&#039;&#039;&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
This page is split in three lists of ideas: &lt;br /&gt;
&lt;br /&gt;
#The &#039;&#039;main ideas&#039;&#039; are what seem to be &#039;&#039;key projects&#039;&#039; for VLC and should be more &#039;&#039;thrilling&#039;&#039; than the other ones; we have assigned a potential mentor to each of these. &lt;br /&gt;
#The other ideas are less detailed but could be good ideas too. &lt;br /&gt;
#VLMC ideas &lt;br /&gt;
#[[Mini Projects]] are short-span projects which can be given as Qualification tasks or extended to be Full Summer of Code project.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Original good ideas will be valued&#039;&#039;&#039;. Last year, half of the ideas were given by students. We don&#039;t want to impose anything. This is free and Open Source software.&lt;br /&gt;
&lt;br /&gt;
If you don&#039;t want to apply for SoC but want other ideas to develop on, check the [[Mini Projects]] page! &lt;br /&gt;
&lt;br /&gt;
And on the IRC channel, you can have even more ideas.&lt;br /&gt;
&lt;br /&gt;
=== Ideas for x264  ===&lt;br /&gt;
&lt;br /&gt;
For x264 ideas, please see [[SoC x264 2011]]. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Key ideas for VLC  ==&lt;br /&gt;
&lt;br /&gt;
=== New Audio Filters  ===&lt;br /&gt;
&lt;br /&gt;
We are looking for a skilled &#039;&#039;&#039;audiophile&#039;&#039;&#039; that knows a lot about audio theory and practice: &lt;br /&gt;
&lt;br /&gt;
*to create or implement new algorithms, like SRS WoW or other 3D effects &lt;br /&gt;
*to work on channels mixing, &lt;br /&gt;
*to work on tracks mixing, &lt;br /&gt;
*to create scriptable new audio filters in lua and enable users to create whatever audio filtering function they want in a Lua script. &lt;br /&gt;
*LADSPA or other libraries integration will be interesting.&lt;br /&gt;
&lt;br /&gt;
This project needs some good audio knowledge and good C experience. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Qualification task&#039;&#039;: port any audio filter from MPlayer&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: [[User:Geal|geal]]&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Porting Audio Filters  ===&lt;br /&gt;
&lt;br /&gt;
We are looking for a skilled &#039;&#039;&#039;audiophile&#039;&#039;&#039; that knows a lot about audio theory and practice: &lt;br /&gt;
* to port open source algorithm for audio filters to VLC.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This project needs some good audio knowledge and good C experience. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: [[User:Geal|geal]]&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== UPNP DLNA Server and Client  ===&lt;br /&gt;
&lt;br /&gt;
Test and fix service discovery module for UPNP/DLNA shares done by software (mediatomb, xbmc, etc) and hardware implementations.&lt;br /&gt;
&lt;br /&gt;
Provide DLNA plugin for DLNA server compliant with opensource (xbmc, djmount, etc) and proprietary (PS3, xbox360, etc) DLNA clients. Some of the work is already done by previous SoC students.&lt;br /&gt;
&lt;br /&gt;
The plugin must be smart enough to provide &amp;quot;presets&amp;quot; for known DLNA media clients with limited features (PS3 or XBOX360 for starters) which require additional quirks or hacks or items to be transcoded or streamed.&lt;br /&gt;
&lt;br /&gt;
Requires some VLC knowledge as the project will involve using Media Library (arriving in vlc 1.2) and transcoding with VLC API.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: thresh&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Assembly optimizations in VLC  ===&lt;br /&gt;
&lt;br /&gt;
If you are fond of writing ASM and you are fluent in MMX/SSE2/SSE4, there are many interesting things in VLC to speed up. &lt;br /&gt;
&lt;br /&gt;
* Profiling VLC. &lt;br /&gt;
* memcpy implementations in SSE* and MMX (see modules/misc/memcpy/fastmemcpy.h) &lt;br /&gt;
* video filters ASM speedups (see modules/video_filter/blend.c) &lt;br /&gt;
* audio filters ASM speedups (see modules/audio_filter/equalizer.c) &lt;br /&gt;
* Porting other ASM video filters to VLC.&lt;br /&gt;
&lt;br /&gt;
This project needs some good ASM knowledge and good C experience. &lt;br /&gt;
&lt;br /&gt;
*Stuff to read: http://www.agner.org/optimize/&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: [[User:J-b|jb]]&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== VLC Android Port ===&lt;br /&gt;
&lt;br /&gt;
Improve current VLC [http://git.videolan.org/?p=vlc/vlc-android.git;a=summary android port], improve/add native/java interfaces and design and implement a GUI.&lt;br /&gt;
The project can be broken into:&lt;br /&gt;
&lt;br /&gt;
* Build libvlc jni, understand LibVlc.&lt;br /&gt;
* Design and implement a cool GUI with gestures and using LibVlc implement callbacks, map user events etc.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentors: MagSoft, ivore&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== VLC Test Suite  ===&lt;br /&gt;
&lt;br /&gt;
This project aims at making automatic tests to improve VLC quality. &lt;br /&gt;
&lt;br /&gt;
*Write a series of tests for vlc-internal &lt;br /&gt;
*Integrate a framework for automated plugins testing with the automake build system &lt;br /&gt;
*Automate the different codec playback/mux/etc tests &lt;br /&gt;
*Automate the subtitles tests &lt;br /&gt;
*Write tests for the different bindings: Mac OS X Framework/Python Bindings... etc.&lt;br /&gt;
&lt;br /&gt;
This project is a code project, require good knowledge of C &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: Rémi&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== VLC Personnal Cloud Project 2.0  ===&lt;br /&gt;
&lt;br /&gt;
The personal cloud project is a simple project to allow people to play their media files anywhere in the world. &lt;br /&gt;
&lt;br /&gt;
Through the http interface of VLC, a user can: &lt;br /&gt;
&lt;br /&gt;
*list the medias from the Media Library, &lt;br /&gt;
*play those medias, &lt;br /&gt;
*those medias get transcoded and streamed in: &lt;br /&gt;
**Flash &lt;br /&gt;
**Silverlight &lt;br /&gt;
**iPhone format &lt;br /&gt;
**Android format &lt;br /&gt;
**html5 &lt;br /&gt;
**A VLC webplugin&lt;br /&gt;
&lt;br /&gt;
A good example of the aim is http://www.vodobox.c.la/ &lt;br /&gt;
&lt;br /&gt;
This project has to work on the configuration and NAT traversal. &lt;br /&gt;
&lt;br /&gt;
This projects needs knowledge in HTML and JS; it might require C coding. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: jb&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== VLC for Anime  ===&lt;br /&gt;
&lt;br /&gt;
We are looking for a skilled &#039;&#039;&#039;anime fan&#039;&#039;&#039; that knows a lot about anime theory and practice to work on the optimisation of VLC for anime.&lt;br /&gt;
Ideas include:&lt;br /&gt;
&lt;br /&gt;
* Improvement of MKV demuxer for special anime needs&lt;br /&gt;
* Subtitles display improvements&lt;br /&gt;
* video filters that make sense for anime&lt;br /&gt;
* metadata and extensions.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: jb&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== SVCD/VCD improvements  ===&lt;br /&gt;
&lt;br /&gt;
Menus and such needs to be improvements and fixed.&lt;br /&gt;
&lt;br /&gt;
Proposed mentor: &amp;quot;fenrir&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Automatic LibVLC bindings generation ===&lt;br /&gt;
&lt;br /&gt;
libVLC can be used from several programming languages like Java or python to embbed VLC feature inside another application. Anyway, maintaining these binding is power consuming.&lt;br /&gt;
VLC needs a way to automatically generate theses binding for a large set of programming languages and keep them up-to-date easily.&lt;br /&gt;
We advice to use Swig (from http://www.swig.org/) but any other tool is accepted too.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: ivoire&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== OMA/Atrac improvements ===&lt;br /&gt;
&lt;br /&gt;
We need to improve the oma demuxer to support more features and work on the ATRAC3+ decoder in libavcodec, so people can play their files from MiniDiscs.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentors: Adrian, Michael or other people from linux-minidisc&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Playlist improvements ===&lt;br /&gt;
&lt;br /&gt;
We need to reinforce the media library capabilities and its integration with external metadata sources, notably for TV shows.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: jetru&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== AirTune streaming ===&lt;br /&gt;
&lt;br /&gt;
We need to be able to stream everything to your iPhone.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Proposed mentor&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== BD-J / BD-Live ===&lt;br /&gt;
&lt;br /&gt;
This is a project to go on the work of last year on Blu-Ray Menus&lt;br /&gt;
&lt;br /&gt;
This project requires Java knowledge&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: jb&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Http interface improvements ===&lt;br /&gt;
&lt;br /&gt;
This is a project to fix and extend the http inteface (also called oldhttp) &lt;br /&gt;
&lt;br /&gt;
The http interface is used by many remote control apps on various platforms. This project would improve the capability of the interface - and thus enable more features in the various remotes that use it.&lt;br /&gt;
&lt;br /&gt;
# get the album art working&lt;br /&gt;
##the interface is supposed to return the current album art at /art (assuming &#039;export album art&#039; is enabled)&lt;br /&gt;
##at the moment, this simply doesn&#039;t work.&lt;br /&gt;
# enable playlist re-ordering&lt;br /&gt;
##at the moment, there is no way in the http interface for the playlist order to be changed&lt;br /&gt;
# enable access to the graphical equaliser&lt;br /&gt;
##should provide a list of presets available&lt;br /&gt;
##should provide info on each slider&lt;br /&gt;
##should allow user to select a preset&lt;br /&gt;
##should allow user to adjust a slider&lt;br /&gt;
# speed control&lt;br /&gt;
##allow speed to be set in the form host:8080/requests/status.xml?command=speed&amp;amp;val=&amp;lt;someVal&amp;gt;&lt;br /&gt;
##show current speed as part of the status.xml response&lt;br /&gt;
# subtitle delay control&lt;br /&gt;
##(similar to speed control)&lt;br /&gt;
# audio delay control&lt;br /&gt;
##(similar to speed control)&lt;br /&gt;
# and lots more...&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: confusedVorlon&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Other Ideas for VLC  ==&lt;br /&gt;
&lt;br /&gt;
=== WTV support ===&lt;br /&gt;
Wtv format support&lt;br /&gt;
&#039;&#039;Proposed mentor: Laurent&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== DVD audio support ===&lt;br /&gt;
Very difficult project for Audio fans&lt;br /&gt;
&#039;&#039;Proposed mentor: jb&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Device synchronisation===&lt;br /&gt;
Sync your mp3 player with the media library&lt;br /&gt;
&#039;&#039;Proposed mentor: jetru&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== HD DVD support ===&lt;br /&gt;
Very difficult project for someone having the right hardware&lt;br /&gt;
&#039;&#039;Proposed mentor: jb&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Multi-Angle DVD support ===&lt;br /&gt;
We need multi-angle DVD support&lt;br /&gt;
&#039;&#039;Proposed mentor: Meuuh&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== VLC&amp;amp;nbsp;Student Proposals ==&lt;br /&gt;
&lt;br /&gt;
=== Mobile Remote Control  ===&lt;br /&gt;
&lt;br /&gt;
(proposed by akashm1990)&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
The aim is to make a mobile remote control application for VLC running on the PC. This would be a native application.&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
The application will run on a mobile phone connected to the local network over WiFi.(probably using the http interface)&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
In addition to the usual remote control functionalities such as play,pause, open new file,volume control,etc. the application aims to implement 2 specific functionalities:&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
*On receiving an incoming call, if a video is playing on the PC, it will pause, or if music is playing, the volume may reduce. (user configurable)&amp;lt;br&amp;gt; &lt;br /&gt;
*On receiving an incoming text message, the video playing on screen is paused and the text is displayed onscreen. After a predetermined period of time, the video starts playing again.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Target Platforms: Android(primary), Symbian-QT (If time permits) &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
A video showing the auto pause functionality using Android emulators and the VLC Python API is shown here: &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
http://www.youtube.com/watch?v=ou5prh-EoBs&lt;br /&gt;
&lt;br /&gt;
== VLMC  ==&lt;br /&gt;
&lt;br /&gt;
VLMC is a non-linear cross-platform video editor based on VLC. We&#039;re looking for student(s) with good C++ skills and some experience with Qt with lots of passion of hacking. &lt;br /&gt;
&lt;br /&gt;
Hang with us at #vlmc or #videolan on irc.freenode.net and talk to the developers directly! &lt;br /&gt;
&lt;br /&gt;
To get selected: &lt;br /&gt;
&lt;br /&gt;
1. [http://wiki.videolan.org/Building_VLMC Download and build] VLMC and start playing with it. &lt;br /&gt;
&lt;br /&gt;
2. Implement some feature(s) or fix some bug(s), search VLMC&#039;s [http://trac.videolan.org/vlmc/report bug tracker]. &lt;br /&gt;
&lt;br /&gt;
3. Send your patch to vlmc-devel@videolan.org for evaluation and work on your GSoC proposal. &lt;br /&gt;
&lt;br /&gt;
4. Get selected and work on your project! &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; You&#039;ll be greatly appreciated if you complete any of the proposed qualification tasks: (in increasing level of difficulty) &lt;br /&gt;
&lt;br /&gt;
1. [http://trac.videolan.org/vlmc/ticket/134 Bug 134]: Update labels and strings when locale is changed. &lt;br /&gt;
&lt;br /&gt;
2. [http://trac.videolan.org/vlmc/ticket/61 Bug 61]: Improve project timeline widget to have clip thumbnail. &lt;br /&gt;
&lt;br /&gt;
3. [http://trac.videolan.org/vlmc/ticket/237 Bug 237]: Fix Detached Video Widget on Mac OS when a file is played. &lt;br /&gt;
&lt;br /&gt;
4. [http://trac.videolan.org/vlmc/ticket/145 Bug 145]: Project preview has no sound on Windows. &lt;br /&gt;
&lt;br /&gt;
5. [http://trac.videolan.org/vlmc/ticket/196 Bug 196]: Fix distorted audio playback in project preview. &lt;br /&gt;
&lt;br /&gt;
6. [http://trac.videolan.org/vlmc/ticket/144 Bug 144]: On some platforms, rendered video file has no sound. Identify the problem and fix it. &lt;br /&gt;
&lt;br /&gt;
=== GUI Improvements  ===&lt;br /&gt;
&lt;br /&gt;
Difficulty: Medium &lt;br /&gt;
&lt;br /&gt;
Proposed mentor: etix &lt;br /&gt;
&lt;br /&gt;
VLMC needs a GUI make over, using Qt APIs such as graphics view, animation, states etc. Correcting those widgets such as the import window, provide alternative widget so VLMC better fits with the video editing needs. &lt;br /&gt;
&lt;br /&gt;
Many widgets can be rewritten&amp;amp;nbsp;: Import, Library, Clip property... be creative&amp;amp;nbsp;! &lt;br /&gt;
&lt;br /&gt;
=== Quality Improvements: Writing Tests and fixing LibVLC APIs  ===&lt;br /&gt;
&lt;br /&gt;
Difficulty: Hard &lt;br /&gt;
&lt;br /&gt;
Proposed mentor:&amp;amp;nbsp;? (needs a VLC developer to mentor this one) &lt;br /&gt;
&lt;br /&gt;
While rendering preview and project, VLMC may sometimes crash due to bugs in the libVLC. The project will consist of; writing (unit) tests/test-cases for VLMC/libVLC APIs, and identify what&#039;s causing the crashes and fixing the bugs. The major area is rendering. Testing should be verified on at least two of the OSs: Linux, Windows and Mac. This project can help VLMC have stable releases and better quality control. &lt;br /&gt;
&lt;br /&gt;
=== Plugin Architecture for VLMC  ===&lt;br /&gt;
&lt;br /&gt;
Difficulty: Hard &lt;br /&gt;
&lt;br /&gt;
Proposed mentor:&amp;amp;nbsp;? &lt;br /&gt;
&lt;br /&gt;
VLMC uses frei0r plugins to add special effects. The project consists of designing and implementing a plugin architecture that can take in lua/python/compiled-plugins(.so) plugins.&lt;/div&gt;</summary>
		<author><name>ConfusedVorlon</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=Documentation:Streaming_HowTo/Streaming_for_the_iPhone&amp;diff=16232</id>
		<title>Documentation:Streaming HowTo/Streaming for the iPhone</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=Documentation:Streaming_HowTo/Streaming_for_the_iPhone&amp;diff=16232"/>
		<updated>2010-06-05T14:12:41Z</updated>

		<summary type="html">&lt;p&gt;ConfusedVorlon: /* Possible improvements/fixes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{RightMenu|documentation streaming howto toc}}&lt;br /&gt;
&lt;br /&gt;
Note: this functionality is intended to be part of the 1.2 release, so at the time of writing it is only available in nightly builds.&lt;br /&gt;
&lt;br /&gt;
== Streaming for the iPhone ==&lt;br /&gt;
&lt;br /&gt;
This functionality allows you to link VLC&#039;s transcoding capability with a segmenter which will in turn create the series of files needed for http live streaming to the iPhone. &lt;br /&gt;
&lt;br /&gt;
Unlike most of VLC&#039;s streaming, it doesn&#039;t actually stream the files, but assumes that you have your own webserver which will do that job.&lt;br /&gt;
&lt;br /&gt;
Notes from the developer:&lt;br /&gt;
*This has only been tested using H.264 w/MP3 or AAC audio using mux=ts, and raw MP3 using mux=raw&lt;br /&gt;
*I&#039;ve been mostly an FFMPEG guy till now, so forgive me if my VLC understanding/terminology is somewhat off. &lt;br /&gt;
*This plug-in should support both Live and non-live HTTP Live streaming feeds, depending on the options passed to the module.&lt;br /&gt;
&lt;br /&gt;
=== Instructions ===&lt;br /&gt;
&lt;br /&gt;
The name of the module is livehttp, and is specified by specifying &amp;quot;access=livehttp&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Options ===&lt;br /&gt;
&lt;br /&gt;
splitanywhere= (default: false) &lt;br /&gt;
*Tells livehttp to split the stream anywhere, not just on video keyframes.  Currently required to be set to true for audio-only streams and not recommended (probably won&#039;t work) for video streams. &lt;br /&gt;
&lt;br /&gt;
seglen= (default: 10)  &lt;br /&gt;
*How many seconds of audio/video each segment should contain.  Apple recommends 10, I have been using 5. &lt;br /&gt;
&lt;br /&gt;
numsegs=(default: 0)&lt;br /&gt;
*The number of segments to keep in the index file.  The default of 0 keeps all segments in the index (which you would want for non-live streaming).  For live streaming the specification require at least 3. &lt;br /&gt;
&lt;br /&gt;
delsegs= (default: true)&lt;br /&gt;
*Delete segments as they are no longer needed.   If numsegs=0 this parameter is ignored (as all segments are assumed to be needed) &lt;br /&gt;
&lt;br /&gt;
dst=&lt;br /&gt;
*This is actually an option to the access std module.  The path of the segment files to write.  The # characters get replaced with the segment number.  So a path of &amp;quot;seg-###.ts&amp;quot; will end up with files called &amp;quot;seg-001.ts, seg-002.ts, seg-003.ts&amp;quot; etc. &lt;br /&gt;
&lt;br /&gt;
index=&lt;br /&gt;
*The path of the index file to write, which will contain the &amp;quot;playlist&amp;quot; of video/audio segments to stream.  Recommended to end in .m3u8 by specifications.  This is the file the &amp;lt;video&amp;gt; tag should be pointed to. &lt;br /&gt;
&lt;br /&gt;
index-url=&lt;br /&gt;
*This is the URL that corresponds to the dst above (how a browser would access the dst file).  The # characters get replaced same as in the dst parameter.  Note:  The filename portion of this URL will most likely need to be in the exact same format as the dst parameter.  So for example if dst=/www/seg-##.ts then the index-url should be something like index-url=http://mydomain.com/streams/seg-##.ts  (Note the same number of # characters)&lt;br /&gt;
&lt;br /&gt;
rate-control=(default: false)&lt;br /&gt;
*If set to false the there is no rate control (the muxer sends the data as fast/slow as it can to the streamer).  If set to true the muxer should do rate-control to control the speed to muxed audio/video is sent to the streamer.  I&#039;m a little unsure what the &amp;quot;best&amp;quot; setting for this parameter is when re-streaming an existing video stream.  I&#039;ve been leaving it at false...&lt;br /&gt;
&lt;br /&gt;
=== Examples ===&lt;br /&gt;
All examples assume the following:&lt;br /&gt;
*The Web Server root directory is /var/www&lt;br /&gt;
*The domain name of the web server is mydomain.com&lt;br /&gt;
*The stream segments &amp;amp;amp; index files will be written into /var/www/streaming/ and will be accessed via http://mydomain.com/streaming/...&lt;br /&gt;
*The destination stream name index file will be called &amp;quot;mystream.m3u8&amp;quot;&lt;br /&gt;
*The following HTML will allow you to view the video based on the above on an iPhone:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Re-stream a live video feed:&lt;br /&gt;
 % &#039;&#039;&#039;vlc -I dummy --mms-caching 0 http://www.nasa.gov/55644main_NASATV_Windows.asx vlc://quit --sout=&#039;#transcode{threads=2,width=320,height=240,fps=25,vcodec=h264,vb=256,venc=x264{aud,profile=baseline,level=30,keyint=30,bframes=0,ref=1,nocabac},acodec=mp3,ab=96}:duplicate{dst=std{access=livehttp{seglen=10,delsegs=true,numsegs=5,index=/var/www/streaming/mystream.m3u8,index-url=http://mydomain.com/streaming/mystream-########.ts},mux=ts{use-key-frames},dst=/var/www/streaming/mystream-########.ts}}&#039; &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Create a VOD stream:&lt;br /&gt;
(Non-live.  When this command finishes, all the segments should have been created and the index file contain pointers to all of them)&lt;br /&gt;
 % &#039;&#039;&#039;vlc -I dummy /var/myvideos/video.mpg vlc://quit --sout=&#039;#transcode{threads=2,width=320,height=240,fps=25,vcodec=h264,vb=256,venc=x264{aud,profile=baseline,level=30,keyint=30,bframes=0,ref=1,nocabac},acodec=mp3,ab=96}:duplicate{dst=std{access=livehttp{seglen=10,delsegs=false,numsegs=0,index=/var/www/streaming/mystream.m3u8,index-url=http://mydomain.com/streaming/mystream-########.ts},mux=ts{use-key-frames},dst=/var/www/streaming/mystream-########.ts}}&#039; &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Re-stream a live audio feed:&lt;br /&gt;
 % &#039;&#039;&#039;vlc -I dummy --mms-caching 0 http://www.nasa.gov/55644main_NASATV_Windows.asx vlc://quit --sout=&#039;#transcode{acodec=mp3,ab=96}:duplicate{dst=std{access=livehttp{seglen=10,delsegs=true,numsegs=5,index=/var/www/streaming/mystream.m3u8,index-url=http://mydomain.com/streaming/mystream-########.mp3},mux=raw,dst=/var/www/streaming/mystream-########.mp3},select=novideo}&#039; &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Possible improvements/fixes===&lt;br /&gt;
&lt;br /&gt;
from the developer:&lt;br /&gt;
*Have the module auto-detect audio only streams, so the splitanywhere option is not required.&lt;br /&gt;
*I&#039;m not sure I am doing the right thing with the Win32 rename function.  Linux (I believe) allows me to rename a file over an existing file, even if the existing file is in use.  Win32 is not so friendly.  This ability is useful for updating the index file at same time it may be currently being read by the HTTP server serving the files.&lt;br /&gt;
*Break the dst= and index= parameter into seperate filename/directory entries, so you only need to specify the filename format once. (instead of once for the dst= parameter, and once for the index-url= parameter)&lt;br /&gt;
&lt;br /&gt;
{{Documentation}}&lt;/div&gt;</summary>
		<author><name>ConfusedVorlon</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=Documentation:Streaming_HowTo/Streaming_for_the_iPhone&amp;diff=16231</id>
		<title>Documentation:Streaming HowTo/Streaming for the iPhone</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=Documentation:Streaming_HowTo/Streaming_for_the_iPhone&amp;diff=16231"/>
		<updated>2010-06-05T14:12:02Z</updated>

		<summary type="html">&lt;p&gt;ConfusedVorlon: added documentation link at bottom&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{RightMenu|documentation streaming howto toc}}&lt;br /&gt;
&lt;br /&gt;
Note: this functionality is intended to be part of the 1.2 release, so at the time of writing it is only available in nightly builds.&lt;br /&gt;
&lt;br /&gt;
== Streaming for the iPhone ==&lt;br /&gt;
&lt;br /&gt;
This functionality allows you to link VLC&#039;s transcoding capability with a segmenter which will in turn create the series of files needed for http live streaming to the iPhone. &lt;br /&gt;
&lt;br /&gt;
Unlike most of VLC&#039;s streaming, it doesn&#039;t actually stream the files, but assumes that you have your own webserver which will do that job.&lt;br /&gt;
&lt;br /&gt;
Notes from the developer:&lt;br /&gt;
*This has only been tested using H.264 w/MP3 or AAC audio using mux=ts, and raw MP3 using mux=raw&lt;br /&gt;
*I&#039;ve been mostly an FFMPEG guy till now, so forgive me if my VLC understanding/terminology is somewhat off. &lt;br /&gt;
*This plug-in should support both Live and non-live HTTP Live streaming feeds, depending on the options passed to the module.&lt;br /&gt;
&lt;br /&gt;
=== Instructions ===&lt;br /&gt;
&lt;br /&gt;
The name of the module is livehttp, and is specified by specifying &amp;quot;access=livehttp&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Options ===&lt;br /&gt;
&lt;br /&gt;
splitanywhere= (default: false) &lt;br /&gt;
*Tells livehttp to split the stream anywhere, not just on video keyframes.  Currently required to be set to true for audio-only streams and not recommended (probably won&#039;t work) for video streams. &lt;br /&gt;
&lt;br /&gt;
seglen= (default: 10)  &lt;br /&gt;
*How many seconds of audio/video each segment should contain.  Apple recommends 10, I have been using 5. &lt;br /&gt;
&lt;br /&gt;
numsegs=(default: 0)&lt;br /&gt;
*The number of segments to keep in the index file.  The default of 0 keeps all segments in the index (which you would want for non-live streaming).  For live streaming the specification require at least 3. &lt;br /&gt;
&lt;br /&gt;
delsegs= (default: true)&lt;br /&gt;
*Delete segments as they are no longer needed.   If numsegs=0 this parameter is ignored (as all segments are assumed to be needed) &lt;br /&gt;
&lt;br /&gt;
dst=&lt;br /&gt;
*This is actually an option to the access std module.  The path of the segment files to write.  The # characters get replaced with the segment number.  So a path of &amp;quot;seg-###.ts&amp;quot; will end up with files called &amp;quot;seg-001.ts, seg-002.ts, seg-003.ts&amp;quot; etc. &lt;br /&gt;
&lt;br /&gt;
index=&lt;br /&gt;
*The path of the index file to write, which will contain the &amp;quot;playlist&amp;quot; of video/audio segments to stream.  Recommended to end in .m3u8 by specifications.  This is the file the &amp;lt;video&amp;gt; tag should be pointed to. &lt;br /&gt;
&lt;br /&gt;
index-url=&lt;br /&gt;
*This is the URL that corresponds to the dst above (how a browser would access the dst file).  The # characters get replaced same as in the dst parameter.  Note:  The filename portion of this URL will most likely need to be in the exact same format as the dst parameter.  So for example if dst=/www/seg-##.ts then the index-url should be something like index-url=http://mydomain.com/streams/seg-##.ts  (Note the same number of # characters)&lt;br /&gt;
&lt;br /&gt;
rate-control=(default: false)&lt;br /&gt;
*If set to false the there is no rate control (the muxer sends the data as fast/slow as it can to the streamer).  If set to true the muxer should do rate-control to control the speed to muxed audio/video is sent to the streamer.  I&#039;m a little unsure what the &amp;quot;best&amp;quot; setting for this parameter is when re-streaming an existing video stream.  I&#039;ve been leaving it at false...&lt;br /&gt;
&lt;br /&gt;
=== Examples ===&lt;br /&gt;
All examples assume the following:&lt;br /&gt;
*The Web Server root directory is /var/www&lt;br /&gt;
*The domain name of the web server is mydomain.com&lt;br /&gt;
*The stream segments &amp;amp;amp; index files will be written into /var/www/streaming/ and will be accessed via http://mydomain.com/streaming/...&lt;br /&gt;
*The destination stream name index file will be called &amp;quot;mystream.m3u8&amp;quot;&lt;br /&gt;
*The following HTML will allow you to view the video based on the above on an iPhone:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Re-stream a live video feed:&lt;br /&gt;
 % &#039;&#039;&#039;vlc -I dummy --mms-caching 0 http://www.nasa.gov/55644main_NASATV_Windows.asx vlc://quit --sout=&#039;#transcode{threads=2,width=320,height=240,fps=25,vcodec=h264,vb=256,venc=x264{aud,profile=baseline,level=30,keyint=30,bframes=0,ref=1,nocabac},acodec=mp3,ab=96}:duplicate{dst=std{access=livehttp{seglen=10,delsegs=true,numsegs=5,index=/var/www/streaming/mystream.m3u8,index-url=http://mydomain.com/streaming/mystream-########.ts},mux=ts{use-key-frames},dst=/var/www/streaming/mystream-########.ts}}&#039; &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Create a VOD stream:&lt;br /&gt;
(Non-live.  When this command finishes, all the segments should have been created and the index file contain pointers to all of them)&lt;br /&gt;
 % &#039;&#039;&#039;vlc -I dummy /var/myvideos/video.mpg vlc://quit --sout=&#039;#transcode{threads=2,width=320,height=240,fps=25,vcodec=h264,vb=256,venc=x264{aud,profile=baseline,level=30,keyint=30,bframes=0,ref=1,nocabac},acodec=mp3,ab=96}:duplicate{dst=std{access=livehttp{seglen=10,delsegs=false,numsegs=0,index=/var/www/streaming/mystream.m3u8,index-url=http://mydomain.com/streaming/mystream-########.ts},mux=ts{use-key-frames},dst=/var/www/streaming/mystream-########.ts}}&#039; &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Re-stream a live audio feed:&lt;br /&gt;
 % &#039;&#039;&#039;vlc -I dummy --mms-caching 0 http://www.nasa.gov/55644main_NASATV_Windows.asx vlc://quit --sout=&#039;#transcode{acodec=mp3,ab=96}:duplicate{dst=std{access=livehttp{seglen=10,delsegs=true,numsegs=5,index=/var/www/streaming/mystream.m3u8,index-url=http://mydomain.com/streaming/mystream-########.mp3},mux=raw,dst=/var/www/streaming/mystream-########.mp3},select=novideo}&#039; &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Possible improvements/fixes===&lt;br /&gt;
Have the module auto-detect audio only streams, so the splitanywhere option is not required.&lt;br /&gt;
&lt;br /&gt;
I&#039;m not sure I am doing the right thing with the Win32 rename function.  Linux (I believe) allows me to rename a file over an existing file, even if the existing file is in use.  Win32 is not so friendly.  This ability is useful for updating the index file at same time it may be currently being read by the HTTP server serving the files.&lt;br /&gt;
&lt;br /&gt;
Break the dst= and index= parameter into seperate filename/directory entries, so you only need to specify the filename format once. (instead of once for the dst= parameter, and once for the index-url= parameter)&lt;br /&gt;
&lt;br /&gt;
{{Documentation}}&lt;/div&gt;</summary>
		<author><name>ConfusedVorlon</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=Documentation:Streaming_HowTo&amp;diff=16230</id>
		<title>Documentation:Streaming HowTo</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=Documentation:Streaming_HowTo&amp;diff=16230"/>
		<updated>2010-06-05T14:09:07Z</updated>

		<summary type="html">&lt;p&gt;ConfusedVorlon: added link to streaming for the iphone&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{RightMenu|documentation streaming 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;
* Antoine Cellerier&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;
&lt;br /&gt;
&#039;&#039;&#039;This document explains how to stream, transcode and save streams using the VideoLAN solution&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
[[Documentation:Streaming HowTo/Streaming, Muxers and Codecs|Streaming, Muxers and Codecs]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Documentation:Streaming HowTo/Easy Streaming|Easy Streaming]]&lt;br /&gt;
&lt;br /&gt;
[[Documentation:Streaming HowTo/Advanced Streaming Using the Command Line|Advanced Streaming Using the Command Line]]&lt;br /&gt;
&lt;br /&gt;
[[Documentation:Streaming HowTo/Command Line Examples|Command Line Examples]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Documentation:Streaming HowTo/VLM|VLM - Multiple Streaming and Video on Demand]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Documentation:Streaming HowTo/Receive and Save a Stream|Receive and Save a Stream]]&lt;br /&gt;
&lt;br /&gt;
[[Documentation:Streaming HowTo New|Convert files to other formats]]&lt;br /&gt;
&lt;br /&gt;
[[Documentation:Streaming HowTo/Stream a File|Stream a File]]&lt;br /&gt;
&lt;br /&gt;
[[Documentation:Streaming HowTo/Stream a DVD|Stream a DVD]]&lt;br /&gt;
&lt;br /&gt;
[[Documentation:Streaming HowTo/Stream a DVB Channel|Stream a DVB Channel]]&lt;br /&gt;
&lt;br /&gt;
[[Documentation:Streaming HowTo/Stream from Encoding Cards and Other Capture Devices|Stream from Encoding Cards and Other Capture Devices]]&lt;br /&gt;
&lt;br /&gt;
[[Documentation:Streaming HowTo/Stream from a DV Camcorder|Stream from a DV Camcorder]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Documentation:Streaming HowTo/Streaming over IPv6|Streaming over IPv6]]&lt;br /&gt;
&lt;br /&gt;
[[Documentation:Streaming HowTo/Advanced streaming with samples, multiple files streaming, using multicast in streaming|Advanced streaming with samples, multiple files streaming, using multicast in streaming]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Documentation:Streaming HowTo/Streaming a live video feed to Darwin Streaming Server for Mobile Phones|Streaming a live video feed to Darwin Streaming Server for Mobile Phones]]&lt;br /&gt;
&lt;br /&gt;
[[Documentation:Streaming_HowTo/Streaming_for_the_iPhone|Streaming for the iPhone with live http]]&lt;br /&gt;
&lt;br /&gt;
{{Documentation}}&lt;/div&gt;</summary>
		<author><name>ConfusedVorlon</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=Documentation:Streaming_HowTo/Streaming_for_the_iPhone&amp;diff=16229</id>
		<title>Documentation:Streaming HowTo/Streaming for the iPhone</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=Documentation:Streaming_HowTo/Streaming_for_the_iPhone&amp;diff=16229"/>
		<updated>2010-06-05T14:07:39Z</updated>

		<summary type="html">&lt;p&gt;ConfusedVorlon: documentation for the live_http module. Taken with permission from http://techblog.unwiredappeal.com/2010/03/vlc-http-live-streaming-module-patch.html&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{RightMenu|documentation streaming howto toc}}&lt;br /&gt;
&lt;br /&gt;
Note: this functionality is intended to be part of the 1.2 release, so at the time of writing it is only available in nightly builds.&lt;br /&gt;
&lt;br /&gt;
== Streaming for the iPhone ==&lt;br /&gt;
&lt;br /&gt;
This functionality allows you to link VLC&#039;s transcoding capability with a segmenter which will in turn create the series of files needed for http live streaming to the iPhone. &lt;br /&gt;
&lt;br /&gt;
Unlike most of VLC&#039;s streaming, it doesn&#039;t actually stream the files, but assumes that you have your own webserver which will do that job.&lt;br /&gt;
&lt;br /&gt;
Notes from the developer:&lt;br /&gt;
*This has only been tested using H.264 w/MP3 or AAC audio using mux=ts, and raw MP3 using mux=raw&lt;br /&gt;
*I&#039;ve been mostly an FFMPEG guy till now, so forgive me if my VLC understanding/terminology is somewhat off. &lt;br /&gt;
*This plug-in should support both Live and non-live HTTP Live streaming feeds, depending on the options passed to the module.&lt;br /&gt;
&lt;br /&gt;
=== Instructions ===&lt;br /&gt;
&lt;br /&gt;
The name of the module is livehttp, and is specified by specifying &amp;quot;access=livehttp&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Options ===&lt;br /&gt;
&lt;br /&gt;
splitanywhere= (default: false) &lt;br /&gt;
*Tells livehttp to split the stream anywhere, not just on video keyframes.  Currently required to be set to true for audio-only streams and not recommended (probably won&#039;t work) for video streams. &lt;br /&gt;
&lt;br /&gt;
seglen= (default: 10)  &lt;br /&gt;
*How many seconds of audio/video each segment should contain.  Apple recommends 10, I have been using 5. &lt;br /&gt;
&lt;br /&gt;
numsegs=(default: 0)&lt;br /&gt;
*The number of segments to keep in the index file.  The default of 0 keeps all segments in the index (which you would want for non-live streaming).  For live streaming the specification require at least 3. &lt;br /&gt;
&lt;br /&gt;
delsegs= (default: true)&lt;br /&gt;
*Delete segments as they are no longer needed.   If numsegs=0 this parameter is ignored (as all segments are assumed to be needed) &lt;br /&gt;
&lt;br /&gt;
dst=&lt;br /&gt;
*This is actually an option to the access std module.  The path of the segment files to write.  The # characters get replaced with the segment number.  So a path of &amp;quot;seg-###.ts&amp;quot; will end up with files called &amp;quot;seg-001.ts, seg-002.ts, seg-003.ts&amp;quot; etc. &lt;br /&gt;
&lt;br /&gt;
index=&lt;br /&gt;
*The path of the index file to write, which will contain the &amp;quot;playlist&amp;quot; of video/audio segments to stream.  Recommended to end in .m3u8 by specifications.  This is the file the &amp;lt;video&amp;gt; tag should be pointed to. &lt;br /&gt;
&lt;br /&gt;
index-url=&lt;br /&gt;
*This is the URL that corresponds to the dst above (how a browser would access the dst file).  The # characters get replaced same as in the dst parameter.  Note:  The filename portion of this URL will most likely need to be in the exact same format as the dst parameter.  So for example if dst=/www/seg-##.ts then the index-url should be something like index-url=http://mydomain.com/streams/seg-##.ts  (Note the same number of # characters)&lt;br /&gt;
&lt;br /&gt;
rate-control=(default: false)&lt;br /&gt;
*If set to false the there is no rate control (the muxer sends the data as fast/slow as it can to the streamer).  If set to true the muxer should do rate-control to control the speed to muxed audio/video is sent to the streamer.  I&#039;m a little unsure what the &amp;quot;best&amp;quot; setting for this parameter is when re-streaming an existing video stream.  I&#039;ve been leaving it at false...&lt;br /&gt;
&lt;br /&gt;
=== Examples ===&lt;br /&gt;
All examples assume the following:&lt;br /&gt;
*The Web Server root directory is /var/www&lt;br /&gt;
*The domain name of the web server is mydomain.com&lt;br /&gt;
*The stream segments &amp;amp;amp; index files will be written into /var/www/streaming/ and will be accessed via http://mydomain.com/streaming/...&lt;br /&gt;
*The destination stream name index file will be called &amp;quot;mystream.m3u8&amp;quot;&lt;br /&gt;
*The following HTML will allow you to view the video based on the above on an iPhone:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Re-stream a live video feed:&lt;br /&gt;
 % &#039;&#039;&#039;vlc -I dummy --mms-caching 0 http://www.nasa.gov/55644main_NASATV_Windows.asx vlc://quit --sout=&#039;#transcode{threads=2,width=320,height=240,fps=25,vcodec=h264,vb=256,venc=x264{aud,profile=baseline,level=30,keyint=30,bframes=0,ref=1,nocabac},acodec=mp3,ab=96}:duplicate{dst=std{access=livehttp{seglen=10,delsegs=true,numsegs=5,index=/var/www/streaming/mystream.m3u8,index-url=http://mydomain.com/streaming/mystream-########.ts},mux=ts{use-key-frames},dst=/var/www/streaming/mystream-########.ts}}&#039; &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Create a VOD stream:&lt;br /&gt;
(Non-live.  When this command finishes, all the segments should have been created and the index file contain pointers to all of them)&lt;br /&gt;
 % &#039;&#039;&#039;vlc -I dummy /var/myvideos/video.mpg vlc://quit --sout=&#039;#transcode{threads=2,width=320,height=240,fps=25,vcodec=h264,vb=256,venc=x264{aud,profile=baseline,level=30,keyint=30,bframes=0,ref=1,nocabac},acodec=mp3,ab=96}:duplicate{dst=std{access=livehttp{seglen=10,delsegs=false,numsegs=0,index=/var/www/streaming/mystream.m3u8,index-url=http://mydomain.com/streaming/mystream-########.ts},mux=ts{use-key-frames},dst=/var/www/streaming/mystream-########.ts}}&#039; &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Re-stream a live audio feed:&lt;br /&gt;
 % &#039;&#039;&#039;vlc -I dummy --mms-caching 0 http://www.nasa.gov/55644main_NASATV_Windows.asx vlc://quit --sout=&#039;#transcode{acodec=mp3,ab=96}:duplicate{dst=std{access=livehttp{seglen=10,delsegs=true,numsegs=5,index=/var/www/streaming/mystream.m3u8,index-url=http://mydomain.com/streaming/mystream-########.mp3},mux=raw,dst=/var/www/streaming/mystream-########.mp3},select=novideo}&#039; &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Possible improvements/fixes===&lt;br /&gt;
Have the module auto-detect audio only streams, so the splitanywhere option is not required.&lt;br /&gt;
&lt;br /&gt;
I&#039;m not sure I am doing the right thing with the Win32 rename function.  Linux (I believe) allows me to rename a file over an existing file, even if the existing file is in use.  Win32 is not so friendly.  This ability is useful for updating the index file at same time it may be currently being read by the HTTP server serving the files.&lt;br /&gt;
&lt;br /&gt;
Break the dst= and index= parameter into seperate filename/directory entries, so you only need to specify the filename format once. (instead of once for the dst= parameter, and once for the index-url= parameter)&lt;/div&gt;</summary>
		<author><name>ConfusedVorlon</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=Sending_Patches_VLC&amp;diff=16228</id>
		<title>Sending Patches VLC</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=Sending_Patches_VLC&amp;diff=16228"/>
		<updated>2010-06-05T13:45:34Z</updated>

		<summary type="html">&lt;p&gt;ConfusedVorlon: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== How to produce a Patch ==&lt;br /&gt;
* Get the latest [[Git]] revision&lt;br /&gt;
* Make your changes and commit them&lt;br /&gt;
* Produce a patch according to [[Git#Submitting_patches_to_the_vlc-devel|the Git page]], &#039;&#039;&#039;don&#039;t send it yet&#039;&#039;&#039;, read the following before sending.&lt;br /&gt;
&lt;br /&gt;
== Writing an appropriate description ==&lt;br /&gt;
* The patch email&#039;s subject should be prefixed by &amp;quot;[PATCH]&amp;quot;.&lt;br /&gt;
* You should include a description that will be the commit log message of your patch&lt;br /&gt;
* A more &#039;&#039;&#039;exhaustive explanation&#039;&#039;&#039; is also welcomed along with your patch. This should be the &#039;&#039;&#039;second paragraph&#039;&#039;&#039; of your commit log.&lt;br /&gt;
&lt;br /&gt;
== Check List ==&lt;br /&gt;
When you send a patch make sure that:&lt;br /&gt;
* it mostly &#039;&#039;&#039;complies&#039;&#039;&#039; to the [[Code Conventions]]&lt;br /&gt;
* Make sure that it does not add more failure to &#039;&#039;&#039;`make check`&#039;&#039;&#039;&lt;br /&gt;
* Make sure that your patch is produced against the latest &#039;&#039;&#039;master branch&#039;&#039;&#039; and not 1.0-bugfix. [1]&lt;br /&gt;
* Make sure your patch doesn&#039;t introduce &#039;&#039;&#039;trailing spaces&#039;&#039;&#039; (&#039;&#039;git show --colored&#039;&#039; show them in red)&lt;br /&gt;
* Make sure &#039;&#039;&#039;your name is correctly set&#039;&#039;&#039;. That is, that you are using your fullname, which is correctly capitalized and so on.&lt;br /&gt;
* Read your patch one more time using &#039;&#039;&#039;&#039;&#039;git show&#039;&#039;&#039;&#039;&#039;, and check that it looks ok&lt;br /&gt;
&lt;br /&gt;
[1] Most of the time patches are against branches version such as 1.0.x series which is not a development version. If this is a bugfix it may be backported to 1.0-bugfix, but should go in master branch first. Translations are one exception to this rule.&lt;br /&gt;
&lt;br /&gt;
== Sending it to the vlc-devel ==&lt;br /&gt;
Now you can send it to the [http://mailman.videolan.org/listinfo/vlc-devel vlc-devel]. Please subscribe to it before sending your patch, or else it may not got through the list&#039;s spam filters. You will be able to unsubscribe later easily if needed.&lt;br /&gt;
Don&#039;t send patch bigger than 30kB on the mailing list. If the patch is that big, it&#039;s likely that it does too much at once and should be splitted in several logical patches. If you really need a big patch, put it online and send vlc-devel@ the URL.&lt;br /&gt;
&lt;br /&gt;
== Following your patch ==&lt;br /&gt;
&lt;br /&gt;
You can check if your patch was received by the list at the [http://mailman.videolan.org/pipermail/vlc-devel/ list archive]&lt;br /&gt;
&lt;br /&gt;
if the patch is approved, then there will normally be a post to the vlc-devel list to say &amp;quot;patch applied&amp;quot;. There will also be a post to the [http://mailman.videolan.org/pipermail/vlc-commits/ vlc-commits] list ([http://mailman.videolan.org/listinfo/vlc-commits subscribe here])&lt;br /&gt;
&lt;br /&gt;
== Getting your patch merged ==&lt;br /&gt;
* Don&#039;t hesitate to ask for review if after a week there is no replies.&lt;br /&gt;
* If there are comments, please answer to those and eventually correct your patch if possible.&lt;br /&gt;
That should ensure that your patch gets merged.&lt;/div&gt;</summary>
		<author><name>ConfusedVorlon</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=Sending_Patches_VLC&amp;diff=16227</id>
		<title>Sending Patches VLC</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=Sending_Patches_VLC&amp;diff=16227"/>
		<updated>2010-06-05T13:34:35Z</updated>

		<summary type="html">&lt;p&gt;ConfusedVorlon: /* Sending it to the vlc-devel */  added link to list archive&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== How to produce a Patch ==&lt;br /&gt;
* Get the latest [[Git]] revision&lt;br /&gt;
* Make your changes and commit them&lt;br /&gt;
* Produce a patch according to [[Git#Submitting_patches_to_the_vlc-devel|the Git page]], &#039;&#039;&#039;don&#039;t send it yet&#039;&#039;&#039;, read the following before sending.&lt;br /&gt;
&lt;br /&gt;
== Writing an appropriate description ==&lt;br /&gt;
* The patch email&#039;s subject should be prefixed by &amp;quot;[PATCH]&amp;quot;.&lt;br /&gt;
* You should include a description that will be the commit log message of your patch&lt;br /&gt;
* A more &#039;&#039;&#039;exhaustive explanation&#039;&#039;&#039; is also welcomed along with your patch. This should be the &#039;&#039;&#039;second paragraph&#039;&#039;&#039; of your commit log.&lt;br /&gt;
&lt;br /&gt;
== Check List ==&lt;br /&gt;
When you send a patch make sure that:&lt;br /&gt;
* it mostly &#039;&#039;&#039;complies&#039;&#039;&#039; to the [[Code Conventions]]&lt;br /&gt;
* Make sure that it does not add more failure to &#039;&#039;&#039;`make check`&#039;&#039;&#039;&lt;br /&gt;
* Make sure that your patch is produced against the latest &#039;&#039;&#039;master branch&#039;&#039;&#039; and not 1.0-bugfix. [1]&lt;br /&gt;
* Make sure your patch doesn&#039;t introduce &#039;&#039;&#039;trailing spaces&#039;&#039;&#039; (&#039;&#039;git show --colored&#039;&#039; show them in red)&lt;br /&gt;
* Make sure &#039;&#039;&#039;your name is correctly set&#039;&#039;&#039;. That is, that you are using your fullname, which is correctly capitalized and so on.&lt;br /&gt;
* Read your patch one more time using &#039;&#039;&#039;&#039;&#039;git show&#039;&#039;&#039;&#039;&#039;, and check that it looks ok&lt;br /&gt;
&lt;br /&gt;
[1] Most of the time patches are against branches version such as 1.0.x series which is not a development version. If this is a bugfix it may be backported to 1.0-bugfix, but should go in master branch first. Translations are one exception to this rule.&lt;br /&gt;
&lt;br /&gt;
== Sending it to the vlc-devel ==&lt;br /&gt;
Now you can send it to the [http://mailman.videolan.org/listinfo/vlc-devel vlc-devel]. Please subscribe to it before sending your patch, or else it may not got through the list&#039;s spam filters. You will be able to unsubscribe later easily if needed.&lt;br /&gt;
Don&#039;t send patch bigger than 30kB on the mailing list. If the patch is that big, it&#039;s likely that it does too much at once and should be splitted in several logical patches. If you really need a big patch, put it online and send vlc-devel@ the URL.&lt;br /&gt;
&lt;br /&gt;
You can check if your patch was received by the list at the [http://mailman.videolan.org/pipermail/vlc-devel/ list archive]&lt;br /&gt;
&lt;br /&gt;
== Getting your patch merged ==&lt;br /&gt;
* Don&#039;t hesitate to ask for review if after a week there is no replies.&lt;br /&gt;
* If there are comments, please answer to those and eventually correct your patch if possible.&lt;br /&gt;
That should ensure that your patch gets merged.&lt;/div&gt;</summary>
		<author><name>ConfusedVorlon</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=Git&amp;diff=16180</id>
		<title>Git</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=Git&amp;diff=16180"/>
		<updated>2010-05-28T14:49:20Z</updated>

		<summary type="html">&lt;p&gt;ConfusedVorlon: changed git-send-email to git send-email&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Basic Git usage =&lt;br /&gt;
&lt;br /&gt;
If you are using &#039;&#039;&#039;Windows&#039;&#039;&#039;, please read the [[Git_Windows]] page.&lt;br /&gt;
&lt;br /&gt;
== Getting VLC or x264 source code via Git ==&lt;br /&gt;
 &lt;br /&gt;
 $ git clone git://git.videolan.org/vlc.git&lt;br /&gt;
Voilà! The full VLC history should be on your hard disk in vlc/.&lt;br /&gt;
&lt;br /&gt;
 $ git clone git://git.videolan.org/x264.git&lt;br /&gt;
Voilà! The full x264 history should be on your hard disk in x264/.&lt;br /&gt;
&lt;br /&gt;
If you want only the last 3 VLC revisions:&lt;br /&gt;
 $ git clone git://git.videolan.org/vlc.git --depth 3&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You can also clone using http with our repo.or.cz mirror.&lt;br /&gt;
 $ git clone http://repo.or.cz/r/vlc.git&lt;br /&gt;
&lt;br /&gt;
 $ git log&lt;br /&gt;
to see the full log of the trunk.&lt;br /&gt;
 $ gitk&lt;br /&gt;
to see the log graphically.&lt;br /&gt;
&lt;br /&gt;
You can also browse the sources via [http://git.videolan.org/ gitweb].&lt;br /&gt;
&lt;br /&gt;
== Configure your global git config ==&lt;br /&gt;
May need to use &lt;br /&gt;
$ git repo-config {various options} &lt;br /&gt;
1.4.4.2 Requires the repo-config command rather than just config&lt;br /&gt;
&lt;br /&gt;
=== Personal Information ===&lt;br /&gt;
Tell git your name. (use mostly by git-commit)&lt;br /&gt;
 $ git config --global user.name &amp;quot;Your Name&amp;quot;&lt;br /&gt;
 $ git config --global user.email &amp;quot;me@example.com&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Using git with color (Tip) ===&lt;br /&gt;
If you want to use git with colored output use:&lt;br /&gt;
 $ git config --global color.ui true&lt;br /&gt;
&lt;br /&gt;
If you are using an old git version (prior to 1.5.5) and previous command didn&#039;t work, use:&lt;br /&gt;
 $ git config --global color.diff auto&lt;br /&gt;
 $ git config --global color.status auto&lt;br /&gt;
 $ git config --global color.branch auto&lt;br /&gt;
&lt;br /&gt;
=== Setting up &amp;quot;git up&amp;quot; (Tip) ===&lt;br /&gt;
If you want to be able to just keep in sync using &amp;quot;git up&amp;quot; use:&lt;br /&gt;
 $ git config --global alias.up &amp;quot;pull --rebase&amp;quot;&lt;br /&gt;
And if you like your tree to be messy and don&#039;t want git to complain (like in svn) use:&lt;br /&gt;
 $ git config --global alias.up &#039;!sh -c &amp;quot;git commit -a -m &amp;quot;Before rebase&amp;quot; &amp;amp;&amp;amp; git pull --rebase &amp;amp;&amp;amp; git reset head^&amp;quot;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Setting up &amp;quot;git wu&amp;quot; (Git What&#039;s Up) (Tip) ===&lt;br /&gt;
If you want to see what you are about to &amp;quot;git push&amp;quot;:&lt;br /&gt;
 $ git config --global alias.wu &amp;quot;log --stat origin..@{0}&amp;quot;&lt;br /&gt;
Now use:&lt;br /&gt;
 $ git wu&lt;br /&gt;
&lt;br /&gt;
=== Setting up &amp;quot;git wup&amp;quot; (Git What&#039;s Up - with patch) (Tip) ===&lt;br /&gt;
If you want to see what you are about to &amp;quot;git push&amp;quot;, along with the diff:&lt;br /&gt;
 $ git config --global alias.wup &amp;quot;log -p origin..@{0}&amp;quot;&lt;br /&gt;
Now use:&lt;br /&gt;
 $ git wup&lt;br /&gt;
&lt;br /&gt;
== General GIT Workflow ==&lt;br /&gt;
1.  Make your file edits in your local repository.&lt;br /&gt;
&lt;br /&gt;
2.  &amp;quot;git commit&amp;quot;      the changes in your local repository&lt;br /&gt;
&lt;br /&gt;
3.  &amp;quot;git pull --rebase&amp;quot;  or &amp;quot;git up&amp;quot; (if you did &#039;&#039;git config --global alias.up &amp;quot;pull --rebase&amp;quot;&#039;&#039;) to bring the rest of your local repository up to date&lt;br /&gt;
&lt;br /&gt;
4.  &amp;quot;git log origin..master&amp;quot;    to check what you are going to commit&lt;br /&gt;
&lt;br /&gt;
4.  &amp;quot;git push&amp;quot;    to move your changes up to the master&lt;br /&gt;
&lt;br /&gt;
&amp;quot;git stash&amp;quot;    if you want to &amp;quot;hide&amp;quot; your changes.  Do this if you think there may be other commits against the same things you are working on and want to refresh your local checkout (using a git pull --rebase) from the master. Use &amp;quot;git stash apply&amp;quot; to get your stash back. &lt;br /&gt;
&lt;br /&gt;
&amp;quot;git checkout -f master&amp;quot;     if you think your tree is pretty hopeless, need a kill-and-fill to bring the master into your local repository.&lt;br /&gt;
&lt;br /&gt;
== List the local branch ==&lt;br /&gt;
You can now list your local branch by doing&lt;br /&gt;
 $ git branch&lt;br /&gt;
which should ouput&lt;br /&gt;
 $ git branch&lt;br /&gt;
 * master&lt;br /&gt;
&lt;br /&gt;
== List your local non committed changes ==&lt;br /&gt;
 $ git status | less&lt;br /&gt;
&lt;br /&gt;
== Commit ==&lt;br /&gt;
Now you can start to work on your tree. As soon as you feel you have reached a step in developement where you can commit your work &#039;&#039;&#039;locally&#039;&#039;&#039;, use&lt;br /&gt;
 $ git commit -a&lt;br /&gt;
or&lt;br /&gt;
 $ git commit &amp;lt;specific files&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you wish to give credit to someone else&#039;s work (e.g. you are applying a third party patch):&lt;br /&gt;
 $ git commit &amp;lt;specific files&amp;gt; --author &amp;quot;Name Surname &amp;lt;user@domain.com&amp;gt;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== List your commits ==&lt;br /&gt;
 $ git log&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Keeping your local working branch in sync ==&lt;br /&gt;
 $ git pull --rebase&lt;br /&gt;
&lt;br /&gt;
To shorten up that command type&lt;br /&gt;
 $ git config --global alias.up &amp;quot;pull --rebase&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Now you can just type:&lt;br /&gt;
 $ git up&lt;br /&gt;
&lt;br /&gt;
== Use a graphical interface ==&lt;br /&gt;
 $ gitk          # Tree Browser&lt;br /&gt;
 $ qgit          # Tree Browser&lt;br /&gt;
 $ git-gui       # Commit/push/... editor&lt;br /&gt;
&lt;br /&gt;
== Submitting patches to the vlc-devel or x264-devel ==&lt;br /&gt;
&lt;br /&gt;
First make sure you have &#039;&#039;&#039;read&#039;&#039;&#039; our [[Sending Patches]] page. And that you&#039;ve &#039;&#039;&#039;read&#039;&#039;&#039; the [[Sending Patches#Check_List| Check List]].&lt;br /&gt;
&lt;br /&gt;
If you have been developing on vlc locally and (still) don&#039;t have write access, you can submit all your commits in one shot using:&lt;br /&gt;
 $ rm -Rf patches&lt;br /&gt;
 $ git format-patch -o patches origin&lt;br /&gt;
 $ git send-email --to vlc-devel@videolan.org patches&lt;br /&gt;
If you have multiple patch consider using:&lt;br /&gt;
 $ git send-email --compose --no-chain-reply-to --to vlc-devel@videolan.org patches&lt;br /&gt;
This will produce the patches for each local commit in the directory &amp;quot;patches&amp;quot; and send them.&lt;br /&gt;
Use --no-chain-reply-to make sure it doesn&#039;t reply.&lt;br /&gt;
&lt;br /&gt;
For x264, do the same with x264-devel@videolan.org&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- what does the following mean? --&amp;gt;&lt;br /&gt;
Don&#039;t do:&lt;br /&gt;
* [PATCH 0/m]&lt;br /&gt;
** [PATCH 1/m]&lt;br /&gt;
*** [PATCH 2/m]&lt;br /&gt;
**** ...&lt;br /&gt;
But do:&lt;br /&gt;
* [PATCH 0/m]&lt;br /&gt;
** [PATCH 1/m]&lt;br /&gt;
** [PATCH 2/m]&lt;br /&gt;
** ..&lt;br /&gt;
&lt;br /&gt;
= Advanced usage =&lt;br /&gt;
== Creating a secondary local branch ==&lt;br /&gt;
If you want to work on a specific project that could require a branch of the trunk, create a local branch of the current branch by doing:&lt;br /&gt;
 $ git branch mywork&lt;br /&gt;
and to actually use it do:&lt;br /&gt;
 $ git checkout mywork&lt;br /&gt;
Which could be summarized by:&lt;br /&gt;
 $ git checkout -b mywork&lt;br /&gt;
&lt;br /&gt;
Then do some commit on it... And you can go back to your original master branch by doing:&lt;br /&gt;
 $ git checkout master&lt;br /&gt;
&lt;br /&gt;
== Fetching a remote branch ==&lt;br /&gt;
To see the remote branch use:&lt;br /&gt;
 $ git branch -r&lt;br /&gt;
If the remote branch is named 0.8.6-bugfix&lt;br /&gt;
 $ git branch 0.8.6-bugfix origin/0.8.6-bugfix &lt;br /&gt;
 Branch 0.8.6-bugfix set up to track remote branch refs/remotes/origin/0.8.6-bugfix.&lt;br /&gt;
 $ git branch&lt;br /&gt;
  0.8.6-bugfix&lt;br /&gt;
  * master&lt;br /&gt;
To checkout that branch use:&lt;br /&gt;
 $ git checkout 0.8.6-bugfix&lt;br /&gt;
To stay up-to-date a simple&lt;br /&gt;
 $ git pull --rebase&lt;br /&gt;
Should be enough.&lt;br /&gt;
&lt;br /&gt;
If warnings appear that files still need updating:&lt;br /&gt;
 $ include/libvlc_internal.h: needs update&lt;br /&gt;
   include/mediacontrol_internal.h: needs update&lt;br /&gt;
   include/vlc/libvlc.h: needs update&lt;br /&gt;
   include/vlc_update.h: needs update&lt;br /&gt;
   modules/access/mms/mms.c: needs update&lt;br /&gt;
   ...&lt;br /&gt;
&lt;br /&gt;
Then do a checkout -f to revert non committed local changes&lt;br /&gt;
 $ git checkout -f&lt;br /&gt;
&lt;br /&gt;
To stay up-to-date another&lt;br /&gt;
 $ git pull --rebase&lt;br /&gt;
Should give no more warnings.&lt;br /&gt;
&lt;br /&gt;
To push to the remote branch, use:&lt;br /&gt;
 $git push origin 0.8.6-bugfix:0.8.6-bugfix&lt;br /&gt;
&lt;br /&gt;
== Creating a remote branch ==&lt;br /&gt;
If the new remote branch is named 0.9.0-bugfix, and is based on the local master branch.&lt;br /&gt;
First make sure everything go as planned with the --dry-run option:&lt;br /&gt;
 $ git push --dry-run origin master:refs/heads/0.9.0-stable&lt;br /&gt;
 To git@git.videolan.org:vlc.git&lt;br /&gt;
 * [new branch]      master -&amp;gt; 0.9.0-stable&lt;br /&gt;
&lt;br /&gt;
Then push it:&lt;br /&gt;
 $ git push origin master:refs/heads/0.9.0-stable&lt;br /&gt;
 To git@git.videolan.org:vlc.git&lt;br /&gt;
 * [new branch]      master -&amp;gt; 0.9.0-stable&lt;br /&gt;
 $ git branch -r&lt;br /&gt;
  origin/0.9.0-stable&lt;br /&gt;
  origin/master&lt;br /&gt;
&lt;br /&gt;
To checkout that branch now see &#039;&#039;Fetching a remote branch&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Backporting commits ==&lt;br /&gt;
It is possible to &amp;quot;backport&amp;quot; commit between the master branch and a -bugfix branch. However since VDD&#039;09, the bugfix branches have been splitted to their own git repositories. This leaves us with 2 cases.&lt;br /&gt;
&lt;br /&gt;
=== Normal simple case ===&lt;br /&gt;
&lt;br /&gt;
Go to your -bugfix branch:&lt;br /&gt;
 $ git checkout 1.0-bugfix&lt;br /&gt;
&lt;br /&gt;
Backport the commit: &lt;br /&gt;
 $ git cherry-pick -x -s &amp;lt;sha-id of commit&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If git fails to do the backport by itself, you&#039;ll be presnted with the usual options in case of a failed merge or patching. Use &amp;quot;git status&amp;quot;, your favorite editor or &amp;quot;git mergetool&amp;quot; to resolve the situation. Then use &amp;quot;git add&amp;quot; and &amp;quot;git commit -c &amp;lt;sha-id of backported commit&amp;gt;&amp;quot;.&lt;br /&gt;
Then push your commit as usual.&lt;br /&gt;
&lt;br /&gt;
=== Case of VLC bugfix branches ===&lt;br /&gt;
Due to the number of commits in vlc.git and the amount of divergence between the master and 1.0-bugfix branches, they have been separated into two different git repositories. But that doesn&#039;t block you from backporting.&lt;br /&gt;
&lt;br /&gt;
Get the -bugfix git:&lt;br /&gt;
 $ git clone git://git.videolan.org/vlc/vlc-1.0.git vlc-bugfix&lt;br /&gt;
Add vlc.git as an additional remote:&lt;br /&gt;
 $ git remote add vlc-master git://git.videolan.org/vlc.git&lt;br /&gt;
Update the information from vlc-master&lt;br /&gt;
 $ git fetch vlc-master&lt;br /&gt;
Backport as normal&lt;br /&gt;
 $ git cherry-pick -x -s &amp;lt;sha-id of commit&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Publishing your own fork ==&lt;br /&gt;
Goto [http://repo.or.cz/w/vlc.git http://repo.or.cz/w/vlc.git] and click [http://repo.or.cz/m/regproj.cgi?name=vlc/ fork]. You will be able to publish your work there.&lt;br /&gt;
&lt;br /&gt;
Please don&#039;t forget to send a mail to the vlc-devel as soon as you create your fork.&lt;br /&gt;
&lt;br /&gt;
== Revert your non-committed local changes ==&lt;br /&gt;
 $ git checkout -f&lt;br /&gt;
&lt;br /&gt;
==Edit or undo not yet pushed commits ==&lt;br /&gt;
This will undo the last commit&lt;br /&gt;
 $ git reset HEAD^&lt;br /&gt;
which is the same as&lt;br /&gt;
 $ git reset master^&lt;br /&gt;
(if your checked-out copy of your tree is master)&lt;br /&gt;
And also the same as&lt;br /&gt;
 $ git reset a44a594 # note that there is no need to use the full sha id&lt;br /&gt;
&lt;br /&gt;
If you have a stack of patch that you have not yet committed you can delete one patch from the list using git rebase --interactive&lt;br /&gt;
 $ git rebase --interactive origin&lt;br /&gt;
  pick eacf185 test&lt;br /&gt;
  pick 56322eb VLMA owner is vlma prod.&lt;br /&gt;
 &lt;br /&gt;
  # Rebase 826757e..56322eb onto 826757e&lt;br /&gt;
  #&lt;br /&gt;
  # Commands:&lt;br /&gt;
  #  pick = use commit&lt;br /&gt;
  #  edit = use commit, but stop for amending&lt;br /&gt;
  #  squash = use commit, but meld into previous commit&lt;br /&gt;
&lt;br /&gt;
== Diff-ing ==&lt;br /&gt;
* You can diff between two branches using&lt;br /&gt;
 $ git diff branch1 branch2&lt;br /&gt;
* You can diff between the previous 10th commit and current using&lt;br /&gt;
 $ git diff HEAD~10 HEAD&lt;br /&gt;
* You can diff between the previous 10th commit and current of the branch &amp;quot;mywork&amp;quot; using&lt;br /&gt;
 $ git diff mywork~10 mywork&lt;br /&gt;
* Imagine that git log is like&lt;br /&gt;
 $ git log&lt;br /&gt;
 commit e0394f269305edd09843257e7c1d1a66aaf48ab3&lt;br /&gt;
 Author: jb &amp;lt;jb&amp;gt;&lt;br /&gt;
 Date:   Fri Apr 13 07:14:48 2007 +0000&lt;br /&gt;
    qt4 - Mousewheel (2)&lt;br /&gt;
 commit e80b339081aa6755f67c9bd8e2aacf93a9a79d95&lt;br /&gt;
 [..]&lt;br /&gt;
 commit ff7004b70fd239e4120deb160e2991bd5237b8df&lt;br /&gt;
 [..]&lt;br /&gt;
 commit a44a594898f981a145cfcace5f16f8973f9eb46f&lt;br /&gt;
 [..]&lt;br /&gt;
 commit 690df705c963cf6bf6f5746d54bc97a85ff91919&lt;br /&gt;
 [..]&lt;br /&gt;
 commit 679f8b1c3e0baa469efa970588b95a625c595d64&lt;br /&gt;
 [..]&lt;br /&gt;
&lt;br /&gt;
 $ git diff a44a594898f981a145cfcace5f16f8973f9eb46f~2 e80b339081aa6755f67c9bd8e2aacf93a9a79d95&lt;br /&gt;
Will be equivalent to:&lt;br /&gt;
 $ git diff ff7004b70fd239e4120deb160e2991bd5237b8df e80b339081aa6755f67c9bd8e2aacf93a9a79d95&lt;br /&gt;
And to:&lt;br /&gt;
 $ git diff HEAD~4 HEAD^&lt;br /&gt;
&lt;br /&gt;
* Remember that to produce a patch you should rather use git-format-patch than git-diff most of the time.&lt;br /&gt;
&lt;br /&gt;
== Patch-ing ==&lt;br /&gt;
* You can apply patches using&lt;br /&gt;
 $ git apply &amp;lt;patch&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Tracking regression ==&lt;br /&gt;
git has a great tool called [http://www.kernel.org/pub/software/scm/git/docs/git-bisect.html git-bisect] to help you to track a faulty commit. Imagine you are tracking a bug that is known to appear after 0.8.6 (assuming 0.8.6 is tagged):&lt;br /&gt;
 $ git bisect start&lt;br /&gt;
 $ git bisect bad # tell git current version has the bug you are tracking&lt;br /&gt;
 $ git bisect good 0.8.6 # tell git 0.8.6 didn&#039;t have the bug&lt;br /&gt;
And then git will checkout a certain revision, and ask you to test it. And you simply say whether this version has the bug.&lt;br /&gt;
If it has the bug:&lt;br /&gt;
 $ git bisect bad&lt;br /&gt;
if the bug is not present:&lt;br /&gt;
 $ git bisect good&lt;br /&gt;
And so on by bisection... At the end git will indicate the faulty commit. Most of the time this tool is really efficient to track regression.&lt;br /&gt;
&lt;br /&gt;
If you can provide a script that test the presence of the bug &lt;br /&gt;
 $ git bisect run &amp;lt;script_name&amp;gt;&lt;br /&gt;
will be able to track down the regression by itself. See [http://www.kernel.org/pub/software/scm/git/docs/git-bisect.html git-bisect Documentation].&lt;br /&gt;
&lt;br /&gt;
= Using Git to push to VideoLAN git =&lt;br /&gt;
== Initial requirements ==&lt;br /&gt;
* You must have credentials to push commits into the repository. For other contributors, please read upper [[Git#Submitting_patches_to_the_vlc-devel_or_x264-devel|Submitting patches to the vlc-devel or x264-devel]] paragraph.&lt;br /&gt;
* Make sure you&#039;ve set your name and email in your commits&lt;br /&gt;
 $ git config --global user.name &amp;quot;Your Name&amp;quot;&lt;br /&gt;
 $ git config --global user.email &amp;quot;me@example.com&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Convert your tree to use your ssh push commit access ==&lt;br /&gt;
 $ vi vlc/.git/config&lt;br /&gt;
And replace&lt;br /&gt;
 git://git.videolan.org/vlc.git&lt;br /&gt;
With&lt;br /&gt;
 git@git.videolan.org:vlc.git&lt;br /&gt;
&lt;br /&gt;
== Staying up to date ==&lt;br /&gt;
  $ git pull --rebase&lt;br /&gt;
&lt;br /&gt;
If you don&#039;t want to have to type --rebase everytime you pull do:&lt;br /&gt;
 $ git config branch.master.rebase true&lt;br /&gt;
&lt;br /&gt;
This one creates a merge object which is not how SVN worked, so let&#039;s use the first version...&lt;br /&gt;
  $ git pull&lt;br /&gt;
&lt;br /&gt;
== Pushing your work ==&lt;br /&gt;
  $ git log origin..master     # Check what you are going to push&lt;br /&gt;
  $ git push&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- GSoC 2007&lt;br /&gt;
= Using Git to publish your work (for SoC student?) =&lt;br /&gt;
First get the official VLC &#039;&#039;&#039;Soc&#039;&#039;&#039; trunk&lt;br /&gt;
 $ git clone git://git.videolan.org/vlc-soc.git&lt;br /&gt;
 $ cd vlc-soc&lt;br /&gt;
Ask for write access to a branch (called your_name_branch). Now we will make git know that you want to publish on this branch&lt;br /&gt;
 $ git config remote.my_soc_public_branch.url ssh://your_name@altair.videolan.org/home/videolan/gitroot/vlc-soc.git&lt;br /&gt;
Now tell git that you want to automatically push the local master branch to the public your_name_branch:&lt;br /&gt;
 $ git config remote.my_soc_public_branch.push +master:your_name_branch # the &amp;quot;+&amp;quot; will tell git to force update ignoring conflicts&lt;br /&gt;
&lt;br /&gt;
Do some work and commit it to your master branch.&lt;br /&gt;
 $ git commit -a&lt;br /&gt;
You can also sync with the trunk (origin) as needed&lt;br /&gt;
 $ git pull --rebase origin&lt;br /&gt;
And don&#039;t forget to publish your changes:&lt;br /&gt;
 $ git push my_soc_public_branch&lt;br /&gt;
Now you should be able to see your latest changes in your branch via [http://git.videolan.org/ gitweb].&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Documentation about git =&lt;br /&gt;
* [http://git.or.cz/ Official Git Website]&lt;br /&gt;
* [http://www.kernel.org/pub/software/scm/git/docs/tutorial.html Git Tutorial]&lt;br /&gt;
* [http://git.or.cz/course/svn.html Switching from SVN to git using cogito]&lt;br /&gt;
* [http://wiki.sourcemage.org/Git_Guide Very good Git guide]&lt;br /&gt;
&lt;br /&gt;
[[Category:Building]]&lt;/div&gt;</summary>
		<author><name>ConfusedVorlon</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=Documentation:Streaming_HowTo/Command_Line_Examples&amp;diff=16143</id>
		<title>Documentation:Streaming HowTo/Command Line Examples</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=Documentation:Streaming_HowTo/Command_Line_Examples&amp;diff=16143"/>
		<updated>2010-05-25T14:15:41Z</updated>

		<summary type="html">&lt;p&gt;ConfusedVorlon: /* Keeping the stream open */ -adjusted to command line syntax&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{RightMenu|documentation streaming howto toc}}&lt;br /&gt;
&lt;br /&gt;
Examples for advanced use of VLC&#039;s stream output (transcoding, multiple streaming, etc...)&lt;br /&gt;
&lt;br /&gt;
==Transcoding==&lt;br /&gt;
&lt;br /&gt;
Transcode the input stream and send it to a multicast IP address with the associated SAP announce:&lt;br /&gt;
 % &#039;&#039;&#039;vlc -vvv input_stream --sout &#039;#transcode{vcodec=mp4v,acodec=mpga,vb=800,ab=128,deinterlace}:rtp{mux=ts,dst=239.255.12.42,sdp=sap,name=&amp;quot;TestStream&amp;quot;}&#039; &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Display the input stream, transcode it and send it to a multicast IP address with the associated SAP announce:&lt;br /&gt;
 % &#039;&#039;&#039;vlc -vvv input_stream --sout &#039;#duplicate{dst=display,dst=&amp;quot;transcode{vcodec=mp4v,acodec=mpga,vb=800,ab=128,deinterlace}:rtp{mux=ts,dst=239.255.12.42,sdp=sap,name=&amp;quot;TestStream&amp;quot;}&amp;quot;}&#039; &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Transcode the input stream, display the transcoded stream and send it to a multicast IP address with the associated SAP announce:&lt;br /&gt;
 % &#039;&#039;&#039;vlc -vvv input_stream --sout &#039;#transcode{vcodec=mp4v,acodec=mpga,vb=800,ab=128,deinterlace}:duplicate{dst=display,dst=rtp{mux=ts,dst=239.255.12.42,sdp=sap,name=&amp;quot;TestStream&amp;quot;}}&#039; &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Multiple streaming==&lt;br /&gt;
&lt;br /&gt;
Send a stream to a multicast IP address and a unicast IP address:&lt;br /&gt;
 % &#039;&#039;&#039;vlc -vvv input_stream --sout &#039;#duplicate{dst=rtp{mux=ts,dst=239.255.12.42,sdp=sap,name=&amp;quot;TestStream&amp;quot;},dst=rtp{mux=ts,dst=192.168.1.2}}&#039; &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Display the stream and send it to two unicast IP addresses:&lt;br /&gt;
 % &#039;&#039;&#039;vlc -vvv input_stream --sout &#039;#duplicate{dst=display,dst=rtp{mux=ts,dst=192.168.1.12},dst=rtp{mux=ts,dst=192.168.1.42}}&#039; &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Send parts of a multiple program input stream:&lt;br /&gt;
 % &#039;&#039;&#039;vlc -vvv multiple_program_input_stream --sout &#039;#duplicate{dst=rtp{mux=ts,dst=239.255.12.42},select=&amp;quot;program=12345&amp;quot;,dst=rtp{mux=ts,dst=239.255.12.43}, select=&amp;quot;video,program=1234-2345&amp;quot;}&#039; &#039;&#039;&#039;&lt;br /&gt;
This command sends the program of the input stream which id is 12345 to 239.255.12.42 and all video programs with id between 1234 and 2345 to 239.255.12.43.&lt;br /&gt;
&lt;br /&gt;
==Transcoding and multiple streaming==&lt;br /&gt;
&lt;br /&gt;
Transcode the input stream, display the transcoded stream and send it to a multicast IP address with the associated SAP announce and an unicast IP address:&lt;br /&gt;
 % &#039;&#039;&#039;vlc -vvv input_stream --sout &#039;#transcode{vcodec=mp4v,acodec=mpga,vb=800,ab=128,deinterlace}:duplicate{dst=display,dst=rtp{mux=ts,dst=239.255.12.42,sdp=sap,name=&amp;quot;TestStream&amp;quot;},dst=rtp{mux=ts,dst=192.168.1.2}}&#039; &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Display the input stream, transcode it and send it to two unicast IP addresses:&lt;br /&gt;
 % &#039;&#039;&#039;vlc -vvv input_stream --sout &#039;#duplicate{dst=display,dst=&amp;quot;transcode{vcodec=mp4v,acodec=mpga,vb=800,ab=128}:duplicate{dst=rtp{mux=ts,dst=192.168.1.2},dst=rtp{mux=ts,dst=192.168.1.12}&amp;quot;}&#039; &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Send the input stream to a multicast IP address and the transcoded stream to another multicast IP address with the associated SAP announces:&lt;br /&gt;
 % &#039;&#039;&#039;vlc -vvv input_stream --sout &#039;#duplicate{dst=rtp{mux=ts,dst=239.255.1.2,sdp=sap,name=&amp;quot;OriginalStream&amp;quot;},dst=&amp;quot;transcode{vcodec=mp4v,acodec=mpga,vb=800,ab=128}:rtp{mux=ts,dst=239.255.1.3,sdp=sap,name=&amp;quot;TranscodedStream&amp;quot;}&amp;quot;}&#039; &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==HTTP streaming==&lt;br /&gt;
&lt;br /&gt;
Stream in HTTP:&lt;br /&gt;
*on the server, run:&lt;br /&gt;
 % &#039;&#039;&#039;vlc -vvv input_stream --sout &#039;#standard{access=http,mux=ogg,dst=server.example.org:8080}&#039; &#039;&#039;&#039;&lt;br /&gt;
*on the client(s), run:&lt;br /&gt;
 % &#039;&#039;&#039;vlc http://server.example.org:8080&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Transcode and stream in HTTP:&lt;br /&gt;
 % &#039;&#039;&#039;vlc -vvv input_stream --sout &#039;#transcode{vcodec=mp4v,acodec=mpga,vb=800,ab=128}:standard{access=http,mux=ogg,dst=server.example.org:8080}&#039; &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Recording a live video stream:&lt;br /&gt;
 % &#039;&#039;&#039;vlc http://example.com/live.asf --sout=&amp;quot;#duplicate{dst=std{access=file,mux=asf,url=&#039;C:\test\test.asf&#039;},dst=nodisplay}&amp;quot; &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
For example, if you want to stream an audio CD in Ogg/Vorbis over HTTP:&lt;br /&gt;
 % &#039;&#039;&#039;vlc -vvv cdda:/dev/cdrom --sout &#039;#transcode{acodec=vorb,ab=128}:standard{access=http,mux=ogg,dst=server.example.org:8080}&#039; &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==RTSP live streaming==&lt;br /&gt;
&lt;br /&gt;
Stream with RTSP and RTP:&lt;br /&gt;
*on the server, run:&lt;br /&gt;
 % &#039;&#039;&#039;vlc -vvv input_stream --sout &#039;#rtp{dst=192.168.0.12,port=1234,sdp=rtsp://server.example.org:8080/test.sdp}&#039; &#039;&#039;&#039;&lt;br /&gt;
*on the client(s), run:&lt;br /&gt;
 % &#039;&#039;&#039;vlc rtsp://server.example.org:8080/test.sdp&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==RTSP on-demand streaming==&lt;br /&gt;
&lt;br /&gt;
See [[Documentation:Streaming HowTo/VLM]].&lt;br /&gt;
&lt;br /&gt;
==MMS / MMSH streaming to Windows Media Player==&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc -vvv input_stream --sout &#039;#transcode{vcodec=DIV3,vb=256,scale=1,acodec=mp3,ab=32,channels=2}:std{access=mmsh,mux=asfh,dst=:8080}&#039; &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
VLC media player can connect to this by using the following url: &#039;&#039;&#039;mmsh://server_ip_address:8080&#039;&#039;&#039;.&lt;br /&gt;
Windows Media Player can connect to this by using the following url: &#039;&#039;&#039;mms://server_ip_address:8080&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==Use the &#039;&#039;es&#039;&#039; module==&lt;br /&gt;
&lt;br /&gt;
Separate audio and video in two PS files:&lt;br /&gt;
 % &#039;&#039;&#039;vlc -vvv input_stream --sout &#039;#es{access=file,mux=ps,url_audio=audio-%c.%m,url_video=video-%c.%m}&#039; &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Extract the audio track of the input stream to a TS file:&lt;br /&gt;
 % &#039;&#039;&#039;vlc -vvv input_stream --sout &#039;#es{access_audio=file,mux_audio=ts,url_audio=audio-%c.%m}&#039; &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Stream in unicast the audio track on a port and the video track on another port (NOTE: This will not only work with VLC 0.8.6 or older - FIXME?):&lt;br /&gt;
*on the server side:&lt;br /&gt;
 % &#039;&#039;&#039;vlc -vvv input_stream --sout &#039;#es{access=rtp,mux=ts,url_audio=192.168.1.2:1212,url_video=192.168.1.2:1213}&#039; &#039;&#039;&#039;&lt;br /&gt;
*on the client side:&lt;br /&gt;
**to receive the audio:&lt;br /&gt;
 % &#039;&#039;&#039;vlc udp://@:1212&#039;&#039;&#039;&lt;br /&gt;
**to receive the video:&lt;br /&gt;
 % &#039;&#039;&#039;vlc udp://@:1213&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Stream in multicast the video and dump the audio in a file:&lt;br /&gt;
 % &#039;&#039;&#039;vlc -vvv input_stream --sout &#039;#es{access-video=udp,mux-video=ts,dst-video=239.255.12.42,access-audio=file,mux-audio=ps,dst-audio=audio-%c.%m}&#039; &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Note: You can also combine the &#039;&#039;es&#039;&#039; module with the other modules to set-up even more complex solution.&lt;br /&gt;
&lt;br /&gt;
==Keeping the stream open==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;% vlc -vvv input_stream -sout-keep -sout=#transcode{acodec=mp3}:duplicate{dst=display{delay=6000},dst=gather:std{mux=mpeg1,dst=:8080/stream.mp3,access=http},select=&amp;quot;novideo&amp;quot;} &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The basic transcoding is an mp3 stream from the file you select (if it is a video file, then the video is ignored). It is streamed via http to localhost:8080/stream.mp3&lt;br /&gt;
&lt;br /&gt;
The combination of :sout-keep and dst=gather:std mean that the stream is kept open and subsequent items are played through the same stream.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Documentation}}&lt;/div&gt;</summary>
		<author><name>ConfusedVorlon</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=Documentation:Streaming_HowTo/Command_Line_Examples&amp;diff=16142</id>
		<title>Documentation:Streaming HowTo/Command Line Examples</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=Documentation:Streaming_HowTo/Command_Line_Examples&amp;diff=16142"/>
		<updated>2010-05-25T14:11:00Z</updated>

		<summary type="html">&lt;p&gt;ConfusedVorlon: /* Keeping the stream open */ -fixed link to http interface&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{RightMenu|documentation streaming howto toc}}&lt;br /&gt;
&lt;br /&gt;
Examples for advanced use of VLC&#039;s stream output (transcoding, multiple streaming, etc...)&lt;br /&gt;
&lt;br /&gt;
==Transcoding==&lt;br /&gt;
&lt;br /&gt;
Transcode the input stream and send it to a multicast IP address with the associated SAP announce:&lt;br /&gt;
 % &#039;&#039;&#039;vlc -vvv input_stream --sout &#039;#transcode{vcodec=mp4v,acodec=mpga,vb=800,ab=128,deinterlace}:rtp{mux=ts,dst=239.255.12.42,sdp=sap,name=&amp;quot;TestStream&amp;quot;}&#039; &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Display the input stream, transcode it and send it to a multicast IP address with the associated SAP announce:&lt;br /&gt;
 % &#039;&#039;&#039;vlc -vvv input_stream --sout &#039;#duplicate{dst=display,dst=&amp;quot;transcode{vcodec=mp4v,acodec=mpga,vb=800,ab=128,deinterlace}:rtp{mux=ts,dst=239.255.12.42,sdp=sap,name=&amp;quot;TestStream&amp;quot;}&amp;quot;}&#039; &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Transcode the input stream, display the transcoded stream and send it to a multicast IP address with the associated SAP announce:&lt;br /&gt;
 % &#039;&#039;&#039;vlc -vvv input_stream --sout &#039;#transcode{vcodec=mp4v,acodec=mpga,vb=800,ab=128,deinterlace}:duplicate{dst=display,dst=rtp{mux=ts,dst=239.255.12.42,sdp=sap,name=&amp;quot;TestStream&amp;quot;}}&#039; &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Multiple streaming==&lt;br /&gt;
&lt;br /&gt;
Send a stream to a multicast IP address and a unicast IP address:&lt;br /&gt;
 % &#039;&#039;&#039;vlc -vvv input_stream --sout &#039;#duplicate{dst=rtp{mux=ts,dst=239.255.12.42,sdp=sap,name=&amp;quot;TestStream&amp;quot;},dst=rtp{mux=ts,dst=192.168.1.2}}&#039; &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Display the stream and send it to two unicast IP addresses:&lt;br /&gt;
 % &#039;&#039;&#039;vlc -vvv input_stream --sout &#039;#duplicate{dst=display,dst=rtp{mux=ts,dst=192.168.1.12},dst=rtp{mux=ts,dst=192.168.1.42}}&#039; &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Send parts of a multiple program input stream:&lt;br /&gt;
 % &#039;&#039;&#039;vlc -vvv multiple_program_input_stream --sout &#039;#duplicate{dst=rtp{mux=ts,dst=239.255.12.42},select=&amp;quot;program=12345&amp;quot;,dst=rtp{mux=ts,dst=239.255.12.43}, select=&amp;quot;video,program=1234-2345&amp;quot;}&#039; &#039;&#039;&#039;&lt;br /&gt;
This command sends the program of the input stream which id is 12345 to 239.255.12.42 and all video programs with id between 1234 and 2345 to 239.255.12.43.&lt;br /&gt;
&lt;br /&gt;
==Transcoding and multiple streaming==&lt;br /&gt;
&lt;br /&gt;
Transcode the input stream, display the transcoded stream and send it to a multicast IP address with the associated SAP announce and an unicast IP address:&lt;br /&gt;
 % &#039;&#039;&#039;vlc -vvv input_stream --sout &#039;#transcode{vcodec=mp4v,acodec=mpga,vb=800,ab=128,deinterlace}:duplicate{dst=display,dst=rtp{mux=ts,dst=239.255.12.42,sdp=sap,name=&amp;quot;TestStream&amp;quot;},dst=rtp{mux=ts,dst=192.168.1.2}}&#039; &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Display the input stream, transcode it and send it to two unicast IP addresses:&lt;br /&gt;
 % &#039;&#039;&#039;vlc -vvv input_stream --sout &#039;#duplicate{dst=display,dst=&amp;quot;transcode{vcodec=mp4v,acodec=mpga,vb=800,ab=128}:duplicate{dst=rtp{mux=ts,dst=192.168.1.2},dst=rtp{mux=ts,dst=192.168.1.12}&amp;quot;}&#039; &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Send the input stream to a multicast IP address and the transcoded stream to another multicast IP address with the associated SAP announces:&lt;br /&gt;
 % &#039;&#039;&#039;vlc -vvv input_stream --sout &#039;#duplicate{dst=rtp{mux=ts,dst=239.255.1.2,sdp=sap,name=&amp;quot;OriginalStream&amp;quot;},dst=&amp;quot;transcode{vcodec=mp4v,acodec=mpga,vb=800,ab=128}:rtp{mux=ts,dst=239.255.1.3,sdp=sap,name=&amp;quot;TranscodedStream&amp;quot;}&amp;quot;}&#039; &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==HTTP streaming==&lt;br /&gt;
&lt;br /&gt;
Stream in HTTP:&lt;br /&gt;
*on the server, run:&lt;br /&gt;
 % &#039;&#039;&#039;vlc -vvv input_stream --sout &#039;#standard{access=http,mux=ogg,dst=server.example.org:8080}&#039; &#039;&#039;&#039;&lt;br /&gt;
*on the client(s), run:&lt;br /&gt;
 % &#039;&#039;&#039;vlc http://server.example.org:8080&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Transcode and stream in HTTP:&lt;br /&gt;
 % &#039;&#039;&#039;vlc -vvv input_stream --sout &#039;#transcode{vcodec=mp4v,acodec=mpga,vb=800,ab=128}:standard{access=http,mux=ogg,dst=server.example.org:8080}&#039; &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Recording a live video stream:&lt;br /&gt;
 % &#039;&#039;&#039;vlc http://example.com/live.asf --sout=&amp;quot;#duplicate{dst=std{access=file,mux=asf,url=&#039;C:\test\test.asf&#039;},dst=nodisplay}&amp;quot; &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
For example, if you want to stream an audio CD in Ogg/Vorbis over HTTP:&lt;br /&gt;
 % &#039;&#039;&#039;vlc -vvv cdda:/dev/cdrom --sout &#039;#transcode{acodec=vorb,ab=128}:standard{access=http,mux=ogg,dst=server.example.org:8080}&#039; &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==RTSP live streaming==&lt;br /&gt;
&lt;br /&gt;
Stream with RTSP and RTP:&lt;br /&gt;
*on the server, run:&lt;br /&gt;
 % &#039;&#039;&#039;vlc -vvv input_stream --sout &#039;#rtp{dst=192.168.0.12,port=1234,sdp=rtsp://server.example.org:8080/test.sdp}&#039; &#039;&#039;&#039;&lt;br /&gt;
*on the client(s), run:&lt;br /&gt;
 % &#039;&#039;&#039;vlc rtsp://server.example.org:8080/test.sdp&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==RTSP on-demand streaming==&lt;br /&gt;
&lt;br /&gt;
See [[Documentation:Streaming HowTo/VLM]].&lt;br /&gt;
&lt;br /&gt;
==MMS / MMSH streaming to Windows Media Player==&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc -vvv input_stream --sout &#039;#transcode{vcodec=DIV3,vb=256,scale=1,acodec=mp3,ab=32,channels=2}:std{access=mmsh,mux=asfh,dst=:8080}&#039; &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
VLC media player can connect to this by using the following url: &#039;&#039;&#039;mmsh://server_ip_address:8080&#039;&#039;&#039;.&lt;br /&gt;
Windows Media Player can connect to this by using the following url: &#039;&#039;&#039;mms://server_ip_address:8080&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==Use the &#039;&#039;es&#039;&#039; module==&lt;br /&gt;
&lt;br /&gt;
Separate audio and video in two PS files:&lt;br /&gt;
 % &#039;&#039;&#039;vlc -vvv input_stream --sout &#039;#es{access=file,mux=ps,url_audio=audio-%c.%m,url_video=video-%c.%m}&#039; &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Extract the audio track of the input stream to a TS file:&lt;br /&gt;
 % &#039;&#039;&#039;vlc -vvv input_stream --sout &#039;#es{access_audio=file,mux_audio=ts,url_audio=audio-%c.%m}&#039; &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Stream in unicast the audio track on a port and the video track on another port (NOTE: This will not only work with VLC 0.8.6 or older - FIXME?):&lt;br /&gt;
*on the server side:&lt;br /&gt;
 % &#039;&#039;&#039;vlc -vvv input_stream --sout &#039;#es{access=rtp,mux=ts,url_audio=192.168.1.2:1212,url_video=192.168.1.2:1213}&#039; &#039;&#039;&#039;&lt;br /&gt;
*on the client side:&lt;br /&gt;
**to receive the audio:&lt;br /&gt;
 % &#039;&#039;&#039;vlc udp://@:1212&#039;&#039;&#039;&lt;br /&gt;
**to receive the video:&lt;br /&gt;
 % &#039;&#039;&#039;vlc udp://@:1213&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Stream in multicast the video and dump the audio in a file:&lt;br /&gt;
 % &#039;&#039;&#039;vlc -vvv input_stream --sout &#039;#es{access-video=udp,mux-video=ts,dst-video=239.255.12.42,access-audio=file,mux-audio=ps,dst-audio=audio-%c.%m}&#039; &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Note: You can also combine the &#039;&#039;es&#039;&#039; module with the other modules to set-up even more complex solution.&lt;br /&gt;
&lt;br /&gt;
==Keeping the stream open==&lt;br /&gt;
&lt;br /&gt;
This example uses the syntax for the [[Control_VLC_via_a_browser | http interface]]. To use this code, press the streaming button (looks like three arrows) and enter the string below in the &#039;Destination (MRL)&#039; box&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;:sout-keep :sout=#transcode{acodec=mp3}:duplicate{dst=display{delay=6000},dst=gather:std{mux=mpeg1,dst=:8080/stream.mp3,access=http},select=&amp;quot;novideo&amp;quot;} &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The basic transcoding is an mp3 stream from the file you select (if it is a video file, then the video is ignored). It is streamed via http to localhost:8080/stream.mp3&lt;br /&gt;
&lt;br /&gt;
The combination of :sout-keep and dst=gather:std mean that the stream is kept open and subsequent items are played through the same stream.&lt;br /&gt;
&lt;br /&gt;
Once you have opened a single file with this option, then you can add additional files to the playlist (even without specifying the stream) and they&#039;ll continue to stream. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Documentation}}&lt;/div&gt;</summary>
		<author><name>ConfusedVorlon</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=Documentation:Streaming_HowTo/Command_Line_Examples&amp;diff=16141</id>
		<title>Documentation:Streaming HowTo/Command Line Examples</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=Documentation:Streaming_HowTo/Command_Line_Examples&amp;diff=16141"/>
		<updated>2010-05-25T14:09:51Z</updated>

		<summary type="html">&lt;p&gt;ConfusedVorlon: added &amp;#039;Keeping the stream open&amp;#039; example&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{RightMenu|documentation streaming howto toc}}&lt;br /&gt;
&lt;br /&gt;
Examples for advanced use of VLC&#039;s stream output (transcoding, multiple streaming, etc...)&lt;br /&gt;
&lt;br /&gt;
==Transcoding==&lt;br /&gt;
&lt;br /&gt;
Transcode the input stream and send it to a multicast IP address with the associated SAP announce:&lt;br /&gt;
 % &#039;&#039;&#039;vlc -vvv input_stream --sout &#039;#transcode{vcodec=mp4v,acodec=mpga,vb=800,ab=128,deinterlace}:rtp{mux=ts,dst=239.255.12.42,sdp=sap,name=&amp;quot;TestStream&amp;quot;}&#039; &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Display the input stream, transcode it and send it to a multicast IP address with the associated SAP announce:&lt;br /&gt;
 % &#039;&#039;&#039;vlc -vvv input_stream --sout &#039;#duplicate{dst=display,dst=&amp;quot;transcode{vcodec=mp4v,acodec=mpga,vb=800,ab=128,deinterlace}:rtp{mux=ts,dst=239.255.12.42,sdp=sap,name=&amp;quot;TestStream&amp;quot;}&amp;quot;}&#039; &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Transcode the input stream, display the transcoded stream and send it to a multicast IP address with the associated SAP announce:&lt;br /&gt;
 % &#039;&#039;&#039;vlc -vvv input_stream --sout &#039;#transcode{vcodec=mp4v,acodec=mpga,vb=800,ab=128,deinterlace}:duplicate{dst=display,dst=rtp{mux=ts,dst=239.255.12.42,sdp=sap,name=&amp;quot;TestStream&amp;quot;}}&#039; &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Multiple streaming==&lt;br /&gt;
&lt;br /&gt;
Send a stream to a multicast IP address and a unicast IP address:&lt;br /&gt;
 % &#039;&#039;&#039;vlc -vvv input_stream --sout &#039;#duplicate{dst=rtp{mux=ts,dst=239.255.12.42,sdp=sap,name=&amp;quot;TestStream&amp;quot;},dst=rtp{mux=ts,dst=192.168.1.2}}&#039; &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Display the stream and send it to two unicast IP addresses:&lt;br /&gt;
 % &#039;&#039;&#039;vlc -vvv input_stream --sout &#039;#duplicate{dst=display,dst=rtp{mux=ts,dst=192.168.1.12},dst=rtp{mux=ts,dst=192.168.1.42}}&#039; &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Send parts of a multiple program input stream:&lt;br /&gt;
 % &#039;&#039;&#039;vlc -vvv multiple_program_input_stream --sout &#039;#duplicate{dst=rtp{mux=ts,dst=239.255.12.42},select=&amp;quot;program=12345&amp;quot;,dst=rtp{mux=ts,dst=239.255.12.43}, select=&amp;quot;video,program=1234-2345&amp;quot;}&#039; &#039;&#039;&#039;&lt;br /&gt;
This command sends the program of the input stream which id is 12345 to 239.255.12.42 and all video programs with id between 1234 and 2345 to 239.255.12.43.&lt;br /&gt;
&lt;br /&gt;
==Transcoding and multiple streaming==&lt;br /&gt;
&lt;br /&gt;
Transcode the input stream, display the transcoded stream and send it to a multicast IP address with the associated SAP announce and an unicast IP address:&lt;br /&gt;
 % &#039;&#039;&#039;vlc -vvv input_stream --sout &#039;#transcode{vcodec=mp4v,acodec=mpga,vb=800,ab=128,deinterlace}:duplicate{dst=display,dst=rtp{mux=ts,dst=239.255.12.42,sdp=sap,name=&amp;quot;TestStream&amp;quot;},dst=rtp{mux=ts,dst=192.168.1.2}}&#039; &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Display the input stream, transcode it and send it to two unicast IP addresses:&lt;br /&gt;
 % &#039;&#039;&#039;vlc -vvv input_stream --sout &#039;#duplicate{dst=display,dst=&amp;quot;transcode{vcodec=mp4v,acodec=mpga,vb=800,ab=128}:duplicate{dst=rtp{mux=ts,dst=192.168.1.2},dst=rtp{mux=ts,dst=192.168.1.12}&amp;quot;}&#039; &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Send the input stream to a multicast IP address and the transcoded stream to another multicast IP address with the associated SAP announces:&lt;br /&gt;
 % &#039;&#039;&#039;vlc -vvv input_stream --sout &#039;#duplicate{dst=rtp{mux=ts,dst=239.255.1.2,sdp=sap,name=&amp;quot;OriginalStream&amp;quot;},dst=&amp;quot;transcode{vcodec=mp4v,acodec=mpga,vb=800,ab=128}:rtp{mux=ts,dst=239.255.1.3,sdp=sap,name=&amp;quot;TranscodedStream&amp;quot;}&amp;quot;}&#039; &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==HTTP streaming==&lt;br /&gt;
&lt;br /&gt;
Stream in HTTP:&lt;br /&gt;
*on the server, run:&lt;br /&gt;
 % &#039;&#039;&#039;vlc -vvv input_stream --sout &#039;#standard{access=http,mux=ogg,dst=server.example.org:8080}&#039; &#039;&#039;&#039;&lt;br /&gt;
*on the client(s), run:&lt;br /&gt;
 % &#039;&#039;&#039;vlc http://server.example.org:8080&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Transcode and stream in HTTP:&lt;br /&gt;
 % &#039;&#039;&#039;vlc -vvv input_stream --sout &#039;#transcode{vcodec=mp4v,acodec=mpga,vb=800,ab=128}:standard{access=http,mux=ogg,dst=server.example.org:8080}&#039; &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Recording a live video stream:&lt;br /&gt;
 % &#039;&#039;&#039;vlc http://example.com/live.asf --sout=&amp;quot;#duplicate{dst=std{access=file,mux=asf,url=&#039;C:\test\test.asf&#039;},dst=nodisplay}&amp;quot; &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
For example, if you want to stream an audio CD in Ogg/Vorbis over HTTP:&lt;br /&gt;
 % &#039;&#039;&#039;vlc -vvv cdda:/dev/cdrom --sout &#039;#transcode{acodec=vorb,ab=128}:standard{access=http,mux=ogg,dst=server.example.org:8080}&#039; &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==RTSP live streaming==&lt;br /&gt;
&lt;br /&gt;
Stream with RTSP and RTP:&lt;br /&gt;
*on the server, run:&lt;br /&gt;
 % &#039;&#039;&#039;vlc -vvv input_stream --sout &#039;#rtp{dst=192.168.0.12,port=1234,sdp=rtsp://server.example.org:8080/test.sdp}&#039; &#039;&#039;&#039;&lt;br /&gt;
*on the client(s), run:&lt;br /&gt;
 % &#039;&#039;&#039;vlc rtsp://server.example.org:8080/test.sdp&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==RTSP on-demand streaming==&lt;br /&gt;
&lt;br /&gt;
See [[Documentation:Streaming HowTo/VLM]].&lt;br /&gt;
&lt;br /&gt;
==MMS / MMSH streaming to Windows Media Player==&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;vlc -vvv input_stream --sout &#039;#transcode{vcodec=DIV3,vb=256,scale=1,acodec=mp3,ab=32,channels=2}:std{access=mmsh,mux=asfh,dst=:8080}&#039; &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
VLC media player can connect to this by using the following url: &#039;&#039;&#039;mmsh://server_ip_address:8080&#039;&#039;&#039;.&lt;br /&gt;
Windows Media Player can connect to this by using the following url: &#039;&#039;&#039;mms://server_ip_address:8080&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==Use the &#039;&#039;es&#039;&#039; module==&lt;br /&gt;
&lt;br /&gt;
Separate audio and video in two PS files:&lt;br /&gt;
 % &#039;&#039;&#039;vlc -vvv input_stream --sout &#039;#es{access=file,mux=ps,url_audio=audio-%c.%m,url_video=video-%c.%m}&#039; &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Extract the audio track of the input stream to a TS file:&lt;br /&gt;
 % &#039;&#039;&#039;vlc -vvv input_stream --sout &#039;#es{access_audio=file,mux_audio=ts,url_audio=audio-%c.%m}&#039; &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Stream in unicast the audio track on a port and the video track on another port (NOTE: This will not only work with VLC 0.8.6 or older - FIXME?):&lt;br /&gt;
*on the server side:&lt;br /&gt;
 % &#039;&#039;&#039;vlc -vvv input_stream --sout &#039;#es{access=rtp,mux=ts,url_audio=192.168.1.2:1212,url_video=192.168.1.2:1213}&#039; &#039;&#039;&#039;&lt;br /&gt;
*on the client side:&lt;br /&gt;
**to receive the audio:&lt;br /&gt;
 % &#039;&#039;&#039;vlc udp://@:1212&#039;&#039;&#039;&lt;br /&gt;
**to receive the video:&lt;br /&gt;
 % &#039;&#039;&#039;vlc udp://@:1213&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Stream in multicast the video and dump the audio in a file:&lt;br /&gt;
 % &#039;&#039;&#039;vlc -vvv input_stream --sout &#039;#es{access-video=udp,mux-video=ts,dst-video=239.255.12.42,access-audio=file,mux-audio=ps,dst-audio=audio-%c.%m}&#039; &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Note: You can also combine the &#039;&#039;es&#039;&#039; module with the other modules to set-up even more complex solution.&lt;br /&gt;
&lt;br /&gt;
==Keeping the stream open==&lt;br /&gt;
&lt;br /&gt;
This example uses the syntax for the [Control_VLC_via_a_browser | http interface]. To use this code, press the streaming button (looks like three arrows) and enter the string below in the &#039;Destination (MRL)&#039; box&lt;br /&gt;
&lt;br /&gt;
 % &#039;&#039;&#039;:sout-keep :sout=#transcode{acodec=mp3}:duplicate{dst=display{delay=6000},dst=gather:std{mux=mpeg1,dst=:8080/stream.mp3,access=http},select=&amp;quot;novideo&amp;quot;} &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The basic transcoding is an mp3 stream from the file you select (if it is a video file, then the video is ignored). It is streamed via http to localhost:8080/stream.mp3&lt;br /&gt;
&lt;br /&gt;
The combination of :sout-keep and dst=gather:std mean that the stream is kept open and subsequent items are played through the same stream.&lt;br /&gt;
&lt;br /&gt;
Once you have opened a single file with this option, then you can add additional files to the playlist (even without specifying the stream) and they&#039;ll continue to stream. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Documentation}}&lt;/div&gt;</summary>
		<author><name>ConfusedVorlon</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=Control_VLC_from_an_iPhone&amp;diff=16050</id>
		<title>Control VLC from an iPhone</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=Control_VLC_from_an_iPhone&amp;diff=16050"/>
		<updated>2010-05-14T09:43:44Z</updated>

		<summary type="html">&lt;p&gt;ConfusedVorlon: /* Options that communicate directly with VLC */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{howto|Control VLC from an iPhone}}&lt;br /&gt;
&lt;br /&gt;
There are various options to control VLC from the iPhone. These broadly break down between methods that require a seperate application to run alongside VLC and applications that communicate directly with VLC using the [[Web_Interface | http interface]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Options that communicate directly with VLC==&lt;br /&gt;
&lt;br /&gt;
*It is possible to use the http interface directly from Safari although is is somewhat cumbersome as it isn&#039;t designed for such a small screen.&lt;br /&gt;
**[[Control VLC via a browser]]&lt;br /&gt;
*[http://hobbyistsoftware.com/VLC-more Hobbyist Software] have produced two native applications which allow control of VLC from within a normal iPhone app. They also provide [http://www.hobbyistsoftware.com/VLCSetup setup helper applications] for Windows and Mac OS which simplify the process of enabling the http interface in VLC.&lt;br /&gt;
**[http://itunes.com/apps/vlcremotefree VLC Remote Free] allows control of basic functions like play, pause, stop, volume, etc&lt;br /&gt;
**[http://itunes.com/apps/vlcremote VLC Remote] is a paid version which additionally allows selecting of files and playlist management as well as more advanced features like aspect ratio, subtitles, audio delays, etc&lt;br /&gt;
&lt;br /&gt;
==Options that communicate via an intermediate connection==&lt;br /&gt;
&lt;br /&gt;
*[http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=288765964&amp;amp;mt=8 Intelliremote] is a free iPhone client for Intelliremote&#039;s [http://melloware.com/products/intelliphone/ PC Server] (produced by Melloware). It requires the PC client to be running on the same Windows PC as VLC.&lt;br /&gt;
*[http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=292947868&amp;amp;mt=8 EventGhost] is a paid iPhone client for the [http://www.eventghost.org/wiki/EventGhost:About Event Ghost] open source home automation server for Windows. (The iPhone client is also produced by Melloware). It requires the PC client to be running on the same Windows PC as VLC.&lt;br /&gt;
*[http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=289687093&amp;amp;mt=8i RedTouch] is a paid iPhone client for an ethernet-connected infrared transceiver produced by [http://irtrans.com IRTrans]&lt;/div&gt;</summary>
		<author><name>ConfusedVorlon</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=Control_VLC_from_an_iPhone&amp;diff=16049</id>
		<title>Control VLC from an iPhone</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=Control_VLC_from_an_iPhone&amp;diff=16049"/>
		<updated>2010-05-14T09:43:10Z</updated>

		<summary type="html">&lt;p&gt;ConfusedVorlon: /* Options that communicate directly with VLC */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{howto|Control VLC from an iPhone}}&lt;br /&gt;
&lt;br /&gt;
There are various options to control VLC from the iPhone. These broadly break down between methods that require a seperate application to run alongside VLC and applications that communicate directly with VLC using the [[Web_Interface | http interface]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Options that communicate directly with VLC==&lt;br /&gt;
&lt;br /&gt;
*It is possible to use the http interface directly from Safari although is is somewhat cumbersome as it isn&#039;t designed for such a small screen.&lt;br /&gt;
**[[Control VLC via a browser]]&lt;br /&gt;
*[http://hobbyistsoftware.com/VLC-more Hobbyist Software] have produced two native applications which allow control of VLC from within a normal iPhone app. They also provide [http://www.hobbyistsoftware.com/VLCSetup setup helper applications] for Windows and Mac OS which simplify the process of enabling the http interface in VLC.&lt;br /&gt;
**[http://itunes.com/apps/vlcremotefree VLC Remote Free] allows control of basic functions like play, pause, stop, volume, etc&lt;br /&gt;
**[http://itunes.com/apps/vlcremote VLC Remote] is a paid version which additionally allows selecting of files and playlist management.&lt;br /&gt;
&lt;br /&gt;
==Options that communicate via an intermediate connection==&lt;br /&gt;
&lt;br /&gt;
*[http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=288765964&amp;amp;mt=8 Intelliremote] is a free iPhone client for Intelliremote&#039;s [http://melloware.com/products/intelliphone/ PC Server] (produced by Melloware). It requires the PC client to be running on the same Windows PC as VLC.&lt;br /&gt;
*[http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=292947868&amp;amp;mt=8 EventGhost] is a paid iPhone client for the [http://www.eventghost.org/wiki/EventGhost:About Event Ghost] open source home automation server for Windows. (The iPhone client is also produced by Melloware). It requires the PC client to be running on the same Windows PC as VLC.&lt;br /&gt;
*[http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=289687093&amp;amp;mt=8i RedTouch] is a paid iPhone client for an ethernet-connected infrared transceiver produced by [http://irtrans.com IRTrans]&lt;/div&gt;</summary>
		<author><name>ConfusedVorlon</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=Control_VLC_from_a_webOS_phone&amp;diff=16048</id>
		<title>Control VLC from a webOS phone</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=Control_VLC_from_a_webOS_phone&amp;diff=16048"/>
		<updated>2010-05-14T09:41:58Z</updated>

		<summary type="html">&lt;p&gt;ConfusedVorlon: Created page with &amp;#039;==Options that communicate directly with VLC==  *It is possible to use the http interface directly from Browser although is is somewhat cumbersome as it isn&amp;#039;t designed for such a…&amp;#039;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Options that communicate directly with VLC==&lt;br /&gt;
&lt;br /&gt;
*It is possible to use the http interface directly from Browser although is is somewhat cumbersome as it isn&#039;t designed for such a small screen.&lt;br /&gt;
**[[Control VLC via a browser]]&lt;br /&gt;
*[http://www.hobbyistsoftware.com/pre/vlc-more Hobbyist Software] have produced two native applications which allow control of VLC from within a normal Web OS app. They also provide [http://www.hobbyistsoftware.com/VLCSetup setup helper applications] for Windows and Mac OS which simplify the process of enabling the http interface in VLC.&lt;br /&gt;
**[http://developer.palm.com/appredirect/?packageid=com.hobbyistsoftware.vlcremotefree VLC Remote Free] allows control of basic functions like play, pause, stop, volume, etc&lt;br /&gt;
**[http://developer.palm.com/appredirect/?packageid=com.hobbyistsoftware.vlcremote VLC Remote] is a paid version which additionally allows selecting of files and playlist management as well as more advanced features such as aspect ratio, subtitles, etc.&lt;/div&gt;</summary>
		<author><name>ConfusedVorlon</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=VLC_HowTo&amp;diff=16047</id>
		<title>VLC HowTo</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=VLC_HowTo&amp;diff=16047"/>
		<updated>2010-05-14T09:38:52Z</updated>

		<summary type="html">&lt;p&gt;ConfusedVorlon: /* Remote Control for VLC */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
Below are some handy guides for using {{VLC}}&lt;br /&gt;
&lt;br /&gt;
===Playing Video and Audio===&lt;br /&gt;
;How to...&lt;br /&gt;
* [[What can vlc do#How to enable/use subtitles|Use Subtitles]]&lt;br /&gt;
*: Playing movies with subtitles&lt;br /&gt;
* [[How to Use a Capture Card|Use a Capture Card]]&lt;br /&gt;
*: This explains how to watch TV or get video from your capture card.&lt;br /&gt;
* [[What can vlc do#Play DVD/SVCD/VCD iso&#039;s / Images|Play DVDs and Disks from the image file]]&lt;br /&gt;
*: This explains how to use movies encoded onto an ISO file.&lt;br /&gt;
&lt;br /&gt;
===Adjusting Settings===&lt;br /&gt;
;How to...&lt;br /&gt;
* [[What can vlc do#How to adjust picture brightness/colors/contrast..|Adjust Picture Brightness and Contrast]]&lt;br /&gt;
* [[What can vlc do#How to control the aspect ratio of the video|Edit the Aspect Ratio of a video]]&lt;br /&gt;
* [[Crop|Crop video]]&lt;br /&gt;
* [[How_to_disable_acceleration_in_Win32|Disable video acceleration in Win32]]&lt;br /&gt;
* [[How_to_save_bookmarks | Save bookmarks]]&lt;br /&gt;
* [[How_to_play_multiple_instances_of_VLC | How to play multiple instances]]&lt;br /&gt;
&lt;br /&gt;
===Remote Control for VLC===&lt;br /&gt;
;How to...&lt;br /&gt;
* [[Control VLC via a browser]]&lt;br /&gt;
*: This explains how to use the HTTP [[interface]]&lt;br /&gt;
* [[Control VLC via a widget]] on the Mac desktop&lt;br /&gt;
* [[Control VLC from an iPhone]]&lt;br /&gt;
* [[Control VLC from an Android Phone]]&lt;br /&gt;
* [[Control VLC from a Palm Web OS Phone]]&lt;br /&gt;
* [[How to Use Creative Remote]]&lt;br /&gt;
*: Explains how to control {{VLC}} with Creative brand remote controls&lt;br /&gt;
&lt;br /&gt;
===Transcoding and Streaming===&lt;br /&gt;
;How to...&lt;br /&gt;
* [[iPod Video Conversion Guide|Play videos on your iPod]]&lt;br /&gt;
*: This explains how to convert your videos so they play on your iPod.&lt;br /&gt;
* [[Play_on_Yan Micro|Play videos on your Play-Yan Micro]]&lt;br /&gt;
*: This explains how to convert your videos so they play on your Play-Yan Micro.&lt;br /&gt;
* [[Play_on_Xbox|Play videos on your XBox and XBox 360 ]]&lt;br /&gt;
*: This explains how to convert your videos so they play on your XBox.&lt;br /&gt;
* [[Play_on_Zune| Play video on your Zune]]&lt;br /&gt;
*: This explains how to convert your videos so they play on your Zune.&lt;br /&gt;
* [[Fixing .flv to .avi with Ffmpeg]]&lt;br /&gt;
*: This explains how to use ffmpeg to a convert broken .flv files to a perfectly good .avi file &#039;&#039;&#039;DEPRECATED&#039;&#039;&#039;&lt;br /&gt;
* [[Transcode_WM_to_Mov_or_MP4|Convert Windows Media audio/video files to MOV or .MP4]]&lt;br /&gt;
*: This explains how to convert Windows Media-encoded files to Quicktime or MPEG-4 files&lt;br /&gt;
* [[Streaming_to_ActiveX_for_Windows_Media_Player | Streaming from a webcam to an ActiveX embedded object page]]&lt;br /&gt;
* [[How_to_add_logo | Add a logo on your videos]]&lt;br /&gt;
* [[Mosaic| Create a Mosaic]]&lt;br /&gt;
*: This explains how to set up a mosaic from a few streams like a TV portal.&lt;br /&gt;
* [[How to DBox|Set up Video on Demand on a Dreambox]]&lt;br /&gt;
* [[How to Batch Encode]]&lt;br /&gt;
*: This explains how to set up a batch transcode with all files in a directory of a certain file extension being transcoded to a specified format.&lt;br /&gt;
* [[How to merge and transcode multiple videos]]&lt;br /&gt;
*: This explains how to take several source videos and merge then transcode resulting in a single file output.&lt;br /&gt;
&lt;br /&gt;
===Using VLC in other Applications===&lt;br /&gt;
;How to...&lt;br /&gt;
* [[ActiveX]]&lt;br /&gt;
*: Specification for ActiveX control&lt;br /&gt;
* [[ExternalAPI|Use VLC&#039;s External API]]&lt;br /&gt;
*: Information for using libvlc&lt;br /&gt;
* [[Use in Media Center]]&lt;br /&gt;
* [[Useful Firefox Extensions]]&lt;br /&gt;
*: Information about extensions to view embedded videos in web pages using VLC&lt;br /&gt;
* [[GWT]]&lt;br /&gt;
*: Google WebToolkit&lt;br /&gt;
&lt;br /&gt;
===Other Stuff===&lt;br /&gt;
;How to...&lt;br /&gt;
* [[How to Create a DVD|Create a DVD]]&lt;br /&gt;
*: This explains how to make a DVD from your home videos&lt;br /&gt;
* [[ActiveX/Delphi|Use the ActiveX control with Borland&#039;s Delphi]]&lt;br /&gt;
*: Using the VLC ActiveX plug-in in your programs&lt;br /&gt;
* [[ActiveX/HTML|Use the ActiveX control within a webpage.]]&lt;br /&gt;
* [[HowTo_Integrate_VLC_plugin_in_your_webpage|Integrate ActiveX/Mozilla on your webpage]]&lt;br /&gt;
* [[Change the brightness or contrast of a video|Change a video]]&lt;br /&gt;
*: This explains how to edit a video and save the changes&lt;br /&gt;
* [[How to create thumbnails]]&lt;br /&gt;
* [[How to Use Lirc]]&lt;br /&gt;
* [[How to shut down computer]] when VLC playback is over...&lt;br /&gt;
* [[How to make VLC the default player]]&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* &#039;&#039;&#039;See also [[:Category:How To]]&#039;&#039;&#039;&lt;br /&gt;
[[Category:How To]]&lt;/div&gt;</summary>
		<author><name>ConfusedVorlon</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=Control_VLC_from_an_Android_Phone&amp;diff=16046</id>
		<title>Control VLC from an Android Phone</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=Control_VLC_from_an_Android_Phone&amp;diff=16046"/>
		<updated>2010-05-14T09:33:45Z</updated>

		<summary type="html">&lt;p&gt;ConfusedVorlon: Created page with &amp;#039;==Options that communicate directly with VLC==  *It is possible to use the http interface directly from Browser although is is somewhat cumbersome as it isn&amp;#039;t designed for such a…&amp;#039;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Options that communicate directly with VLC==&lt;br /&gt;
&lt;br /&gt;
*It is possible to use the http interface directly from Browser although is is somewhat cumbersome as it isn&#039;t designed for such a small screen.&lt;br /&gt;
**[[Control VLC via a browser]]&lt;br /&gt;
*[http://www.hobbyistsoftware.com Hobbyist Software] have produced two native applications which allow control of VLC from within a normal Android app. They also provide [http://www.hobbyistsoftware.com/VLCSetup setup helper applications] for Windows and Mac OS which simplify the process of enabling the http interface in VLC.&lt;br /&gt;
**[http://hobbyistsoftware.com/android/vlc-remote-free VLC Remote Free] allows control of basic functions like play, pause, stop, volume, etc&lt;br /&gt;
**[http://hobbyistsoftware.com/android/vlc-remote VLC Remote] is a paid version which additionally allows selecting of files and playlist management as well as more advanced features such as aspect ratio, subtitles, etc.&lt;/div&gt;</summary>
		<author><name>ConfusedVorlon</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=VLC_HowTo&amp;diff=16045</id>
		<title>VLC HowTo</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=VLC_HowTo&amp;diff=16045"/>
		<updated>2010-05-14T09:23:47Z</updated>

		<summary type="html">&lt;p&gt;ConfusedVorlon: /* Remote Control for VLC */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
Below are some handy guides for using {{VLC}}&lt;br /&gt;
&lt;br /&gt;
===Playing Video and Audio===&lt;br /&gt;
;How to...&lt;br /&gt;
* [[What can vlc do#How to enable/use subtitles|Use Subtitles]]&lt;br /&gt;
*: Playing movies with subtitles&lt;br /&gt;
* [[How to Use a Capture Card|Use a Capture Card]]&lt;br /&gt;
*: This explains how to watch TV or get video from your capture card.&lt;br /&gt;
* [[What can vlc do#Play DVD/SVCD/VCD iso&#039;s / Images|Play DVDs and Disks from the image file]]&lt;br /&gt;
*: This explains how to use movies encoded onto an ISO file.&lt;br /&gt;
&lt;br /&gt;
===Adjusting Settings===&lt;br /&gt;
;How to...&lt;br /&gt;
* [[What can vlc do#How to adjust picture brightness/colors/contrast..|Adjust Picture Brightness and Contrast]]&lt;br /&gt;
* [[What can vlc do#How to control the aspect ratio of the video|Edit the Aspect Ratio of a video]]&lt;br /&gt;
* [[Crop|Crop video]]&lt;br /&gt;
* [[How_to_disable_acceleration_in_Win32|Disable video acceleration in Win32]]&lt;br /&gt;
* [[How_to_save_bookmarks | Save bookmarks]]&lt;br /&gt;
* [[How_to_play_multiple_instances_of_VLC | How to play multiple instances]]&lt;br /&gt;
&lt;br /&gt;
===Remote Control for VLC===&lt;br /&gt;
;How to...&lt;br /&gt;
* [[Control VLC via a browser]]&lt;br /&gt;
*: This explains how to use the HTTP [[interface]]&lt;br /&gt;
* [[Control VLC via a widget]] on the Mac desktop&lt;br /&gt;
* [[Control VLC from an iPhone]]&lt;br /&gt;
* [[Control VLC from an Android Phone]]&lt;br /&gt;
* [[How to Use Creative Remote]]&lt;br /&gt;
*: Explains how to control {{VLC}} with Creative brand remote controls&lt;br /&gt;
&lt;br /&gt;
===Transcoding and Streaming===&lt;br /&gt;
;How to...&lt;br /&gt;
* [[iPod Video Conversion Guide|Play videos on your iPod]]&lt;br /&gt;
*: This explains how to convert your videos so they play on your iPod.&lt;br /&gt;
* [[Play_on_Yan Micro|Play videos on your Play-Yan Micro]]&lt;br /&gt;
*: This explains how to convert your videos so they play on your Play-Yan Micro.&lt;br /&gt;
* [[Play_on_Xbox|Play videos on your XBox and XBox 360 ]]&lt;br /&gt;
*: This explains how to convert your videos so they play on your XBox.&lt;br /&gt;
* [[Play_on_Zune| Play video on your Zune]]&lt;br /&gt;
*: This explains how to convert your videos so they play on your Zune.&lt;br /&gt;
* [[Fixing .flv to .avi with Ffmpeg]]&lt;br /&gt;
*: This explains how to use ffmpeg to a convert broken .flv files to a perfectly good .avi file &#039;&#039;&#039;DEPRECATED&#039;&#039;&#039;&lt;br /&gt;
* [[Transcode_WM_to_Mov_or_MP4|Convert Windows Media audio/video files to MOV or .MP4]]&lt;br /&gt;
*: This explains how to convert Windows Media-encoded files to Quicktime or MPEG-4 files&lt;br /&gt;
* [[Streaming_to_ActiveX_for_Windows_Media_Player | Streaming from a webcam to an ActiveX embedded object page]]&lt;br /&gt;
* [[How_to_add_logo | Add a logo on your videos]]&lt;br /&gt;
* [[Mosaic| Create a Mosaic]]&lt;br /&gt;
*: This explains how to set up a mosaic from a few streams like a TV portal.&lt;br /&gt;
* [[How to DBox|Set up Video on Demand on a Dreambox]]&lt;br /&gt;
* [[How to Batch Encode]]&lt;br /&gt;
*: This explains how to set up a batch transcode with all files in a directory of a certain file extension being transcoded to a specified format.&lt;br /&gt;
* [[How to merge and transcode multiple videos]]&lt;br /&gt;
*: This explains how to take several source videos and merge then transcode resulting in a single file output.&lt;br /&gt;
&lt;br /&gt;
===Using VLC in other Applications===&lt;br /&gt;
;How to...&lt;br /&gt;
* [[ActiveX]]&lt;br /&gt;
*: Specification for ActiveX control&lt;br /&gt;
* [[ExternalAPI|Use VLC&#039;s External API]]&lt;br /&gt;
*: Information for using libvlc&lt;br /&gt;
* [[Use in Media Center]]&lt;br /&gt;
* [[Useful Firefox Extensions]]&lt;br /&gt;
*: Information about extensions to view embedded videos in web pages using VLC&lt;br /&gt;
* [[GWT]]&lt;br /&gt;
*: Google WebToolkit&lt;br /&gt;
&lt;br /&gt;
===Other Stuff===&lt;br /&gt;
;How to...&lt;br /&gt;
* [[How to Create a DVD|Create a DVD]]&lt;br /&gt;
*: This explains how to make a DVD from your home videos&lt;br /&gt;
* [[ActiveX/Delphi|Use the ActiveX control with Borland&#039;s Delphi]]&lt;br /&gt;
*: Using the VLC ActiveX plug-in in your programs&lt;br /&gt;
* [[ActiveX/HTML|Use the ActiveX control within a webpage.]]&lt;br /&gt;
* [[HowTo_Integrate_VLC_plugin_in_your_webpage|Integrate ActiveX/Mozilla on your webpage]]&lt;br /&gt;
* [[Change the brightness or contrast of a video|Change a video]]&lt;br /&gt;
*: This explains how to edit a video and save the changes&lt;br /&gt;
* [[How to create thumbnails]]&lt;br /&gt;
* [[How to Use Lirc]]&lt;br /&gt;
* [[How to shut down computer]] when VLC playback is over...&lt;br /&gt;
* [[How to make VLC the default player]]&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* &#039;&#039;&#039;See also [[:Category:How To]]&#039;&#039;&#039;&lt;br /&gt;
[[Category:How To]]&lt;/div&gt;</summary>
		<author><name>ConfusedVorlon</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=What_can_VLC_do%3F&amp;diff=12838</id>
		<title>What can VLC do?</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=What_can_VLC_do%3F&amp;diff=12838"/>
		<updated>2008-12-11T15:00:19Z</updated>

		<summary type="html">&lt;p&gt;ConfusedVorlon: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This area of the wiki contains a list with the possibilities {{VLC}} gives you. It was made to help people better realize the potential {{VLC}} has. Some entries will simply mention the possibility, others try to explain how to do it as well. Let me start by apologising for my horrible spelling, but I hope you will be able to decipher the texts anyway.&lt;br /&gt;
&lt;br /&gt;
== Mediaplayer ==&lt;br /&gt;
&lt;br /&gt;
=== Compact Disc (CD) Images ===&lt;br /&gt;
If you have a [[CD-DA]] (audio CD), [[SVCD]], or [[VCD]] packaged inside a CD-image, in some cases [[VLC media player]] can play this without you having to mount it or extract it. You can simply choose &amp;quot;open file&amp;quot; and pick the CD-image.  For CD-image support vlc has to be [[compile]]d using [[libcdio]] (&amp;lt;tt&amp;gt;--enable-libcdio&amp;lt;/tt&amp;gt;) and the various plugins which use libcdio need to be selected (&amp;lt;tt&amp;gt;--enable-cddax&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;--enable-vcdx&amp;lt;/tt&amp;gt;). Some of these enablements may not be the default for your OS.&lt;br /&gt;
&lt;br /&gt;
The kinds of Compact Disc formats supported are CDRWIN&#039;s BIN/CUE format, cdrdao&#039;s TOC format, and a limited set of Nero (NRG) formats.&lt;br /&gt;
&lt;br /&gt;
(&#039;&#039;[[libcdio]] also supports ISO-9660 image reading but at present there is no VLC access plugin which uses it. DVD&#039;s images follow the UDF format and at present there is no support in libcdio for that, although some limited progress has been made in that direction. It is possible that will get added in the future; volunteers are most welcome).&lt;br /&gt;
&lt;br /&gt;
=== How to enable/use subtitles ===&lt;br /&gt;
Before you try to enable [[subtitle]]s make sure the subtitles you have are in a format that VLC can read! You can find the list of compatible subtitle formats [http://www.videolan.org/vlc/features.html here].&lt;br /&gt;
If VLC has detected any sort of subtitles available, you will be able to turn them on under the menu: &#039;&#039;Video-&amp;gt;Subtitles track-&amp;gt;Track 1&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Auto detection of subtitle files uses a &#039;fuzzy&#039; logic which you can specify. If this is wrongly specified you may end up with more subtitle file options than really exist or miss some that are provided. By default it allows any file in the right place which exactly matches the video name, and may have some extra characters. If you are not seeing the number of subtitle options you expect you might want to allow more &#039;fuzziness&#039; by changing the preference in video/subtitles/subtitle autodetection where help is available if you &#039;hover&#039; over the field.&lt;br /&gt;
&lt;br /&gt;
If you mainly use .srt subtitles or .sub, you can get them turned on automatically when they are detected, by setting the &#039;&#039;Input/Codecs-&amp;gt;Advanced-&amp;gt;Choose subtitle track&#039;&#039; to 0, it will automatically turn on the subtitle track. You can also experiment with the &#039;&#039;Choose subtitle language&#039;&#039; on the same page. But if you experiment a bit with the settings you should be able to get subtitles turned on automatically.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; On Mac OS X, the &amp;quot;Video-&amp;gt;Subtitles track&amp;quot; menu item is permanently disabled for some reason. You must manually specify the location of the subtitles file in the &amp;quot;Subpictures&amp;quot; pane of the preferences.&lt;br /&gt;
&lt;br /&gt;
=== Playing windows media files ===&lt;br /&gt;
VLC should be able to succesfully play both audio and video in wma and wmv 1 and 2, for the newest version (wmv3) only the windows version of vlc will be able to play it, since no opensource implementation of wmv3 have been made so far, so the windows vlc plays it by using the windows api. DRM files however can not be played on any OS.&lt;br /&gt;
&lt;br /&gt;
=== How to adjust picture brightness/colors/contrast.. ===&lt;br /&gt;
&#039;&#039;&#039;If you are using the wxwindows userinterface:&#039;&#039;&#039;&lt;br /&gt;
You can adjust the typical values to tweak the picture of your video source by turning on the extended GUI. This is done in the menu: &#039;&#039;Settings-&amp;gt;Extended GUI&#039;&#039;. That will give you some extended control options for the video picture as well as an equalizer for the audio. Before it actual works though, you have to enable the filters under the preferences-&amp;gt;video&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;If you use Mac OS X or a skinned version of VLC:&#039;&#039;&#039;&lt;br /&gt;
You need to enter the preference menu: &#039;&#039;Settings-&amp;gt;Preferences&#039;&#039;. Once you have the preferences window open you go to: &amp;lt;u&amp;gt;Video-&amp;gt;Filters-&amp;gt;Image adjust&amp;lt;/u&amp;gt;. Here you can adjust the different values. Note before they take effect you need to turn on the &amp;quot;Image adjust&amp;quot; filter in: &amp;lt;u&amp;gt;Video-&amp;gt;Filters&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== How to control the aspect ratio of the video ===&lt;br /&gt;
Using VLC, you can override the source aspect ratio.  This is available both as a command line option and as an option in the Preference dialog in the graphical interface.  The aspect ratio can be specified both in ratio format (16:9) or as a decimal number (1.33).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Command Line&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
When invoking VLC from the command line, use the option --aspect-ratio.  For instance,&lt;br /&gt;
&lt;br /&gt;
vlc        --aspect-ratio 1:5&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Graphical Interface&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If using the graphical interface, the setting is In the Video section of the Preferences dialog.  You may specify the aspect ratio in the field labeled &amp;quot;Source aspect ratio.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Here is a list of the more common aspect ratios.&lt;br /&gt;
&lt;br /&gt;
* Fullscreen: 1.33 or 4:3&lt;br /&gt;
* Widescreen: 1.78 or 16:9&lt;br /&gt;
* Typical DVD: 1.85&lt;br /&gt;
* Cinemascope: 2.35&lt;br /&gt;
&lt;br /&gt;
===Be remotely controlled===&lt;br /&gt;
VLC provides a series of interfaces which allow it to be controlled in various ways such as via a web browser, an several iPhone apps desktop widgets and more. [[How_to#Remote_Control_for_VLC | Details are here]].&lt;br /&gt;
&lt;br /&gt;
=== Announce What&#039;s Playing to IRC ===&lt;br /&gt;
Announce the currently playing track to mirc (an irc client). This is often referred to as a &amp;quot;now playing&amp;quot; script. To be able to get this functionality with vlc one approach would be to use the HTTP interface. With it you can create a simple file which will display &amp;quot;&#039;Artist&#039; with the song &#039;Title&#039; from the album &#039;Album&#039; the genre is &#039;Genre&#039;&amp;quot; on a page in ur browser. You can then pull that page from mirc with standard sockets and thereby use the text in a script in mirc. Below I will provide some VERY simple and very ugly examples on how you could use this. The examples are tested with vlc 0.8.5 and mirc 6.12. I can&#039;t guarantee the code work with any other versions (although it most likely will). Ok so here we go. You start with create a test.html file in the http interface directory (C:\Program Files\VideoLAN\VLC\http) inside this file paste the following to ONE line or it will not work:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ANNOUNCE &amp;lt;vlc id=&amp;quot;value&amp;quot; param1=&amp;quot;&#039;ARTIST&#039; vlc_get_meta&amp;quot;/&amp;gt;&lt;br /&gt;
 with the song &amp;lt;vlc id=&amp;quot;value&amp;quot; param1=&amp;quot;&#039;TITLE&#039; vlc_get_meta&amp;quot;/&amp;gt;&lt;br /&gt;
 from the album &amp;lt;vlc id=&amp;quot;value&amp;quot; param1=&amp;quot;&#039;ALBUM&#039; vlc_get_meta&amp;quot;/&amp;gt;&lt;br /&gt;
, The genre is &amp;lt;vlc id=&amp;quot;value&amp;quot; param1=&amp;quot;&#039;Genre&#039; vlc_get_meta&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Remember to leave an empty line behind the actual line of code, vlc/mirc seems to want this.&lt;br /&gt;
Then you must create a script in mirc under remote (alt+r) and paste in the following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
alias now {&lt;br /&gt;
  sockopen vlc_meta_info 127.0.0.1 8082&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
on *:SOCKOPEN:vlc_meta_info: {&lt;br /&gt;
  sockwrite -n $sockname GET /test.html HTTP/1.1&lt;br /&gt;
  sockwrite -n $sockname Host: localhost&lt;br /&gt;
  ;sockwrite -n $sockname Connection: Keep-Alive&lt;br /&gt;
  sockwrite -n $sockname $crlf&lt;br /&gt;
  sockwrite -n $sockname $null&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
on *:sockread:vlc_meta_info: {&lt;br /&gt;
  if ($sockerr &amp;gt; 0) return&lt;br /&gt;
  :nextread&lt;br /&gt;
  sockread %temp&lt;br /&gt;
  if ($sockbr == 0) return&lt;br /&gt;
  if (%temp == $null) %temp = ---&lt;br /&gt;
  if (ANNOUNCE isin %temp) {&lt;br /&gt;
    %temp = $remove(%temp,ANNOUNCE )&lt;br /&gt;
    describe $active is listening to %temp&lt;br /&gt;
  }&lt;br /&gt;
  goto nextread&lt;br /&gt;
&lt;br /&gt;
  sockclose vlc_meta_info&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Only things u might want to change is the port the http interface listens on, thats the first line and is port 8082 in my case. You might also want some other text than &amp;quot;is listening to&amp;quot; just change as you see fit.&lt;br /&gt;
&lt;br /&gt;
Thats pretty much it. You should enable the http interface in vlc by default if u wanna use this on a regular basis. This is done under preferences in &amp;quot;Interface-&amp;gt;Main interfaces&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Then with all this done (and vlc restarted) you can type /now in mirc and it will display ur currently playing track.&lt;br /&gt;
&lt;br /&gt;
This was made for mp3 tracks, so if it doesn&#039;t work with other types of media let me know.&lt;br /&gt;
You can reach me at: jonas (at) vrt.dk&lt;br /&gt;
(Im also regularly in the freenode videolan channel, nickname E-bola)&lt;br /&gt;
&lt;br /&gt;
== Now Playing Script for mIRC by Inf3rn0 (now Jckf) ==&lt;br /&gt;
Script and help for Inf3rn0&#039;s Now Playing script here: [http://frv.mine.nu/videolan/NowPlaying/ NowPlaying]&lt;br /&gt;
(webadress updated as previous had gotten lost)&lt;br /&gt;
&lt;br /&gt;
Based on E-Bola&#039;s Now Playing script.&lt;br /&gt;
&lt;br /&gt;
Note: If anybody still uses this and wants to contact me, don&#039;t look for anyone named Inf3rn0. Look for Jckf ;)&lt;br /&gt;
&lt;br /&gt;
== Streaming - client ==&lt;br /&gt;
&lt;br /&gt;
=== Listen to online radio ===&lt;br /&gt;
You can of course always simply find a link to a radiostream and then open it as you would any other network stream in VLC. But if you would like to browse a list of online radios, you can try the list of shoutcast radio stations VLC can download for you. First you need top open the playlist window: View-&amp;gt;Playlist. Once you have the playlist window open chose: &#039;&#039;Manage-&amp;gt;Service discovery-&amp;gt;Shoutcast radio listings&#039;&#039;. After 10 seconds or so the playlist should have become populated by radio station entries. You obviously require internet access for this to work! If you want the stations sorted alphabetically, you can chose: &#039;&#039;Sort-&amp;gt;Sort by title&#039;&#039;. Also note shoutcast have many thousands stream availeble, per default in 0.8.2 250 stations are downloaded, this can be changed in the preferences under: &amp;lt;u&amp;gt;Playlist-&amp;gt;Service discovery-&amp;gt;Shoutcast&amp;lt;/u&amp;gt;. Note that the more stations u want to add, the longer delay u will see when the station list is downloaded parsed and added to the playlist. Also note you should see 2 &amp;quot;Folder nodes&amp;quot; in the playlist under shoutcast called Genres and bitrate where the stations will be listed under their respective areas. Note that most stations claim to be multi genre, so a station might be listed under both Top40, pop and rock.&lt;br /&gt;
&lt;br /&gt;
== Streaming - server ==&lt;br /&gt;
&lt;br /&gt;
=== VLM ===&lt;br /&gt;
&lt;br /&gt;
The VLM is the Video On Demand part of the VLC streaming server features. It lets you setup a bunch of entries and then let users ask for those streams and it then gives them to the users, it has A LOT of possibilities and I will try to cover them all here.&lt;br /&gt;
&lt;br /&gt;
You can divide VLM entries into 2 general categories VOD and broadcast entries.&lt;br /&gt;
&lt;br /&gt;
== More ==&lt;br /&gt;
[[timeshift|Timeshifting]]&lt;/div&gt;</summary>
		<author><name>ConfusedVorlon</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=VLC_HowTo&amp;diff=12837</id>
		<title>VLC HowTo</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=VLC_HowTo&amp;diff=12837"/>
		<updated>2008-12-11T14:50:24Z</updated>

		<summary type="html">&lt;p&gt;ConfusedVorlon: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
Below are some handy guides for using {{VLC}}&lt;br /&gt;
&lt;br /&gt;
===Playing Video and Audio===&lt;br /&gt;
;How to...&lt;br /&gt;
* [[What can vlc do#How to enable/use subtitles|Use Subtitles]]&lt;br /&gt;
*: Playing movies with subtitles&lt;br /&gt;
* [[How to Use a Capture Card|Use a Capture Card]]&lt;br /&gt;
*: This explains how to watch TV or get video from your capture card.&lt;br /&gt;
* [[What can vlc do#Play DVD/SVCD/VCD iso&#039;s / Images|Play DVDs and Disks from the image file]]&lt;br /&gt;
*: This explains how to use movies encoded onto an ISO file.&lt;br /&gt;
&lt;br /&gt;
===Adjusting Settings===&lt;br /&gt;
;How to...&lt;br /&gt;
* [[What can vlc do#How to adjust picture brightness/colors/contrast..|Adjust Picture Brightness and Contrast]]&lt;br /&gt;
* [[What can vlc do#How to control the aspect ratio of the video|Edit the Aspect Ratio of a video]]&lt;br /&gt;
* [[How_to_disable_acceleration_in_Win32|Disable video acceleration in Win32]]&lt;br /&gt;
* [[How_to_save_bookmarks | Save bookmarks]]&lt;br /&gt;
* [[How_to_play_multiple_instances_of_VLC | How to play multiple instances]]&lt;br /&gt;
&lt;br /&gt;
===Remote Control for VLC===&lt;br /&gt;
;How to...&lt;br /&gt;
* [[Control VLC via a browser]]&lt;br /&gt;
*: This explains how to use the HTTP [[interface]]&lt;br /&gt;
* [[Control VLC via a widget]] on the Mac desktop&lt;br /&gt;
* [[Control VLC from an iPhone]]&lt;br /&gt;
* [[How to Use Creative Remote]]&lt;br /&gt;
*: Explains how to control {{VLC}} with Creative brand remote controls&lt;br /&gt;
&lt;br /&gt;
===Transcoding and Streaming===&lt;br /&gt;
;How to...&lt;br /&gt;
* [[iPod Video Conversion Guide|Play videos on your iPod]]&lt;br /&gt;
*: This explains how to convert your videos so they play on your iPod.&lt;br /&gt;
* [[Play_on_Yan Micro|Play videos on your Play-Yan Micro]]&lt;br /&gt;
*: This explains how to convert your videos so they play on your Play-Yan Micro.&lt;br /&gt;
* [[Play_on_Xbox|Play videos on your XBox and XBox 360 ]]&lt;br /&gt;
*: This explains how to convert your videos so they play on your XBox.&lt;br /&gt;
* [[Play_on_Zune| Play video on your Zune]]&lt;br /&gt;
*: This explains how to convert your videos so they play on your Zune.&lt;br /&gt;
* [[Fixing .flv to .avi with Ffmpeg]]&lt;br /&gt;
*: This explains how to use ffmpeg to a convert broken .flv files to a perfectly good .avi file &#039;&#039;&#039;DEPRECATED&#039;&#039;&#039;&lt;br /&gt;
* [[Transcode_WM_to_Mov_or_MP4|Convert Windows Media audio/video files to MOV or .MP4]]&lt;br /&gt;
*: This explains how to convert Windows Media-encoded files to Quicktime or MPEG-4 files&lt;br /&gt;
* [[Streaming_to_ActiveX_for_Windows_Media_Player | Streaming from a webcam to an ActiveX embedded object page]]&lt;br /&gt;
* [[How_to_add_logo | Add a logo on your videos]]&lt;br /&gt;
* [[Mosaic| Create a Mosaic]]&lt;br /&gt;
*: This explains how to set up a mosaic from a few streams like a TV portal.&lt;br /&gt;
* [[How to DBox|Set up Video on Demand on a Dreambox]]&lt;br /&gt;
* [[How to Batch Encode]]&lt;br /&gt;
*: This explains how to set up a batch transcode with all files in a directory of a certain file extension being transcoded to a specified format.&lt;br /&gt;
* [[How to merge and transcode multiple videos]]&lt;br /&gt;
*: This explains how to take several source videos and merge then transcode resulting in a single file output.&lt;br /&gt;
&lt;br /&gt;
===Using VLC in other Applications===&lt;br /&gt;
;How to...&lt;br /&gt;
* [[ActiveX]]&lt;br /&gt;
*: Specification for ActiveX control&lt;br /&gt;
* [[ExternalAPI|Use VLC&#039;s External API]]&lt;br /&gt;
*: Information for using libvlc&lt;br /&gt;
* [[Use in Media Center]]&lt;br /&gt;
* [[Useful Firefox Extensions]]&lt;br /&gt;
*: Information about extensions to view embedded videos in web pages using VLC&lt;br /&gt;
* [[GWT]]&lt;br /&gt;
*: Google WebToolkit&lt;br /&gt;
&lt;br /&gt;
===Other Stuff===&lt;br /&gt;
;How to...&lt;br /&gt;
* [[How to Create a DVD|Create a DVD]]&lt;br /&gt;
*: This explains how to make a DVD from your home videos&lt;br /&gt;
* [[ActiveX/Delphi|Use the ActiveX control with Borland&#039;s Delphi]]&lt;br /&gt;
*: Using the VLC ActiveX plug-in in your programs&lt;br /&gt;
* [[ActiveX/HTML|Use the ActiveX control within a webpage.]]&lt;br /&gt;
* [[HowTo_Integrate_VLC_plugin_in_your_webpage|Integrate ActiveX/Mozilla on your webpage]]&lt;br /&gt;
* [[Change the brightness or contrast of a video|Change a video]]&lt;br /&gt;
*: This explains how to edit a video and save the changes&lt;br /&gt;
* [[How to create thumbnails]]&lt;br /&gt;
* [[How to Use Lirc]]&lt;br /&gt;
* [[How to shut down computer]] when VLC playback is over...&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* &#039;&#039;&#039;See also [[:Category:How To]]&#039;&#039;&#039;&lt;br /&gt;
[[Category:How To]]&lt;/div&gt;</summary>
		<author><name>ConfusedVorlon</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=VLC_HowTo&amp;diff=12836</id>
		<title>VLC HowTo</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=VLC_HowTo&amp;diff=12836"/>
		<updated>2008-12-11T14:47:08Z</updated>

		<summary type="html">&lt;p&gt;ConfusedVorlon: /* Other Stuff */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
Below are some handy guides for using {{VLC}}&lt;br /&gt;
&lt;br /&gt;
===Playing Video and Audio===&lt;br /&gt;
;How to...&lt;br /&gt;
* [[What can vlc do#How to enable/use subtitles|Use Subtitles]]&lt;br /&gt;
*: Playing movies with subtitles&lt;br /&gt;
* [[How to Use a Capture Card|Use a Capture Card]]&lt;br /&gt;
*: This explains how to watch TV or get video from your capture card.&lt;br /&gt;
* [[What can vlc do#Play DVD/SVCD/VCD iso&#039;s / Images|Play DVDs and Disks from the image file]]&lt;br /&gt;
*: This explains how to use movies encoded onto an ISO file.&lt;br /&gt;
&lt;br /&gt;
===Adjusting Settings===&lt;br /&gt;
;How to...&lt;br /&gt;
* [[What can vlc do#How to adjust picture brightness/colors/contrast..|Adjust Picture Brightness and Contrast]]&lt;br /&gt;
* [[What can vlc do#How to control the aspect ratio of the video|Edit the Aspect Ratio of a video]]&lt;br /&gt;
* [[How_to_disable_acceleration_in_Win32|Disable video acceleration in Win32]]&lt;br /&gt;
* [[How_to_save_bookmarks | Save bookmarks]]&lt;br /&gt;
* [[How_to_play_multiple_instances_of_VLC | How to play multiple instances]]&lt;br /&gt;
&lt;br /&gt;
===Transcoding and Streaming===&lt;br /&gt;
;How to...&lt;br /&gt;
* [[iPod Video Conversion Guide|Play videos on your iPod]]&lt;br /&gt;
*: This explains how to convert your videos so they play on your iPod.&lt;br /&gt;
* [[Play_on_Yan Micro|Play videos on your Play-Yan Micro]]&lt;br /&gt;
*: This explains how to convert your videos so they play on your Play-Yan Micro.&lt;br /&gt;
* [[Play_on_Xbox|Play videos on your XBox and XBox 360 ]]&lt;br /&gt;
*: This explains how to convert your videos so they play on your XBox.&lt;br /&gt;
* [[Play_on_Zune| Play video on your Zune]]&lt;br /&gt;
*: This explains how to convert your videos so they play on your Zune.&lt;br /&gt;
* [[Fixing .flv to .avi with Ffmpeg]]&lt;br /&gt;
*: This explains how to use ffmpeg to a convert broken .flv files to a perfectly good .avi file &#039;&#039;&#039;DEPRECATED&#039;&#039;&#039;&lt;br /&gt;
* [[Transcode_WM_to_Mov_or_MP4|Convert Windows Media audio/video files to MOV or .MP4]]&lt;br /&gt;
*: This explains how to convert Windows Media-encoded files to Quicktime or MPEG-4 files&lt;br /&gt;
* [[Streaming_to_ActiveX_for_Windows_Media_Player | Streaming from a webcam to an ActiveX embedded object page]]&lt;br /&gt;
* [[How_to_add_logo | Add a logo on your videos]]&lt;br /&gt;
* [[Mosaic| Create a Mosaic]]&lt;br /&gt;
*: This explains how to set up a mosaic from a few streams like a TV portal.&lt;br /&gt;
* [[How to DBox|Set up Video on Demand on a Dreambox]]&lt;br /&gt;
* [[How to Batch Encode]]&lt;br /&gt;
*: This explains how to set up a batch transcode with all files in a directory of a certain file extension being transcoded to a specified format.&lt;br /&gt;
* [[How to merge and transcode multiple videos]]&lt;br /&gt;
*: This explains how to take several source videos and merge then transcode resulting in a single file output.&lt;br /&gt;
&lt;br /&gt;
===Using VLC in other Applications===&lt;br /&gt;
;How to...&lt;br /&gt;
* [[ActiveX]]&lt;br /&gt;
*: Specification for ActiveX control&lt;br /&gt;
* [[ExternalAPI|Use VLC&#039;s External API]]&lt;br /&gt;
*: Information for using libvlc&lt;br /&gt;
* [[Use in Media Center]]&lt;br /&gt;
* [[Useful Firefox Extensions]]&lt;br /&gt;
*: Information about extensions to view embedded videos in web pages using VLC&lt;br /&gt;
* [[GWT]]&lt;br /&gt;
*: Google WebToolkit&lt;br /&gt;
&lt;br /&gt;
===Other Stuff===&lt;br /&gt;
;How to...&lt;br /&gt;
* [[How to Create a DVD|Create a DVD]]&lt;br /&gt;
*: This explains how to make a DVD from your home videos&lt;br /&gt;
* [[ActiveX/Delphi|Use the ActiveX control with Borland&#039;s Delphi]]&lt;br /&gt;
*: Using the VLC ActiveX plug-in in your programs&lt;br /&gt;
* [[ActiveX/HTML|Use the ActiveX control within a webpage.]]&lt;br /&gt;
* [[HowTo_Integrate_VLC_plugin_in_your_webpage|Integrate ActiveX/Mozilla on your webpage]]&lt;br /&gt;
* [[Control VLC via a browser]]&lt;br /&gt;
*: This explains how to use the HTTP [[interface]]&lt;br /&gt;
* [[Control VLC via a widget]] on the Mac desktop&lt;br /&gt;
* [[Control VLC from an iPhone]]&lt;br /&gt;
* [[How to Use Creative Remote]]&lt;br /&gt;
*: Explains how to control {{VLC}} with Creative brand remote controls&lt;br /&gt;
* [[Change the brightness or contrast of a video|Change a video]]&lt;br /&gt;
*: This explains how to edit a video and save the changes&lt;br /&gt;
* [[How to create thumbnails]]&lt;br /&gt;
* [[How to Use Lirc]]&lt;br /&gt;
* [[How to shut down computer]] when VLC playback is over...&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* &#039;&#039;&#039;See also [[:Category:How To]]&#039;&#039;&#039;&lt;br /&gt;
[[Category:How To]]&lt;/div&gt;</summary>
		<author><name>ConfusedVorlon</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=VLC_HowTo&amp;diff=12835</id>
		<title>VLC HowTo</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=VLC_HowTo&amp;diff=12835"/>
		<updated>2008-12-11T14:46:35Z</updated>

		<summary type="html">&lt;p&gt;ConfusedVorlon: /* Other Stuff */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
Below are some handy guides for using {{VLC}}&lt;br /&gt;
&lt;br /&gt;
===Playing Video and Audio===&lt;br /&gt;
;How to...&lt;br /&gt;
* [[What can vlc do#How to enable/use subtitles|Use Subtitles]]&lt;br /&gt;
*: Playing movies with subtitles&lt;br /&gt;
* [[How to Use a Capture Card|Use a Capture Card]]&lt;br /&gt;
*: This explains how to watch TV or get video from your capture card.&lt;br /&gt;
* [[What can vlc do#Play DVD/SVCD/VCD iso&#039;s / Images|Play DVDs and Disks from the image file]]&lt;br /&gt;
*: This explains how to use movies encoded onto an ISO file.&lt;br /&gt;
&lt;br /&gt;
===Adjusting Settings===&lt;br /&gt;
;How to...&lt;br /&gt;
* [[What can vlc do#How to adjust picture brightness/colors/contrast..|Adjust Picture Brightness and Contrast]]&lt;br /&gt;
* [[What can vlc do#How to control the aspect ratio of the video|Edit the Aspect Ratio of a video]]&lt;br /&gt;
* [[How_to_disable_acceleration_in_Win32|Disable video acceleration in Win32]]&lt;br /&gt;
* [[How_to_save_bookmarks | Save bookmarks]]&lt;br /&gt;
* [[How_to_play_multiple_instances_of_VLC | How to play multiple instances]]&lt;br /&gt;
&lt;br /&gt;
===Transcoding and Streaming===&lt;br /&gt;
;How to...&lt;br /&gt;
* [[iPod Video Conversion Guide|Play videos on your iPod]]&lt;br /&gt;
*: This explains how to convert your videos so they play on your iPod.&lt;br /&gt;
* [[Play_on_Yan Micro|Play videos on your Play-Yan Micro]]&lt;br /&gt;
*: This explains how to convert your videos so they play on your Play-Yan Micro.&lt;br /&gt;
* [[Play_on_Xbox|Play videos on your XBox and XBox 360 ]]&lt;br /&gt;
*: This explains how to convert your videos so they play on your XBox.&lt;br /&gt;
* [[Play_on_Zune| Play video on your Zune]]&lt;br /&gt;
*: This explains how to convert your videos so they play on your Zune.&lt;br /&gt;
* [[Fixing .flv to .avi with Ffmpeg]]&lt;br /&gt;
*: This explains how to use ffmpeg to a convert broken .flv files to a perfectly good .avi file &#039;&#039;&#039;DEPRECATED&#039;&#039;&#039;&lt;br /&gt;
* [[Transcode_WM_to_Mov_or_MP4|Convert Windows Media audio/video files to MOV or .MP4]]&lt;br /&gt;
*: This explains how to convert Windows Media-encoded files to Quicktime or MPEG-4 files&lt;br /&gt;
* [[Streaming_to_ActiveX_for_Windows_Media_Player | Streaming from a webcam to an ActiveX embedded object page]]&lt;br /&gt;
* [[How_to_add_logo | Add a logo on your videos]]&lt;br /&gt;
* [[Mosaic| Create a Mosaic]]&lt;br /&gt;
*: This explains how to set up a mosaic from a few streams like a TV portal.&lt;br /&gt;
* [[How to DBox|Set up Video on Demand on a Dreambox]]&lt;br /&gt;
* [[How to Batch Encode]]&lt;br /&gt;
*: This explains how to set up a batch transcode with all files in a directory of a certain file extension being transcoded to a specified format.&lt;br /&gt;
* [[How to merge and transcode multiple videos]]&lt;br /&gt;
*: This explains how to take several source videos and merge then transcode resulting in a single file output.&lt;br /&gt;
&lt;br /&gt;
===Using VLC in other Applications===&lt;br /&gt;
;How to...&lt;br /&gt;
* [[ActiveX]]&lt;br /&gt;
*: Specification for ActiveX control&lt;br /&gt;
* [[ExternalAPI|Use VLC&#039;s External API]]&lt;br /&gt;
*: Information for using libvlc&lt;br /&gt;
* [[Use in Media Center]]&lt;br /&gt;
* [[Useful Firefox Extensions]]&lt;br /&gt;
*: Information about extensions to view embedded videos in web pages using VLC&lt;br /&gt;
* [[GWT]]&lt;br /&gt;
*: Google WebToolkit&lt;br /&gt;
&lt;br /&gt;
===Other Stuff===&lt;br /&gt;
;How to...&lt;br /&gt;
* [[How to Create a DVD|Create a DVD]]&lt;br /&gt;
*: This explains how to make a DVD from your home videos&lt;br /&gt;
* [[ActiveX/Delphi|Use the ActiveX control with Borland&#039;s Delphi]]&lt;br /&gt;
*: Using the VLC ActiveX plug-in in your programs&lt;br /&gt;
* [[ActiveX/HTML|Use the ActiveX control within a webpage.]]&lt;br /&gt;
* [[HowTo_Integrate_VLC_plugin_in_your_webpage|Integrate ActiveX/Mozilla on your webpage]]&lt;br /&gt;
* [[Control VLC via a browser]]&lt;br /&gt;
*: This explains how to use the HTTP [[interface]]&lt;br /&gt;
* [[Control VLC via a widget]] on the Mac desktop&lt;br /&gt;
* [[Control VLC from an iPhone]]&lt;br /&gt;
* [[Change the brightness or contrast of a video|Change a video]]&lt;br /&gt;
*: This explains how to edit a video and save the changes&lt;br /&gt;
* [[How to create thumbnails]]&lt;br /&gt;
* [[How to Use Lirc]]&lt;br /&gt;
* [[How to Use Creative Remote]]&lt;br /&gt;
*: Explains how to control {{VLC}} with Creative brand remote controls&lt;br /&gt;
* [[How to shut down computer]] when VLC playback is over...&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* &#039;&#039;&#039;See also [[:Category:How To]]&#039;&#039;&#039;&lt;br /&gt;
[[Category:How To]]&lt;/div&gt;</summary>
		<author><name>ConfusedVorlon</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=Control_VLC_from_an_iPhone&amp;diff=12834</id>
		<title>Control VLC from an iPhone</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=Control_VLC_from_an_iPhone&amp;diff=12834"/>
		<updated>2008-12-11T14:43:23Z</updated>

		<summary type="html">&lt;p&gt;ConfusedVorlon: /* Options that communicate directly with VLC */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{howto|Control VLC from an iPhone}}&lt;br /&gt;
&lt;br /&gt;
There are various options to control VLC from the iPhone. These broadly break down between methods that require a seperate application to run alongside VLC and applications that communicate directly with VLC using the [[Web_Interface | http interface]]&lt;br /&gt;
&lt;br /&gt;
===Options that communicate directly with VLC===&lt;br /&gt;
&lt;br /&gt;
*It is possible to use the http interface directly from Safari although is is somewhat cumbersome as it isn&#039;t designed for such a small screen.&lt;br /&gt;
**[[Control VLC via a browser]]&lt;br /&gt;
*[http://www.hobbyistsoftware.com/iAbout.php Hobbyist Software] have produced two native applications which allow control of VLC from within a normal iPhone app. They also provide [http://www.hobbyistsoftware.com/VLCSetup.php setup helper applications] for Windows and Mac OS which simplify the process of enabling the http interface in VLC.&lt;br /&gt;
**[http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=299344206&amp;amp;mt=8 VLC Remote Free] allows control of basic functions like play, pause, stop, volume, etc&lt;br /&gt;
**[http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=297244048&amp;amp;mt=8 VLC Remote] is a paid version which additionally allows selecting of files and playlist management.&lt;br /&gt;
&lt;br /&gt;
===Options that communicate via an intermeditate connection===&lt;br /&gt;
&lt;br /&gt;
*[http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=288765964&amp;amp;mt=8 Intelliremote] is a free iPhone client for Intelliremote&#039;s [http://melloware.com/products/intelliphone/ PC Server] (produced by Melloware). It requires the PC client to be running on the same Windows PC as VLC.&lt;br /&gt;
*[http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=292947868&amp;amp;mt=8 EventGhost] is a paid iPhone client for the [http://www.eventghost.org/wiki/EventGhost:About Event Ghost] open source home automation server for Windows. (The iPhone client is also produced by Melloware). It requires the PC client to be running on the same Windows PC as VLC.&lt;br /&gt;
*[http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=289687093&amp;amp;mt=8i RedTouch] is a paid iPhone client for an ethernet-connected infrared transceiver produced by [http://irtrans.com IRTrans]&lt;/div&gt;</summary>
		<author><name>ConfusedVorlon</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=Control_VLC_from_an_iPhone&amp;diff=12833</id>
		<title>Control VLC from an iPhone</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=Control_VLC_from_an_iPhone&amp;diff=12833"/>
		<updated>2008-12-11T14:41:35Z</updated>

		<summary type="html">&lt;p&gt;ConfusedVorlon: New page: {{howto|Control VLC from an iPhone}}  There are various options to control VLC from the iPhone. These broadly break down between methods that require a seperate application to run alongsid...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{howto|Control VLC from an iPhone}}&lt;br /&gt;
&lt;br /&gt;
There are various options to control VLC from the iPhone. These broadly break down between methods that require a seperate application to run alongside VLC and applications that communicate directly with VLC using the [[Web_Interface | http interface]]&lt;br /&gt;
&lt;br /&gt;
===Options that communicate directly with VLC===&lt;br /&gt;
&lt;br /&gt;
*It is possible to use the http interface directly from Safari although is is somewhat cumbersome as it isn&#039;t designed for such a small screen.&lt;br /&gt;
**[[Control VLC via a browser]]&lt;br /&gt;
*[http://www.hobbyistsoftware.com/iAbout.php Hobbyist Software] have produced two native applications which allow control of VLC from within a normal iPhone app. They also provide setup helper applications for Windows and Mac OS which simplify the process of enabling the http interface in VLC.&lt;br /&gt;
**[http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=299344206&amp;amp;mt=8 VLC Remote Free] allows control of basic functions like play, pause, stop, volume, etc&lt;br /&gt;
**[http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=297244048&amp;amp;mt=8 VLC Remote] is a paid version which additionally allows selecting of files and playlist management.&lt;br /&gt;
&lt;br /&gt;
===Options that communicate via an intermeditate connection===&lt;br /&gt;
&lt;br /&gt;
*[http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=288765964&amp;amp;mt=8 Intelliremote] is a free iPhone client for Intelliremote&#039;s [http://melloware.com/products/intelliphone/ PC Server] (produced by Melloware). It requires the PC client to be running on the same Windows PC as VLC.&lt;br /&gt;
*[http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=292947868&amp;amp;mt=8 EventGhost] is a paid iPhone client for the [http://www.eventghost.org/wiki/EventGhost:About Event Ghost] open source home automation server for Windows. (The iPhone client is also produced by Melloware). It requires the PC client to be running on the same Windows PC as VLC.&lt;br /&gt;
*[http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=289687093&amp;amp;mt=8i RedTouch] is a paid iPhone client for an ethernet-connected infrared transceiver produced by [http://irtrans.com IRTrans]&lt;/div&gt;</summary>
		<author><name>ConfusedVorlon</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=VLC_HowTo&amp;diff=12832</id>
		<title>VLC HowTo</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=VLC_HowTo&amp;diff=12832"/>
		<updated>2008-12-11T14:15:25Z</updated>

		<summary type="html">&lt;p&gt;ConfusedVorlon: /* Other Stuff */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
Below are some handy guides for using {{VLC}}&lt;br /&gt;
&lt;br /&gt;
===Playing Video and Audio===&lt;br /&gt;
;How to...&lt;br /&gt;
* [[What can vlc do#How to enable/use subtitles|Use Subtitles]]&lt;br /&gt;
*: Playing movies with subtitles&lt;br /&gt;
* [[How to Use a Capture Card|Use a Capture Card]]&lt;br /&gt;
*: This explains how to watch TV or get video from your capture card.&lt;br /&gt;
* [[What can vlc do#Play DVD/SVCD/VCD iso&#039;s / Images|Play DVDs and Disks from the image file]]&lt;br /&gt;
*: This explains how to use movies encoded onto an ISO file.&lt;br /&gt;
&lt;br /&gt;
===Adjusting Settings===&lt;br /&gt;
;How to...&lt;br /&gt;
* [[What can vlc do#How to adjust picture brightness/colors/contrast..|Adjust Picture Brightness and Contrast]]&lt;br /&gt;
* [[What can vlc do#How to control the aspect ratio of the video|Edit the Aspect Ratio of a video]]&lt;br /&gt;
* [[How_to_disable_acceleration_in_Win32|Disable video acceleration in Win32]]&lt;br /&gt;
* [[How_to_save_bookmarks | Save bookmarks]]&lt;br /&gt;
* [[How_to_play_multiple_instances_of_VLC | How to play multiple instances]]&lt;br /&gt;
&lt;br /&gt;
===Transcoding and Streaming===&lt;br /&gt;
;How to...&lt;br /&gt;
* [[iPod Video Conversion Guide|Play videos on your iPod]]&lt;br /&gt;
*: This explains how to convert your videos so they play on your iPod.&lt;br /&gt;
* [[Play_on_Yan Micro|Play videos on your Play-Yan Micro]]&lt;br /&gt;
*: This explains how to convert your videos so they play on your Play-Yan Micro.&lt;br /&gt;
* [[Play_on_Xbox|Play videos on your XBox and XBox 360 ]]&lt;br /&gt;
*: This explains how to convert your videos so they play on your XBox.&lt;br /&gt;
* [[Play_on_Zune| Play video on your Zune]]&lt;br /&gt;
*: This explains how to convert your videos so they play on your Zune.&lt;br /&gt;
* [[Fixing .flv to .avi with Ffmpeg]]&lt;br /&gt;
*: This explains how to use ffmpeg to a convert broken .flv files to a perfectly good .avi file &#039;&#039;&#039;DEPRECATED&#039;&#039;&#039;&lt;br /&gt;
* [[Transcode_WM_to_Mov_or_MP4|Convert Windows Media audio/video files to MOV or .MP4]]&lt;br /&gt;
*: This explains how to convert Windows Media-encoded files to Quicktime or MPEG-4 files&lt;br /&gt;
* [[Streaming_to_ActiveX_for_Windows_Media_Player | Streaming from a webcam to an ActiveX embedded object page]]&lt;br /&gt;
* [[How_to_add_logo | Add a logo on your videos]]&lt;br /&gt;
* [[Mosaic| Create a Mosaic]]&lt;br /&gt;
*: This explains how to set up a mosaic from a few streams like a TV portal.&lt;br /&gt;
* [[How to DBox|Set up Video on Demand on a Dreambox]]&lt;br /&gt;
* [[How to Batch Encode]]&lt;br /&gt;
*: This explains how to set up a batch transcode with all files in a directory of a certain file extension being transcoded to a specified format.&lt;br /&gt;
* [[How to merge and transcode multiple videos]]&lt;br /&gt;
*: This explains how to take several source videos and merge then transcode resulting in a single file output.&lt;br /&gt;
&lt;br /&gt;
===Using VLC in other Applications===&lt;br /&gt;
;How to...&lt;br /&gt;
* [[ActiveX]]&lt;br /&gt;
*: Specification for ActiveX control&lt;br /&gt;
* [[ExternalAPI|Use VLC&#039;s External API]]&lt;br /&gt;
*: Information for using libvlc&lt;br /&gt;
* [[Use in Media Center]]&lt;br /&gt;
* [[Useful Firefox Extensions]]&lt;br /&gt;
*: Information about extensions to view embedded videos in web pages using VLC&lt;br /&gt;
* [[GWT]]&lt;br /&gt;
*: Google WebToolkit&lt;br /&gt;
&lt;br /&gt;
===Other Stuff===&lt;br /&gt;
;How to...&lt;br /&gt;
* [[How to Create a DVD|Create a DVD]]&lt;br /&gt;
*: This explains how to make a DVD from your home videos&lt;br /&gt;
* [[ActiveX/Delphi|Use the ActiveX control with Borland&#039;s Delphi]]&lt;br /&gt;
*: Using the VLC ActiveX plug-in in your programs&lt;br /&gt;
* [[ActiveX/HTML|Use the ActiveX control within a webpage.]]&lt;br /&gt;
* [[HowTo_Integrate_VLC_plugin_in_your_webpage|Integrate ActiveX/Mozilla on your webpage]]&lt;br /&gt;
* [[Control VLC via a browser]]&lt;br /&gt;
*: This explains how to use the HTTP [[interface]]&lt;br /&gt;
* [[Control_VLC_via_a_widget]] on the Mac desktop&lt;br /&gt;
* [[Change the brightness or contrast of a video|Change a video]]&lt;br /&gt;
*: This explains how to edit a video and save the changes&lt;br /&gt;
* [[How to create thumbnails]]&lt;br /&gt;
* [[How to Use Lirc]]&lt;br /&gt;
* [[How to Use Creative Remote]]&lt;br /&gt;
*: Explains how to control {{VLC}} with Creative brand remote controls&lt;br /&gt;
* [[How to shut down computer]] when VLC playback is over...&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* &#039;&#039;&#039;See also [[:Category:How To]]&#039;&#039;&#039;&lt;br /&gt;
[[Category:How To]]&lt;/div&gt;</summary>
		<author><name>ConfusedVorlon</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=Control_VLC_via_a_widget&amp;diff=12831</id>
		<title>Control VLC via a widget</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=Control_VLC_via_a_widget&amp;diff=12831"/>
		<updated>2008-12-11T14:13:33Z</updated>

		<summary type="html">&lt;p&gt;ConfusedVorlon: New page: {{howto|Control VLC via a widget on the Mac desktop}}  Autopoetic have built a free Mac Desktop widget which allows users to control VLC over the network.  *It is a free widget which works...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{howto|Control VLC via a widget on the Mac desktop}}&lt;br /&gt;
&lt;br /&gt;
Autopoetic have built a free Mac Desktop widget which allows users to control VLC over the network.&lt;br /&gt;
&lt;br /&gt;
*It is a free widget which works using the [[Web_Interface | http interface]]&lt;br /&gt;
&lt;br /&gt;
*You can download the widget at [http://www.autopoetic.com/vlcremote/ Autopoetic]&lt;br /&gt;
&lt;br /&gt;
*Autopoetic provide instructions on installation, however since 0.9.6 there is an additional step required to allow networked control. You have to edit the .hosts file to allow connections to be made on the local network, or from the whole internet.&lt;/div&gt;</summary>
		<author><name>ConfusedVorlon</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=Control_VLC_via_a_browser&amp;diff=12830</id>
		<title>Control VLC via a browser</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=Control_VLC_via_a_browser&amp;diff=12830"/>
		<updated>2008-12-11T14:06:31Z</updated>

		<summary type="html">&lt;p&gt;ConfusedVorlon: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{howto|Use the HTTP interface to control VLC from a web browser}}&lt;br /&gt;
&lt;br /&gt;
* Start VLC on the server with the [[Web Interface|http]] [[interface]], in one of two ways:&lt;br /&gt;
**Start up VLC normally and go to Settings -&amp;gt; Add interface -&amp;gt; Web interface, OR&lt;br /&gt;
**At the terminal&lt;br /&gt;
*** type &#039;&#039;&#039;vlc -I http&#039;&#039;&#039;&lt;br /&gt;
*** add &#039;&#039;&#039;--extraintf&#039;&#039;&#039; if you want to specify more than one interface (see [[interface]] for details)&lt;br /&gt;
*** use &#039;&#039;&#039;--http-host host:port&#039;&#039;&#039; if you want to bind VLC to a specific host and port&lt;br /&gt;
* Open your favorite web browser on the client&lt;br /&gt;
* Type the IP address (or URL) of the host in the location field (address bar). You may need to specify the port (VLC defalts to using port 8080)&lt;br /&gt;
*: An example is http://127.0.0.1:8080 - 127.0.0.1 refers to the local machine.&lt;br /&gt;
* If you want to control VLC from a computer that is not the one running VLC then you will need to enable access in the .hosts file (from 0.9.6 onwards)&lt;br /&gt;
* Add the files to be streamed to the playlist like /home/file.mpg (unless you use the UI to select the file in the next step)&lt;br /&gt;
* Add streaming destination to the server in the sout field udp://&amp;lt;client&amp;gt;:1234, using these steps in the UI:&lt;br /&gt;
**Go to File -&amp;gt; Open File&lt;br /&gt;
**Click Browse to select the file you want to play&lt;br /&gt;
**Select Stream/Save and click Settings&lt;br /&gt;
**Optional: Select Play Locally to make sure everything is working correctly&lt;br /&gt;
**Select UDP and fill in the client IP address and port number (default: 1234)&lt;br /&gt;
**Click OK, OK, and press play&lt;br /&gt;
* Open VLC on the client to receive the video stream, in one of two ways:&lt;br /&gt;
**At the terminal, with &#039;&#039;&#039;vlc udp://@:1234&#039;&#039;&#039;&lt;br /&gt;
**Start up VLC normally&lt;br /&gt;
***Go to File -&amp;gt; Open network stream...&lt;br /&gt;
***Leave the default options (Radio button UDP selected, port set to 1234)&lt;br /&gt;
***Press OK&lt;/div&gt;</summary>
		<author><name>ConfusedVorlon</name></author>
	</entry>
</feed>