Fetching the latest programs, projects, and workspace data.

Open Source Multimedia for everyone!
Showing 5 of 100 projects. Click any project card for scope, mentors, and proposal studio.
Mentors: Student: John Tyler
Video frame interpolation (VFI) refers to the process of increasing the framerate or frames-per-second (FPS) of digital media beyond the initial framerate that is explicitly available (e.g., interpolating 24fps video to 60fps video), and is desirable to be done in real-time using GPU-accelerated algorithms to allow for use in media players such as VLC Media Player. This technique is not available to a broad audience through open source software, with implementations either being proprietary, unsuitable for real-time use, or unsuitable for use in a media player setting. We will solve this problem in libplacebo, VideoLAN's GPU-accelerated video processing library, by implementing a motion compensation-based VFI algorithm, a class of VFI algorithms well suited for real-time performance. This algorithm will require two stages: motion estimation (predicting the motion of pixels from one frame to the next), and motion interpolation (using motion estimates to estimate an intermediate frame between the two). This algorithm will be robust to common VFI challenges, using an image pyramid for large motion handling, and bidirectional motion estimation for occlusion handling. We will clearly document VFI in libplacebo to enable easy integration into software projects, such as media players. We will document the performance, the speed and accuracy of our VFI implementation, using common benchmarks from literature such as Adobe240FPS, or the Xiph dataset, using metrics such as SSIM as well as visually identifying artifacts, to better understand the computational efficiency of our algorithm (performance on 1080p vs 4k resolution, performance when interpolating multiple frames 24->120fps) and accuracy under varying input (large motion caused by high resolution).
Mentors: Student: Timmy Nguyen
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 able to play audio files locally as a standalone app as well as sync with the iOS app to act as a remote for controlling audio playback.
Mentors: Student: Yousef Kenawy
This project aims to expand the Qt Integration Tests by adding tests for Keyboard navigation, playback controls, playlist management, and other UI elements. Improve CI integration in Linux for better stability, and explore running the tests on Windows for VLC 3.
Mentors: Student: Priyanshu Thapliyal
CrashDragon plays a critical role in transforming VLC crash reports into actionable fixes, but current gaps in API consistency, auth-sensitive behavior, and frontend completeness introduce friction in triage and integration workflows. This project is a continuation of prior work and focuses on improving reliability without breaking existing functionality. The approach includes: Reviewing current API and frontend behavior to identify inconsistencies between public routes and /api/v1. Improving the Go backend by standardizing API response contracts, tightening validation, and hardening auth-sensitive mutation paths while preserving backward compatibility. Completing missing frontend surfaces and aligning Vue service-layer logic with typed API contracts to eliminate fragile response handling. The project will be delivered through incremental, review-driven changes with strong regression testing and CI validation to ensure stability. Deliverables: Consistent and well-defined /api/v1 API behavior with improved validation and error handling. Hardened authentication and mutation route reliability. Completed frontend views (stats, symfiles) with contract-aligned data handling. Expanded backend regression tests and improved documentation. Final implementation report and follow-up issue roadmap.
Mentors: Student: Bipul Lamsal
VLC uses lua scripts for tasks like playlist parsing, service discovery, and art fetching. Currently, testing these scripts requires manually running the full VLC application. This is inefficient and fails to catch bugs when external websites change their markup, leaving scripts broken. This project builds a standalone CLI test harness (vlc-lua-mock) that replicates the VLC Lua engine's behavior without requiring a VLC build. It uses mock backends and stubs for VLC Lua bindings, supports both behavior and state assertions, and includes a recording mode for fixtures.