1
0
mirror of https://gitlab.xiph.org/xiph/ezstream.git synced 2024-11-03 04:17:18 -05:00

Replace examples with fewer, more concise ones

This commit is contained in:
Moritz Grimm 2015-05-21 23:32:55 +02:00
parent 2bc4cedbb0
commit f7a700efe9
10 changed files with 87 additions and 461 deletions

View File

@ -3,10 +3,8 @@ AUTOMAKE_OPTIONS = 1.10 foreign subdir-objects
examplesdir = @EXAMPLES_DIR@
dist_examples_DATA = \
ezstream-file_template.xml \
ezstream_mp3.xml ezstream_reencode_mp3.xml \
ezstream_reencode_theora.xml ezstream_reencode_vorbis.xml \
ezstream_stdin_vorbis.xml ezstream_vorbis.xml \
ezstream_metadata.xml
ezstream-full.xml \
ezstream-minimal.xml
dist_examples_SCRIPTS = meta.sh play.sh playlist-logger.sh
CLEANFILES = core *.core *~ .*~

View File

@ -1,3 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
EXAMPLE: Ogg Vorbis playlist stream with reencoding for use with
ezstream-file.sh(1)
@ -5,54 +7,58 @@
This example streams a playlist generated by ezstream-file.sh(1) and
reencodes to Ogg Vorbis.
-->
<ezstream>
<url>http://localhost:8000/vorbis.ogg</url>
<sourcepassword>hackme</sourcepassword>
<!--
Since the reencoding feature is enabled below, <format /> sets the
output format of the stream.
-->
<format>VORBIS</format>
<!--
To function as a template for ezstream-file.sh(1), the <filename />
configuration must be as follows:
-->
<server>
<hostname>127.0.0.1</hostname>
<port>8000</port>
<password>hackme</password>
</server>
<stream>
<mountpoint>/stream.ogg</mountpoint>
<format>Vorbis</format>
<encoder>OggEnc-Q1.5</encoder>
</stream>
<media>
<filename>%FILENAME%</filename>
<!--
If the generated playlist should not loop forever, set <stream_once />
to 1.
-->
<stream_once>0</stream_once>
<!--
The usual, remaining configuration statements follow. See the other
examples and the documentation for details.
-->
<svrinfoname>My Stream</svrinfoname>
<svrinfourl>http://www.oddsock.org</svrinfourl>
<svrinfogenre>RockNRoll</svrinfogenre>
<svrinfodescription>This is a stream description</svrinfodescription>
<svrinfobitrate>88</svrinfobitrate>
<svrinfoquality>1.5</svrinfoquality>
<svrinfochannels>2</svrinfochannels>
<svrinfosamplerate>44100</svrinfosamplerate>
<reencode>
<enable>1</enable>
<encdec>
<format>FLAC</format>
<match>.flac</match>
<decode>flac -s -d --force-raw-format --sign=signed --endian=little -o - @T@</decode>
</encdec>
<encdec>
</media>
<decoders>
<decoder>
<name>OggDec</name>
<program>oggdec -R -b 16 -e 1 -s 1 -o - @T@</program>
<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>
</decoders>
<encoders>
<encoder>
<name>OggEnc-Q1.5</name>
<format>Vorbis</format>
<program>oggenc -r -B 16 -C 2 -R 44100 --raw-endianness 0 -q 1.5 -t @M@ -</program>
</encoder>
<encoder>
<name>Lame-CBR128</name>
<format>MP3</format>
<match>.mp3</match>
<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>
<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>
<program>lame --preset cbr 128 -r -s 44.1 --bitwidth 16 - -</program>
</encoder>
</encoders>
</ezstream>

View File

@ -0,0 +1,25 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
EXAMPLE: A valid configuration that contains the absolute minimum
This configuration streams Ogg Vorbis files as-is.
-->
<ezstream>
<server>
<hostname>127.0.0.1</hostname>
<password>hackme</password>
</server>
<stream>
<mountpoint>/stream.ogg</mountpoint>
<format>Vorbis</format>
</stream>
<media>
<filename>playlist.m3u</filename>
</media>
</ezstream>

View File

