aboutsummaryrefslogtreecommitdiffstats
path: root/config/mux.conf
blob: 0fec378fcd551fa76ee8e3fbae9e032a854a406e (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
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
; This is the official configuration file example that
; serves as documentation for the config file reader.
; More information about the usage of the tools is available
; in the guide, which can be found on the
; www.opendigitalradio.org website.
;
; As you can see, comments are defined by semicolons.
;
; The format is called INFO format, and defined by boost property_tree:
; http://www.boost.org/doc/libs/1_41_0/doc/html/boost_propertytree/parsers.html#boost_propertytree.parsers.info_parser

; It consists of six mandatory sections, whose relative order in this
; file are of no importance.

; The general section defines global multiplex parameters.
general {
    ; the DAB Transmission mode (values 1-4 accepted)
    dabmode 1

    ; the number of ETI frames to generate (set to 0 to get an unlimited number)
    nbframes 0

    ; boolean fileds can accept either false or true as values:

    ; Enable logging to syslog
    syslog false

    ; Write the SCCA field useful for the Factum ETI analyser
    writescca false

    ; Enable timestamp definition necessary for SFN
    ; This also enables time encoding using the MNSC.
    tist false

    ; The management server is a simple TCP server that can present
    ; statistics data (buffers, overruns, underruns, etc)
    ; which can then be graphed a tool like Munin
    ; The doc/stats_dabmux_multi.py tool is a suitable
    ; plugin for that.
    ; If the port is zero, or the line commented, the server
    ; is not started.
    managementport 12720

    ; FIG Carousel
    ; Set this to true to use the new FIG carousel implementation,
    ; which makes better usage of the FIB space.
    new_fig_carousel false
}

remotecontrol {
    ; enable the telnet remote control server on the given port
    ; This server allows you to read and define parameters that
    ; some features export. It is only accessible from localhost.
    ; Set the port to 0 to disable the server
    telnetport 12721

    ; the remote control server makes use of the unique identifiers
    ; for the subchannels, services and components. Make sure you
    ; chose them so that you can identify them.
}

; Some ensemble parameters
ensemble {
    id 0x4fff ; you can also use decimal if you want
    ecc 0xec ; Extended Country Code

    local-time-offset auto  ; autmatically calculate from system local time
                            ; or
    ;local-time-offset 1    ; in hours, supports half-hour offsets

    international-table 1 ; See TS 101 756 clause 5.7
                          ; 1 corresponds to the PTy used in RDS
                          ; 2 corresponds to program types used in north america

    ; all labels are maximum 16 characters in length
    label "TuxMux"
    ; The short label is built from the label by erasing letters, and cannot
    ; be longer than 8 characters. If omitted, it will be truncated from the
    ; label
    shortlabel "TxMux"

    ; Announcement settings for FIG0/19
    announcements {
        test_announcement {
            cluster 1
            flags {
                Traffic true
            }

            subchannel sub-f3
        }
    }
}

; Definition of DAB services
services {
    ; Each service has it's own unique identifier, that is
    ; used throughout the configuration file and for the RC.
    srv-f3 {
        label "Frequence3"
        shortlabel "F3"
        pty 0
        language 0
        ; also supports id

        ; List of announcement switching flags signalled in FIG 0/18
        ; This lists all possible announcements. If one is left out, it is disabled.
        announcements {
            Alarm false
            Traffic true
            Travel false
            Warning false
            News false
            Weather false
            Event false
            Special false
            ProgrammeInfo false
            Sports false
            Finance false

            ; a comma separated list of clusters in which the service belongs to
            clusters "1,2"
        }
    }
    srv-maxxima {
        label "Maxxima"
    }
    srv-fip {
        label "FIP"
    }
    srv-bbc1 {
        label "BBC1"
    }

}

; The subchannels are defined in the corresponding section.
; supported types are : audio, bridge, data, enhancedpacket,
;                       dabplus, dmb, packet, test
subchannels {
    sub-f3 {
        type dabplus
        inputfile "tcp://*:9001"
        bitrate 96
        id 1

        ; type audio subchannels automatically use
        ; UEP, unless the bitrate is 8, 16, 24, 40 or 144kbit/s
        ; (EN 300 401 Clause 6.2.1)
        ; this can be overridden with the option protection-profile
        protection-profile EEP_A
        ; supported options: UEP (use only for type audio!)
        ;                    EEP_A (for all bitrates)
        ;                    EEP_B (bitrates multiple of 32kbit/s)

        ; Set the protection level, possible values depend
        ; on the protection profile:
        ; UEP profile: 1 to 5; EEP profiles: 1 to 4
        protection 2
    }
    sub-maxxima {
        type dabplus
	inputfile "tcp://*:9002"
        bitrate 96
        id 2
	protection-profile EEP_A
        protection 2
    }
    sub-fip {
        type dabplus
        inputfile "tcp://*:9003"
        bitrate 96
        id 3
	protection-profile EEP_A
        protection 3

        ; ZMQ specific options, mandatory:

        ; Maximum size of input buffer, in AAC frames (24ms)
        ; when this buffer size is reached, some frames will be
        ; discarded to get the size again below this value.
        ; As the present implementation discards entire AAC superframes,
        ; (5 frames = 120ms) the effect will clearly be audible.
        zmq-buffer 40

        ; At startup or after an underrun, the buffer is filled to this
        ; amount of AAC frames before streaming starts.
        zmq-prebuffering 20
    }

    sub-bbc1 {
        type audio
        ; for audio types, you can use the ZeroMQ input (if compiled in)
        ; with the following configuration in combination with
        ; toolame-dab
        ;
        ; Support for toolame-dab is not as good as with fdk-aac-dabplus
        inputfile "tcp://*:9004"
        bitrate 128
        id 4
        protection 1

        ; The options are the same as for dabplus
        zmq-buffer 40
        zmq-prebuffering 20
    }
}

; For now, each component links one service to one subchannel
components {
    ; the component unique identifiers are used for the RC.
    comp-f3 {
        ; specifies audio -or- packet type, defaults to zero when not given
        ; audio: foreground=0, background=1, multi-channel=2
        ; data: unspecified=0, TMC=1, EWS=2, ITTS=3, paging=4, TDC=5, IP=59, MOT=60, proprietary=61
        type 0

        ; According to specification, you should not define component labels if
        ; the service is only used in one component. The service label is sufficient
        ; in that case.
        ;label "Frequence3"
        ;shortlabel "F3"
        service srv-f3
        subchannel sub-f3

        ; for audio components, the field
        figtype 0x2
        ; defines the User Application Type according to TS 101 756 Table 16:
        ; 0x2   : MOT Slideshow
        ; 0x3   : MOT Broadcast Web Site
        ; 0x4   : TPEG
        ; 0x5   : DGPS
        ; 0x6   : TMC
        ; 0x7   : EPG
        ; 0x8   : DAB Java
        ; 0x44a : Journaline
        ; If not defined, the FIG 0/13 is not transmitted for this component

        ; for packet components, the fields
        ; "user application type in FIG 0/13 for packet mode"
        ;figtype
        ; and the packet address (mandatory)
        ;address
        ; are supported, with the same syntax as in the manpage.
        ; FIG 0/13 is only transmitted when figtype is defined.
        ; The -d option on the command line is:
        ;datagroup (true|false)
        ; and defaults to false.
    }

    comp-maxxima {
        service srv-maxxima
        subchannel sub-maxxima

        figtype 0x2
    }

    comp-fip {
        service srv-fip
        subchannel sub-fip

        figtype 0x2
    }

    comp-bbc1 {
        service srv-bbc1
        subchannel sub-bcc1

        figtype 0x2
    }
}

; A list of outputs, in the format
; unique-id "uri"
outputs {
    ; The unique-id has no signification. It can be used by the
    ; remote control or the statistics server to identify the
    ; output

    ;supported output types for file and fifo outputs are
    ; raw, framed and streamed
    ;
    ; Please see doc/dab_output_formats.txt
    ;stdout "fifo:///dev/stdout?type=raw"

    ; ZeroMQ output example
    ; Listen on all interfaces, on port 9050
    zmq  "zmq+tcp://*:9050"

    ; Throttle output to real-time (one ETI frame every 24ms)
    throttle "simul://"

    ; The edi output has a different syntax
    ;edi {
    ;    ; example for unicast EDI
    ;    ;destination "192.168.23.23"
    ;    ; for unicast EDI, do not set source

    ;    ; example for multicast EDI, the source IP is required
    ;   ; so that the data is sent on the correct ethernet interface
    ;   destination "232.20.10.1"
    ;   source      "192.168.0.50"
    ;   ; The multicast TTL has to be adapted according to your network
    ;   ttl 1

    ;   ; The settings below apply to both unicast and multicast

    ;   ; EDI uses the UDP protocol
    ;   port        12000
    ;   sourceport  13000

    ;   ; Enable the PFT subsystem. If false, AFPackets are sent.
    ;   enable_pft  true

    ;   ; How many lost fragments can be recovered by Reed-Solomon
    ;   fec         2

    ;   ; Length of a RS chunk, can be overriden
    ;   ;default=207
    ;   ;chunk_len   207

    ;   ; Save the packets sent over ethernet to the file ./edi.debug
    ;   dump        false

    ;   ; show more debugging info
    ;   verbose     false

    ;   ; (optional) set the kind of alignment to use in TAG Packets
    ;   ; 0: no padding
    ;   ; 8: pad to eight bytes (default)
    ;   ; above 8: insert *dmy TAG Item to pad to given size in bytes
    ;   ;tagpacket_alignment 8
    ;

    ; Other outputs:
    ; TCP listen on port
    ;net "tcp://host:port"
    ; UDP send to host:port
    ;net "ucp://host:port"
    ; RAW (for farsync ETI card)
    ;farsync "raw://device"
}