Summer of Code 2009: Difference between revisions

From XiphWiki
Jump to navigation Jump to search
(added C++ requirement)
(→‎OpenMAX IL components for Ogg codecs: add project description)
Line 53: Line 53:
=== OpenMAX IL components for Ogg codecs ===
=== OpenMAX IL components for Ogg codecs ===


OpenMAX is a set of low-level C APIs for media codecs. It is used by many mobile devices, in platforms like [http://www.maemo.org/ Maemo] and [http://source.android.com/ Android]. As we'd like to encourage the use of free codecs on mobile and embedded devices, we want to develop a set of components using our codec libraries.
For details, including the motivation for this project and links to related projects, see
[http://blog.kfish.org/2009/02/is-openmax-important-for-free-software.html Is OpenMAX important for Free Software?]
[http://blog.kfish.org/2009/02/is-openmax-important-for-free-software.html Is OpenMAX important for Free Software?]



Revision as of 17:04, 11 March 2009

This is our ideas page for Google Summer of Code 2009 projects with Xiph.org and Annodex. The two projects participate jointly this year under Xiph's name.

Students please use the template at Summer of Code Applications when applying for a GSoC position.

Mentors please visit Summer of Code Mentoring and help us prepare our application as a mentoring organization.

General Ideas

  • Kate to HTML & CSS overlay library in javascript.
  • Proof of concept liboggplay-based media patch for Google's Chrome browser.
  • mod_duration apache module to generate X-Content-Duration headers for Ogg files.
  • Get skeleton patches upstream so players stop choking on it.
  • Portable listening application for codec MOS/MUSHRA comparisons (Win32, MacOS, Linux; FF3.1 web application?).
  • Conference bridge using CELT.
  • Reference SIP client for CELT.
  • Firefox extension to record locally and stream to icecast.
  • Firefox extension to support RTP for conferencing.
  • OpenMAX IL components for Ogg codecs

Detailed Project Descriptions

These ideas were suggested by various members of the developer community as projects that would be beneficial and which we feel we can mentor. Students should feel free to select one of these, develop a variation, or propose their own ideas. Here, ideally.

Proof of Concept liboggplay (html5 video) support in Chromium Browser

This project would focus on integrating support for liboggplay into chrome. This project would only need to be a proof of concept with the end result being some frames decoded in the browser. We have some direct contacts with people on the Chromium project in Google, but would expect the student mostly to work through the Xiph on Chromium online communities.

Chromium Home Page

Metavid related projects

see full page on metavid.org

  • Improve transcript import / export system:
    • Wiki to SRT
    • SRT to Wiki
    • CMML to Wiki
    • Extend oggz_chop or other tool for exporting transcript encapsulated in the ogg file.

Javascript Library for Subtitles, Captions and other time-aligned text

The main focus of the project is around enabling video accessibility for Ogg in Firefox.

Captions, subtitles and other categories of time-aligned text are starting to become relevant to HTML5. In Ogg, we currently encapsulate such data in OggKate and can use SRT or Kate as input formats. Display of OggKate is currently supported in VLC and there is a patch to mplayer. We now want to enable Web browsers to also deal with these time-aligned text tracks in Web Browsers that support the HTML5 video tag.

There is a patch for Firefox 3.5 and liboggplay through which Firefox is capable of decoding Ogg Kate tracks and handing them on into the browser. However, there is no display of OggKate in Firefox 3.1 (now called 3.5) using HTML5. This can be fixed through the creation of a javascript library that can deal with Kate output and convert it to HTML and CSS. Example libraries exists for SRT, but will need to be extended to Kate in this project.

The project includes the creation of example files for different types of time-aligned text. These are then encapsulated into Ogg through Kate encoding. Firefox 3.5 with the applied OggKate patch can decode these files and hand the textual data together with styling information as available to the Web browser. It may be necessary to extend the OggKate patch to converting Ogg Kate's representation into something that the Web browser can understand. The, the browser extracts the text and styling information and a javascript library implemented by the student will take care of the display. This will include an implementation of default display mechanisms for the different types of time-aligned text that we decide to deal with.

The project requires a student with experience in javascript development, but also with some understanding of C for liboggplay and libkate, and of C++ for Firefox. The student will learn how to deal with Ogg and Ogg tracks, including Ogg Kate. He/she will also get some insight into Firefox development. He/she will work with the developer of Ogg Kate and the video accessibility expert of Xiph, as well as having access to the whole Xiph community including the core developer of Ogg support in Firefox.

The project is adaptable to the qualifications of the student - it may consist in simply implementing a toolchain for handling srt inside Ogg, or it may go much further and include richer forms or time-aligned text such as audio annotations, Karaoke, ticker text, clickable text etc.

OpenMAX IL components for Ogg codecs

OpenMAX is a set of low-level C APIs for media codecs. It is used by many mobile devices, in platforms like Maemo and Android. As we'd like to encourage the use of free codecs on mobile and embedded devices, we want to develop a set of components using our codec libraries.

For details, including the motivation for this project and links to related projects, see Is OpenMAX important for Free Software?

See Also