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