<?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=Staskkk</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=Staskkk"/>
	<link rel="alternate" type="text/html" href="https://wiki.videolan.org/Special:Contributions/Staskkk/"/>
	<updated>2026-11-04T14:50:13Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.11</generator>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=VLC_Dev_Projects&amp;diff=30184</id>
		<title>VLC Dev Projects</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=VLC_Dev_Projects&amp;diff=30184"/>
		<updated>2015-08-08T00:39:48Z</updated>

		<summary type="html">&lt;p&gt;Staskkk: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is a list of small independent improvements to {{VLC}} for which we are looking for interested developers, because we simply don&#039;t have enough time. &lt;br /&gt;
&lt;br /&gt;
These do not require advanced knowledge of VLC internals but they can still vastly improve many parts of VLC &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;For each project&#039;&#039;&#039;, we list a &#039;&#039;&#039;contact&#039;&#039;&#039; person, who knows the subject best and who will be able to assist you if you are interested in working on these. We generally are very often present on irc.videolan.org, chan #videolan, so please don&#039;t hesitate to drop by or to send a mail if you are interested in a given problem (our mail adresses are generally &amp;amp;lt;nick&amp;amp;gt;@videolan.org). &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Be careful, some projects may be unrelated, or deprecated, because of fast evolving software! Ask before you attempt!&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Short projects  =&lt;br /&gt;
&lt;br /&gt;
These projects are junior projects, the most easy ones to do, that require minimum knowledge of VLC. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Help Fixing bugs ==&lt;br /&gt;
&lt;br /&gt;
Go to our bugtracker on http://trac.videolan.org/vlc/ and close a bug !&lt;br /&gt;
&lt;br /&gt;
We also have a number of &amp;quot;easy&amp;quot; bugs. You can check them out [http://trac.videolan.org/vlc/query?status=new&amp;amp;status=assigned&amp;amp;status=reopened&amp;amp;difficulty=easy&amp;amp;order=priority` here] &lt;br /&gt;
&lt;br /&gt;
We recommend:&lt;br /&gt;
* [http://trac.videolan.org/vlc/ticket/7914 #7914], C++ Qt, test task before&lt;br /&gt;
* [http://trac.videolan.org/vlc/ticket/7074 #7074], C++ Qt&lt;br /&gt;
* [http://trac.videolan.org/vlc/ticket/7933 #7933], OSD&lt;br /&gt;
* [http://trac.videolan.org/vlc/ticket/7388 #7388], C++ Qt playlist look&lt;br /&gt;
* [http://trac.videolan.org/vlc/ticket/6586 #6586], Rewrite I420-&amp;gt;NV12 converter in Direct3D&lt;br /&gt;
* [http://trac.videolan.org/vlc/ticket/2568 #2568], C&lt;br /&gt;
* [http://trac.videolan.org/vlc/ticket/6311 #6311], Qt/OSD&lt;br /&gt;
* [http://trac.videolan.org/vlc/ticket/20 #20] , rewrite with the xml API&lt;br /&gt;
&lt;br /&gt;
== Code Janitorial  ==&lt;br /&gt;
&lt;br /&gt;
It basically means to clean the code, it is helpful for all programmers. It helps to find bugs, and is a good way to learn about VLC&#039;s internals. &lt;br /&gt;
&lt;br /&gt;
It is covered in the [[Code Janitorial]] section. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Video Filters  ==&lt;br /&gt;
&lt;br /&gt;
You can do video filters for {{VLC}}. &lt;br /&gt;
&lt;br /&gt;
A cool idea for a video filter would be &amp;quot;old movie&amp;quot; mode.&lt;br /&gt;
&lt;br /&gt;
You can start the code [http://git.videolan.org/?p=vlc.git;a=tree;f=modules/video_filter here] and you should read the [[Documentation:Hacker%27s_Guide/Video_Filters| hacker guide]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Audio Filters ==&lt;br /&gt;
&lt;br /&gt;
You can do audio filters for {{VLC}}.&lt;br /&gt;
&lt;br /&gt;
A good idea would be to integrate [http://freeverb3.sourceforge.net/ freeverb3] or [http://www.ladspa.org/ LADSPA].&lt;br /&gt;
&lt;br /&gt;
You can start the code [http://git.videolan.org/?p=vlc.git;a=tree;f=modules/audio_filter here].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Lua Playlist parsers for websites  ==&lt;br /&gt;
&lt;br /&gt;
VLC already supports youtube, dailymotion or other websites using the .lua scripts! Add new sites and new URLs support!&lt;br /&gt;
&lt;br /&gt;
Supporting quvi scripts would be nice.&lt;br /&gt;
&lt;br /&gt;
== Windows Media Center (WMC) IR Remote Control  ==&lt;br /&gt;
&lt;br /&gt;
Basic Controls work (e.g. Volume, Mute etc), but I would like to get Play/Pause/Stop/DVD Menu etc to work! &lt;br /&gt;
&lt;br /&gt;
Contact: [[User:Some1|some1]] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Add support for the Podcast service discovery module to the Mac UI  ==&lt;br /&gt;
&lt;br /&gt;
The code is mostly there for the Qt interface, but needs to be ported and implemented nicely (!) to the Mac interface.&lt;br /&gt;
&lt;br /&gt;
Contact: [[User:Fkuehne|feepk]]&lt;br /&gt;
&lt;br /&gt;
== Add reading lyrics from mp3 files (id3v2 tag) and viewing it in player ==&lt;br /&gt;
&lt;br /&gt;
Lyrics placed in frame USLT, all docs about id3v2 here: http://id3.org/id3v2.3.0&lt;br /&gt;
&lt;br /&gt;
= Normal projects  =&lt;br /&gt;
&lt;br /&gt;
== DirectWrite rendering  ==&lt;br /&gt;
&lt;br /&gt;
DirectWrite is another API introduced in Windows 7, used to write nicely shaped characters to screen. Someone should look into it, to see what could be done (like subtitles display).&lt;br /&gt;
&lt;br /&gt;
Contact: [[User:Geal|Geal]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Mozila and ActiveX Javascript API  ==&lt;br /&gt;
&lt;br /&gt;
Add a callback to signal playlist state changes such as item started, item ended, next item started, last item ended, and so on. &lt;br /&gt;
&lt;br /&gt;
Contact: [[User:Jpsaman|jpsaman]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Improved Podcast support  ==&lt;br /&gt;
&lt;br /&gt;
Our current podcast support is very weak. We can read them, but that&#039;s all. We need a real infrastructure to handle them correctly. This will require some changes to the playlist code, so you will need to work closely with existing developers. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Improved ASX support  ==&lt;br /&gt;
&lt;br /&gt;
ASX is a playlist format used by Microsoft stuff. We can read it but we could do much better. More information is available at https://trac.videolan.org/vlc/ticket/20 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Hint MP4/MOV Files ==&lt;br /&gt;
&lt;br /&gt;
Add video and audio hint tracks as the output file is muxed. Resulting files can be streamed from RTSP server with trickplay, like DSS/QTSS. Probably requires use of GPAC libraries. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== LastFM radios  ==&lt;br /&gt;
&lt;br /&gt;
http://gabistapler.de/blog/index.php?/archives/268-Play-last.fm-streams-without-the-player.html &lt;br /&gt;
&lt;br /&gt;
Contact: funman&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== ASM optims ==&lt;br /&gt;
&lt;br /&gt;
If you know how to code in x86 ASM, we have a few tasks for you&lt;br /&gt;
&lt;br /&gt;
Contact [[User:J-b|jb]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== SVCD/VCD improvements  ==&lt;br /&gt;
&lt;br /&gt;
Menus and such needs to be improvements and fixed.&lt;br /&gt;
&lt;br /&gt;
Contact [[User:J-b|jb]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Multi-Angle DVD support ==&lt;br /&gt;
We need multi-angle DVD support.&lt;br /&gt;
&lt;br /&gt;
Contact [[User:J-b|jb]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== RTMP ==&lt;br /&gt;
Integrate librtmp in a correct way&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== WiiMote control ==&lt;br /&gt;
Use the code from [[GSoC_2009]] for this&lt;br /&gt;
&lt;br /&gt;
Contact [[User:J-b|jb]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Quicktime VR ==&lt;br /&gt;
Use the code from [[GSoC_2009]] and integrate it to the mainline&lt;br /&gt;
&lt;br /&gt;
Contact [[User:J-b|jb]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Long projects =&lt;br /&gt;
&lt;br /&gt;
== DVD Audio ==&lt;br /&gt;
&lt;br /&gt;
If you are a coder and fan of DVD-Audio, you can help to improve the support of DVD-Audio playback. Especially decryption.&lt;br /&gt;
&lt;br /&gt;
Contact [[User:J-b|jb]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 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;
&lt;br /&gt;
== Performant VLC streaming server  ==&lt;br /&gt;
&lt;br /&gt;
There are many bottlenecks currently limiting the performance and scalability of VLC as a streaming server: &lt;br /&gt;
&lt;br /&gt;
*The I/O blocks are linear, which implies lots of avoidable memory copying and dynamic memory allocations (particularly in the streaming output). &lt;br /&gt;
*mdate() (the timestamping function) is invoked in too many places to count them; but it is not a cheap operation on modern systems and should be avoided on the fast path. Ideally, a single thread would only need to call mdate() at most once per wake-up. In some case, mdate() is only used for debugging purpose which is really inefficient. &lt;br /&gt;
*The HTTP/RTSP core is single-threaded. This prevents scaling to SMP systems (which are the norm on server-side nowadays) properly. This also implies not very scalable I/O event polling. Finally, this gets problematic if one HTTP/RTSP client triggers a computationally intensive operation (such as establishing a TLS context if HTTP/SSL is used). &lt;br /&gt;
*There are many dynamic memory allocations that could be avoided. Video filters and codecs are very careful about this, but the stream output plugins are not. In many case, a stack-based buffer can be used (stack buffer, has constant time fast lock-less allocation, and needs not be freed explicitly) instead. &lt;br /&gt;
*The messaging subsystems might be adding more locking (needs checking); this should be avoided particularly if the message is anyway ignord (e.g. debug message in non-debug mode).&lt;br /&gt;
&lt;br /&gt;
Other improvements that would be particularly beneficial on the server side: &lt;br /&gt;
&lt;br /&gt;
*Memory allocation failure are not always duly handled. In some cases, that could potentially be leveraged by a client to crash a VLC server by causing a very large allocation attempt. &lt;br /&gt;
*Rewrite and revive the root wrapper to allow VLC to bind to the RTSP (554) port while not retaining root privileges.&lt;br /&gt;
&lt;br /&gt;
Contact: [[User:Courmisch|Courmisch]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 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;
&lt;br /&gt;
== AirPlay Support ==&lt;br /&gt;
&lt;br /&gt;
VLC should be able to push audio and video to AirPlay devices, and receive video from iPhones.&lt;br /&gt;
&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;
Contact [[User:J-b|jb]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== VideoLAN Subtitle Editor ==&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;VideoLAN Subtitle Editor&amp;quot; is runs on any OS that is supported by [[Libvlc]].&lt;br /&gt;
&lt;br /&gt;
Features:&lt;br /&gt;
 * Qt4 Interface&lt;br /&gt;
 * Media playback based on [[Libvlc]]&lt;br /&gt;
 * Multiple OS support (Linux, MacOS X, Windows, *BSD, ...)&lt;br /&gt;
 * Internationalisation of subtitles&lt;br /&gt;
 * Exporting to many subtitle formats (.srt, .ssa/.ass, .sub, .srt, .ssf, ...).&lt;br /&gt;
&lt;br /&gt;
Examples of subtile editors:&lt;br /&gt;
 * Subtitle Editor http://home.gna.org/subtitleeditor/&lt;br /&gt;
 * Open Subtitle Editor http://opensubtitleed.sourceforge.net/&lt;br /&gt;
 * Subtile formats: http://en.wikipedia.org/wiki/Subtitles&lt;br /&gt;
&lt;br /&gt;
Contact: [[User:jpsaman|jpsaman]]&lt;br /&gt;
&lt;br /&gt;
== VLC Security / IP Camera Solution ==&lt;br /&gt;
LibVLC has the great potential to become a very affordable, universal IP/security camera solution. &lt;br /&gt;
&lt;br /&gt;
Settings should be user configurable and/or scriptable as required.&lt;br /&gt;
&lt;br /&gt;
Sample use cases:&lt;br /&gt;
* Upon motion, record for 60 seconds. &lt;br /&gt;
* Record everything... but only temporary... if motion is detected: transfer 1 minute before until 1 minute after no motion is detected anymore to a file&lt;br /&gt;
&lt;br /&gt;
This kind of thing is often requested on IRC and such.&lt;br /&gt;
&lt;br /&gt;
Contact: [[User:edwardw|edwardw]]&lt;br /&gt;
&lt;br /&gt;
= Finished projects  =&lt;br /&gt;
&lt;br /&gt;
== Audioscrobbler ==&lt;br /&gt;
&lt;br /&gt;
An [http://www.audioscrobbler.net/ Audioscrobbler] VLC Plug-in for the social music network [http://www.last.fm Last.Fm]&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Plugin is finished, now part of vlc 0.9.0 (development version). Done by [[User:Funman|funman]] &lt;br /&gt;
&lt;br /&gt;
== DVB support for Windows / BDA Drivers  ==&lt;br /&gt;
&lt;br /&gt;
DVB is the norm for&amp;amp;nbsp;: &lt;br /&gt;
&lt;br /&gt;
*Digital Terrestrial TV (aka DVB-T) &lt;br /&gt;
*Digital Cable TV (aka DVB-C) &lt;br /&gt;
*Digital Satellite TV (aka DVB-S)&lt;br /&gt;
&lt;br /&gt;
Several DVB input cards exist. We support these on Linux, but not on Windows. For Windows, we need to support so-called BDA drivers. &lt;br /&gt;
&lt;br /&gt;
The problem is that we don&#039;t have both the time and the required hardware on Windows comps. &lt;br /&gt;
&lt;br /&gt;
This project is probably not terribly complex, but you need the hardware. &lt;br /&gt;
&lt;br /&gt;
Plugin is done and available in the current Git version. Code by kenS &lt;br /&gt;
&lt;br /&gt;
== DBus Integration  ==&lt;br /&gt;
&lt;br /&gt;
[[DBus]] is a communication mechanism for Linux (mainly). &lt;br /&gt;
&lt;br /&gt;
We would like VLC to be able to use it so that other programs can interact with vlc (start/stop, know what is being played, ...) &lt;br /&gt;
&lt;br /&gt;
Work is well advanced, see [[DBus]], by funman and Mr_Mirsal &lt;br /&gt;
&lt;br /&gt;
Contact: [[User:Xtophe|Xtophe]], [[User:Funman|funman]] &lt;br /&gt;
&lt;br /&gt;
== V4L2 support  ==&lt;br /&gt;
&lt;br /&gt;
VLC currently has a pvr module and a v4l (video for linux) module. However &lt;br /&gt;
&lt;br /&gt;
*some cards are only supported in the new v4l2 API &lt;br /&gt;
*The linux kernel will soon drop v4l support&lt;br /&gt;
&lt;br /&gt;
So if someone could update VLC&#039;s current modules to work with V4L2 and the new ivtv api, this would be a welcome addition. This is not a very difficult project, but you will need to have the hardware to test against. The code has been began, so it should not be too difficult. &lt;br /&gt;
&lt;br /&gt;
Plugin is done and available in the current Git version. Code by Richard Hosking, [[User:Dionoea|dionoea]] and Dennis Lou. &lt;br /&gt;
&lt;br /&gt;
== RTCP support  ==&lt;br /&gt;
&lt;br /&gt;
Our RTSP implementation (for broadcasting and video on demand) does not support the RTCP protocol. This is a must to have a real support for RTSP. Some work has already been started, but there is still much to do. &lt;br /&gt;
&lt;br /&gt;
Contact: [[User:JPSaman|JPSaman]] &lt;br /&gt;
&lt;br /&gt;
== Windows port  ==&lt;br /&gt;
&lt;br /&gt;
Finish port libcddb and libcdio for Windows. &lt;br /&gt;
&lt;br /&gt;
Port libzvbi for Windows &lt;br /&gt;
&lt;br /&gt;
Contact [[User:J-b|jb]] &lt;br /&gt;
&lt;br /&gt;
== Improvements to the X11 video output  ==&lt;br /&gt;
&lt;br /&gt;
Fullscreen support to improve . &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Subtitles improvements  ==&lt;br /&gt;
&lt;br /&gt;
{{VLC}} does not support all the styles for a lot of subtitles type. Take a look at [http://trac.videolan.org/vlc/browser/trunk/modules/codec/subtitles/subsdec.c here] to start coding. &lt;br /&gt;
&lt;br /&gt;
Contact bitmap&lt;br /&gt;
&lt;br /&gt;
== Direct2D video output  ==&lt;br /&gt;
&lt;br /&gt;
Direct2D is a new API introduced in Windows 7. VLC could use a a Direct2D vout.&lt;br /&gt;
&lt;br /&gt;
Contact: [[User:Geal|Geal]]&lt;br /&gt;
&lt;br /&gt;
== DirectX 9 video output  ==&lt;br /&gt;
&lt;br /&gt;
DirectX 9 features some improvements that we could use in our video output &lt;br /&gt;
&lt;br /&gt;
Contact: [[User:Geal|Geal]]&lt;br /&gt;
&lt;br /&gt;
== Pixel shaders in OpenGL video output  ==&lt;br /&gt;
&lt;br /&gt;
It would be nice to have a small proof of concept video output which takes care of chroma conversion using pixel shaders. &lt;br /&gt;
&lt;br /&gt;
Contact: [[User:Dionoea|dionoea]] &lt;br /&gt;
&lt;br /&gt;
== WTV support ==&lt;br /&gt;
&lt;br /&gt;
We would love to have a .wtv demuxer for the new wtv files from Windows Media center&lt;br /&gt;
&lt;br /&gt;
Contact [[User:J-b|jb]]&lt;br /&gt;
&lt;br /&gt;
== Interaction with online services ==&lt;br /&gt;
Hello, I would like to present their concept idea, it involves interaction with online services and some changes in the user interface of VLC Media Player. &lt;br /&gt;
&lt;br /&gt;
On the first tab (Movie) is very straightforward, a user inserts a DVD, HD-DVD or BlyRay selects the desired slot and begin viewing. &lt;br /&gt;
In the future it will be possible to implement view of the disk image. &lt;br /&gt;
&lt;br /&gt;
The second tab (Video), makes it possible to watch media files directly from the HDD. &lt;br /&gt;
Setting up a profile can be all sorted by category (Films, TV shows, etc.), the category of Films on (Action, Horror, Comedy), the category of TV show on (Lost, House M. D, X-Files), etc. &lt;br /&gt;
After watching a movie or TV show, you can not closing VLC media player immediately to share impressions with your friends on Twitter, MySpace, Facebook. &lt;br /&gt;
&lt;br /&gt;
The third tab (Music), provides an opportunity to listen to music as a straight line from the HDD. &lt;br /&gt;
Similar to the previous tab, everything can be sorted into categories (Hip-Hop, R&#039;n&#039;B, Dance, Rock). &lt;br /&gt;
&lt;br /&gt;
Another idea is to tab Online TV, where you can make a small internet browser tied to popular online Servas (YouTube) and send links to interesting videos to friends directly from the VLC Player. &lt;br /&gt;
&lt;br /&gt;
Contact: [[User_talk:Jack.LJ|Jack.LJ]]&lt;br /&gt;
&lt;br /&gt;
== Remember Your Place in a Video==&lt;br /&gt;
&lt;br /&gt;
Launching a new video while another is paused loses the place of the original video. There are a few ways to correct this. 1. If a video is open when you try to open another, VLC could ask you if you&#039;re sure you want to start a new video. 2. VLC could allow multiple video windows to be open at once. 3. A tab system could be introduced. 4. VLC could offer to remember your place in the video. If you close a video, or just open another one, you should be able to go back to the video you were playing and see a window offering to restore your position. *best option* Amazon VOD does this now and it&#039;s terrific. If I close a window playing a video, and then reopen the video later, Amazon will ask me if I want to start from the beginning or where it was last time.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Discussions on projects=&lt;br /&gt;
&lt;br /&gt;
==Proposals==&lt;br /&gt;
&lt;br /&gt;
* [[Newplaylist|Playlist improvement]]&amp;lt;br/&amp;gt;&lt;br /&gt;
* [[Newsoundslider|Soundslider improvement]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Coding]]&lt;/div&gt;</summary>
		<author><name>Staskkk</name></author>
	</entry>
</feed>