A complete, cross-platform solution to record, convert and stream multimedia.

Technologies
assembler, c99
Topics
audio, image processing, video, multimedia
A complete, cross-platform solution to record, convert and stream multimedia.

What FFmpeg is

FFmpeg is the leading multimedia framework, able to decode, encode, transcode, mux, demux, stream, filter and play pretty much anything that humans and machines have created. It supports the most obscure ancient formats up to the cutting edge, no matter if these formats were designed by some standards committee, the community or a corporation. FFmpeg compiles, runs, and passes our testing infrastructure FATE across Linux, macOS, Microsoft Windows, Android, the BSDs, Solaris, etc. under a wide variety of build environments, platforms and configurations. FFmpeg provides the libraries libavcodec, libavutil, libavformat, libavfilter, libavdevice, libswscale and libswresample to be used by applications as well as the command line tools ffmpeg, ffplay and ffprobe for direct use.

Who the users of FFmpeg are

The FFmpeg libraries are utilized by various applications and services affecting the daily multimedia experience of countless end-users. Among these are media players like VLC and MPlayer, browsers including Chromium and Firefox, social media services from Facebook and Twitter to YouTube and Vimeo. Also a large user base uses the provided command line tools to directly record, manipulate and play media in all the many ways FFmpeg has to offer. If digital multimedia is part of your daily life chances are high that you are already part of the huge group of people who benefit from the FFmpeg project.

How your contribution might fit in

As an interested student you will have the chance to dive into a highly technical environment and demonstrate the skills to develop software at a high level in terms of code quality, maintainability and security. Having a mentor on your side reduces the burden to get you on speed working in a yet unknown codebase and community. You will be able to improve your skills, gain a lot of experience in a very interesting field and possibly contribute your own piece of a software that might have an impact on millions of users.

2019 Program

Successful Projects

Contributor
Jarek Samic
Mentor
Mark Thompson
Organization
FFmpeg
Implement OpenCL Deshake Filter
The goal of this project is to write a solid, feature-complete, and reasonably performant implementation of the deshake video filter in OpenCL. This...
Contributor
Xuewei Meng
Mentor
Steven Liu
Organization
FFmpeg
Derain Filter in FFmpeg
Rain and fog are very common weather in actual life. However, it can affect the visibility. Especially in heavy rain, rain streaks from various...
Contributor
Swaraj Hota
Mentor
Carl Eugen Hoyos
Organization
FFmpeg
HEIF Support
The aim of this project is to add support for HEIF/HEIC files in FFmpeg. High Efficiency Image File Format (HEIF) specifies the storage of individual...
Contributor
Eugene Lyapustin
Mentor
Thilo Borgmann, Paul B Mahol
Organization
FFmpeg
360° video filter
For the past several years 360° cameras have become far more accessible, and several video-sharing services enabled support for 360° videos (for...
Contributor
Shivam Goyal
Mentor
Carl Eugen Hoyos, Thilo Borgmann
Organization
FFmpeg
DICOM Support
The project aims to program a demuxer in the libavformat and a parser and decoder in the libavcodec library. As DICOM files contain lots of metadata...
Contributor
Nick Renieris
Mentor
Paul B Mahol
Organization
FFmpeg
DNG Raw Image Format Support
Digital Negative (DNG) image format decoding support for the FFmpeg project. DNG is an open lossless/raw image format meant to standardize and...