VLC for Developers
The VLC Developers Course teaches how to use and setup VLC in streaming environemnts, howto build natively on linux, howto cross-compile for windows, howto write plugins, howto use external bindings and the design/architecture. VLC media player is an open source product developed by the VideoLAN project (www.videolan.org). It strives to implement a complete solutions for streaming and playing multimedia content. VLC media player is not only a player but also a streamer, transcoder and encoder. it is released under the GNU Public License v2 (http://www.gnu.org/licenses/gpl.html).
Course contents
- Module 0: Introduction and VideoLAN history
- Module 1: Commandline usage and streaming
- Module 2: Linux Build environment
- Module 3: Development for VLC on Linux
- Module 4: Cross compilation
- Module 5: Licenses (GPL, LGPL)
Module 0: Introduction
Module 0 is an introductory module designed to
bring the knowledge on VLC of participants on the
same level. It teaches:
- History of VLC
- Versatility of VLC
- Using VLC from the Graphical User Interface
Module 1: Commandline
Module 1 goes into advanced usage of VLC from
the commandline. It teaches:
- Commandline usage
- Howto find help information
- Howto find help on modules
- Module types
- Playback from the commandline
- Streaming from the commandline
- unicast
- broadcast
- multicast
- VOD (vlm, rtsp, etc)
- Mosaic
Module 2: Build environment
Module 2 introduces the participants in the Linux
build environment. It gives an introduction and
beginning understanding of the following tools:
- Autotools (autoconf, automake, libtool)
- Debugger (gdb)
- Source code archive tools: (GIT)
- VLC Build dependencies
Module 3: Development
Module 3 dives into the VLC source code its
internal and module structure. It teaches:
- Directory structure (where to find things)
- Module types
- LibVLC API and bindings
- Coding style
- Architecture and design
Module 4: Cross compilation
Module 4 touches on the topic of cross
compilation of VLC for MacOS X and Windows
Operating Systems. It teaches:
- Cross compiling for Windows on Linux
- Using Ubuntu 11.10
- Using Fedora (optional)
- Compiling on MacOS X
Module 5: Licenses
Module 5 tries to raise awareness of using Open
Source software in products. It does not
encompass a legal advice. It teaches:
- License awareness
- Licenses combinations
- What to do and what not do.
- Codec licenses awareness
- Ask legal advice from a lawyer