odr-audioenc - DAB and DAB+ audio encoder
ODR-AudioEnc is an audio encoder for both DAB and DAB+ that
integrates into the ODR-mmbTools. The encoder can read from JACK, ALSA, a
file source, libvlc or GStreamer and encode to an EDI and ZeroMQ output
compatible with ODR-DabMux. Several usage scenarios are outlined in the
README located in /usr/share/doc/odr-audioenc.
The -D option enables sound card clock drift compensation.
A consumer sound card has a clock that is always a bit imprecise, and would
drift off slowly. Drift compensation can make sure that the encoding rate is
correct by inserting or deleting audio samples. It can be used for both ALSA
and VLC inputs and requires a system clock synchronised using NTP. When this
option is enabled, you will see U and O printed in the console. These
correspond to audio underruns and overruns caused by sound card clock drift.
When sparse, they should not create audible artifacts.
This encoder is able to insert PAD (DLS and MOT Slideshow)
generated by ODR-PadEnc, and communicates using a UNIX socket.
- -h, --help
- Print this help text and exit
- --version
- Print program version and exit
- -D,
--drift-comp
- Enable ALSA/VLC sound card drift compensation.
- -v,
--vlc-uri=URI
- Enable VLC input and use the URI given as source
- -C,
--vlc-cache=MS
- Specify VLC network cache length.
- -g,
--audio-gain=DB
- Apply audio gain correction in dB to source, negative values allowed. Use
this as a workaround to correct the gain for streams that are much too
loud.
- -V
- Increase the VLC verbosity by one (can be given multiple times)
- -L OPTION
- Give an additional options to VLC (can be given multiple times)
- -o,
--output=URI
- Output ZMQ uri. (e.g. 'tcp://localhost:9000') -or- Output file uri.
(e.g. 'file.dabp') -or- a single dash '-' to denote stdout. If more
than one ZMQ output is given, the socket will be connected to all listed
endpoints.
- -k,
--secret-key=FILE
- Enable ZMQ encryption with the given secret key.
- -e,
--edi=URI
- EDI output uri, (e.g. 'tcp://localhost:7000')
- --fec=FEC
- Set EDI output FEC
- -T,
--timestamp-delay=DELAY_MS
- Enabled timestamps in EDI (requires TAI clock bulletin download) and add a
delay (in milliseconds) to the timestamps carried in EDI
- -w,
--write-icy-text=FILENAME
- Write the ICY Text into the file, so that ODR-PadEnc can read it.
- -W,
--write-icy-text-dl-plus
- When writing the ICY Text into the file, add DL Plus information.
- --identifier=ID
- An identifier string that is sent in the ODRv EDI TAG. Max 32 characters
length.
- --startup-check=SCRIPT_PATH
- Before starting, run the given script, and only start if it returns
0.
- -p,
--pad=BYTES
- Enable PAD insertion and set PAD size in bytes.
- -P,
--pad-socket=IDENTIFIER
- Use the given identifier to communicate with ODR-PadEnc.
- -l, --level
- Show peak audio level indication.
- -S,
--stats=SOCKET_NAME
- Connect to the specified UNIX Datagram socket and send statistics. This
allows external tools to collect audio and drift compensation stats.
- -s,
--silence=TIMEOUT
- Abort encoding after TIMEOUT seconds of silence.
Originally written by Robin Alexander
<robin.alexander@netplus.ch>.
odr-padenc(1), odr-dabmux(1)