Back to Programs

End user applications

VideoLAN

Open Source Multimedia for everyone!

assemblycc++qtvideo

Participation history

11 GSoC years

2026

15 projects

Official year page

Vulkan video filters: deinterlace, adjust and others

After video decoding in VLC it might be that the user wants to use a specific filter like deinterlace and/or adjust and/or other filters that run on...

Vulkan Video Filters: HDR Tonemapping and Subtitles Rendering

VLC's Vulkan video output module is missing two features: HDR tonemapping and subtitle rendering. HDR content played on an SDR monitor appears washed...

Advanced Audio Filters

We experience video through seeing and hearing it. To make that experience as immersive as possible, I am developing audio filters that push the...

Add Player API Rust Bindings for VLC and Rust Netsync Interface

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...

Cloud Integration For Desktop

This proposal aims to implement a functional cloud storage integration for VLC Media Player using libcloudstorage Although the open merge request...

Lua Script Test Harness: A Standalone CLI Tool

VLC uses lua scripts for tasks like playlist parsing, service discovery, and art fetching. Currently, testing these scripts requires manually running...

Create the watchOS app for VLC

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,...

GPU Accelerated Motion Compensation-based Video Frame Interpolation in libplacebo

Video frame interpolation (VFI) refers to the process of increasing the framerate or frames-per-second (FPS) of digital media beyond the initial...

VLC macOS interface redesign

The VideoLAN UI has been updated many times in the last years, now targeting 4.0 as the next major release. Previous GSoC projects have started...

Improving the VLC for Unity Developer Experience and Ecosystem

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...

Auto-synchronise downloaded subtitle with audio using whisper.cpp

External subtitles are one of the basic and most used features of VLC. VLC already has functionality to allow auto downloading of subtitles. But...

Building a Structured Framework to Validate and Optimize Low-Level Assembly Routines in VLC

VLC contains hand-written SSE2/SSSE3 assembly for performance-critical paths but has no automated correctness testing for them. This project...

Improve CrashDragon API Consistency, Auth Reliability, and Frontend Completion (Go + Vue.js)

CrashDragon plays a critical role in transforming VLC crash reports into actionable fixes, but current gaps in API consistency, auth-sensitive...

VLC watchOS port: Audio Player

The goal of this project is to bring VLC’s media playing capabilities to watchOS using the newly added support from VLCKit. The watchOS app will be...

Qt Integration Tests

This project aims to expand the Qt Integration Tests by adding tests for Keyboard navigation, playback controls, playlist management, and other UI...

2025

13 projects

Official year page

LibVLC Wayland API

The aim of this project is to provide an API in libVLC so users can embed the media player in their programs. Although there’s already a support for...

Improve libNDI project and integrate it in VLC

Network Device Interface (NDI) is a software specification that enables high-definition video transmission over a computer network with low latency...

Improve the VideoLAN crash reporter in Go and Vue.js

This project aims to modernize the VideoLAN crash reporting system (CrashDragon) to improve how VLC crashes are collected, analyzed, and managed. The...

Qt Interface Redesign for VLC

VLC is a powerful and feature-rich media player, but its current UI can feel outdated and less intuitive—especially for newer users. This project...

VLC iOS UI update - implementing Parental Control in VLC for iOS

This proposal aims to update the User Interface and add new features to catch up with the Android version of VLC, enhancing and making the user...

Advanced Audio Filters for VLC

As part of Google Summer of Code 2025 with VideoLAN, this project focused on integrating advanced audio features into VLC to significantly improve...

VLC macOS Modern Interface Redesign

Problem: VLC’s macOS interface has fallen behind modern design standards, creating a disjointed experience compared to its intuitive iOS/tvOS...

VLC for Apple Watch: Standalone Player & iPhone Companion

This project aims to bring VLC's media capabilities to Apple Watch by developing both a companion app and standalone functionality. The app will...

Cloud Integration for VLC via libcloudstorage

The goal of this project is to make cloud storage services (like Dropbox and Google Drive) easily accessible from the VLC media player. The primary...

