diff options
Diffstat (limited to 'README.md')
-rw-r--r-- | README.md | 114 |
1 files changed, 30 insertions, 84 deletions
@@ -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 |