This is the VLC media player's developer page.
See the VLC page if you are not willing to develop VLC media player.
As VLC media player evolves really fast, a lot of the documentation and tools information has move to a wiki. Check it out!
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.
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.
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 |
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
vlc-devel@videolan.org
, or try to meet the developers
on IRC (#videolan
, irc.videolan.org
or
any Libera Chat server) if you want to help us but don't know where to
start.
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.
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.
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
libsdl - a cross-platform
multimedia library designed to provide level access to audio, and 2D
video framebuffer
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