diff options
Diffstat (limited to 'doc')
-rw-r--r-- | doc/remote_control.txt | 101 |
1 files changed, 101 insertions, 0 deletions
diff --git a/doc/remote_control.txt b/doc/remote_control.txt new file mode 100644 index 0000000..35d0e1d --- /dev/null +++ b/doc/remote_control.txt @@ -0,0 +1,101 @@ +Telnet Remote Control +===================== + +ODR-DabMux can be configured to set up a simple telnet remote control that can +be used to modify some parameters without restarting the multiplexer. + +The server only listens on localhost for security reasons. Remote access should +be done using a VPN or SSH port forwarding. + +The principle is that parts of ODR-DabMux which have modifiable parameters +register themselves as remote-controllable modules, and also register +parameters. Each parameter has a value, that can be read/written using the +get/set commands. + +The interface is quite simple, and supports the following commands: + + > help + list + * Lists the modules that are loaded and their parameters + show MODULE + * Lists all parameters and their values from module MODULE + get MODULE PARAMETER + * Gets the value for the specified PARAMETER from module MODULE + set MODULE PARAMETER VALUE + * Sets the value for the PARAMETER ofr module MODULE + quit + * Terminate this session + + +Example +======= + +In this example, there is one service whose unique id (set in the configuration +file) is 'srv-fb', one subchannel with uid 'sub-fb' and one component 'comp-fb'. + +The command 'list' will show all exported parameters, and a small description: + + > list + srv-fb + label : Label and shortlabel [label,short] + sub-fb + buffer : Size of the input buffer [aac superframes] + enable : If the input is enabled. Set to zero to empty the buffer. + comp-fb + label : Label and shortlabel [label,short] + +The indication in square brackets can help you understand the format of the +values, or the units used. e.g. for AAC subchannels, the 'buffer' parameter +has values that are counted in number of AAC superframes. It is implicit that a +number is meant. + +In contrast to this, the 'label' parameters of both services and components take +a "label,short-label" pair, separated by a comma. + +Binary values accept the value 0 as false, and 1 as true. + + +Remarks concerning specific modules +=================================== + +ZMQ input +--------- +The ZMQ input (both for MPEG and AAC+) export a 'buffer' parameter which +defines how many frames must be in the buffer *before* the input starts +streaming. + +If you increase the size of the buffer, it will not fill up by itself (unless +there is a clock drift between the mux and the encoder). + +In order to force the buffer to fill up, disable the input by setting 'enable' +to 0, and, once the buffer is empty, re-enable it. It will fill to the desired +value. + +Labels (Components and Services) +-------------------------------- +The restrictions on short-labels, namely that they can only consist of letters +appearing in the labels, and that they must be maximum 8 characters long, are +verified by the 'label' parameters. + +If you try to set an invalid label/short-label combination, you will get an +error, and the label is unchanged: + +example: + > set comp-fb label Programme1,prog1 + comp-fb short label prog1 is not subset of label 'Programme1' + +example: + > set comp-fb label Programme1,Programme + comp-fb short label Programme is too long (max 8 characters) + + +TODO +==== + +In addition to adding more configurable features to the RC, it will +be necessary to add the ability to set several parameters at once, +atomically. + +That's already somewhat of an issue with the labels. (How do you set a label +that contains a comma ? Right now you cannot.) + |