The fdk-aad-dabplus 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 first tool, dabplus-enc-file can encode from a file or pipe source, and encode into a file or pipe. There is no PAD support.
The dabplus-enc-file-zmq can encode from a file or pipe source, and encode 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.
dabplus-enc-file-zmq and dabplus-enc-alsa-zmq include experimental 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 for the encoder.
For detailed usage, see the usage screen of the different tools.
Its development is public : http://github.com/Opendigitalradio/fdk-aac-dabplus
The fdk-aac-dabplus package depends on libfec, boost-thread, boost-system, alsa and ZeroMQ. For instructions on how to install these, please see ODR-DabMux#Prerequisites
The mot-encoder needs ImageMagick's magick_wand to be able to resize pictures.
Several usage scenarios are shown in https://github.com/Opendigitalradio/fdk-aac-dabplus#how-to-use
In the case you are using ZeroMQ between the encoder and odr-dabmux, and you see errors that the size of the data is wrong, then the configured bitrate in the mux probably doesn't correspond to the bitrate given to the encoder. Make sure they are identical.
If you are using a pipe between the encoder and odr-dabmux, and you see a 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 has to be buffered before giving it to muxer, this additional buffer installed between encoder and fifo. To calculate proper block size for mbuffer ("-s" parameter), the table below may be used:
|DAB+ Stream bitrate, kbps||Block size, bytes|
In example above, for stream with bitrate 24 kbps, mbuffer size set to 360 bytes. This trick helping to solve problem.
The encoders were renamed at version 0.2.0. The aac-enc testing program disappeared, but it's code is still in src/. The aac-enc-dabplus and aac-enc-dabplus-zmq were renamed to dabplus-enc-file and dabplus-enc-file-zmq. dabplus-enc-alsa-zmq appeared in v0.2.0.
Some of the encode- scripts available in the mmbtools-aux repository still make use of the old names. They will be replaced/updated soon.