Fetching the latest programs, projects, and workspace data.
Find open source projects actively accepting contributors. Search repositories, filter by program milestones, difficulty tags, or tech stack.
Use our Orbit AI Matcher to find out! Get instant matching scores based on your developer skills, preferred frameworks, and contribution experience.
Convert your selected open-source project into a winning GSoC, LFX, or Outreachy application using Proposal Studio.
<p>In order to build Redox on Redox, Rustc has to be ported, along with Cargo, and any dependencies (such as LLVM). Additionally, the build process currently requires make and a Bourne-compatible shell, which will have to be ported, or a way to build without them provided.</p> <p>LLVM seems to assume it is running under Windows or Unix. So the code in lib/Support/Unix and lib/Support/Windows likely needs to be reimplemented for Redox.</p>
<p>The aim of my project is to make the VLC app incorporate new iOS APIs and to make it more accessible for enabling application wide support of Voice Control, Voice over and more.</p>
<p>Shaka Streamer is a tool that simplifies media transcoding and packaging by utilizing FFmpeg and Shaka Packager and managing the command line arguments that should be fed to them using simple and reusable configuration files.</p> <h3>The two features concerning this project:</h3> <ul> <li>Adding a <strong><code>PeriodConcat</code></strong> node that will make Shaka Streamer capable of producing multi-period DASH manifests using the single-period manifests outputted by Shaka Packager(which yet doesn't support multi-period DASH). A workaround can be done for HLS since it doesn't support periods, by using <strong><code>#EXT-X-DISCONTINUITY</code></strong> tag as a separator between different periods.</li> <li>Bundling hermetic copies of FFmpeg and Shaka Packager and allowing the user to specify whether Shaka Streamer should use the hermetic versions or the system-wide versions instead.</li> </ul>
The VLC interface is quite outdated on Linux and Windows. It has a lot of features, but some are not properly exposed. The new interface is available on master branch which is not yet released on Windows and Linux. I had conversations with Pierre over emails regarding the expectations and immediate concerns that need to be addressed and I have based this proposal on those 2 main concerns: 1) Homepage 2) Sidebar Navigation
Radio-Browser is a community-driven database that provides as many internet radio and TV stations as possible for end-users to quickly lookup. Per https://www.radio-browser.info/users, there are plenty of apps using these API services. By implementing this project into the VLC player, users can easily find and listen to online radio on the VLC player. Inspired by https://wiki.videolan.org/SoC_2024/#Radio-Browser_integation.
This project aims to optimize the open-source AV1 decoder, dav1d, for the RISC-V Vector (RVV) ISA by implementing Vector-Length Agnostic (VLA) intrinsics. The focus is on improving AV1 decoding performance across various resolutions and bit depths through dynamic vector-length handling, with benchmarking on real hardware like the Kendryte K230 (VLEN = 128 bits), the SpacemiT K1 (VLEN = 256 bit) and comparisons against ARM NEON using built-in dav1d tooling such as checkasm for detailed analysis.
This project aims to improve VLC media player's performance and reliability by rewriting some of its modules, particularly the demuxers, in Rust programming language. By leveraging Rust's speed, safety, and reliability, the project seeks to enhance VLC's error-handling capabilities and improve its stability. The project will involve analysing existing modules, designing and implementing new Rust-based demuxers, integrating them into VLC, and thoroughly testing them.
<p>The goal of this project is to make "osmo4" player take advantage of the Android's low level media APIs i.e. MediaCodec APIs by writing a decoding module for it. This will result in better battery life and less CPU usage.</p> <p>Another important goal is to redesign the osmo4 Android App to make it look much better than the current version. It will follow Material Design guidelines and will also come with a redesigned file manager.</p>
Mixxx currently allows assigning a single free-text genre to each track, which often leads to inconsistencies such as duplicate or fragmented categories (e.g., "Hip-Hop", "Hip Hop", "Hiphop"). This project proposes a complete rework of genre metadata handling, introducing three key features: local genre autocompletion with fuzzy matching, support for assigning multiple genres to a single track, and optional online genre suggestions using MusicBrainz and Discogs APIs. As a long-term extension, the project also explores a customizable genre mapping layer, enabling users to define how external genres are grouped or renamed according to personal preferences. Deliverables include: a redesigned genre database schema, enhanced UI for editing and filtering genres, API integration for genre lookups, and internal tools for mapping and translation of genre labels.
The idea is to add support for interactive movies inside VLC using the matroska.org mkv format. An interactive movie is like a gamebook but for movies. For that we need to improve MKV specification to support features like titles and menus, make existing mkv muxing tool, like MKVToolNix support the extended specification and finally integrate them to VLC.
<p>The goal of this project is to bring the macOS interface of VLC Media Player to an easier to maintain state and improve the overall design of it, to fit better into recent macOS versions.</p>
DJ software today has no reliable way to confirm that two audio files are the same specific mastering of a track. AcoustID uses only the first 120 seconds of audio for identification, returning a confidence percentage rather than a definitive match — meaning different masterings of the same recording end up grouped under the same MusicBrainz ID. This makes it impossible to safely share DJ metadata (beat grids, cue points, BPM shift points) between users. This project builds the Mixxx-side foundation for the Canonical Master Release Track (CMRT) system: a new database table storing complete Chromaprint fingerprints, an AnalyzerChromaprint pipeline step that fingerprints entire tracks, mastering duplicate detection in the library, pregap offset calculation between files of the same mastering, and scaffolding for future MusicBrainz sharing. The CMRT — the highest-quality local copy of a mastering — becomes the anchor for all shared metadata, enabling the larger DJ-Intelligence vision of exchanging accurate BPM, key, and POI data between DJs worldwide.
<p>For a seamless blending of tracks it is required not only aligned beats and downbeats, but also that the phrases are matched. Currently, Mixxx can only help with matching the beats. This project aims to fix that by providing the tools to automatically detect downbeats and phrases, store this information and show it in a helpful way for the DJ.</p>
<p>The objective of this project would be to write Vulkan Apps that demonstrate some part/combination of the Vulkan API that is not already covered by the Sascha-Willems Demos, the Khronos Samples, the Google Test Apps or the Imagination demos.</p>
This proposal aims to improve the developer experience of using VLC in Unity. Right now, developers have to write extra boilerplate code and use raw strings just to play a video and configure settings instead of using standard Unity tools. I plan to change this manual setup into a simple plug and play experience. To achieve this, I will integrate standard Unity features like the Package Manager and ScriptableObjects for visual menus. I will also add useful features like video preloading, a playlist API, unified logging, and better demo scenes. Overall, this proposal aims to make the plugin much easier to use and reduce setup errors, which will encourage more developers to choose VLC for their projects.
Lately various AI driven algorithms have been published that are able to extract single instrument recordings (STEM) from an audio track file. Native Instruments has introduced an open definition for stem files STEMS to store these extracts. A Stem file contains the original a stereo track and four additional channel with the musical elements: A drums stem, a bassline stem, a melody stem and a vocal stem, in a m4a container. Currently Mixxx is only capable of playing the stereo track. The goal of this project is to extract all channels and allow the user to mix them individually. In a fist version the Stem mixer can replace the equalizer in the Mixxx GUI. In an advanced version an integration with effects system is desired.
Develop a standalone VLC app that any user would benefit from it on its Apple Watch. With this app, they could listen to their audio files anywhere, in the gym, running or commuting, just using their Apple Watch. The app will have its own media library and will be powered by the VLCKit for playing the audio files. It will leverage the functionalities offered by the iPhone companion app for transferring the files, playlists and URLs.
<p>VLC is the most widely used media-player. It supports wide-range of media formats, both audio and video. For macOS, the UI is outdated, and needs a bit of redesign. This project aims to modernize VLC’s UI and give it a similar feel to the UI on iOS/tvOS.</p>
<p>The project deals with analysing the implemented C functions and then implementing their corresponding assembly function using NEON registers and advanced SIMD (co-processor 10,11) instructions which will enhance the efficiency and makes dav1d more faster. There’s also performance testing is involved after the assembly function is implemented by using performance counters, for improving production quality of dav1d across ARMv8 and ARMv7 devices. Currently project is being tested and analysed on Raspberry Pi 3 model B which has BCM2837 quad-core ARM Cortex A53 (ARMv8) cluster.</p>
As part of Google Summer of Code 2025 with VideoLAN, this project focused on integrating advanced audio features into VLC to significantly improve the user listening experience. To address inconsistent volume levels in media, I implemented a Dynamic Audio Normalizer by integrating FFmpeg's dynaudnorm filter, which intelligently balances quiet and loud sounds in real-time. To make VLC's powerful reverb effect more accessible, I also developed a user-friendly preset system for the Audio Spatializer. This feature replaces five complex sliders with a simple dropdown menu of common acoustic environments like "Auditorium" and "Great Hall," making a powerful tool easy for all users while retaining manual control for experts.
This project completes VLC netsync and then enables fully Rust-written VLC modules by introducing Rust bindings for the vlc_player API. The work is carried out in three stages: first, rebasing and restoring the existing Player Clock API and netsync implementation on current VLC master; second, developing a new vlcrs-player binding crate with safe Rust abstractions over vlc_player.h; and third, rewriting the netsync module entirely in Rust. The final deliverables include a restored netsync implementation, a reusable Rust player binding crate, and a pure-Rust VLC module that serves as a reference for future development.