

GStreamer and Outreachy Intern applications for this round of the program are now closed. Selections will be notified after qualification contributions have been ranked. Outreachy helps people from groups underrepresented in free and open source software get involved. It provides a supportive community for beginners to contribute by offering focused internship opportunities with a number of free software organizations twice a year. The current round of internships is open to women (cis and trans), trans men, genderqueer people, and all participants of the Ascend Project regardless of gender. We are planning to expand the program to more participants from underrepresented backgrounds in the future. Information for interns Getting Started Get to know GStreamer. If you are interested in contributing to GStreamer, it is recommended to start by subscribing to the ​main mailing-list (gstreamer-devel@lists.freedesktop.org), visiting our FreeNode IRC channel (#gstreamer), and exploring both the codebase and the development workflow. Feel free to contact us if you have any questions. Also do not hesitate to answer questions from others on our IRC channel if you know the answer to something.

Find a project. Listed on this page are mentored projects. The projects are well-defined and mentor(s) have already volunteered. You can also propose your own project, if you can think of one that better fits your interest and skill level. If a project description is unclear or you have any questions, please get in touch with its mentor and/or send an email to the program admins.

Contact us. If you decide on a project, get in touch with the community by subscribing to our development list and sending an email about your selected project idea. Please include [Outreachy 2015] in the subject so we can easily spot it and start working on your initial contribution with the help of your mentor.

Apply. The list below is just some suggestions made by various members of the GStreamer community. We are more than happy for students to make proposals based on their own wishes and ideas instead of using any of these suggestions. The important part for us is that you are motivated and that you put good work into writing a good and detailed proposal and that you try to interact with us from the start. Try to early find a possible mentor and shape your proposal (e.g. using Google docs). List of GStreamer project ideas for mentees Plugins

GStreamer & OpenGL: Project ideas for improving OpenGL support in GStreamer



OpenCV Gesture Detection: Improve the OpenCV plugin for gesture detection (eg: hand gesture) and add more OpenCV plugins



DASH WebM support: Implement a plugin to support WebM DASH streaming based on the existing MP4 DASH plugin.



Windows Support: Improve Wasapi, MediaFoundation, d3dvideosink and other Windows-specific plugins.



zRTP Support: Write plugins to support zRTP



Chapter Support: Implement chapter support in more plugins



Improved Subtitle support: Work on subtitle support in muxers



Editing Plugins: Wrapping popular audio/video filters as GStreamer plugins.

Framework

GstPlayer: Write a set of minimalistic official GStreamer players based on GstPlayer and add missing features to the GstPlayer API.



Orc Acceleration: Add ARM64/AArch64 support to ORC and implement all relevant opcodes to allow usage of most GStreamer ORC programs.



Static compilation for Orc: Improve ORC's support for generating static assembly at build time

Bindings

GStreamer-Rust: Bindings for the Rust programming language.



GStreamer-Lua: GStreamer Lua bindings enhancement



GStreamer-Java enhancement: New GStreamer Java bindings, based on JNI to work better in Android than Java-GNOME.



GStreamer-Haskell: Port bindings to being generated automatically via gobject-introspection and to 1.x.

Applications

Students can propose work on applications that use GStreamer if this work will involve enhancing the GStreamer framework as well. For example writing a new feature in Pitivi that requires new API in the gst-editing-services or extending Buzztrax by writing music related GStreamer plugins. More information can be found here.