Technical Project Proposal: DVD-Audio Deciphering Module in VLC

This project aims to add DVD-Audio support to VLC by implementing a module that decrypts and plays back CPPM-protected audio streams. Using...

dav1d RISC-V Vector Optimization

This project aims to optimize the open-source AV1 decoder, dav1d, for the RISC-V Vector (RVV) ISA by implementing Vector-Length Agnostic (VLA)...

VLC iOS UI Update

This project aims to enhance the user experience of the VLC application on iOS by improving playback controls and resolving persistent subtitle...

Radio-Browser integration

This project aims to integrate Radio-Browser.info into VLC Media Player, allowing users to browse and play internet radio stations directly within...

2024

13 projects

Official year page

Add AAC via S/PDIF and Bluetooth passthrough support

The project aims to add AAC via S/PDIF and Bluetooth passthrough support for all major OS specific audioservers to VLC as opposed to the current...

VLC Qt interface redesign

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...

Radio-Browser integration on the VLC player

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...

Improve the VideoLAN crash reporter in Go and Vue.js

The CrashDragon project aims to enhance its functionality and user experience through a three-fold approach for Google Summer of Code 2024. The...

VLC iOS UI update

This proposal's purpose is to update the User Interface and add new features. it aims to enhance and make user experience easier. This includes...

Improve VLC's extension api by improving support for Lua

Hello VideoLan, I want to improve Lua support for VLC and make it a more first-class citizen. Lua is beautiful language that's simple and easy to...

VLC Qt interface redesign

The proposal aims to redesign the VLC Qt interface, incorporating modern design elements to enhance user experience. Key features include a revamped...

VLC Qt Interface Redesign

The VLC interface is quite outdated on Linux and Windows. It has a lot of features, but some are not properly exposed. The interface is currently...

Interactive Movie Support

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...

Improve ID3 Tag and Metadata Handling in VLC

VLC lacks robust metadata handling capabilities. Currently, it only displays a few basic information about media files, requiring users to manually...

Implement PipeWire input module for audio and video

Currently, VLC lacks an input and services directory module for PipeWire. PipeWire is a relatively new multimedia framework for Linux-based operating...

Scripting VLC with wasm

The project aims to enhance VLC by introducing support for WebAssembly (Wasm) plugins, paving the way for a potential replacement of the current Lua...

dav1d RISC-V optimizations

Dav1d has SIMD assembly code written for x86 and ARM, achieving a significant performance boost compared to the C implementations. This idea can also...

2023

10 projects

Official year page

Implement Playlist Demux Module in Rust

This project aims to address the limitations of the current C-based development of the open-source VideoLAN Client (VLC) media player in terms of...

VLC iOS UI Revamp

I aim to revamp VLC's iOS User Interface and make it easier to use. This includes incorporating native Apple API's such as Local File access,...

Add multiple audio tracks playback support

Currently, only one audio track playback is supported in a media file at a particular instance. The idea is to add support for the playback of...

Integrate VLCMediaLibrary Kit on tvOS

The goal is to use integrate the VLCMediaLibrary on tvOS for managing all media files , to eliminate the need for separate classes for managing the...

Enable and use Dynamic Loading for wasm32-emscripten port of VLC

Currently the wasm-emscripten port of VLC (Vlc.js) does not support compilation with shared module. This project enables shared module loading for...

VLC Qt Interface Redesign

I propose to update VLC Media Player by leveraging Qt to design a more modern and elegant interface which would result in a heightened user...

VLC iOS UI Update

This proposal purpose is for an introduction regarding me and my personal experience, and my plan to contribute for VLC, more specifically VLC-ios on...

Thumbnail preview when seeking

The idea is to add thumbnail preview on the UI while seeking. Tasks to be accomplished include: extend the preparser to take snapshot of a video...

Improve Chromecast Support (subtitles)

VLC Media Player is one of the most popular and widely used media players in the world. While it already supports Chromecast, there are several...

Rewrite some C modules in Rust