@ -1,40 +0,0 @@
<!--
EXAMPLE: Ogg Vorbis stream WITHOUT reencoding, using an external playlist
program and an external metadata program, with a custom format
string.
This example streams (only) Ogg Vorbis files that are provided by an
external playlist script. The script must not return filenames of non-.ogg
files. Metadata for this stream is not acquired from the media file itself
but from another external program 'meta.sh'.
-->
<ezstream>
<url>http://localhost:8000/vorbis.ogg</url>
<sourcepassword>hackme</sourcepassword>
<format>VORBIS</format>
<!-- The playlist program name is provided here: -->
<filename>play.sh</filename>
<!-- Tell ezstream that <filename/> is a playlist program: -->
<playlist_program>1</playlist_program>
<!-- Use the meta.sh script to get metadata -->
<metadata_progname>meta.sh</metadata_progname>
<!-- Set the metadata string according to this format: -->
<metadata_format>@s@: @a@ - @t@</metadata_format>
<!-- Update metadata from meta.sh at least once every 10 seconds: -->
<metadata_refreshinterval>10</metadata_refreshinterval>
<!--
The following settings are used to describe your stream to the server.
It's up to you to make sure that the bitrate/quality/samplerate/channels
information matches up with your input stream files.
-->
<svrinfoname>My Stream</svrinfoname>
<svrinfourl>http://www.oddsock.org</svrinfourl>
<svrinfogenre>RockNRoll</svrinfogenre>
<svrinfodescription>This is a stream description</svrinfodescription>
<svrinfobitrate>96</svrinfobitrate>
<svrinfoquality>2.0</svrinfoquality>
<svrinfochannels>2</svrinfochannels>
<svrinfosamplerate>44100</svrinfosamplerate>
<!-- Allow the server to advertise the stream on a public YP directory: -->
<svrinfopublic>1</svrinfopublic>
</ezstream>

View File

@ -1,38 +0,0 @@
<!--
EXAMPLE: MP3 playlist stream WITHOUT reencoding
This example streams a playlist that contains only MP3 files. No other file
formats may be listed. Since ezstream will not be doing any reencoding, the
resulting stream format (bitrate, samplerate, channels) will be of the
respective input files.
-->
<ezstream>
<url>http://localhost:8000/stream</url>
<!--
If a different user name than "source" should be used, set it in
<sourceuser/>:
-->
<!-- <sourceuser>mr_stream</sourceuser> -->
<sourcepassword>hackme</sourcepassword>
<format>MP3</format>
<filename>playlist.m3u</filename>
<!-- Once done streaming playlist.m3u, exit: -->
<stream_once>1</stream_once>
<!--
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 input stream files. Note that
<svrinfoquality /> only applies to Ogg Vorbis streams.
-->
<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>
</ezstream>

View File

@ -1,87 +0,0 @@
<!--
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>

View File

@ -1,78 +0,0 @@
<!--
EXAMPLE: Ogg Theora playlist stream WITH reencoding and sequential playback
This example streams a playlist that may contain .avi and MPEG files.
Ezstream will use the ffmpeg2theora program to both decode and reencode the
video files to Ogg Theora. The output stream settings are controlled via the
paramters to ffmpeg2theora.
-->
<ezstream>
<url>http://localhost:8000/theora.ogg</url>
<sourcepassword>hackme</sourcepassword>
<!--
Since the reencoding feature is enabled below, <format /> sets the
output format of the stream.
-->
<format>THEORA</format>
<filename>playlist.m3u</filename>
<!--
Playlist shuffling is disabled, when the <shuffle /> element does not
exist or is commented out:
-->
<!-- <shuffle>1</shuffle> -->
<!--
The following settings are used to describe your stream to the server.
It's up to you to make sure that the bitrate/quality/samplerate/channels
information matches up with your oggenc encoder settings below.
-->
<svrinfoname>My Stream</svrinfoname>
<svrinfourl>http://www.oddsock.org</svrinfourl>
<svrinfogenre>Documentary</svrinfogenre>
<svrinfodescription>This is a stream description</svrinfodescription>
<svrinfobitrate>200</svrinfobitrate>
<svrinfochannels>2</svrinfochannels>
<svrinfosamplerate>44100</svrinfosamplerate>
<!--
A missing or commented out <svrinfopublic /> element means no
advertising on YP for this broadcast:
-->
<!-- <svrinfopublic>1</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 THEORA. Ogg Theora streams are created differently
with ffmpeg2theora, which does the complete reencoding on its
own. Therefore, we only supply a <decode /> element and let
ezstream pass through the resulting stream unaltered to Icecast.
-->
<format>THEORA</format>
<match>.avi</match>
<decode>ffmpeg2theora -x 192 -y 128 -a 0 -v 4 --title @M@ -o - @T@</decode>
</encdec>
<encdec>
<format>THEORA</format>
<match>.mpg</match>
<decode>ffmpeg2theora -x 192 -y 128 -a 0 -v 4 --title @M@ -o - @T@</decode>
</encdec>
</reencode>
</ezstream>

