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

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