This project aims to improve VLC media player's performance and reliability by rewriting some of its modules, particularly the demuxers, in Rust...

2022

6 projects

Official year page

FFmpeg Audio Filters

Add FFmpeg audio filters to VLC. This will be achieved by adding wrappers for FFmpeg audio filters. Basically, each wrapper will act as an audio...

VLC.js

Working on "Improve audio pipeline inside VLC" task. There are things to do in multi-channel audio and optimizing the audio playback performance....

SIMD code for VVC codec

VLC is the most widely used media-player. It supports wide-range of media formats, both audio and video. My work will be focused on Versatile Video...

VLC macOS Interface Redesign

VLC’s 4.0 redesign on the Mac has clearly seen many of the same changes as its counterpart for Linux and Windows, but with a more native-feeling UI...

VLC Qt interface redesign

The VLC interface is quite outdated on Linux and Windows. It has a lot of features, but some are not properly exposed. Scope of the tasks to do: Use...

MPD server in VLC

George Vaindirlis coded a MPD server module for VLC last year. This project aims at finishing his work by adding support for more features from the...

2021

9 projects

Official year page

VLC macOS interface redesign

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...

VLC Qt interface redesign

The VideoLAN organisation has transformed the digital audio and media space since its inception over 10 years ago. The ease of use of its forerunning...

Real-time subtitles for movies

I want VLC to have the ability to subtitle in real-time, obviously without having subtitles available. I would therefore like to implement a Machine...

Making VLC iOS app a one stop shop for all the media consumption and management

The aim of my project is to make VLC a one-stop-shop for all media consumption and management on iOS.

Advanced Audio Filters

Upmixing stereo sound sample to more than two channels. With this filter you get much realistic surround stage effects.

MPD Server in VLC

An MPD Server would be very helpful for remotely controlling the VLC Media Player. There are many great MPD Clients (including open source ones)...

Visualizing AV1 features using an analyzer

Extracting metadata from AV1 videos is very useful for codec research. This metadata can be used to create a video analyzer, analyze coding...

Added new features to LibVLCSharp and fixed bugs

Add lock button, Equalizer UI, Track management, Next & Previous button MediaElement, extend gesture support, Add docs on how to custom style/bind...

VLC iOS UI update

Update the user interface of vlc-ios to match or surpass the Android app.

2020

8 projects

Official year page

AV1 statistics extraction with dav1d

Currently development of rav1e and other AV1 encoders use open source AV1 analysis tools to extract metadata which is produced at decode time. This...

Audio Filters in VLC

This project aims to add audio upmixing filters in VLC.

Implementing CPU filters on GPU

