VideoLAN, a project and a non-profit organization.

VLC media player

This is the VLC media player's developer page.
See the VLC page if you are not willing to develop VLC media player.

Developers' Wiki

As VLC media player evolves really fast, a lot of the documentation and tools information has move to a wiki. Check it out!

Get VLC Source Code

VLC is available through Git or by browsing the releases.

You can also see the release notes and the ChangeLog. You can also give an eye on the "Get the source" wiki page.

Coding VLC

VLC media player is a fast changing and ever evolving project. It is very important to keep up to date with the latest developments.
Therefore we advise everyone who makes changes to the VLC sourcecode, to sign up with the vlc-devel Mailinglist so you can keep up with the latest changes and developments.

Please try to keep to our code conventions. They are very simple and help to keep all code readable. When you write new stuff please comment it heavily or add doxygen documentation for your sources.

New code can be submitted to the vlc-devel mailinglist and will be evaluated for inclusion to the Git tree. You should put [PATCH] in your subject header. All patches need to be against the master head, you could follow those instructions.

Before you start be sure to read the HACKING file in the main VLC source directory, some of the documentation listed below.

Developer Documentation

Some documentation is still on this website, but since VLC evolves fast, some has been moved to the developers' wiki.

Document Status Download Maintainers
VLC API documentation Incomplete HTML Generated by Doxygen
Localization stats & Translations Up-to-date HTML Howto - HTML Clément Stenac Derk-Jan Hartman

Wiki Documentation

This part of the documentation has been moved to the developers' wiki. This page remains here for compatibility reasons.

Document Status Download Original Writters
String handling Up-to-date Wiki Derk-Jan Hartman
*nix Compile HOWTO Up-to-date Wiki Derk-Jan Hartman Jean-Baptiste Kempf
ARM Cross-Compile HOWTO Incomplete Wiki Jean-Paul Saman
Win32 Compile HOWTO Up-to-date TXT VideoLAN Wiki Contributors
Win32 Cygwin Environment
and Compile HOWTO
Up-to-date Wiki Trax
Win32 MSYS/MinGW Environment
Up-to-date Wiki Trax
Mac OS X Compile HOWTO Up-to-date Wiki Derk-Jan Hartman
BeOS Compile HOWTO Up-to-date Wiki Eric Petit
DirectFB plugin Compile HOWTO Up-to-date Wiki Jean-Paul Saman

Another great start for documentation is the source code. The best efforts have been done to make it as understandable as possible. You can also ask questions in the development mailing-list, or try to meet the developers on IRC (#videolan, or any Libera Chat server) if you want to help us but don't know where to start.

Bugs, todo and roadmaps

We would very much appreciate if you inform us of any bugs you run into. We would be even happier if you would also fix them.

When making bugreports please beware of our bugreport policy. When you are an experienced user/developer and you are positive that it is a real bug that we are not yet aware of, please file it in GitLab.

You'll find roadmaps and todo on GitLab.

Third party libraries used by VLC

You'll find a complete list on the wiki.

But, here are the most important libraries.

Audio/Video codecs

liba52 - an ATSC A/52 (aka AC3) audio decoder
libmad - an MPEG audio decoder
libmpeg2 - an MPEG1/2 video decoder
libavcodec (ffmpeg) - an extensive audio/video codec library which supports several formats like MPEG4, H263, WMV/A etc...
libogg - an Ogg bitstream parser
libvorbis - a Vorbis audio decoder
libflac - a FLAC (Free Lossless Audio Codec) audio decoder
libspeex - a Speex (Free speech codec) audio decoder
libtheora - a Theora video decoder
libfaad2 - an AAC audio decoder
libdv - a DV video decoder (deprecated in favor of libavcodec)
libxvidcore (xvid) - an ISO MPEG-4 compliant video codec (deprecated in favor of libavcodec)
libdca - A DTS Coherent Acoustics decoding library.

GUI framework libraries

wxWidgets - a cross-platform C++ GUI framework that keeps the look and feel of each platform
QT4 - a C++ Cross-Platform Rich Client Development Framework

Audio/Video output libraries

libsdl - a cross-platform multimedia library designed to provide level access to audio, and 2D video framebuffer

Miscellaneous libraries

libdvdcss - a library for accessing encrypted DVDs
libdvdnav - a library for DVD navigation
libdvdread - a library for reading DVD-Video images
libdvbpsi - a library designed for decoding and generation of MPEG TS and DVB PSI tables
libopenslp - an open-source implementation of Service Location Protocol
gettext - a set of tools that provides a framework to help applications produce multi-lingual messages
libfreetype2 - a software font engine that is designed to be small, efficient, highly customizable and portable while capable of producing high-quality output (glyph images).
fribidi - A Free Implementation of the Unicode Bidirectional Algorithm
liveMedia - C++ libraries for multimedia streaming (RTP/RTCP, RTSP, SIP)
matroska - a new, extensible open standard Audio/Video container format