VLMa

From VideoLAN Wiki
Revision as of 00:18, 6 July 2008 by Jpountz (talk | contribs) (how does it work)
Jump to navigation Jump to search
VLMa.png

What is VLMa?

VLMa means VideoLAN Manager

The VLMa is a Java application which provides a daemon and a web interface to manage several VLC streamers.

It is being used in Ecole Centrale Paris to broadcast Satellite and TNT channels over the network.

Its source code is available under GPLv2 or later in VideoLan's Git, browsable on the web via gitweb.

$ git clone git://git.videolan.org/vlma.git

The daemon is in charge to manage the streamers:

  • give orders using the telnet interface,
  • fallback whenever a server fails,
  • monitor streamers' state using SNMP,
  • draw RRD graphs.

The web module provides a user-friendly interface to communicate with the daemon. The communication between the daemon and the web interface is done using RMI.

Building VLMa

VLMa uses Maven as a build system. Building VLMa should be as easy as downloading the source tree and running Maven.

$ git clone git://git.videolan.org/vlma.git
$ cd vlma
$ mvn install

Then Maven will download VLMa dependencies and build the project according to the configuration located in the pom.xml files.

Integration with Eclipse

Like any Maven project, there are two ways to integrate the VLMa project within Eclipse:

Please refer to the project websites for more details.

How does it work?

The model

The 2 key objects of the model are the media and the programmation. Basically, a media stands for something that can be streamed whereas the programmation tells you how it should be streamed.

The threads

There are 3 important threads:

  • the main thread,
  • a thread which monitors the state of the servers (runs periodically),
  • a thread which monitors the state or programmation (whether programs are really streamed or not).

Orders

When VLMa notices that some programs are not really streamed, orders are computed and then sent to the servers. Computing orders means:

  • identify available adapters,
  • identify medias that should be streamed,
  • put together medias into groups of medias that should be streamed by the same server (for example, because of their frequency in case of a DVB input),
  • map every media group to an available adapter,
  • send orders to the servers.

History

VLMa development started in January 2006 under the impulsion of Sylvain Cadilhac, who was network administrator at VIA Centrale Réseaux and VideoLAN treasurer. There were around 10 servers in charge of streaming television and radio over the campus network, and the aim of the project was to provide a web interface to manage every server.

Related links