summaryrefslogtreecommitdiffstats
path: root/doc/example.mux
blob: 04bdddc0f084c4af16ede8c5d67be7248c8fb000 (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
; This is the official configuration file example that
; serves as documentation for the config file reader.
;
; 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.

; In case of questions or ambiguities, the documentation for the
; command-line configuration interface still mostly applies.

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

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


    ; 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 statsserver 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.
    statsserverport 12720
}

remotecontrol {
    ; enable the telnet remote control server on the given port
    ; This server allows you to read and define parameters that
    ; some features export
    ; 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
    label "TuxMux"
    shortlabel "Tux"
}

; 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-fu {
        label "Funk"
        shortlabel "Fu"
        pty 0
        language 0
        ; also supports id
    }
    srv-lu {
        label "Luschtig"
        ; pty, language, shortlabel and id can be omitted, and will take default values
    }
    srv-ri {
        label "rick"
        shortlabel "rick"
    }

}

; The subchannels are defined in the corresponding section.
; supported types are : audio, bridge, data, enhancedpacket,
;                       dabplus, dmb, packet, test
subchannels {
    sub-fu {
        type audio
        ; example file input
        inputfile "funk.mp2"
        ; example zmq input:
        ; accept connections to port 9001 from any interface
        ; use toolame-dab as encoder
        ;inputfile "tcp://*:9001"
        nonblock false
        bitrate 128
        id 10
        protection 5
    }
    sub-lu {
        type audio
        inputfile "luschtig.mp2"
        nonblock false
        bitrate 128
        id 3
        ;protection 5
    }
    sub-ri {
        type dabplus
        ; example file input
        ;inputfile "rick.dabp"
        ; example zmq input:
        ; accept connections to port 9000 from any interface
        ; use fdk-aac-dabplus-zmq as encoder
        inputfile "tcp://*:9000"
        nonblock false
        bitrate 96
        id 1
        protection 1
    }

    sub-ri2 {
        type dabplus
        ; for dabplus types, you can use the ZeroMQ input (if compiled in)
        ; with the following configuration:
        inputfile "tcp://localhost:9000"
        nonblock false
        bitrate 96
        id 1
        protection 1
    }
}

; For now, each component links one service to one subchannel
components {
    ; the component unique identifiers are used for the RC.
    comp-fu {
        ; 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

        label funk
        shortlabel fu
        service srv-fu
        subchannel sub-fu

        ; for packet components, the fields
        ; "user application type in FIG 0/13 for packet mode"
        ;figtype
        ; and "packet address (default: 0x200 + <n> (512))"
        ;address
        ; are supported, with the same syntax as in the manpage
    }

    comp-lu {
        ; labels are maximum 16 characters in length
        label luschtig

        ; a shortlabel is created by dropping some letters from the
        ; label, max length 8
        shortlabel lu
        service srv-lu
        subchannel sub-lu
    }

    comp-ri {
        label "rick"
        shortlabel "rick"
        service srv-ri
        subchannel sub-ri
    }
}

; A list of outputs, in the format
; unique-id "uri"
outputs {
    stdout "fifo:///dev/stdout?type=raw"

; ZeroMQ output example
    ; zmq  "zmq+tcp://*:8080"
}