Google SoC'16: Jitsi Project Ideas
Hello dear Students! Very pleased to meet you! Following is a list of projects that we consider very important and also very fun to work on! You'll find topics ranging from network protocols and security to user interface and streaming. Dive in and have fun!

Questions? Ping us on our mailing list. Good luck to you all!



Broadcasting a web conference - Develop a tool which joins a web conference and broadcasts the audio and video to Youtube or a similar service.

ORTC Support for Jitsi Meet - Implement support for the ORTC API in Jitsi Meet.

Bitrate adaptation in Jitsi - Implement bitrate adaptation for video in the Jitsi client.

"Hats" in Jitsi Meet - Implement support for overlaying images (a.k.a. “hats”) on top of the video in Jitsi Meet.

Broadcasting a web conference - Develop a tool which joins a web conference and broadcasts the audio and video to Youtube or a similar service.

PSNR Testing - Implement a tool which compares video frames before and after they are encoded and sent over the network.

Ogg/opus support - Implement support for recording in the ogg/opus format in libjitsi.

Mutual mute - Automatically detect when a video conference has echo caused by two microphones close to each other.

An audio mixing panel for Jitsi Meet - Implement a mixing panel, which allows individual participants’ volume to be adjusted.

“Hats” in Jitsi Meet - Implement support for overlaying images (a.k.a. “hats”) on top of the video in Jitsi Meet.

“Center face” prompt→ GSOC.CenterFace - Automatically detect when the camera is not centered on the user’s face, and show an indication.

An ALSA backend and WebRTC echo cancellation for Jitsi on Linux - Add a new ALSA backend in addition to Jitsi’s Pulse Audio one and implement support for acoustic echo cancellation through the AEC module webrtc.org

ORTC Support for Jitsi Meet → GSOC.ORTC - Implement support for the ORTC API in Jitsi Meet.

Speech-to-text in Jitsi Meet - Integrate one of the available speech-to-text APIs with Jitsi Meet to create a transcript of a conference.

Integrate Dropbox in Jitsi Meet - Integrate Dropbox in Jitsi Meet.

“FollowMe” mode in Jitsi Meet - Implement a mode in which the Jitsi Meet view follows that of another participant.

Collaborative Drawing - Integrate collaborative drawing in Jitsi Meet.

Knock-Knock - Require users to be accepted by a moderator before they can join a Jitsi Meet conference.

Hair-check screen - A “hair-check” screen in Jitsi Meet which allows the user to adjust their camera before entering a conference.

Lower Third layout - Develop an improved “lower third” layout for the Jitsi Meet interface.

Conference Room Extensions - Develop extensions for Jitsi Meet for use in conference room environments.

Bitrate adaptation in Jitsi - Implement bitrate adaptation for video in the Jitsi client.

ICE for SIP - Implement connectivity establishment via ICE for SIP calls in Jitsi.

Support for ICE/TCP - Implement support for ICE/TCP in Jitsi.

Direct 1-1 calls on Jitsi Meet - Implement support for direct (P2P) calls in Jitsi Meet.

ICE Analyzer for Wireshark → GSOC.ICEAnalyzer - Implement a plugin for Wireshark to analyze ICE sessions.

Work on an Android application for Jitsi Meet - Help us create a native Android app capable of joining Jitsi Meet conferences.

Work on an iOS application for Jitsi Meet - Help us create a native iOS app capable of joining Jitsi Meet conferences.

Mavenize Jitsi - Work on finalizing the mavenization of Jitsi.

A new systray lib for Jitsi on Linux - Design and implement new systray for Linux for Jitsi.

Automate building of native libraries - Automate the process of building the native libraries used in libjitsi and Jitsi.

Automatically extract properties documentation - Implement a plugin (maven, or ant) to document config service properties automatically.