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
|
; This is an example configuration file that illustrates
; how to define service linking
; More information about the usage of the tools is available
; in the guide, which can be found on the
; www.opendigitalradio.org website.
;
general {
dabmode 1
nbframes 20000
syslog false
tist false
managementport 12720
}
remotecontrol {
telnetport 12721
}
; Service linking sets
linking {
; Every child section declares one linkage sets according to
; TS 103 176 Clause 5.2.3 "Linkage sets". This information will
; be encoded in FIG 0/6
set-fu {
; Linkage Set Number is a 12-bit number that identifies the linkage set
; in a country (requires coordination between multiplex operators in a country)
; (mandatory)
lsn 0xabc
; Hard link means that all services carry the same programme, soft links means
; that the programmes are related in some way. (default true)
hard true
; Linkage actuator flag. Se to false to disable a link
active true
; Whether this linkage set affects only one country or several. Linkage sets that
; include AMSS or DRM services need to have this set to true. (default false)
; Linkage sets whose key service has a different ECC than the ensemble ECC need to
; set this to true.
international false
; If the keyservice and list are absent, a FIG with an empty list will be transmitted for
; this linkage set. This instructs receivers to delete their corresponding database entry
; (Change Event Indicator for FIG0/6)
; Every linkage set has to contain a service from the current ensemble. keyservice may be omitted.
keyservice srv-fu
; List of services to be included (mandatory if keyservice given)
list {
; Every service has a uid that can be used as a human-readable description
; The first example is a link to a DAB service on another ensemble.
fu-on-my-friends-mux {
; Possible options: dab, fm, drm, amss (mandatory)
type dab
; if type is dab, the id is a DAB service ID (mandatory)
id 0x8daf
; Since this link set has international false, we do not need to specify
; the ECC. With internation true, the following would be needed
; (mandatory if internation true)
;ecc 0xec
}
; The second example is a link to an FM transmission
fu-on-fm {
; Possible options: dab, fm, drm, amss
type fm
; if type is fm, the id is a PI-code
id 0x1A2B
; Also here, ECC declaration is not required
}
}
}
; And now an international true to test more options
set-ri {
lsn 0xdef
hard soft
international true
keyservice srv-ri
list {
ri-on-drm {
type drm
id 0x1298
ecc 0xec
}
ri-on-amss {
type amss
id 0x1A2B
ecc 0xea
}
ri-on-fm {
type fm
id 0x4C5D
ecc 0x4f
}
}
}
}
; According to ETSI TR 101 496-2 Clause 3.6.10.
; Each entry corresponds to one frequence information
; database entry. The multiplexer then transmits this
; information inside FIG 0/21 defined in
; ETSI EN 300 401 Clause 8.1.8
frequency_information {
fi_dab_4fff {
; The database key comprises oe, range_modulation and
; either eid, pi_code, drm_id or amss_id.
; The database key must be unique among all the fi entries.
; RegionId and signalling FI for data services are not implemented.
oe false
range_modulation dab
eid 0x4fff
continuity true
frequencies {
freq_a {
signal_mode_1 true
adjacent true
frequency 234.208
}
freq_b {
signal_mode_1 true
adjacent true
frequency 188.928
}
freq_c {
signal_mode_1 true
adjacent false
frequency 230.784
}
}
}
fi_fm_1234 {
oe false
range_modulation fm
pi_code 0x1234
continuity true
frequencies "87.6 105.2"
}
fi_dab_4fee {
oe true
range_modulation dab
eid 0x4fee
continuity true
frequencies {
freq_a {
signal_mode_1 true
adjacent false
frequency 230.784
}
}
}
fi_drm_12ab45 {
oe false
range_modulation drm
drm_id 0x12ab45
continuity true
frequencies "15.21 22.4"
}
fi_amss_33cc88 {
range_modulation amss
amss_id 0x33cc88
continuity true
frequencies "14.8"
}
}
; We can announce the presence of a service in another ensemble using FIG0/24,
; both for services we carry in this ensemble (OE=0) and for services that
; only exist in another ensemble (OE=1)
other-services {
; you can freely chose the unique id
srv-fu {
; If this ensemble contains a service with this id, OE will be set to 0.
; Otherwise, OE=1
id 0x8daa
; If this service is present in other ensembles, it can be announced
; through FIG0/24. other_ensembles is a comma separated list of
; ensemble IDs (decimal or hexadecimal with 0x prefix).
; Add the current ensemble Id to the list if you carry this service too.
other_ensembles "0x4ffe,0x4ffd,0x4fff"
}
; For a more efficient usage of the FIC capacity, it is better to first enumerate
; the services that we carry in the ensemble (OE=0), followed by the foreign services.
; This avoids having to send FIG0 headers every time the OE flag switches.
srv-foreign {
id 0x8daf
other_ensembles "0x4ffd"
; Only Audio type services are supported
}
}
; For information about the ensemble, service, subchannels, components and outputs,
; please see doc/example.mux and doc/advanced.mux
ensemble {
id 0x4fff
ecc 0xec
local-time-offset auto
label "OpenDigitalRadio"
shortlabel "ODR"
}
services {
srv-fu {
id 0x8daa
label "Funk"
}
srv-ri {
id 0x8dab
label "Rick"
}
}
subchannels {
sub-fu {
type dabplus
inputfile "tcp://*:9000"
bitrate 96
id 1
protection 3
zmq-buffer 40
zmq-prebuffering 20
}
sub-ri {
type dabplus
inputfile "tcp://*:9001"
bitrate 96
id 2
protection 3
zmq-buffer 40
zmq-prebuffering 20
}
}
components {
comp-fu {
service srv-fu
subchannel sub-fu
}
comp-ri {
service srv-ri
subchannel sub-ri
}
}
outputs {
file "file://./test.eti?type=raw"
;throttle "simul://"
}
|