-
Notifications
You must be signed in to change notification settings - Fork 8
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #4 from Opendigitalradio/next
Version 3.1.0
- Loading branch information
Showing
14 changed files
with
512 additions
and
99 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,42 @@ | ||
# Introduction | ||
[Docker](https://www.docker.com) packages software into standardized units for development, shipment and deployment. | ||
|
||
This folder brings you the files needed to run the encoders (audio and PAD), the multiplexer and the modulator through containers. 3 docker images are available from the [docker registry](https://hub.docker.com). They can be ran on amd64, arm64 and arm/v7 architectures: | ||
- [opendigitalradio/encoders](https://hub.docker.com/r/opendigitalradio/encoders) | ||
- [opendigitalradio/dabmux](https://hub.docker.com/r/opendigitalradio/dabmux) | ||
- [opendigitalradio/dabmod](https://hub.docker.com/r/opendigitalradio/dabmod) | ||
|
||
# One-time setup | ||
1. Install Docker on the host that will run the containers | ||
1. Clone this repository or copy the dab-scripts/docker directory on the host | ||
1. Adapt file `config/odr-dabmod.ini` to match your transceiver hardware and local RF spectrum | ||
1. Adapt file `odr.env` to suit your configuration. Then run the following command: | ||
``` | ||
source odr.env | ||
``` | ||
# Customized setup (changing the sample configuration) | ||
1. Adapt file `config/ODR-encoders.conf` to suit your needs | ||
1. Adapt file `config/odr-dabmux.info` to match the content of file `config/ODR-encoders.conf` | ||
1. Adapt the structure of directory `config/mot` to match the content of file `config/ODR-encoders.conf` | ||
# Operations | ||
1. Create a docker volume, named `odr` with the configuration files: | ||
``` | ||
docker run \ | ||
--interactive \ | ||
--tty \ | ||
--rm \ | ||
--volume $(pwd)/config:/mnt/source \ | ||
--volume odr:/mnt/dest \ | ||
ubuntu:22.04 \ | ||
bash -c "cd /mnt/source ; cp -R * /mnt/dest" | ||
``` | ||
1. Start broadcasting the DAB/DAB+ ensemble (3 containers, named `odr-encoders`, `odr-dabmux` and `odr-dabmod`) | ||
``` | ||
docker compose up --detach | ||
``` | ||
1. Stop broadcasting the DAB/DAB+ ensemble | ||
``` | ||
docker compose down | ||
``` |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,50 @@ | ||
services: | ||
|
||
encoders: | ||
image: opendigitalradio/encoders | ||
container_name: odr-encoders | ||
depends_on: | ||
- multiplexer | ||
environment: | ||
- TZ=${TZ} | ||
ports: | ||
- "8001:8001" | ||
volumes: | ||
- "odr:/config" | ||
command: /config | ||
|
||
multiplexer: | ||
image: opendigitalradio/dabmux | ||
container_name: odr-dabmux | ||
environment: | ||
- TZ=${TZ} | ||
ports: | ||
- "9001-9016:9001-9016" | ||
- "9201:9201" | ||
- "12720-12722:12720-12722" | ||
volumes: | ||
- "odr:/config" | ||
command: /config/odr-dabmux.info | ||
|
||
modulator: | ||
image: opendigitalradio/dabmod | ||
container_name: odr-dabmod | ||
depends_on: | ||
- multiplexer | ||
environment: | ||
- TZ=${TZ} | ||
ports: | ||
- "9400:9400" | ||
volumes: | ||
- "odr:/config" | ||
devices: | ||
- "${MOD_DEV}" | ||
command: /config/odr-dabmod.ini | ||
|
||
networks: | ||
odr: | ||
external: true | ||
|
||
volumes: | ||
odr: | ||
external: true |
Empty file.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Empty file.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,41 @@ | ||
[remotecontrol] | ||
telnet=0 | ||
telnetport=2121 | ||
zmqctrl=0 | ||
zmqctrlendpoint=tcp://0.0.0.0:9400 | ||
|
||
[log] | ||
syslog=0 | ||
filelog=0 | ||
filename=odr-dabmod.log | ||
|
||
[input] | ||
transport=edi | ||
source=tcp://odr-dabmux:9201 | ||
|
||
[modulator] | ||
gainmode=var | ||
digital_gain=0.8 | ||
rate=4096000 | ||
|
||
[cfr] | ||
enable=0 | ||
clip=50.0 | ||
error_clip=0.1 | ||
|
||
[firfilter] | ||
enabled=1 | ||
|
||
[poly] | ||
enabled=0 | ||
polycoeffile=polyCoefs | ||
|
||
[output] | ||
output=soapysdr | ||
|
||
[soapyoutput] | ||
device=driver=hackrf | ||
master_clock_rate=32768000 | ||
txgain=23 | ||
channel=5A | ||
bandwidth=1750000 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,99 @@ | ||
general { | ||
dabmode 1 | ||
nbframes 0 | ||
syslog false | ||
tist false | ||
managementport 12720 | ||
} | ||
|
||
remotecontrol { | ||
telnetport 12721 | ||
zmqendpoint tcp://lo:12722 | ||
} | ||
|
||
ensemble { | ||
id 0x4fff | ||
ecc 0xe1 | ||
local-time-offset auto | ||
international-table 1 | ||
reconfig-counter hash | ||
label "Micro DAB" | ||
shortlabel "M DAB" | ||
} | ||
|
||
services { | ||
srv-01 { | ||
id 0xb1c7 | ||
ecc 0xe2 | ||
label "RADIO MONACO" | ||
shortlabel "MONACO" | ||
pty 10 | ||
pty-sd static | ||
language 0x0f | ||
} | ||
srv-02 { | ||
id 0xc479 | ||
ecc 0xe1 | ||
label "CAPITAL LONDON" | ||
shortlabel "CAPITAL" | ||
pty 10 | ||
pty-sd static | ||
language 0x09 | ||
} | ||
} | ||
|
||
subchannels { | ||
sub-01 { | ||
type dabplus | ||
bitrate 128 | ||
id 1 | ||
protection 3 | ||
inputproto edi | ||
inputuri "tcp://0.0.0.0:9001" | ||
buffer-management prebuffering | ||
buffer 40 | ||
prebuffering 20 | ||
} | ||
sub-02 { | ||
type dabplus | ||
bitrate 128 | ||
id 2 | ||
protection 3 | ||
inputproto edi | ||
inputuri "tcp://0.0.0.0:9002" | ||
buffer-management prebuffering | ||
buffer 40 | ||
prebuffering 20 | ||
} | ||
} | ||
|
||
components { | ||
comp-01 { | ||
service srv-01 | ||
subchannel sub-01 | ||
user-applications { | ||
userapp "slideshow" | ||
} | ||
} | ||
comp-02 { | ||
service srv-02 | ||
subchannel sub-02 | ||
user-applications { | ||
userapp "slideshow" | ||
} | ||
} | ||
} | ||
|
||
outputs { | ||
edi { | ||
destinations { | ||
edi_tcp { | ||
protocol tcp | ||
listenport 9201 | ||
} | ||
} | ||
} | ||
|
||
; Throttle output to real-time (one ETI frame every 24ms) | ||
throttle "simul://" | ||
} |
Oops, something went wrong.