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>
|