aboutsummaryrefslogtreecommitdiffstats
path: root/README.md
diff options
context:
space:
mode:
Diffstat (limited to 'README.md')
-rw-r--r--README.md114
1 files changed, 30 insertions, 84 deletions
diff --git a/README.md b/README.md
index 95687b8..b4af718 100644
--- a/README.md
+++ b/README.md
@@ -1,108 +1,54 @@
ODR-mmbTools scripts for 24/7 operation
=======================================
+version : radioHack2016
-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.
-
-The scripts are designed to be failure-resilient: in case and encoder
-or a web-stream decoder crashes, an email is sent to the operator, a
-log message is written to syslog, and the encoding chain is restarted.
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.)
+You need to have a working ODR-DabMux, ODR-DabMod, fdk-aac-dabplus and/or toolame-dab configuration to
+use these scripts. Also supervisor is now needed. (apt-get install supervisor)
-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.
+The 'config' folder contains all needed configuration file and needed to be moved into /home/odr/ folder.
-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.
+ * config/mod.conf : contains mod configuration
+ * config/mux.conf : contains mux configuration
+ * config/supervisor/ : contains all supervisor configuration file.
+ * config/mot/ : contains all dls and sls file. You need to create FIFO FILE with mkfifo for eatch radio (mkfifo /home/odr/config/mot/f3.pad)
-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.
+About encoder and mot-encoder
+-----------------
-How to get started
-------------------
+Encoder (toolame-dab or dabplus-enc) write ICY-text into a text file. You need to create this file at first for each radio :
+ * touch /home/odr/config/mot/f3.txt
-The examplesite/ folder should be taken as a template to create a new site, it
-contains all needed files.
+mot-encoder read ICY-text information from previous text file and write into pad file. This pad file need to be a FIFO and you need to create it for each radio :
+ * mkfifo /home/odr/config/mot/f3.pad
- * 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*
+If you use Slide Show, you can put your image into the directory under mot folder corresponding to the radio (example: /home/odr/config/mot/f3/)
-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-libvlc.sh* is the newest addition: it launches an encoder using the
-integrated libVLC input that can directly connect to a web-stream. There is
-no DLS support yet.
-
-*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.
+About supervisor
+----------------
-*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*.
+You need to create sym link into /etc/supervisor/conf.d/ for eatch radio configuration file and call supervisorctl to reread and update configuration.
+Example :
+ * sudo ln -s /home/odr/config/supervisor/f3.conf /etc/supervisor/conf.d/f3.conf
+ * sudo supervisorctl reread
+ * sudo supervisorctl update
+All services are launch from supervisor.
-Additional remarks
-------------------
+To show status of all services :
+ * sudo supervisorctl status
-For a rate of 48kHz, the RATE parameters in the *encode-XYZ.sh* script must be
-changed.
+To [stop|start|restart] a service :
+ * sudo supervisorctl [stop|start|restart] service-name
+To apply change after change anything in /home/odr/config/supervisor/ file you need to call supervisor to reread and update configuration.
+ * sudo supervisorctl reread
+ * sudo supervisorctl update