View File

@ -1,88 +0,0 @@
<!--
EXAMPLE: Ogg Vorbis playlist stream WITH reencoding and random playback
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 Ogg Vorbis using the oggenc encoder. The output stream
settings are controlled via the paramters to oggenc.
-->
<ezstream>
<url>http://localhost:8000/vorbis.ogg</url>
<sourcepassword>hackme</sourcepassword>
<!--
Since the reencoding feature is enabled below, <format /> sets the
output format of the stream.
-->
<format>VORBIS</format>
<filename>playlist.m3u</filename>
<!-- Enable playlist shuffling: -->
<shuffle>1</shuffle>
<!--
The file in <filename> is a regular playlist and not a program.
For demonstrational purposes, explicitly state this here:
-->
<playlist_program>0</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/quality/samplerate/channels
information matches up with your oggenc encoder settings below.
-->
<svrinfoname>My Stream</svrinfoname>
<svrinfourl>http://www.oddsock.org</svrinfourl>
<svrinfogenre>RockNRoll</svrinfogenre>
<svrinfodescription>This is a stream description</svrinfodescription>
<svrinfobitrate>88</svrinfobitrate>
<svrinfoquality>1.5</svrinfoquality>
<svrinfochannels>2</svrinfochannels>
<svrinfosamplerate>44100</svrinfosamplerate>
<!-- Allow the server to advertise the stream on a public YP directory: -->
<svrinfopublic>1</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>

View File

@ -1,36 +0,0 @@
<!--
EXAMPLE: Ogg Vorbis stream from standard input WITHOUT reencoding
This example streams an Ogg Vorbis stream from standard input (stdin.)
Since ezstream will not be doing any reencoding, the resulting stream
format (quality/bitrate, samplerate, channels) will be of the respective
input stream.
-->
<ezstream>
<url>http://localhost:8000/vorbis.ogg</url>
<sourcepassword>hackme</sourcepassword>
<format>VORBIS</format>
<filename>stdin</filename>
<!--
Important:
For streaming from standard input, the default for continuous streaming
is bad. Set <stream_once /> to 1 here to prevent ezstream from spinning
endlessly when the input stream stops:
-->
<stream_once>1</stream_once>
<!--
The following settings are used to describe your stream to the server.
It's up to you to make sure that the bitrate/quality/samplerate/channels
information matches up with your input stream files.
-->
<svrinfoname>My Stream</svrinfoname>
<svrinfourl>http://www.oddsock.org</svrinfourl>
<svrinfogenre>RockNRoll</svrinfogenre>
<svrinfodescription>This is a stream description</svrinfodescription>
<svrinfobitrate>96</svrinfobitrate>
<svrinfoquality>2.0</svrinfoquality>
<svrinfochannels>2</svrinfochannels>
<svrinfosamplerate>44100</svrinfosamplerate>
<!-- Allow the server to advertise the stream on a public YP directory: -->
<svrinfopublic>1</svrinfopublic>
</ezstream>

View File

@ -1,36 +0,0 @@
<!--
EXAMPLE: Ogg Vorbis playlist stream WITHOUT reencoding
This example streams a playlist that contains only Ogg Vorbis files. No
other file formats may be listed. Since ezstream will not be doing any
reencoding, the resulting stream format (quality/bitrate, samplerate,
channels) will be of the respective input files.
-->
<ezstream>
<url>http://localhost:8000/vorbis.ogg</url>
<!--
If a different user name than "source" should be used, set it in
<sourceuser/>:
-->
<!-- <sourceuser>mr_stream</sourceuser> -->
<sourcepassword>hackme</sourcepassword>
<format>VORBIS</format>
<filename>playlist.m3u</filename>
<!-- For demonstrational purposes, explicitly set continuous streaming: -->
<stream_once>0</stream_once>
<!--
The following settings are used to describe your stream to the server.
It's up to you to make sure that the bitrate/quality/samplerate/channels
information matches up with your input stream files.
-->
<svrinfoname>My Stream</svrinfoname>
<svrinfourl>http://www.oddsock.org</svrinfourl>
<svrinfogenre>RockNRoll</svrinfogenre>
<svrinfodescription>This is a stream description</svrinfodescription>
<svrinfobitrate>96</svrinfobitrate>
<svrinfoquality>2.0</svrinfoquality>
<svrinfochannels>2</svrinfochannels>
<svrinfosamplerate>44100</svrinfosamplerate>
<!-- Allow the server to advertise the stream on a public YP directory: -->
<svrinfopublic>1</svrinfopublic>
</ezstream>