SoC 2007
Reflexions for Google Summer of Code applications.
Contents
- 1 Introduction & Informations
- 2 Main ideas
- 3 Other Ideas SoC 2007
- 3.1 GUI intfs for the mozilla plugins
- 3.2 BDA Drivers
- 3.3 Subtitles support
- 3.4 Fullscreen Controller
- 3.5 RTCP support
- 3.6 Vista acceleration support
- 3.7 Vout Rework (lol)
- 3.8 Working skins2 support on OSX
- 3.9 OSX Leopard support
- 3.10 Mac OS X Framework
- 3.11 VLM Schedule rework
- 3.12 WinCE port
- 3.13 Matroska (mkv) muxing
- 3.14 Hint MP4/MOV Files
- 3.15 Extract Subtitles
Introduction & Informations
This wiki page deals with VideoLAN attempt to be a mentoring organisation for Google Summer of Code to improve VLC media player.
VLC media player
VLC media player is a Multimedia player, encoder and streamer platform independant application. It is one of the best succesfull open-source project without any profesional structure underneath.
VLC media player is downloaded at an approximate rate of 4 millions every month from the main website (does not include unofficial mirrors and package distribution), which means about 30 millions people have downloaded VLC 0.8.5 from the main website!
You can have more information on Wikipedia or on this wiki
Summer of Code
We would like to be a mentoring organisation (mentors on SoC Website).
If selected and developed, SoC ideas will be included in VLC media player 0.9.1, under the GPL licence. 0.9.0, next version of VLC should be out before the summer.
Ideas
Read this
We (the VideoLAN team, and jb, the writer of this page) have architectured this page in two main lists of idea:
- The first ones are the one we would like to focus on, and seems key projects for VLC and a lot more fun than the others; we have affected potential mentors to these projects.
- and other ones that are less detailed but could be good ideas too.
We don't want to impose anything. This is free and Open Source software.
If you don't want to apply for SoC but want other ideas, check the Mini Projects page!
Main ideas
GUI intfs for the browsers plug-ins
This project focuses on adding interfaces to our browsers plug-in, in order to have, in the web pages embedded mode, buttons to control VLC media player as WMP or Youtube player have. These buttons needs to be cross-platform and cross-browsers.
The second part of this project aims to provide a replacement for all preconfigured media players embedded in web pages.
For example, when a webpage asks for WMP embedded plugin, youtube player, quicktime player or any other, VLC would detect the stream and display it. This would mean less CPU needed than Flash based players...
This project may need to redesign a bit the cache handling module access.
The look of the interface should not be a problem (it can be added later on).
Proposed mentor: Quovodis.
Fullscreen Controller
This project would provide a fullscreen controller for Linux/Unix and Windows, as VLC media player already has on MacOS X.
It should be draggable, clickable and support the classic buttons.
Proposed mentor: Dnumgis
Subtitle support
This project would rework the subtitle infrastructure and freetype module in order to read more subtitles:
- support for SSA/ASS using libass or asa,
- support bold, italic, underline, RGB colors, size changes and font changes for a whole line or part of one line.
- support for the HTML tags, and add all the useful subtitles types that are not yet in.
- capability of moving the subtitles in the picture,
- capability of displaying two different subtitles, with no overlap,
- capability of displaying subtitles with no video enabled for audio books,
- support for Karaoke subtitles,
- ease the automatic extraction of subtitles.
Vista acceleration and DirectX improvements
Support for EVR for rendering in windows Vista and make it default for Vista. http://download.microsoft.com/download/5/b/9/5b97017b-e28a-4bae-ba48-174cf47d23cd/MED134_WH06.ppt http://msdn2.microsoft.com/en-us/library/ms788119.aspx
Rework and ameliorations of DirectX Video Output modules for older versions of windows and/or DirectX.
Proposed mentor: Quovodis
MacOS X
Create a VLC framework that can be used by both VLC.app and VLCplugin.bundle. Adapt and use Leopard enhancement in VLC
Proposed mentor : TheDJ
Other Ideas SoC 2007
GUI intfs for the mozilla plugins
BDA Drivers
and TV stuffs for windows
Subtitles support
SSA, freetype, whatever
Preferrably incorporating either the libass (http://sourceforge.net/projects/libass/) or asa (http://asa.diac24.net/Main_Page) libraries instead of writing our own.
Fullscreen Controller
RTCP support
Vista acceleration support
Vout Rework (lol)
Working skins2 support on OSX
OSX Leopard support
especially: QTKit Capture API, Resolution independence, iChat Theatre
Mac OS X Framework
Create a VLC framework that can be used by both VLC.app and VLCplugin.bundle. (Trac Ticket #739)
VLM Schedule rework
WinCE port
Matroska (mkv) muxing
robUx4 can do the mentoring. He already wrote the demux and knows mkv really well. Sounds like a nice SoC subject. http://forum.videolan.org/viewtopic.php?t=33015
Hint MP4/MOV Files
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.
Extract Subtitles
It would be great to have an easy way to extract subtitles from all the types of embedding used in different formats of video streams. DVB, line 23, etc. Google could be interested because it's a really hard, but discrete task. And who wouldn't like search google videos with text.