mirror of
https://gitlab.xiph.org/xiph/ezstream.git
synced 2024-11-03 04:17:18 -05:00
0b31a1b57f
to create a more well-defined stream of raw samples. git-svn-id: https://svn.xiph.org/trunk/ezstream@14093 0101bb08-14d6-0310-b084-bc0e0c8e3800
88 lines
3.6 KiB
XML
88 lines
3.6 KiB
XML
<!--
|
|
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 -x -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>
|