diff options
| -rw-r--r-- | README.md | 114 | ||||
| -rw-r--r-- | config/mod.conf | 244 | ||||
| -rw-r--r-- | config/mot/bbc1.txt | 0 | ||||
| -rw-r--r-- | config/mot/f3.txt | 0 | ||||
| -rw-r--r-- | config/mot/fip.txt | 0 | ||||
| -rw-r--r-- | config/mot/maxxima.txt | 0 | ||||
| -rw-r--r-- | config/mux.conf | 342 | ||||
| -rw-r--r-- | config/supervisor/encoder-bbc1.conf | 7 | ||||
| -rw-r--r-- | config/supervisor/encoder-f3.conf | 7 | ||||
| -rw-r--r-- | config/supervisor/encoder-fip.conf | 7 | ||||
| -rw-r--r-- | config/supervisor/encoder-maxxima.conf | 7 | ||||
| -rw-r--r-- | config/supervisor/mod.conf | 7 | ||||
| -rw-r--r-- | config/supervisor/mux.conf | 7 | 
13 files changed, 658 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 diff --git a/config/mod.conf b/config/mod.conf new file mode 100644 index 0000000..9c5cf07 --- /dev/null +++ b/config/mod.conf @@ -0,0 +1,244 @@ +; Sample configuration file for ODR-DabMod + +[remotecontrol] +; enable the telnet remote control on localhost:2121 +; Since this is totally unsecure telnet, the software +; will only listen on the local loopback interface. +; To get secure remote access, use SSH port forwarding +telnet=1 +telnetport=2121 + +; Enable zmq remote control. +; The zmq remote control is intended for machine-to-machine +; integration and requires that ODR-DabMod is built with zmq support. +; The zmq remote control may run in parallel with Telnet. +; +; Protocol: +; ODR-DabMod binds a zmq rep socket so clients must connect +; using either req or dealer socket. +; [] denotes message part as zmq multi-part message are used for delimitation. +; All message parts are utf-8 encoded strings and match the Telnet command set. +; Explicit codes are denoted with "". +; The following commands are supported: +; REQ: ["ping"] +; REP: ["ok"] +; +; REQ: ["get"][module name][parameter] +; REP: [value] _OR_ ["fail"][error description] +; +; REQ: ["set"][module name][parameter][value] +; REP: ["ok"] _OR_ ["fail"][error description] +zmqctrl=0 +zmqctrlendpoint=tcp://127.0.0.1:9400 + +[log] +; Write to a logfile or to syslog. +; Setting filename to stderr is very useful during tests and development +syslog=0 +filelog=1 +filename=/dev/stderr + +[input] +; A file or fifo input is using transport=file +;transport=file +;source=/dev/stdin + +; When the end of file is reached, it is possible to rewind it +;loop=0 + +; When recieving data using ZeroMQ, the source is the URI to be used +transport=zeromq +source=tcp://localhost:9050 +; The option max_frames_queued defines the maximum number of ETI frames +; that can be in the input queue +max_frames_queued=100 + +[modulator] +; Gain mode: 0=FIX, 1=MAX, 2=VAR +; +;   Mode 0 (FIX) uses a fixed factor and is really not recommended. It is more +; useful on an academic perspective for people trying to understand the DAB +; modulation. +; +;   Mode 1 (MAX) is the normalization of every OFDM symbol. No overshoot, no +; truncating, but varying output power (around 3dB) which might not be the best +; for some power amplifier. The output samples are limited to a magnitude +; of 32768. +; +;   Mode 2 (VAR) uses the method specified in ETSI 300 798. This method +; normalizes to 4 times the standard deviation for an approximation of the RMS +; power. So around 6/100000 samples will be truncated and will introduce some +; really minor distortion. But this mode also maximizes the output power. This +; is the gain mode recommended for real world operation as it is based on a DAB +; standard; the only difference is that ODR-DabMod uses a better resolution +; with 16 bits instead of 8 bits. +gainmode=2 + +; Transmission mode +; If not defined, take the mode from ETI +mode=1 + +; The digital gain is a value that is multiplied to each sample. It is used +; to tune the chain to make sure that no non-linearities appear up to the +; USRP daughterboard programmable gain amplifier (PGA). +; If there is clipping, the spectral quality of the signal will quickly deteriorate, +; and wide-band noise will be generated. +; +; Be aware that there is a dependency with resampling. +digital_gain=0.8 + +; Output sample rate. Values other than 2048000 enable +; resampling. +; Warning! digital_gain settings are different if resampling +; is enabled or not ! +rate=2048000 + +; CIC equaliser for USRP1 and USRP2 +; Set to 0 to disable CicEqualiser +; when set to 400000000, an additional USRP2 check is enabled. +; See DabModulator.cpp line 186 +dac_clk_rate=0 + +; The USRP1 does not have flexible clocking, you will need +;rate=3200000 +; and +;dac_clk_rate=128000000 + +[firfilter] +; The FIR Filter can be used to create a better spectral quality. +; The filter taps can be calculated with the python script +; doc/fir-filter/generate-filter.py +enabled=0 +filtertapsfile=simple_taps.txt + +[output] +; choose output: possible values: uhd, file, zmq +output=uhd + +[fileoutput] +; Two output formats are supported: In the default mode, +; the file output writes I/Q float values (i.e. complex float) +; to the file. The I and Q samples can take values up to +; 100000 in absolute magnitude with gainmode FIX. +; With gainmode VAR, they should never exceed 50000. +; With gainmode MAX, thet are limited to 32767. +;format=complexf +; +; When the format is set to s8, the output writes I/Q 8-bit +; signed integers, where the magnitude is multiplied by 128/50000 +; effectively mapping the gainmode VAR range of -50000 -- 50000 +; to -128 -- 128. For other gainmodes, use the digital_gain setting +; to make sure you don't create clipping. +;format=s8 + +; The output file: +;filename=/dev/stdout + +[uhdoutput] +; The UHD output can be directly used with the Ettus USRP devices +; +; You have to set master_clock_rate to a multiple of the +; sample_rate. Ideally, it should be +;   master_clock_rate = 4 * sample_rate +; or even a higher factor. +; +; Settings for a USRP B100: +;device= +; you can put additional UHD device settings here +;master_clock_rate=32768000 +;type=b100 +;txgain=2.0 +; Try first with small gain values +; Also set rate to 2048000 + +; For the B200 +; More information and measurements available on: +; http://wiki.opendigitalradio.org/index.php/USRP_B200_Measurements +; +; Settings: +device= +master_clock_rate=32768000 +type=b200 +txgain=40 +; The B200 needs larger gains (up to 89dB) but, +; "Gain settings are application specific, but it is recommended that users +; consider using at least half of the available gain to get reasonable dynamic +; range." +;    From the B200 User Manual +;    http://files.ettus.com/uhd_docs/manual/html/usrp_b200.html + + +; For the USRP1 +;device= +;type=usrp1 +; the usrp1 can have two daughterboards, the subdevice parameter allows you +; to choose which one to use +;subdevice=A:0 +; The USRP1 doesn't support master_clock_rate, you need to enable resamping + + +; You must specify either frequency or channel, but not both. +;frequency=234208000 +channel=13C + +; The reference clock to use. The gpsdo is the ODR LEA-M8F board, the +; official Ettus GPSDO is selected with gpsdo-ettus +; possible values : internal, external, MIMO, gpsdo, gpsdo-ettus +refclk_source=internal + +; The reference one pulse-per second to use +; possible values : none, external, MIMO, gpsdo +pps_source=none + +; Behaviour when external clock reference lock lost +; possible values: ignore, crash +behaviour_refclk_lock_lost=ignore + +; The maximum accepted holdover time for the gpsdo. +; Valid only if the refclk and pps_source are set to gpsdo. +; This value is also used for the initial lock check, and must +; be at least a minute so that the GPSOD has enough time to lock +; and to start disciplining its oscillator. +; Units: seconds +; Set to 0 to disable holdover check +; default value: 0 +max_gps_holdover_time=600 + +; section defining ZeroMQ output properties +[zmqoutput] + +; on which port to listen for connections +; please see the Transports section in man zmq +; for more informat io the syntax +listen=tcp://*:54001 + +; what ZMQ socket type to use. Valid values: PUB, REP +; Please see man zmq_socket for documentation +socket_type=pub + +; Used for SFN with the UHD output +[delaymanagement] + +; Enable handling of timestamps for SFN +synchronous=0 + +; Whether to mute the TX when incoming frames have no timestamp +mutenotimestamps=0 + +; This offset is added to the TIST, and the sum defines the +; TX time of the transmission frame. It can by changed at runtime +; through the remote control. +offset=0.002 + +; The previous static vs dynamic offset distinction, and reading the +; modulatoroffset from a file has been removed. + +[tii] +; (experimental) +; If these options are set, TII transmission is enabled. +; DAB modes I and II are supported, and must be set explicitly in +; this file. Reading DAB mode from ETI is not supported. +enable=0 +comb=16 +pattern=3 + diff --git a/config/mot/bbc1.txt b/config/mot/bbc1.txt new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/config/mot/bbc1.txt diff --git a/config/mot/f3.txt b/config/mot/f3.txt new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/config/mot/f3.txt diff --git a/config/mot/fip.txt b/config/mot/fip.txt new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/config/mot/fip.txt diff --git a/config/mot/maxxima.txt b/config/mot/maxxima.txt new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/config/mot/maxxima.txt diff --git a/config/mux.conf b/config/mux.conf new file mode 100644 index 0000000..0fec378 --- /dev/null +++ b/config/mux.conf @@ -0,0 +1,342 @@ +; This is the official configuration file example that +; serves as documentation for the config file reader. +; More information about the usage of the tools is available +; in the guide, which can be found on the +; www.opendigitalradio.org website. +; +; As you can see, comments are defined by semicolons. +; +; The format is called INFO format, and defined by boost property_tree: +; http://www.boost.org/doc/libs/1_41_0/doc/html/boost_propertytree/parsers.html#boost_propertytree.parsers.info_parser + +; It consists of six mandatory sections, whose relative order in this +; file are of no importance. + +; The general section defines global multiplex parameters. +general { +    ; the DAB Transmission mode (values 1-4 accepted) +    dabmode 1 + +    ; the number of ETI frames to generate (set to 0 to get an unlimited number) +    nbframes 0 + +    ; boolean fileds can accept either false or true as values: + +    ; Enable logging to syslog +    syslog false + +    ; Write the SCCA field useful for the Factum ETI analyser +    writescca false + +    ; Enable timestamp definition necessary for SFN +    ; This also enables time encoding using the MNSC. +    tist false + +    ; The management server is a simple TCP server that can present +    ; statistics data (buffers, overruns, underruns, etc) +    ; which can then be graphed a tool like Munin +    ; The doc/stats_dabmux_multi.py tool is a suitable +    ; plugin for that. +    ; If the port is zero, or the line commented, the server +    ; is not started. +    managementport 12720 + +    ; FIG Carousel +    ; Set this to true to use the new FIG carousel implementation, +    ; which makes better usage of the FIB space. +    new_fig_carousel false +} + +remotecontrol { +    ; enable the telnet remote control server on the given port +    ; This server allows you to read and define parameters that +    ; some features export. It is only accessible from localhost. +    ; Set the port to 0 to disable the server +    telnetport 12721 + +    ; the remote control server makes use of the unique identifiers +    ; for the subchannels, services and components. Make sure you +    ; chose them so that you can identify them. +} + +; Some ensemble parameters +ensemble { +    id 0x4fff ; you can also use decimal if you want +    ecc 0xec ; Extended Country Code + +    local-time-offset auto  ; autmatically calculate from system local time +                            ; or +    ;local-time-offset 1    ; in hours, supports half-hour offsets + +    international-table 1 ; See TS 101 756 clause 5.7 +                          ; 1 corresponds to the PTy used in RDS +                          ; 2 corresponds to program types used in north america + +    ; all labels are maximum 16 characters in length +    label "TuxMux" +    ; The short label is built from the label by erasing letters, and cannot +    ; be longer than 8 characters. If omitted, it will be truncated from the +    ; label +    shortlabel "TxMux" + +    ; Announcement settings for FIG0/19 +    announcements { +        test_announcement { +            cluster 1 +            flags { +                Traffic true +            } + +            subchannel sub-f3 +        } +    } +} + +; Definition of DAB services +services { +    ; Each service has it's own unique identifier, that is +    ; used throughout the configuration file and for the RC. +    srv-f3 { +        label "Frequence3" +        shortlabel "F3" +        pty 0 +        language 0 +        ; also supports id + +        ; List of announcement switching flags signalled in FIG 0/18 +        ; This lists all possible announcements. If one is left out, it is disabled. +        announcements { +            Alarm false +            Traffic true +            Travel false +            Warning false +            News false +            Weather false +            Event false +            Special false +            ProgrammeInfo false +            Sports false +            Finance false + +            ; a comma separated list of clusters in which the service belongs to +            clusters "1,2" +        } +    } +    srv-maxxima { +        label "Maxxima" +    } +    srv-fip { +        label "FIP" +    } +    srv-bbc1 { +        label "BBC1" +    } + +} + +; The subchannels are defined in the corresponding section. +; supported types are : audio, bridge, data, enhancedpacket, +;                       dabplus, dmb, packet, test +subchannels { +    sub-f3 { +        type dabplus +        inputfile "tcp://*:9001" +        bitrate 96 +        id 1 + +        ; type audio subchannels automatically use +        ; UEP, unless the bitrate is 8, 16, 24, 40 or 144kbit/s +        ; (EN 300 401 Clause 6.2.1) +        ; this can be overridden with the option protection-profile +        protection-profile EEP_A +        ; supported options: UEP (use only for type audio!) +        ;                    EEP_A (for all bitrates) +        ;                    EEP_B (bitrates multiple of 32kbit/s) + +        ; Set the protection level, possible values depend +        ; on the protection profile: +        ; UEP profile: 1 to 5; EEP profiles: 1 to 4 +        protection 2 +    } +    sub-maxxima { +        type dabplus +	inputfile "tcp://*:9002" +        bitrate 96 +        id 2 +	protection-profile EEP_A +        protection 2 +    } +    sub-fip { +        type dabplus +        inputfile "tcp://*:9003" +        bitrate 96 +        id 3 +	protection-profile EEP_A +        protection 3 + +        ; ZMQ specific options, mandatory: + +        ; Maximum size of input buffer, in AAC frames (24ms) +        ; when this buffer size is reached, some frames will be +        ; discarded to get the size again below this value. +        ; As the present implementation discards entire AAC superframes, +        ; (5 frames = 120ms) the effect will clearly be audible. +        zmq-buffer 40 + +        ; At startup or after an underrun, the buffer is filled to this +        ; amount of AAC frames before streaming starts. +        zmq-prebuffering 20 +    } + +    sub-bbc1 { +        type audio +        ; for audio types, you can use the ZeroMQ input (if compiled in) +        ; with the following configuration in combination with +        ; toolame-dab +        ; +        ; Support for toolame-dab is not as good as with fdk-aac-dabplus +        inputfile "tcp://*:9004" +        bitrate 128 +        id 4 +        protection 1 + +        ; The options are the same as for dabplus +        zmq-buffer 40 +        zmq-prebuffering 20 +    } +} + +; For now, each component links one service to one subchannel +components { +    ; the component unique identifiers are used for the RC. +    comp-f3 { +        ; specifies audio -or- packet type, defaults to zero when not given +        ; audio: foreground=0, background=1, multi-channel=2 +        ; data: unspecified=0, TMC=1, EWS=2, ITTS=3, paging=4, TDC=5, IP=59, MOT=60, proprietary=61 +        type 0 + +        ; According to specification, you should not define component labels if +        ; the service is only used in one component. The service label is sufficient +        ; in that case. +        ;label "Frequence3" +        ;shortlabel "F3" +        service srv-f3 +        subchannel sub-f3 + +        ; for audio components, the field +        figtype 0x2 +        ; defines the User Application Type according to TS 101 756 Table 16: +        ; 0x2   : MOT Slideshow +        ; 0x3   : MOT Broadcast Web Site +        ; 0x4   : TPEG +        ; 0x5   : DGPS +        ; 0x6   : TMC +        ; 0x7   : EPG +        ; 0x8   : DAB Java +        ; 0x44a : Journaline +        ; If not defined, the FIG 0/13 is not transmitted for this component + +        ; for packet components, the fields +        ; "user application type in FIG 0/13 for packet mode" +        ;figtype +        ; and the packet address (mandatory) +        ;address +        ; are supported, with the same syntax as in the manpage. +        ; FIG 0/13 is only transmitted when figtype is defined. +        ; The -d option on the command line is: +        ;datagroup (true|false) +        ; and defaults to false. +    } + +    comp-maxxima { +        service srv-maxxima +        subchannel sub-maxxima + +        figtype 0x2 +    } + +    comp-fip { +        service srv-fip +        subchannel sub-fip + +        figtype 0x2 +    } + +    comp-bbc1 { +        service srv-bbc1 +        subchannel sub-bcc1 + +        figtype 0x2 +    } +} + +; A list of outputs, in the format +; unique-id "uri" +outputs { +    ; The unique-id has no signification. It can be used by the +    ; remote control or the statistics server to identify the +    ; output + +    ;supported output types for file and fifo outputs are +    ; raw, framed and streamed +    ; +    ; Please see doc/dab_output_formats.txt +    ;stdout "fifo:///dev/stdout?type=raw" + +    ; ZeroMQ output example +    ; Listen on all interfaces, on port 9050 +    zmq  "zmq+tcp://*:9050" + +    ; Throttle output to real-time (one ETI frame every 24ms) +    throttle "simul://" + +    ; The edi output has a different syntax +    ;edi { +    ;    ; example for unicast EDI +    ;    ;destination "192.168.23.23" +    ;    ; for unicast EDI, do not set source + +    ;    ; example for multicast EDI, the source IP is required +    ;   ; so that the data is sent on the correct ethernet interface +    ;   destination "232.20.10.1" +    ;   source      "192.168.0.50" +    ;   ; The multicast TTL has to be adapted according to your network +    ;   ttl 1 + +    ;   ; The settings below apply to both unicast and multicast + +    ;   ; EDI uses the UDP protocol +    ;   port        12000 +    ;   sourceport  13000 + +    ;   ; Enable the PFT subsystem. If false, AFPackets are sent. +    ;   enable_pft  true + +    ;   ; How many lost fragments can be recovered by Reed-Solomon +    ;   fec         2 + +    ;   ; Length of a RS chunk, can be overriden +    ;   ;default=207 +    ;   ;chunk_len   207 + +    ;   ; Save the packets sent over ethernet to the file ./edi.debug +    ;   dump        false + +    ;   ; show more debugging info +    ;   verbose     false + +    ;   ; (optional) set the kind of alignment to use in TAG Packets +    ;   ; 0: no padding +    ;   ; 8: pad to eight bytes (default) +    ;   ; above 8: insert *dmy TAG Item to pad to given size in bytes +    ;   ;tagpacket_alignment 8 +    ; + +    ; Other outputs: +    ; TCP listen on port +    ;net "tcp://host:port" +    ; UDP send to host:port +    ;net "ucp://host:port" +    ; RAW (for farsync ETI card) +    ;farsync "raw://device" +} diff --git a/config/supervisor/encoder-bbc1.conf b/config/supervisor/encoder-bbc1.conf new file mode 100644 index 0000000..e3e3637 --- /dev/null +++ b/config/supervisor/encoder-bbc1.conf @@ -0,0 +1,7 @@ +[program:encoder-bbc1] +command=/usr/local/bin/toolame-dab -s 48 -V http://bbcmedia.ic.llnwd.net/stream/bbcmedia_radio1_mf_p -b 128 -W /home/odr/config/mot/bbc1.txt -p 34 -P /home/odr/config/mot/maxxima.txt tcp://127.0.0.1:9004 +autostart=false +autorestart=true +priority=10 +stderr_logfile=/var/log/supervisor/encoder-bbc1.log +stdout_logfile=/var/log/supervisor/encoder-bbc1.log diff --git a/config/supervisor/encoder-f3.conf b/config/supervisor/encoder-f3.conf new file mode 100644 index 0000000..9fca153 --- /dev/null +++ b/config/supervisor/encoder-f3.conf @@ -0,0 +1,7 @@ +[program:encoder-f3] +command=/usr/local/bin/dabplus-enc --vlc-uri=http://ice.stream.frequence3.net/frequence3-128.mp3 -b 96 -r 48000 --sbr -o tcp://127.0.0.1:9001 --pad=58 --pad-fifo=/home/odr/config/mot/f3.pad --write-icy-text=/home/odr/config/mot/f3.txt +autostart=false +autorestart=true +priority=10 +stderr_logfile=/var/log/supervisor/encoder-f3.log +stdout_logfile=/var/log/supervisor/encoder-f3.log diff --git a/config/supervisor/encoder-fip.conf b/config/supervisor/encoder-fip.conf new file mode 100644 index 0000000..3d91f62 --- /dev/null +++ b/config/supervisor/encoder-fip.conf @@ -0,0 +1,7 @@ +[program:encoder-fip] +command=/usr/local/bin/dabplus-enc --vlc-uri=http://audio.scdn.arkena.com/11016/fip-midfi128.mp3 -b 96 -r 48000 --sbr -o tcp://127.0.0.1:9003 --pad=58 --pad-fifo=/home/odr/config/mot/fip.pad --write-icy-text=/home/odr/config/mot/fip.txt +autostart=false +autorestart=true +priority=10 +stderr_logfile=/var/log/supervisor/encoder-fip.log +stdout_logfile=/var/log/supervisor/encoder-fip.log diff --git a/config/supervisor/encoder-maxxima.conf b/config/supervisor/encoder-maxxima.conf new file mode 100644 index 0000000..2a8c805 --- /dev/null +++ b/config/supervisor/encoder-maxxima.conf @@ -0,0 +1,7 @@ +[program:encoder-maxxima] +command=/usr/local/bin/dabplus-enc --vlc-uri=http://maxxima.mine.nu:8000/ -b 96 -r 32000 --sbr -o tcp://127.0.0.1:9002 --pad=58 --pad-fifo=/home/odr/config/mot/maxxima.pad --write-icy-text=/home/odr/config/mot/maxxima.txt +autostart=false +autorestart=true +priority=10 +stderr_logfile=/var/log/supervisor/encoder-maxxima.log +stdout_logfile=/var/log/supervisor/encoder-maxxima.log diff --git a/config/supervisor/mod.conf b/config/supervisor/mod.conf new file mode 100644 index 0000000..1543abe --- /dev/null +++ b/config/supervisor/mod.conf @@ -0,0 +1,7 @@ +[program:mod] +command=/usr/local/bin/odr-dabmod -C /home/odr/config/mod.conf +autostart=false +autorestart=true +priority=1 +stderr_logfile=/var/log/supervisor/mod.log +stdout_logfile=/var/log/supervisor/mod.log diff --git a/config/supervisor/mux.conf b/config/supervisor/mux.conf new file mode 100644 index 0000000..c4a721e --- /dev/null +++ b/config/supervisor/mux.conf @@ -0,0 +1,7 @@ +[program:mux] +command=/usr/local/bin/odr-dabmux -e /home/odr/config/mux.conf +autostart=false +autorestart=true +priority=1 +stderr_logfile=/var/log/supervisor/mux.log +stdout_logfile=/var/log/supervisor/mux.log | 
