diff options
Diffstat (limited to 'README.md')
| -rw-r--r-- | README.md | 100 |
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. + |
