aboutsummaryrefslogtreecommitdiffstats
path: root/doc
diff options
context:
space:
mode:
authorMatthias P. Braendli <matthias.braendli@mpb.li>2014-02-14 22:12:40 +0100
committerMatthias P. Braendli <matthias.braendli@mpb.li>2014-02-14 22:12:40 +0100
commit4bf51d695e9193f9b39cfca469df22fcded0f800 (patch)
tree7f30596b4d37cddccb5fad059c215bf129b12777 /doc
parent18ac7c4644add4db18bcb7cd7cb3560cffe846b3 (diff)
downloaddabmux-4bf51d695e9193f9b39cfca469df22fcded0f800.tar.gz
dabmux-4bf51d695e9193f9b39cfca469df22fcded0f800.tar.bz2
dabmux-4bf51d695e9193f9b39cfca469df22fcded0f800.zip
Release 0.5.0v0.5.0
Diffstat (limited to 'doc')
-rw-r--r--doc/remote_control.txt101
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.)
+