<!-- EXAMPLE: MP3 stream using an external playlist program, WITH reencoding This example streams a playlist that may contain MP3, Ogg Vorbis and FLAC files. Ezstream will use external decoders to read the media files, and reencode them to MP3 using the lame MP3 encoder. The output stream settings are controlled via the paramters to lame. --> <ezstream> <url>http://localhost:8000/stream</url> <sourcepassword>hackme</sourcepassword> <!-- Since the reencoding feature is enabled below, <format /> sets the output format of the stream. --> <format>MP3</format> <filename>playlist.pl</filename> <!-- Indicate that <filename> contains an executable program or script, which prints a single line with a filename to standard output: --> <playlist_program>1</playlist_program> <!-- The following settings are used to describe your stream to the server. It's up to you to make sure that the bitrate/samplerate/channels information matches up with your lame encoder settings below. --> <svrinfoname>My Stream</svrinfoname> <svrinfourl>http://www.oddsock.org</svrinfourl> <svrinfogenre>RockNRoll</svrinfogenre> <svrinfodescription>This is a stream description</svrinfodescription> <svrinfobitrate>128</svrinfobitrate> <svrinfochannels>2</svrinfochannels> <svrinfosamplerate>44100</svrinfosamplerate> <!-- Prohibit the server to advertise the stream on a public YP directory: --> <svrinfopublic>0</svrinfopublic> <reencode> <!-- Enable the reencoding feature: --> <enable>1</enable> <!-- Each <encdec /> element specifies a pair of programs to be used for decoding and encoding, respectively, and which file extension and output stream format they apply to. All the configuration of the output stream is usually done by using the appropriate command line parameters of the encoders in the <encode /> elements. New <encdec /> sections can be added for new input/output formats. Distorted audio, or audio playing at the wrong speed/pitch may be caused by conflicting sample rates in the various <decode /> and <encode /> sections, byte order (endianness) issues and mono input files. See the documentation on the various de-/encoders for the options that need to be used to create a consistent stream of raw samples. --> <encdec> <!-- Support for FLAC decoding: --> <format>FLAC</format> <match>.flac</match> <decode>flac -s -d --force-raw-format --sign=signed --endian=little -o - "@T@"</decode> <!-- <encode>Not supported Yet</encode> --> </encdec> <encdec> <!-- Support for MP3 decoding via madplay, and encoding via LAME: --> <format>MP3</format> <match>.mp3</match> <!-- Note: madplay uses host byte order for raw samples. --> <decode>madplay -b 16 -R 44100 -S -o raw:- "@T@"</decode> <encode>lame --preset cbr 128 -r -s 44.1 --bitwidth 16 - -</encode> </encdec> <encdec> <!-- Support for Vorbis decoding via oggdec, and encoding via oggenc: --> <format>VORBIS</format> <match>.ogg</match> <decode>oggdec -R -b 16 -e 0 -s 1 -o - "@T@"</decode> <encode>oggenc -r -B 16 -C 2 -R 44100 --raw-endianness 0 -q 1.5 -t "@M@" -</encode> </encdec> </reencode> </ezstream>