Commit 309a78c0 authored by Karl Heyes's avatar Karl Heyes
Browse files

update docs and bump version

svn path=/icecast/trunk/ices/; revision=8600
parent 68eccdf4
......@@ -8,14 +8,14 @@ http://www.icecast.org/
-----
These are *brief* instructions on how to build this package from CVS.
These are *brief* instructions on how to build this package from SVN.
There are generally four steps necessary when building from CVS (i.e.,
There are generally four steps necessary when building from SVN (i.e.,
a developer's copy):
1. cvs checkout of the sources, or cvs update. RTFM from your
favorite flavor of CVS documentation; information on the xiph.org
CVS repository can be found at http://www.xiph.org/cvs.html.
1. svn checkout of the sources, or cvs update. RTFM from your
favorite flavor of SVN documentation; information on the xiph.org
SVN repository can be found at http://www.xiph.org/svn.html.
2. [re-]generate files such as "configure" and "Makefile.in" with the
GNU autoconf/automake tools. Run the "autogen.sh" script to
......@@ -39,6 +39,6 @@ to just do it.
Note that the make allows for supplying compiler flags as well. eg
make CFLAGS='-static' will try the build linking against any static
libraries available. Also specific COU optimisations can be supplied
libraries available. Also specific CPU optimisations can be supplied
this way.
This is ices 2.0
This is ices 2
This is a beta release of ices 2.0. It's the primary source client
for icecast 2.0. It has proven to stable and well featured.
This is a release of ices 2.0.1 It's the primary source client
for icecast 2.x. It has proven to stable and well featured.
Documentation is in the doc subdirectory, and some sample configuration
files exist in the conf subdirectory.
......
......@@ -2,5 +2,5 @@
AUTOMAKE_OPTIONS = foreign
dist_pkgdata_DATA = ices-live.xml ices-playlist.xml
dist_pkgdata_DATA = ices-oss.xml ices-alsa.xml ices-playlist.xml
<?xml version="1.0"?>
<ices>
<!-- run in background -->
<background>0</background>
<!-- where logs go. -->
<logpath>/var/log/ices</logpath>
<logfile>ices.log</logfile>
<!-- size in kilobytes -->
<logsize>2048</logsize>
<!-- 1=error, 2=warn, 3=infoa ,4=debug -->
<loglevel>4</loglevel>
<!-- logfile is ignored if this is set to 1 -->
<consolelog>0</consolelog>
<!-- optional filename to write process id to -->
<!-- <pidfile>/home/ices/ices.pid</pidfile> -->
<stream>
<!-- metadata used for stream listing -->
<metadata>
<name>Example stream name</name>
<genre>Example genre</genre>
<description>A short description of your stream</description>
<url>http://mysite.org</url>
</metadata>
<!-- Input module.
This example uses the 'oss' module. It takes input from the
OSS audio device (e.g. line-in), and processes it for live
encoding. -->
<input>
<module>alsa</module>
<param name="rate">44100</param>
<param name="channels">2</param>
<param name="device">hw:0,0</param>
<!-- Read metadata (from stdin by default, or -->
<!-- filename defined below (if the latter, only on SIGUSR1) -->
<param name="metadata">1</param>
<param name="metadatafilename">test</param>
</input>
<!-- Stream instance.
You may have one or more instances here. This allows you to
send the same input data to one or more servers (or to different
mountpoints on the same server). Each of them can have different
parameters. This is primarily useful for a) relaying to multiple
independent servers, and b) encoding/reencoding to multiple
bitrates.
If one instance fails (for example, the associated server goes
down, etc), the others will continue to function correctly.
This example defines a single instance doing live encoding at
low bitrate. -->
<instance>
<!-- Server details.
You define hostname and port for the server here, along
with the source password and mountpoint. -->
<hostname>localhost</hostname>
<port>8000</port>
<password>hackme</password>
<mount>/example1.ogg</mount>
<yp>1</yp> <!-- allow stream to be advertised on YP, default 0 -->
<!-- Live encoding/reencoding:
channels and samplerate currently MUST match the channels
and samplerate given in the parameters to the oss input
module above or the remsaple/downmix section below. -->
<encode>
<quality>0</quality>
<samplerate>22050</samplerate>
<channels>1</channels>
</encode>
<!-- stereo->mono downmixing, enabled by setting this to 1 -->
<downmix>1</downmix>
<!-- resampling.
Set to the frequency (in Hz) you wish to resample to, -->
<resample>
<in-rate>44100</in-rate>
<out-rate>22050</out-rate>
</resample>
</instance>
</stream>
</ices>
dnl Process this file with autoconf to produce a configure script.
AC_INIT([IceS], [2.0.0], [icecast@xiph.org])
AC_INIT([IceS], [2.0.1], [icecast@xiph.org])
AC_PREREQ(2.54)
AC_CONFIG_SRCDIR(src/ices.c)
......@@ -14,12 +14,6 @@ dnl Set some options based on environment
dnl BSD headers break when _XOPEN_SOURCE is defined but without it seems
dnl to be fine
case "$host" in
*bsd*)
;;
*) AC_DEFINE(_XOPEN_SOURCE, 600, [Define if you have POSIX and XPG specifications])
;;
esac
case "$host" in
*-*-irix*)
DEBUG="-g -signed -D_REENTRANT"
......@@ -39,6 +33,7 @@ case "$host" in
;;
esac
if test -n "$GCC"; then
AC_DEFINE(_XOPEN_SOURCE, 600, [Define if you have POSIX and XPG specifications])
AC_DEFINE(_GNU_SOURCE, ,[Define if you have POSIX and GNU specifications])
XIPH_CPPFLAGS="-ffast-math -fsigned-char"
DEBUG="-g"
......
......@@ -10,13 +10,19 @@
<h1>Config File</h1>
<table width="100%"><tr><td bgcolor="#007B79" height="10" align="center"></td></tr></table>
<p>The ices 2 configuration file is in XML format, which is described in detail below.
There are 2 sample XML files provided which show the two main ways ices is used.<p>
There are some sample XML files provided in the distribution under the conf directory
which show the main way ices is used.<p>
</p>
live audio streaming, takes audio from the soundcard which can be captured from say the
Mic, line-In, CD or a combination of these.
<ul>
<li><a href="ices-live.xml">live</a> audio streaming, takes audio from the soundcard which can
be captured from say the Mic, line-In, or CD.
<li><a href="ices-playlist.xml">playlist</a> audio streaming, takes pre-encoded Ogg Vorbis files
and either sends them as-is or re-encodes them to different settings</p>
<li>ices-oss.xml
<li>ices-alsa.xml
</ul>
<p>Playlist audio streaming, takes pre-encoded Ogg Vorbis files and either sends them
as-is or re-encodes them to different settings</p>
<ul>
<li>ices-playlist.xml
</ul>
<h2>General layout</h2>
<pre>
......@@ -214,6 +220,7 @@
&lt;managed&gt;0&lt;/managed&gt;
&lt;samplerate&gt;22050&lt;/samplerate&gt;
&lt;channels&gt;1&lt;/channels&gt;
&lt;flush-samples&gt;11000&lt;/flush-samples&gt;
&lt;/encode&gt;
</pre>
<p>quality</p>
......@@ -245,7 +252,7 @@
<div class=indentedbox>
State bitrate in bits per second to limit minimum bandwidth used on a stream.
Only applies if managed is enabled, this option has very little use so
shouldn't really be needed.
should not really be needed.
</div>
<p>samplerate</p>
<div class=indentedbox>
......@@ -257,7 +264,16 @@
<p>channels</p>
<div class=indentedbox>
State the number of channels to use in the encoding. This will either be the
number of channels from the input or 1 due to downmix.
number of channels from the input or 1 if downmix is enabled.
</div>
<p>flush-samples</p>
<div class=indentedbox>
This is the trigger level at which Ogg pages are created for sending to the server.
Depending on the bitrate and compression achieved a single ogg page can contain many
seconds of audio which may not be wanted as that can trigger timeouts.
<p>Setting this to the same value as the encode samplerate will mean that a page per
second is sent, if a value that is half of the encoded samplerate is specified then
2 ogg pages per second are sent.</p>
</div>
</div>
</body>
......
......@@ -16,15 +16,18 @@
<h4>Can ices play mp3 files</h4>
<div class=indentedbox>
<p>
No, there hasn't been much interest in handling mp3 with ices2. The
older version ices 0.3 maybe of interest in such cases.
No, there hasn't been much interest in handling MP3 with ices 2. The older version ices
0.x maybe of interest in such cases. If you really want to encode the Vorbis stream from
non-vorbis files then you can play them with an external application, eg xmms, and use
ices 2 to capture from the soundcard, but be aware that any conversion from one lossy format
to another is bad so make sure the original material is high quality.
</p>
</div>
<h4>How do I encode from Line-In</h4>
<div class=indentedbox>
<p>
IceS will read from the DSP on the soundcard, but where that gets the
audio from depends on the mixer settings. Use a utility like aumix to
audio from depends on the mixer settings. Use a utility like aumix/alsamixer to
see the settings and change the capture or recording device. Usually the
default is the Mic
<p>
......@@ -35,6 +38,8 @@
recording device (typically /dev/dsp) open. A good candidate is esd. What
happens is that the driver only allows one application to have the device
open at any one time, a second attempt will just block.
<p>Some OSS drivers allow multiple opens but on ALSA you can configure a virtual
device in asound.conf, type dsnoop/dmix, which allows access for multiple apps.</p>
</div>
<h4>Ices reports a message about failing to set samplerate on live input</h4>
<div class=indentedbox>
......@@ -51,6 +56,13 @@
oss, alsa etc), that way anything that is played by that other application
is encoded and sent to icecast.
</div>
<h4>My player connects but I don't hear anything</h4>
<div class=indentedbox>
If you are getting data through to the player and the settings show like the
samplerate and chnnels then it is probably the mixer settings which are set
incorrectly and ices can only read silence. A common example, ALSA may have
many levels in the mixer and by default they are all muted.
</div>
<h4>My player seems unable to play the stream</h4>
<div class=indentedbox>
If the stream looks to be getting to the player then it will be how the
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment