]> git.sesse.net Git - vlc/blob - doc/vlm.txt
* doc/vlm.txt: small update to reflect the latest changes.
[vlc] / doc / vlm.txt
1 VLM: VideoLAN (Media) Manager
2
3 VLM is a little media manager originally designed to launch multiple
4 streams with only one VLC.
5
6 I - Interfaces
7  1) Telnet interface
8     You can launch it as a common interface.
9     Default port is 4212, default password is "admin". These are common
10     options of the interface, so you can modify them as you wish.
11     Once you are connected on telnet interface, just type a command
12     line.
13
14  2) HTTP interface
15     Not finished yet. Please be a little more patient !
16
17 II - VLM Elements
18  1) Medias
19     A media is composed with a list of inputs (the videos and audios you
20     want to stream), an output (where you want to stream them), and some
21     options.
22     There are two types of medias: vod and broadcast.
23     A vod media is commonly used for Video on Demand. It can be launched
24     only if a vod client asks for it.
25     A broadcast media is very close to a TV program, or channel: it is
26     launched, stopped, paused by the administrator (or a schedule), may
27     be repeated several times etc.
28
29  2) Schedules
30     A Schedule is a script with a date. When the current date is the
31     schedule date, the script is launched. There are of course other
32     options, like a period, a number of repetitions, etc. for the
33     schedule to be launched several times (or endlessly) automatically.
34
35 III - Command line syntax:
36 Note: an element is a media or a schedule.
37  1) Command lines:
38     help
39         Displays an exhaustive commmand lines list.
40
41     new (name) vod|broadcast|schedule [properties]
42         Creates a new element. You must specify if it as a vod media, a
43         broadcast media, or a schedule (there is no default type).
44         "media" and "schedule" are reserved names, and element names
45         must be unique.
46         Properties are optional: you can use the "setup" command to set
47         it.
48     setup (name) (properties)
49         Set the property of the (name) element.
50         See Properties section for more information.
51     show [(name)|media|schedule]
52         Displays current element states and configurations.
53         "show (name)" displays all information about the (name) element.
54         "show media" displays a summary of medias states.
55         "show schedule" displays a summary of schedules states.
56         "show" is a the same as "show media show schedule".
57     del (name)|all|media|schedule
58         Destroys an element, or a group of elements. If the element is
59         at a non-stop state, it stops it (media or schedule).
60         "del (name)" destroys the (name) element.
61         "del all" destroys all elements.
62         "del media" destroys all medias.
63         "del schedule" destroys all schedules.
64     control (name) [instance_name] (command)
65         Changes the state of the (instance_name) instance of (name) media.
66         If (instance_name) is not specified, the control command affects the
67         default instance.
68         See Commands section for more information.
69     save (config_file)
70         Saves all media and schedule configurations in the (config_file)
71         configuration file. the "save" command overwrites the file if it
72         already exists. States (playing, paused, stop) are not saved.
73         See Configuration File section for more information.
74     load (config_file)
75         Loads the (config_file) configuration file.
76         See Configuration File section for more information.
77
78  2) Properties:
79  Note: except the "append" property, all property can be followed by
80  another one, recursively.For example:
81  "setup pouet input file://arf.avi output udp:127.0.0.1 enabled loop"
82  is a valid command line.
83     Media Properties Syntax:
84         input (input_name)
85             Adds (input_name) at the end of the media input list.
86         output (output_name)
87             Defines the output of the media.
88             The syntax is equivalent to the ":sout=..." option , but you
89             do not have to put the ":sout=" string.
90         option (option_name)[=value]
91             Adds the (option_name) to the media option list.
92             The syntax is equivalent to the ":(option)=..." option , but you
93             do not have to put the ":" string.
94             Options are global: they are applied to all inputs of the
95             media.
96         enabled|disabled
97             Enable or Disable the media.
98             If a media is disabled, it can not be streamed, paused,
99             launched by a schedule, or played as a VoD.
100         loop|unloop
101             Used for broadcast only.
102             If a media with "loop" option receives the "play" command
103             and finally finishes to play the last input of the list, it
104             will automatically restart to play the input list.
105
106     Schedule Properties Syntax:
107         enabled|disabled
108             A disabled schedule will never be launched.
109         append (command)
110             Adds a command to the command line list.
111             The command line can be every command the VLM can understand.
112             Note: the rest of the line will be considered as part of the
113             command line. You cannot put another option after the
114             "append" one.
115         date (year)/(month)/(day)-(hour):(minutes):(seconds)|now
116             Specifies the first date the schedule should be launched.
117             the date must have the explicit form:
118             (year)/(month)/(day)-(hour):(minutes):(seconds)
119             For example: 2004/03/07-12:42:30
120             If you write "now" instead of a date, the schedule will be
121             launch as soon as possible (as soon as it is enabled), and
122             the current date will be used as the first date of the
123             schedule (for repeating).
124         period (years)/(months)/(days)-(hours):(minutes):(seconds)
125             Specifies the period of time a schedule must wait for
126             launching itself another time.
127             For now, the period has a very close syntax to a date:
128             months are considered as 30 days
129             years are considered as 12 months.
130             If a period is specified without a "repeat", it will be
131             launched endlessly.
132         repeat (number_of_repetitions)
133             Specifies the number of times the schedule has to be launch
134             again. For example, if a schedule has "repeat 3", it will be
135             launched 4 times.
136
137  3) Control Commands Syntax:
138     play
139         Starts a broadcast media. The media begins to launch the first
140         item of the input list, then launches the next one, and so on
141         (like a playlist).
142     pause
143         Puts the broadcast media in paused status.
144     stop
145         Stops the broadcast media.
146     seek (percentage)
147         Seeks in the current playing item of input list.
148
149 IV - The configuration file
150   A VLM configuration file is very simple: it is only a list of command
151   lines: one line corresponds to one command line.
152   If you want to create a configuration file, just edit a text file and
153   type a list of VLM command lines. But beware of recursive calls: you
154   can put a "load (file)" command in a configuration file, so for
155   example, if you put a "load pouet" in a pouet file, and you launch the
156   "load pouet" command, then pouet will be loaded endlessly, and VLC
157   will crash (at least).
158   The load command converts the medias and schedules configurations into
159   command lines, and writes them into a file.
160   Note: commentary system has not been implement yet.