summaryrefslogtreecommitdiffstats
path: root/README.md
diff options
context:
space:
mode:
authorMatthias P. Braendli <matthias.braendli@mpb.li>2014-04-25 17:44:35 +0200
committerMatthias P. Braendli <matthias.braendli@mpb.li>2014-04-25 17:53:46 +0200
commite8221339254261e0841316d191abfc4eb1381f4b (patch)
tree88db9ed553da97a34a81beb204a547273a7afe6b /README.md
parentea592d8fb591ba469db360fb32d76d7fafb117d6 (diff)
downloadODR-AudioEnc-e8221339254261e0841316d191abfc4eb1381f4b.tar.gz
ODR-AudioEnc-e8221339254261e0841316d191abfc4eb1381f4b.tar.bz2
ODR-AudioEnc-e8221339254261e0841316d191abfc4eb1381f4b.zip
Prepare for v0.4.0v0.4.0
Diffstat (limited to 'README.md')
-rw-r--r--README.md44
1 files changed, 23 insertions, 21 deletions
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<number>** 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.
+