From e8221339254261e0841316d191abfc4eb1381f4b Mon Sep 17 00:00:00 2001 From: "Matthias P. Braendli" Date: Fri, 25 Apr 2014 17:44:35 +0200 Subject: Prepare for v0.4.0 --- ChangeLog | 14 ++++++++++++++ README.md | 44 +++++++++++++++++++++++--------------------- configure.ac | 2 +- 3 files changed, 38 insertions(+), 22 deletions(-) diff --git a/ChangeLog b/ChangeLog index d2cc12b..23141fd 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,17 @@ +2014-04-25: Matthias P. Braendli + (v0.4.0): + Merge of dabplus-enc-file-zmq and dabplus-enc-alsa-zmq + into dabplus-enc, that now supports ALSA input, + file input and output, and ZeroMQ output. + This gets rid of quite some duplicated code. + * dabplus-enc: + Support for ZeroMQ authentication. + Peak audio level indicator with -l option and + removal of the little dots. + New ZeroMQ message format. + * mot-encoder: + Acceleration of MOT Slideshow transfer. + 2014-03-29: Matthias P. Braendli (v0.3.0): MOT Slideshow and DLS support diff --git a/README.md b/README.md index e4a7400..87abc43 100644 --- a/README.md +++ b/README.md @@ -5,17 +5,15 @@ This package contains several tools that use the standalone library of the Fraunhofer FDK AAC code from Android, patched for 960-transform to do DAB+ broadcast encoding. -The *dabplus-enc-file-zmq* can encode from a file or pipe source, -and encode to a ZeroMQ output compatible with ODR-DabMux, to a -file or to stdout. +The main tool is the *dabplus-enc* encoder, which can encode from +a file (raw or wav) or from an ALSA source to a file or a pipe, and +to a ZeroMQ output compatible with ODR-DabMux. -The *dabplus-enc-alsa-zmq* can encode from an ALSA soundcard, -and encode to a ZeroMQ output compatible with ODR-DabMux. It supports -experimental sound card clock drift compensation, that can compensate -for imprecise sound card clocks. +The ALSA input supports experimental sound card clock drift compensation, that +can compensate for imprecise sound card clocks. -*dabplus-enc-file-zmq* and *dabplus-enc-alsa-zmq* include -support for DAB MOT Slideshow and DLS, written by [CSP](http://rd.csp.it). +*dabplus-enc* includes support for DAB MOT Slideshow and DLS, written by +[CSP](http://rd.csp.it). To encode DLS and Slideshow data, the *mot-encoder* tool reads images from a folder and DLS text from a file, and generates the PAD data @@ -53,7 +51,8 @@ This package: How to use ========== -We assume: +We assume that you have a ODR-DabMux configured for an ZeroMQ +input on port 9000. ALSASRC="default" DST="tcp://yourserver:9000" @@ -64,13 +63,13 @@ Scenario 1 Live Stream from ALSA sound card at 32kHz, with ZMQ output for ODR-DabMux: - dabplus-enc-alsa-zmq -d $ALSASRC -c 2 -r 32000 -b $BITRATE -o $DST + dabplus-enc -d $ALSASRC -c 2 -r 32000 -b $BITRATE -o $DST -l To enable sound card drift compensation, add the option **-D**: - dabplus-enc-alsa-zmq -d $ALSASRC -c 2 -r 32000 -b $BITRATE -o $DST -D + dabplus-enc -d $ALSASRC -c 2 -r 32000 -b $BITRATE -o $DST -D -l -You might see **U** and **O** appearing on the terminal. They correspond +You might see **U** and **O** appearing on the terminal. They correspond to audio underruns and overruns that happen due to the different speeds at which the audio is captured from the soundcard, and encoded into HE-AACv2. @@ -80,7 +79,7 @@ Scenario 2 ---------- Play some local audio source from a file, with ZMQ output for ODR-DabMux. The problem with -playing a file is that dabplus-enc-file-zmq cannot directly be used, because ODR-DabMux +playing a file is that *dabplus-enc* cannot directly be used, because ODR-DabMux does not back-pressure the encoder, which will therefore encode much faster than realtime. While this issue is sorted out, the following trick is a very flexible solution: use the @@ -89,9 +88,9 @@ alsa virtual loop soundcard *snd-aloop* in the following way: modprobe snd-aloop This creates a new audio card (usually 'hw:1' but have a look at /proc/asound/card to be sure) that -can then be used for the alsa encoder: +can then be used for the alsa encoder. - ./dabplus-enc-alsa-zmq -d hw:1 -c 2 -r 32000 -b 64 -o + ./dabplus-enc -d hw:1 -c 2 -r 32000 -b 64 -o $DST -l Then, you can use any media player that has an alsa output to play whatever source it supports: @@ -104,12 +103,12 @@ Important: you must specify the correct sample rate on both "sides" of the virtu Scenario 3 ---------- Live Stream encoding and preparing for DAB muxer, with ZMQ output, at 32kHz, using sox. -This illustrates the fifo input of *dabplus-enc-file-zmq*. +This illustrates the fifo input over standard input of *dabplus-enc*. sox -t alsa $ALSASRC -b 16 -t raw - rate 32k channels 2 | \ - dabplus-enc-file-zmq -r 32000 \ - -i /dev/stdin -b $BITRATE -f raw -a -o $DST -p 53 + dabplus-enc -r 32000 -l \ + -i - -b $BITRATE -f raw -a -o $DST -p 53 The -p 53 sets the padlen, compatible with the default mot-encoder setting. mot-encoder needs to be given the same value for this option. @@ -121,7 +120,7 @@ Live Stream encoding and preparing for DAB muxer, with FIFO to odr-dabmux, 48kHz arecord. arecord -t raw -f S16_LE -c 2 -r 48000 -D plughw:CARD=Loopback,DEV=0,SUBDEV=0 | \ - dabplus-enc-file-zmq -a -b 24 -f raw -c 2 -r 48000 -i /dev/stdin -o - | \ + dabplus-enc -l -a -b $BITRATE -f raw -c 2 -r 48000 -i /dev/stdin -o - | \ mbuffer -q -m 10k -P 100 -s 360 > station1.fifo Here we are using the ALSA plughw feature. @@ -130,7 +129,7 @@ Scenario 5 ---------- Wave file encoding, for non-realtime processing - dabplus-enc-file-zmq -a -b 64 -i wave_file.wav -o station1.dabp + dabplus-enc -a -b $BITRATE -i wave_file.wav -o station1.dabp Usage of MOT Slideshow and DLS @@ -160,3 +159,6 @@ Known Limitations *mot-encoder* encodes slides in a 10 second interval, which is not linked to the rate at which the encoder reads the PAD data. +Version 0.4.0 of the encoder changed the ZeroMQ framing. It will only work with +ODR-DabMux v0.7.0 and later. + diff --git a/configure.ac b/configure.ac index 4f5953c..6a78cf3 100644 --- a/configure.ac +++ b/configure.ac @@ -1,7 +1,7 @@ dnl -*- Autoconf -*- dnl Process this file with autoconf to produce a configure script. -AC_INIT([fdk-aac-dabplus], [0.3.0], [http://opendigitalradio.org/]) +AC_INIT([fdk-aac-dabplus], [0.4.0], [http://opendigitalradio.org/]) AC_CONFIG_AUX_DIR(.) AC_CONFIG_MACRO_DIR([m4]) AM_INIT_AUTOMAKE([tar-ustar foreign]) -- cgit v1.2.3