Difference between revisions of "VLMa"
(how does it work) |
m (typos) |
||
Line 7: | Line 7: | ||
The VLMa is a Java application which provides a daemon and a web interface to manage several VLC streamers. | The VLMa is a Java application which provides a daemon and a web interface to manage several VLC streamers. | ||
− | It is being used in | + | It is being used in École 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 [http://git.videolan.org/?p=vlma.git;a=summary gitweb]. | Its source code is available under GPLv2 or later in VideoLan's [[Git]], browsable on the web via [http://git.videolan.org/?p=vlma.git;a=summary gitweb]. | ||
Line 13: | Line 13: | ||
$ git clone git://git.videolan.org/vlma.git | $ git clone git://git.videolan.org/vlma.git | ||
− | The daemon is in charge | + | The daemon is in charge of managing the streamers: |
* give orders using the telnet interface, | * give orders using the telnet interface, | ||
* fallback whenever a server fails, | * fallback whenever a server fails, |
Revision as of 00:23, 6 July 2008
Contents
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 École 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 of managing 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:
- using the Maven eclipse plugin which is a maven plugin,
- using M2Eclipse which is an Eclipse plugin.
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
- Nightly builds.
- Project details at Ohloh.