The project aims to identify as many of the current VLC video filters implemented on the CPU that can be ported over to the GPU using OpenGL (or...

Improving VLC desktop UI

Project to improve, modenize and provide a more user friendly VLC desktop client on Linux and Windows, build with Qt and QML

Modernizing the Qt GUI - VLC Qt Interface Renovation

VLC has been a very functional media player with great UX since its very beginning. However, it's UI has not been changed much and does not look...

Making the VLC iOS app more modern and accessible

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...

E-AC-3 to AC-3 real time convertion

EAC3 is one the most popular codecs for audio used nowadays, even been used as a base in the latest versions of object-based codecs. However,...

Develop a MPD server inside VLC

A MPD module is to be developed as a control module inside VLC. It should handle requests from any mpc-client. Implementation of MPC Protocol and...

2019

9 projects

Official year page

Integrate JS in VLC

This project aims at integrating a JavaScript engine into VLC to enable extensions development and scripting support inside VLC in JS. This project...

NVDEC hardware acceleration support

VLC currently uses DXVA2 (DirectX), VA-API (Intel-focused) and VDPAU (Nvidia-focused) for GPU accelerated decoding. Nvidia’s NVDEC (formerly CUVID)...

VLC Qt interface redesign

The VLC interface is quite outdated on Linux and Windows. It has a lot of features, but some are not properly exposed. This project for the summer is...

VLC on Android Testsuite

This project aims to contribute to the stability of Android port of VLC, by writing test suites for the VLC android codebase, along with libVLC and...

dav1d ARM NEON optimization

The project deals with analysing the implemented C functions and then implementing their corresponding assembly function using NEON registers and...

VLC Qt interface redesign

To rework the VLC interface heavily and make it beautiful and useful again. I'll be working on redesigning the new interface(VLC 4.0) to make it...

VLC-Android Test Suite

This GSoC would be about adding testing to VLC-Android, specifically testing UI Scenarios, adding tests to the medialibrary integration, and adding...

dav1d compute shaders

This project will provide initial infrastructure to make dav1d capable of offloading some work to the GPU using shaders and APIs such as OpenGL,...

Modernize VLC-iOS UI and UX designs

This project aims to increase VLC's iOS app popularity and user retention by modernizing its UI and UX.

2018

10 projects

Official year page

WebVLMC (Remote UI for VLMC)

In this document, we propose a web app for the VideoLAN’s non-linear editing software, VLMC. The basic idea is to have a web frontend for VLMC, while...

Implementing an AirPlay Render Target Module for VLC

With VLC’s version 3.0, a major feature is the renderer API.This api makes it possible to create modules such as the new chromecast module that...

Move VLC build system to Meson Build

Currently VLC is built using the autotools build system, which is hard to write, extend and maintain. Therefore the goal of this project is to port...

VLC Crashes Server (CrashDragon)

CrashDragon, the product of my last year's GSoC project, should be extended and major memory leaks should be fixed. New features which turned out to...

VLC Qt interface redesign

This project is to rework heavily this interface to make it beautiful and useful again.

VLC macOS interface redesign

Project Description: The VLC interface is quite outdated on macOS. This project for the summer is to rework heavily this interface to make it...

VLC macOS Interface Redesign

This project aims to revamp VLC’s user interface for macOS and improve the user experience. The introduction of the Media Center will provide users...

Rate-distortion optimization in rav1e

The goal of this project is to contribute to the development of the rav1e AV1 video encoder, through work on rate-distortion optimization (RDO) in...

VLCMediaLibraryKit Integration

Overview The overall goal is to integrate VLCMediaLibraryKit to VLC-iOS and remove the usage of the old MediaLibraryKit. Technologies Objective-C...

VLCKit Testsuite proposal

Establishing a test suite around VLCKit in order to achieve ABI stability throughout future release and updates.

2017

9 projects

Official year page

iOS: Medialibrary port

Overview The medialibrary(MediaLibraryKit) available for the Apple platform’s such as iOS, macOS, and tvOS is quite old and limited. However, the...

Cloud Storage integration

VLC wants to access cloud services using a library libcloudstorage that is not integrated anywhere in libVLC. This integration will allow it to be...

Videolan application updater

The project meant to build a smart updating system.The system is composed of a client module responsible for update management (for example VLC) ,...

Fuzz testing libVLC with LibFuzzer

Test libVLC internal modules with various input using LibFuzzer which is a library for coverage-guided fuzz testing for exposing various bugs,...

Media Workflow rework and a remote UI

Through refactoring the rendering, workflow and UI classes, we will have a better structure of the software, which will make easier to implement a...

VLC crashes server

The aim of this project is to make a breakpad server for VLC and other VideoLAN projects, similar to Socorro from Mozilla.

Adding 3D support

I plan to add support for various 3D video formats to libVLC.

macOS interface redesign

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...

Modern Look For VLC Web UI

My proposal is for the modernization of the Web UI of VLC player using Vue.js

2016

3 projects

Official year page

Audio/Video sync mechanism

Audio/Video sync is essential in movie editing and playback. Videos that are out of sync are often uncomfortable to watch to a viewer, so it is...

Implementing a sandboxed rendering engine and a remote UI

Through refactoring the rendering, workflow and UI classes, we will have a better structure of the software, which will make easier to implement a...

Cloud services support for vlmc

Backend for some most popular cloud services: Google Drive, Dropbox, OneDrive. Integrating it with vlmc user interface.