aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatthias P. Braendli <matthias.braendli@mpb.li>2016-09-09 15:07:50 +0200
committerMatthias P. Braendli <matthias.braendli@mpb.li>2016-09-10 20:16:09 +0200
commit114f153e6c1bc71e9f0ffc47abbce2e2c3803eb3 (patch)
treeef48b5bd71943a284f6f10a62c3be7d3c9c414d9
parent0c0840f432c081dff796999b8254866ff0cee6c5 (diff)
downloadODR-AudioEnc-114f153e6c1bc71e9f0ffc47abbce2e2c3803eb3.tar.gz
ODR-AudioEnc-114f153e6c1bc71e9f0ffc47abbce2e2c3803eb3.tar.bz2
ODR-AudioEnc-114f153e6c1bc71e9f0ffc47abbce2e2c3803eb3.zip
Remove some references to FDK
-rw-r--r--Doxyfile2
-rw-r--r--README.md44
-rw-r--r--libtoolame-dab/README.md2
-rw-r--r--src/VLCInput.h2
-rw-r--r--src/odr-audioencoder.cpp11
5 files changed, 27 insertions, 34 deletions
diff --git a/Doxyfile b/Doxyfile
index efae3a7..69047e8 100644
--- a/Doxyfile
+++ b/Doxyfile
@@ -1,7 +1,7 @@
# Doxyfile 1.8.11
DOXYFILE_ENCODING = UTF-8
-PROJECT_NAME = "FDK-AAC-DABplus"
+PROJECT_NAME = "ODR-AudioEncoder"
PROJECT_NUMBER = $(PROJECT_NUMBER)
PROJECT_BRIEF = "ODR-mmbTools DAB and DAB+ Audio Encoder"
diff --git a/README.md b/README.md
index c666ccd..8fa15c0 100644
--- a/README.md
+++ b/README.md
@@ -1,14 +1,14 @@
-FDK-AAC-DABplus Package
-=======================
+ODR-AudioEncoder Package
+========================
This package contains a DAB and DAB+ encoder that integrates into the
ODR-mmbTools.
The DAB encoder is based on toolame. The DAB+ encoder uses a modified library
of the Fraunhofer FDK AAC code from Android, patched for 960-transform to do
-DAB+ broadcast encoding.
+DAB+ broadcast encoding. FDK-AAC has to be supplied separately.
-The main tool is the *dabplus-enc* encoder, which can read audio from
+The main tool is the *odr-audioencoder* encoder, which can read audio from
a file (raw or wav), from an ALSA source, from JACK or using libVLC,
and encode to a file, a pipe, or to a ZeroMQ output compatible with ODR-DabMux.
@@ -22,7 +22,7 @@ The JACK input does not automatically connect to anything. The encoder runs
at the rate defined by the system clock, and therefore sound
card clock drift compensation is also used.
-*dabplus-enc* includes support for DAB MOT Slideshow and DLS, contributed by
+*odr-audioencoder* includes support for DAB MOT Slideshow and DLS, contributed by
[CSP](http://rd.csp.it).
To encode DLS and Slideshow data, the *mot-encoder* tool reads images
@@ -40,6 +40,7 @@ How to build
Requirements:
* A C++11 compiler
+* FDK-AAC with the DAB+ patches
* ImageMagick magickwand (optional, for MOT slideshow)
* Download and install libfec from https://github.com/Opendigitalradio/ka9q-fec
* Install ZeroMQ 4.0.4 or more recent
@@ -51,8 +52,6 @@ Requirements:
This package:
- git clone https://github.com/Opendigitalradio/fdk-aac-dabplus.git
- cd fdk-aac-dabplus
./bootstrap
./configure
make
@@ -91,7 +90,7 @@ and higher are using AAC-LC.
ZeroMQ output
-------------
-The ZeroMQ output included in FDK-AAC-DABplus is able to connect to
+The ZeroMQ output included in ODR-AudioEncoder is able to connect to
one or several instances of ODR-DabMux. The -o option can be used
more than once to achieve this.
@@ -99,17 +98,17 @@ Scenario *wav file for offline processing*
------------------------------------------
Wave file encoding, for non-realtime processing
- dabplus-enc -b $BITRATE -i wave_file.wav -o station1.dabp
+ odr-audioencoder -b $BITRATE -i wave_file.wav -o station1.dabp
Scenario *ALSA*
---------------
Live Stream from ALSA sound card at 32kHz, with ZMQ output for ODR-DabMux:
- dabplus-enc -d $ALSASRC -c 2 -r 32000 -b $BITRATE -o $DST -l
+ odr-audioencoder -d $ALSASRC -c 2 -r 32000 -b $BITRATE -o $DST -l
To enable sound card drift compensation, add the option **-D**:
- dabplus-enc -d $ALSASRC -c 2 -r 32000 -b $BITRATE -o $DST -D -l
+ odr-audioencoder -d $ALSASRC -c 2 -r 32000 -b $BITRATE -o $DST -D -l
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
@@ -121,7 +120,7 @@ Scenario *libVLC input for a webstream*
---------------------------------------
Read a webstream and send it to ODR-DabMux over ZMQ:
- dabplus-enc -v $URL -r 32000 -c 2 -o $DST -l -b $BITRATE
+ odr-audioencoder -v $URL -r 32000 -c 2 -o $DST -l -b $BITRATE
If you need to extract the ICY-Text information, e.g. for DLS, you can use the
**-w <filename>** option to write the ICY-Text into a file that can be read by
@@ -135,14 +134,14 @@ Scenario *JACK input*
JACK input: Instead of -i (file input) or -d (ALSA input), use -j *name*, where *name* specifies the JACK
name for the encoder:
- dabplus-enc -j myenc -l -b $BITRATE -f raw -o $DST
+ odr-audioencoder -j myenc -l -b $BITRATE -f raw -o $DST
The samplerate of the JACK server should be 32kHz or 48kHz.
Scenario *local file through snd-aloop*
---------------------------------------
Play some local audio source from a file, with ZMQ output for ODR-DabMux. The problem with
-playing a file is that *dabplus-enc* cannot directly be used, because ODR-DabMux
+playing a file is that *odr-audioencoder* 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
@@ -153,7 +152,7 @@ alsa virtual loop soundcard *snd-aloop* in the following way:
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.
- ./dabplus-enc -d hw:1 -c 2 -r 32000 -b 64 -o $DST -l
+ ./odr-audioencoder -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:
@@ -171,14 +170,14 @@ Live Stream resampling (to 32KHz) and encoding from FIFO and preparing for DAB m
using mplayer. If there are no data in FIFO, encoder generates silence.
mplayer -quiet -loop 0 -af resample=32000:nowaveheader,format=s16le,channels=2 -ao pcm:file=/tmp/aac.fifo:fast <FILE/URL> &
- dabplus-enc -l -f raw --fifo-silence -i /tmp/aac.fifo -r 32000 -c 2 -b 72 -o /dev/stdout \
+ odr-audioencoder -l -f raw --fifo-silence -i /tmp/aac.fifo -r 32000 -c 2 -b 72 -o /dev/stdout \
mbuffer -q -m 10k -P 100 -s 1080 > station1.fifo
*Note*: Do not use /dev/stdout for pcm output in mplayer. Mplayer log messages on stdout.
Return values
-------------
-dabplus-enc returns:
+odr-audioencoder returns:
* 0 if it encoded the whole input file
* 1 if some options were not understood, or encoder initialisation failed
@@ -210,7 +209,7 @@ the generated files are smaller than 50kB and not larger than 320x240 pixels.
Supported Encoders
------------------
-*dabplus-enc* can insert the PAD data from *mot-encoder* into the bitstream.
+*odr-audioencoder* can insert the PAD data from *mot-encoder* into the bitstream.
The mp2 encoder [Toolame-DAB](https://github.com/Opendigitalradio/toolame-dab)
can also read *mot-encoder* data.
@@ -254,17 +253,14 @@ ODR-DabMux v0.7.0 and later.
LICENCE
=======
-It's complicated. The FDK-AAC-DABplus project contains
+It's complicated. The ODR-AudioEncoder project contains
- - The Third-Party Modified Version of the Fraunhofer FDK AAC Codec Library for
- Android, which is under its own licence. See NOTICE. This is built into a
- shared library.
- - The code for dabplus-enc in src/ licensed under the Apache Licence v2.0. See
+ - The code for odr-audioencoder in src/ licensed under the Apache Licence v2.0. See
http://www.apache.org/licenses/LICENSE-2.0
- libtoolame-dab, derived from TooLAME, licensed under LGPL v2.1 or later. See
libtoolame-dab/LGPL.txt. This is built into a shared library.
-The dabplus-enc binary is linked agains the libtoolame-dab and fdk-aac-dabplus
+The odr-audioencoder binary is linked agains the libtoolame-dab and fdk-aac
shared libraries.
In addition to the audio encoder, there is also mot-encoder, containing code
diff --git a/libtoolame-dab/README.md b/libtoolame-dab/README.md
index f2e7d1a..0fa8cc6 100644
--- a/libtoolame-dab/README.md
+++ b/libtoolame-dab/README.md
@@ -78,7 +78,7 @@ Mike Cheng <mikecheng at NOT planckenergy.com> (remove the NOT)
Matthias P. Braendli <matthias@mpb.li>
PAD insertion for DLS and slides
- Integration into FDK-AAC-DABplus
+ Integration into ODR-AudioEncoder
REFERENCE PAPERS
================
diff --git a/src/VLCInput.h b/src/VLCInput.h
index da4b7ae..1d01d66 100644
--- a/src/VLCInput.h
+++ b/src/VLCInput.h
@@ -202,7 +202,7 @@ class VLCInput
/* The thread running process takes samples from m_queue and writes
* them into m_samplequeue. This decouples m_queue from m_samplequeue
- * which is directly used by dabplus-enc.cpp
+ * which is directly used by odr-audioencoder.cpp
*/
void process();
diff --git a/src/odr-audioencoder.cpp b/src/odr-audioencoder.cpp
index d98df64..80b7ae6 100644
--- a/src/odr-audioencoder.cpp
+++ b/src/odr-audioencoder.cpp
@@ -18,10 +18,10 @@
*/
/*! \mainpage Introduction
- * The ODR-mmbTools FDK-AAC-DABplus Audio encoder can encode audio for
+ * The ODR-mmbTools ODR-AudioEncoder Audio encoder can encode audio for
* ODR-DabMux, both DAB and DAB+. The DAB encoder is based on toolame. The
- * DAB+ encoder uses a modified library of the Fraunhofer FDK AAC code from
- * Android, patched for 960-transform to do DAB+ broadcast encoding.
+ * DAB+ encoder requires a the Fraunhofer FDK AAC library, with the
+ * necessary patches for 960-transform to do DAB+ broadcast encoding.
*
* This document describes some internals of the encoder, and is intended
* to help developers understand and improve the software package.
@@ -101,10 +101,7 @@ using namespace std;
void usage(const char* name) {
fprintf(stderr,
"ODR-AudioEncoder %s is an audio encoder for both DAB and DAB+.\n"
- "The DAB+ HE-AACv2 encoder is based on a Thirt-Party Modified\n"
- "Version of the Fraunhofer FDK AAC Codec Library for Android,\n"
- "and the DAB encoder is using the tooLAME MPEG\n"
- "encoder sources. The encoder can read from JACK, ALSA or\n"
+ "The encoder can read from JACK, ALSA or\n"
"a file source and encode to a ZeroMQ output for ODR-DabMux.\n"
"(Experimental!)It can also use libvlc as an input.\n"
"\n"