FDK-AAC-DABplus

From Opendigitalradio
Revision as of 18:45, 11 September 2013 by Tipok (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Installation

This is open-source version of DAB+ encoder.

To build DAB+ encoder, you need fec library from crc.ca website: http://mmbtools.crc.ca/content/view/39/65/, follw instrutcions to install it to the system. If you already build crc-dabmux, then this library is already installed. Next, download and build:

git clone https://github.com/piratfm/fdk-aac-dabplus.git
cd fdk-aac-dabplus
./bootstrap
./configure --enable-example
make
sudo make install


Encoding samples

After successful installation, DAB+ encoding may be used:

Live Stream enconding and preparing for DAB mux:

arecord -t raw -f S16_LE -c 2 -r 48000 -D plughw:CARD=Loopback,DEV=0,SUBDEV=0 | \
aac-enc-dabplus -b 24 -f raw -c 2 -r 48000 -i /dev/stdin -o /dev/stdout 2>/dev/null | \
mbuffer -q -m 10k -P 100 -s 360 > station1.fifo

Wave file enconding and preparing for crc-dabmux:

aac-enc-dabplus -a -b 64 -i wave_file.wav -o station1.dabp


Problems solving

If crc-dabmux generates lot of errors like this:

<2> ERROR: Incomplete DAB+ frame! 136 != 360
<5> reach end of file -> rewinding
<2> ERROR: Can't rewind file
<6> ETI frame number: 228

Then the stream have to be buffered before giving it to muxer. To make stream better for crc-dabmux, additional buffer between encoder and fifo is needed. To calculate proper block size to mbuffer "-s" param, table below may be used:

DAB+ Stream bitrate, kbps Block size, bytes
16 240
24 360
32 480
48 720
56 840
64 960
72 1080
128 1920
160 2400

In example above, for stream with bitrate 24 kbps, mbuffer size setted to 360 bytes. This trick heling to solve problem.

Personal tools