File: ezstream-full.xml

package info (click to toggle)
ezstream 1.0.2-3
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 2,832 kB
  • sloc: ansic: 9,693; sh: 4,967; xml: 398; makefile: 230
file content (233 lines) | stat: -rw-r--r-- 6,740 bytes parent folder | download | duplicates (3)
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
<?xml version="1.0" encoding="UTF-8"?>

<!--
  EXAMPLE: A valid configuration that contains every configuration option

  NB: /ezstream/metadata/program is commented out so that this configuration
      can work without scripting.
  -->

<!-- Ezstream configuration root element -->
<ezstream>

  <!--
    Server configuration
    -->
  <servers>
    <server>
      <!-- Identifying name (default: "default") -->
      <name>Test Server</name>

      <!--
        Transport protocol:
        HTTP (default), HTTPS (implies <tls>required</tls>), ICY, RoarAudio
        -->
      <protocol>HTTP</protocol>
      <!-- Server address -->
      <hostname>127.0.0.1</hostname>
      <!-- Server port (default: 8000) -->
      <port>8000</port>

      <!-- Login user (default: "source") -->
      <user>source</user>
      <!-- Login password (check file permissions, or everyone can see this) -->
      <password>hackme</password>

      <!--
        Configure TLS requirement: none, may, required (default: "may")

        For compatibility reasons, the default configuration and this example
        is "may". THIS IS INSECURE. It allows a MitM to intercept the
        password and tamper with the stream. It is recommended to set this to
        "required" when configuring TLS to secure streaming over untrusted
        networks.
        -->
      <tls>May</tls>

      <!--
        Configure allowed cipher suites for TLS other than the libshout
        default.
        See openssl(1)/ciphers(1) for details.
        -->
      <tls_cipher_suite>HIGH:!RSA:!SHA:!DH:!aNULL:!eNULL:!TLSv1</tls_cipher_suite>

      <!--
        Directory to use for server certificate verification in "hash format".
        See openssl(1)/verify(1) for details.

        One of the <ca_dir /> or <ca_file /> settings must be enabled for
        certificate verification to succeed.
        -->
      <!-- <ca_dir>/etc/ssl/certs</ca_dir> -->

      <!--
        CA bundle for both server certificate verification and building the
        client certificate chain.

        One of the <ca_dir /> or <ca_file /> settings must be enabled for
        certificate verification to succeed.
        -->
      <!-- <ca_file>/etc/ssl/certs/ca-certificates.crt</ca_file> -->

      <!--
        X.503 client certificate, in PEM format, containing both certificate
        (with public key) and private key in the same file, for
        authentication.
        -->
      <!-- <client_cert>/etc/ssl/private/ezstream.crt</client_cert> -->

      <!-- Number of reconnection attempts, before giving up (default: 0) -->
      <reconnect_attempts>20</reconnect_attempts>
    </server>
  </servers>

  <!--
    Stream configuration
    -->
  <streams>
    <stream>
      <!--
        Identifying name (default: "default")

        NB: Only the "default" stream is supported at this point.
        -->
      <!-- <name>default</name> -->

      <!-- Mount point on server -->
      <mountpoint>/stream.ogg</mountpoint>

      <!-- Name of the intake entry to use (default: "default") -->
      <intake>Test Input</intake>

      <!-- Name of the server entry to use (default: "default") -->
      <server>Test Server</server>

      <!--
        Setting to allow stream to be listed in public YP directory
        (default: no)
        -->
      <public>No</public>

      <!-- Stream format: Ogg, MP3, WebM, Matroska -->
      <format>Ogg</format>

      <!-- Encoder name (defined below) to use for (re)encoding -->
      <encoder>OggEnc-Q1.5</encoder>

      <!-- Various other informational settings -->
      <stream_name>Test Stream</stream_name>
      <stream_url>http://localhost:8000/</stream_url>
      <stream_genre>Beeps</stream_genre>
      <stream_description>Test tones and noise</stream_description>
      <stream_quality>1.5</stream_quality>
      <stream_bitrate>16</stream_bitrate>
      <stream_samplerate>44100</stream_samplerate>
      <stream_channels>2</stream_channels>
    </stream>
  </streams>

  <!--
    Intake configuration
    -->
  <intakes>
    <intake>
      <!-- Identifying name (default: "default") -->
      <name>Test Input</name>

      <!--
        Media type: autodetect, file, playlist, program, stdin
       (default: autodetect)
        -->
      <type>playlist</type>

      <!-- Input file, program name, or "stdin" keyword (deprecated) -->
      <filename>playlist.m3u</filename>

      <!-- Setting to shuffle playlists -->
      <shuffle>Yes</shuffle>

      <!-- Setting whether to stream intake indefinitely or only once -->
      <stream_once>Yes</stream_once>
    </intake>
  </intakes>

  <!--
    Metadata configuration
    -->
  <metadata>
    <!-- Program to query for metadata instead of from media files -->
    <!-- <program>meta.sh</program> -->

    <!-- Metadata format -->
    <format_str>@a@ - @t@</format_str>

    <!-- Interval for additional metadata refreshes (default: -1 (none)) -->
    <refresh_interval>-1</refresh_interval>

    <!-- Setting to clean up extraneous whitespace (default: no) -->
    <normalize_strings>Yes</normalize_strings>

    <!-- Setting to suppress all metadata udpates (default: no) -->
    <no_updates>Yes</no_updates>
  </metadata>

  <!--
    Decoder configurations
    -->
  <decoders>
    <decoder>
      <!-- Decoder name -->
      <name>OggDec</name>
      <!-- Program and options -->
      <program>oggdec -R -b 16 -e 1 -s 1 -o - @T@</program>
      <!-- File extensions to use this decoder for -->
      <file_ext>.ogg</file_ext>
      <file_ext>.oga</file_ext>
    </decoder>

    <decoder>
      <name>MadPlay</name>
      <program>madplay -b 16 -R 44100 -S -o raw:- @T@</program>
      <file_ext>.mp3</file_ext>
    </decoder>

    <decoder>
      <name>Flac</name>
      <program>flac -s -d --force-raw-format --sign=signed --endian=little -o - @T@</program>
      <file_ext>.flac</file_ext>
    </decoder>

    <decoder>
      <name>AAC</name>
      <program>faad -d -f 2 -w @T@</program>
      <file_ext>.m4a</file_ext>
    </decoder>
  </decoders>

  <!--
    Encoder configurations
    -->
  <encoders>
    <encoder>
      <!-- Encoder name -->
      <name>OggEnc-Q1.5</name>
      <!-- Output stream format -->
      <format>Ogg</format>
      <!-- Program and options -->
      <program>oggenc -r -B 16 -C 2 -R 44100 --raw-endianness 0 -q 1.5 -t @M@ -</program>
    </encoder>

    <encoder>
      <name>Opus-VBR96</name>
      <format>Ogg</format>
      <program>opusenc --vbr --bitrate 96 --title @t@ --artist @a@ --raw --raw-rate 44100 - -</program>
    </encoder>

    <encoder>
      <name>Lame-CBR128</name>
      <format>MP3</format>
      <program>lame --preset cbr 128 -r -s 44.1 --bitwidth 16 - -</program>
    </encoder>
  </encoders>

</ezstream>