aboutsummaryrefslogtreecommitdiffstats
path: root/README.md
blob: 93e119010749fa9bc4123d836f4be030a8e8bb56 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
fdk-aac-dabplus
===============

A standalone library of the Fraunhofer FDK AAC code from Android, patched for
960-transform. Used for DAB+ broadcast encoding.

Also includes a version with a ODR-DabMux compatible ZeroMQ output.

There is experimental support for DAB MOT Slideshow and DLS, written by
CSP http://rd.csp.it


Usage:

    aac-enc-dabplus [OPTION...]
    
    -b, --bitrate={ 8, 16, ..., 192 }    Output bitrate in kbps. Must be multiple of 8.
    -i, --input=FILENAME                 Input filename (default: stdin).
    -o, --output=FILENAME                Output filename (default: stdout).
    -a, --afterburner                    Turn on AAC encoder quality increaser.
    -f, --format={ wav, raw }            Set input file format (default: wav).
    -c, --channels={ 1, 2 }              Nb of input channels for raw input (default: 2).
    -r, --rate={ 32000, 48000 }          Sample rate for raw input (default: 48000).


The encoder with ZeroMQ output has the same options as above,
but takes a zmq destination url as output

See
    aac-enc-dabplus-zmq -h


How to build
=============

Requirements:
* boost-thread and boost-system
* ImageMagick magickwand (for MOT slideshow)

* Download code and unpack it.
* Download and install libfec from https://github.com/Opendigitalradio/ka9q-fec
* do "./configure", then "make" and "make install"
* use aac-enc-dabplus or aac-enc-dabplus-zmq to encode live stream or file.
* use mot-encoder to encode images into MOT Slideshow


How to use
==========

Scenario 1
----------

Live Stream encoding and preparing for DAB muxer, with ZMQ output, at 32kHz, using sox.

    ALSASRC="default"
    DST="tcp://yourserver:9000"
    BITRATE=64

    sox -t alsa $ALSASRC -b 16 -t raw - rate 32k channels 2 | \
    ../fdk-aac-dabplus/aac-enc-dabplus-zmq -r 32000 \
    -i /dev/stdin -b $BITRATE -f raw -a -o $DST -p 4

Scenario 2
----------
Live Stream encoding and preparing for DAB muxer, with FIFO to odr-dabmux, 48kHz, using
arecord.

    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


Scenario 3
----------
Wave file encoding, for non-realtime processing

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

Usage of MOT Slideshow
======================

MOT Slideshow is an experimental feature. The mot-encoder reads images in the specified folder,
and generates the PAD data for the encoder. This is communicated through a unique fifo in /tmp,
therefore only one instance can run on a single machine.

Only aac-enc-dabplus-zmq inserts the PAD data from mot-encoder into the bitstream.

This is an ongoing development.