Next Previous Contents

3. Overview and basic concepts

3.1 Vls structure

From a user's point of view, the VideoLAN Server can be divided into four kinds of components: a manager, inputs, converters, and channels.


 File,       ---------       -------------       -----------      Network,
 DVD,   --> |  INPUT  |---->|  CONVERTER  |---->|  CHANNEL  |-->   File,
 ...         ---------       -------------       -----------        ...
                 \            -----------            /
                   ----------|  MANAGER  |----------
                              -----------
                                   ^
                                   |
                        Administration Interface

Input

The role of an input is to read MPEG streams from a given source (file, DVD, device, ...), and feed the right converters with these streams. An input may be able to read several streams, which are called programs. There are currently two kinds of inputs: the local input, which can read videos from files or DVDs, and the video input, which has been designed for reading streams from Video4Linux devices (/dev/video) able to produce MPEG streams. Both inputs are able to read MPEG1 or MPEG2 streams, either in PS or TS format. Of course, you can use several inputs and play several programs at the same time.

Converter

The role of a converter is to receive a stream from an input, and convert it into the MPEG-TS format. If you don't know what PS or TS are, here is some explanation. When you play a MPEG video from a DVD, for instance, the MPEG stream is actually composed of several streams (called Elementary Streams): there is one stream for video, one for audio, another for subtitles, and so on. These different streams are mixed together into a single Program Stream (PS). So, the .VOB files you can find in a DVD are actually MPEG2-PS files. But this PS format is not adapted for broadcasting video through a network or by satellite, for instance. So, another format called Transport Stream (TS) was designed for broadcasting MPEG videos through such channels. The VideoLAN Server is able to convert PS streams (from DVDs, for instance) into TS streams (ps2ts converter). Of course, it can also read TS streams, and fix them by handling stream discontinuities (ts2ts converter).

Channel

A channel receives a stream from a converter, and send it to a given destination (network, file, ...). If you want, you can call a "channel" an "output": it is the same thing ;-). Currently, two kinds of channels are supported: network and file. Note that, at the moment, the VideoLAN Server can support only one output per stream, so you cannot play a stream on the network and write it into a file at the same time. The network output is highly configurable: you can choose which network interface you want to use, and specify source and destination IP addresses. Of course, all that becomes very interesting when your destination is a broadcast or multicast address !

Manager

The manager controls the way streams are broadcasted. Through an administration interface, you can tell the manager to start, stop, suspend or resume the different programs. You can also get a list of all programs available in the Program Table. The manager gets this table from the vls configuration file (vls.cfg), so it cannot be changed once vls has been started. At the moment, you cannot ask the manager whether a given stream is being broadcasted, but you will get an error message if you try to stop a stream that was not broadcasted.

3.2 Administration interface

There are currently two ways to launch the streaming: 1. You can use the command line to give arguments at startup 2. You can use the telnet interface to start/stop/pause the streaming whenever you want. A GTK interface is also to be written. When using the telnet Interface, you must authenticate before typing any command, because any user may not be allowed to execute any command. (This can be configured in the vls.cfg configuration file).


Next Previous Contents