GSoC/GCI Archive
Google Summer of Code 2012


Web Page:

Mailing List:

GStreamer is the leading open source multimedia framework. Built around a flexible and powerful pipeline based architecture it can support almost any kind of multimedia application. The project welcomes both students who wants to work on GStreamer itself and students interested in doing projects related to GStreamer using applications and similar.


  • Advanced layer system for PiTiVi Add an advanced layer system to PiTiVi. This includes user-Interface work which adds more abilities to layers and improves layer-handling as well as the according backend changes in the GES library.
  • Audio mixing and video compositing in GES Aim of this project is implementing audio mixing and video compositing in GES library so it can be used by PiTiVi and other applications.
  • Buzztard Improvements Buzztard is already an excellent tool for musical composition and a great example of the power of GStreamer, but there are some weaknesses that need improving. To begin with, Buzztard presently uses GstInterpolationControlSource which leads to troubles when pattern data changes because the respective queue needs to be changed. Second, the way songs are currently rendered to files is hard-coded in. This leaves no option for the user to change any of the encoding parameters to fit their needs. It is also quite a lot of work to add new formats to the available list at the moment. Third, it would be nice to have the option to record wave-table entries from various sources (a specified audio source or song playback). Fourth, to make it simpler to port the plugins to 0.11, an audio-synthesizer baseclass should be written. This would be used in the current synthesizers, as well as make it possible for new synthesizers to be written in the future. Finally, Buzztard needs to be ported to the 0.11 branch. Correcting these issues is the primary focus of this proposal.
  • ChapterSupport: Implement chapter support in more plugins I want to implement GStreamer chapter (TOC) API in more media formats, such as RIFF-WAVE, FLAC(+CUE), QuickTime File Format. Now GStreamer has already implemented API to chapter support in Matroska format. Also I want to implement chapter structure reporting in gst-discoverer. I think this project is very important for all GNOME community including GStreamer community.
  • Developing a gstreamer plugin for hand gesture recognition The proposal aims to develop a gstreamer plugin for robust hand gesture detection and recognition. The proposed plugin will be able to detect and recognise a range of specifically-defined hand gestures in video streams. The plugin will take specific gestures and video streams as input and return matched video streams clips, and, the recognition results may also be outputted as parameters. The interaction part (such like video playing control) will be realised via cooperation with other gstreamer plugins.
  • Gstreamer based Waveform reading and drawing library Project's goal is to create set of elements to manage waveform reading and display in various Gstreamer based applications. Currently it is done individually on per application basis (with none of implemetations convicingly being more superior than others), and developers are looking for common set of software to address this. Also several new applications are expressed desire of waveform functionality if such set is produced. It would also consolidate current efforts and give one shared code base to optimise and extend.
  • Improve and migrate GES The GES still not migrated to gst 0.11(and upcoming 1.0). Frontend still uses goocanvas (not clutter) and pygtk with gtk2. Some code from pitivi still could be part of GES. Project options (presets) should be updated. Timeline managment should be improved to match decent video editors.