|
|
| (12 intermediate revisions by 2 users not shown) |
| Line 1: |
Line 1: |
| [[image:VLMa.png|right]] | | #REDIRECT [[:Category:VLMa]] |
| | |
| ==What is VLMa?==
| |
| | |
| [http://www.videolan.org/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 [http://git.videolan.org/?p=vlma.git;a=summary 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 [http://en.wikipedia.org/wiki/Remote_Method_Invocation 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 [http://maven.apache.org/plugins/maven-eclipse-plugin/ Maven eclipse plugin] which is a maven plugin,
| |
| * using [http://m2eclipse.codehaus.org/ 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 [http://www.via.ecp.fr 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==
| |
| | |
| * [http://nightlies.jpountz.net Nightly builds].
| |
| * [http://www.ohloh.net/projects/vlma Project details] at Ohloh.
| |
|
| |
|
| [[Category:VideoLAN projects]] | | [[Category:VideoLAN projects]] |