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
|
; 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 0
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
; 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)
international false
; Every linkage set has to contain a service from the current ensemble (mandatory)
keyservice srv-fu
; List of services to be included (mandatory)
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.
; The configuration structure reflects the FIG 0/21 of
; ETSI EN 300 401 Clause 8.1.8
frequency_information {
fi_1 {
oe false
fi_dab_1 {
range_modulation dab
continuity true
eid 0x4fff
frequencies {
; In DAB, max 2 frequency entries
entry_a {
signal_mode_1 true
adjacent true
frequency 234.208
}
entry_b {
signal_mode_1 true
adjacent true
frequency 188.928
}
}
}
fi_fm_1 {
range_modulation fm
continuity true
pi_code 0x1234
; in FM, max 7 entries
frequencies "87.6 105.2"
}
}
fi_other_ensemble {
oe true
fi_dab_other {
range_modulation dab
continuity true
eid 0x4fee
frequencies {
entry_a {
signal_mode_1 true
adjacent true
frequency 230.784
}
}
}
}
fi_2 {
oe false
fi_drm_3 {
range_modulation drm
continuity true
drm_id 0x12ab45
frequencies "15.21 22.4"
}
fi_amss_4 {
range_modulation amss
continuity true
amss_id 0x33cc88
frequencies "14.8"
}
}
}
; 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"
}
}
; 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)
other_ensembles "0x4ffe,0x4ffd"
}
; 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
}
}
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://"
}
|