SoC 2007

From VideoLAN Wiki
Jump to navigation Jump to search

Reflexions for Google Summer of Code applications.

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 million people have downloaded VLC 0.8.5 from the main website!

You can have more information on VLC 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 split this page in two idea lists:

  • The first ideas are the ones we would like to focus on, and seem to be 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 interfaces for the browsers plug-ins

This project focuses on adding interfaces to our browser plug-ins, in order to have, in the web pages embedded mode, buttons to control VLC media player as in WMP or Youtube player. These buttons need 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, if possible.

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 work in concert with some improvements on 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 is easy to describe, it would provide a fullscreen controller for Linux/Unix and Windows, as VLC media player already has on MacOS X version since 0.8.6.

It should be draggable, clickable and support the classical control buttons to interfere with VLC in fullscreen mode.

With this project, which is not too long, there should be some related work on Vout (non-flickering changes for example...)

Proposed mentor: Not defined yet

Subtitle support

This project would rework the subtitle infrastructure and freetype module in order to read more subtitles:

  • support bold, italic, underline, RGB colors, size changes and font changes for a whole line or part of one line, (partial now)
  • support for the subtitles HTML tags, and add all the most used subtitles types that are not yet in, (almost complete now)
  • support for SSA/ASS using libass or asa or any other mean, (not existing today)
  • capability of displaying two different subtitles, with no overlap,
  • capability of displaying subtitles with no video enabled for audio books,
  • ease the automatic extraction of subtitles from videos used in different formats (DVB, line 23...)

Optionnal related work:

  • capability of moving the subtitles in the picture (freetype renderer),
  • support for Karaoke subtitles ( :D )

Proposed mentor: Dnumgis

Vista acceleration and DirectX improvements

Current versions of VLC media player have a lot of problems on Windows Vista (check the forums for specifics).

We need support for the new EVR (enhanced video renderer) in Windows Vista, and make it the default Video Output module for that OS.

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

Some rework and enhancements of the DirectX and Direct3D Video Output modules may also be necessary.

Proposed mentor: Quovodis

MacOS X and Leopard

There are a few MacOS X specific projects, especially for Leopard (Mac OS X 10.5)

  • Creation a VLC media player framework that can be used by both VLC.app and VLCplugin.bundle to integrate better with other Mac applications
  • Adapt and use Leopard enhancements in VLC media player: QTKit Capture API, Resolution independence, iChat Theatre, ...

Proposed mentor : TheDJ

RTSP

Proposed mentor: jpsaman

Other Ideas SoC 2007

Matroska (mkv) muxing

robUx4 can do the mentoring. He already wrote the demux and knows mkv really well. But this muxer may be better suited for a FFMPEG project, and we should adapt ourselves after that.

From the VLC point of view i don't agree. It would be easier to integrate the muxer directly into VLC than put it in libavformat and then change the libavformat <-> VLC interface to use it. I'm not sure how the chapter / menu / subs system works in MKV but it sure will add complexitiy to or libavformat interface (and some lagg time between the time the mkv muxer makes it into ffmpeg and the time we make it work in VLC). -- Dionoea 16:25, 8 March 2007 (CET)

VLM Schedule rework

WinCE port

Mini Projects - More ideas

We have a more general page for ideas for Project in VLC media player, that could give you ideas: Mini_Projects.


Questions? Contact us ?

If you need to contact us, you can use this Talk page, use the vlc-devel mailing list, or contact one of the mentors or Jean-Baptiste Kempf