aboutsummaryrefslogtreecommitdiffstats
path: root/README.md
diff options
context:
space:
mode:
Diffstat (limited to 'README.md')
-rw-r--r--README.md100
1 files changed, 100 insertions, 0 deletions
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..22134ea
--- /dev/null
+++ b/README.md
@@ -0,0 +1,100 @@
+ODR-mmbTools scripts for 24/7 operation
+=======================================
+
+This repository contains a set of scripts that can be used for
+running the ODR-mmbTools in a production environment, where
+failure resilience is important.
+
+Concept
+-------
+
+The scripts themselves, all located in this folder, are independent
+of the configuration of the transmission. All configuration is
+in a separate folder called 'site'. 'examplesite' contains a sample
+configuration you can adapt.
+
+These scripts assume that all programme streams to be included in
+the multiplex are mp3 webstreams. For each programme, a URL has to
+be specified.
+
+Prerequisites
+-------------
+You need to have a working ODR-DabMux and ODR-DabMod configuration to
+use these scripts. Also several audio-related tools are necessary
+(mplayer, gstreamer, etc.)
+
+The ICY-Text to DLS script requires python.
+
+Folder structure
+----------------
+
+The root folder contains the scripts described below.
+
+The site/ folder contains the site configuration.
+The site/dls folder contains the files needed for communication between
+the scripts for the insertion of DLS, and the site/slide contains slides
+to be transmitted.
+
+site/configuration.sh lists all the programmes to be transmitted.
+
+site/multiplex.mux contains the ODR-DabMux configuration. site/mod.ini is used
+as configuration for ODR-DabMod.
+
+site/filtertaps.txt contains the ODR-DabMod FIRFilter taps.
+
+site/mail-warning.txt is either empty, if no warning mails should be sent by the
+script, or a valid email address to send the warning to.
+
+The site/dls folder must exist, and can contain default DLS text files for the
+different programmes.
+
+The site/slide folder is optional, and must contain one folder for each programme,
+named after its ID, into which you can place slides to be transmitted.
+
+How to get started
+------------------
+
+The examplesite/ folder should be taken as a template to create a new site, it
+contains all needed files.
+
+ * Create a copy of it, and call it *site*.
+ * Modify and adapt all configuration files presented above.
+ * Start a GNU Screen session.
+ * Launch JACK (see below)
+ * Start ODR-DabMux and ODR-DabMod using *start-mux-mod.sh*
+ * Start one encoder using *radio.sh ID* or all encoders with
+ *launch-all-encoders.sh*
+
+Scripts
+-------
+
+*start-mux-mod.sh* starts ODR-DabMux and ODR-DabMod with the configuration
+given in site/multiplex.mux and site/mod.ini
+
+*radio.sh* starts one mplayer and fdk-aac-dabplus encoder for the radio
+programme whose identification is set in site/configuration.sh. This script
+will automatically restart the encoder if there is a failure.
+
+The *encode-XYZ.sh* scripts contain all the logic for failure resilience,
+and use different players to read the stream.
+
+*encode-jack.sh* is the best supported script of all these. It extracts
+ICY-Text and launches the mot-encoder to insert DLS and optionally slides.
+ It needs a running JACK daemon to work, which should be started with
+
+ jackd -d dummy -r 32000
+
+*launch-all-encoders.sh* and *kill-all-encoders.sh* can start and stop all
+configured encoders, and are meant to be used inside a GNU Screen session. For
+each encoder, a new GNU Screen window is created.
+
+*icy-info.py* is a helper script that converts the webstream ICY Text into DLS
+for the mot-encoder. Do not run it directly, it is used by *encode-jack.sh*.
+
+
+Additional remarks
+------------------
+
+For a rate of 48kHz, the RATE parameters in the *encode-XYZ.sh* script must be
+changed.
+