Commit 3ebebcf4 authored by Ed "oddsock" Zaleski's avatar Ed "oddsock" Zaleski

icecast2 documentation. need I say more ?

svn path=/trunk/icecast/; revision=5569
parent 47f87756
No preview for this file type
......@@ -9,21 +9,49 @@
</OBJECT>
<UL>
<LI> <OBJECT type="text/sitemap">
<param name="Name" value="Icecast2 - Win32 Specific">
<param name="Local" value="index_win32.html">
<param name="Name" value="Icecast2 - Table of Contents">
<param name="Local" value="icecast2_TOC.html">
</OBJECT>
<UL>
<LI> <OBJECT type="text/sitemap">
<param name="Name" value="Server Status Tab">
<param name="Local" value="win32_section1.html">
<param name="Name" value="Introduction">
<param name="Local" value="icecast2_introduction.html">
</OBJECT>
<LI> <OBJECT type="text/sitemap">
<param name="Name" value="Editing A Config File">
<param name="Local" value="win32_section2.html">
<param name="Name" value="Basic Setup">
<param name="Local" value="icecast2_basicsetup.html">
</OBJECT>
<LI> <OBJECT type="text/sitemap">
<param name="Name" value="Stats Tab">
<param name="Local" value="win32_section3.html">
<param name="Name" value="Icecast Config File">
<param name="Local" value="icecast2_config_file.html">
</OBJECT>
<LI> <OBJECT type="text/sitemap">
<param name="Name" value="Admin Interface">
<param name="Local" value="icecast2_admin.html">
</OBJECT>
<LI> <OBJECT type="text/sitemap">
<param name="Name" value="Server Statistics">
<param name="Local" value="icecast2_stats.html">
</OBJECT>
<LI> <OBJECT type="text/sitemap">
<param name="Name" value="Relaying">
<param name="Local" value="icecast2_relay.html">
</OBJECT>
<LI> <OBJECT type="text/sitemap">
<param name="Name" value="Listing in a YP Directory">
<param name="Local" value="icecast2_yp.html">
</OBJECT>
<LI> <OBJECT type="text/sitemap">
<param name="Name" value="Win32 specific documentation">
<param name="Local" value="icecast2_win32.html">
</OBJECT>
<LI> <OBJECT type="text/sitemap">
<param name="Name" value="Glossary">
<param name="Local" value="icecast2_glossary.html">
</OBJECT>
<LI> <OBJECT type="text/sitemap">
<param name="Name" value="FAQ">
<param name="Local" value="icecast2_faq.html">
</OBJECT>
</UL>
</UL>
......
......@@ -4,7 +4,7 @@ Compatibility=1.1 or later
Compiled file=icecast2.chm
Contents file=icecast2.hhc
Default Font=,8,0
Default topic=index_win32.html
Default topic=icecast2_TOC.html
Display compile progress=No
Full-text search=Yes
Index file=Index.hhk
......@@ -13,7 +13,7 @@ Title=Icecast 2
[FILES]
index_win32.html
icecast2_TOC.html
[INFOTYPES]
<LINK REL=STYLESHEET TYPE= "text/css" HREF= "style.css">
<div class=boxtest>
<body bgcolor="#efefef" text="#323232" link="#0000ff" vlink="#800080" alink="#ff0000">
<h1>Icecast 2 Documentation Table of Contents</h1>
<table width=100%><tr><td bgcolor="#007B79" height="10" align="center"></td></tr></table>
<li><a href="icecast2_introduction.html">Introduction</a>
<li><a href="icecast2_basicsetup.html">Basic Setup</a>
<li><a href="icecast2_config_file.html">Icecast Config File</a>
<li><a href="icecast2_admin.html">Admin Interface</a>
<li><a href="icecast2_stats.html">Server Statistics</a>
<li><a href="icecast2_relay.html">Relaying</a>
<li><a href="icecast2_yp.html">Listing in a YP directory</a>
<li><a href="icecast2_win32.html">Win32 specific documentation</a>
<li><a href="icecast2_glossary.html">Glossary</a>
<li><a href="icecast2_faq.html">FAQ</a>
<LINK REL=STYLESHEET TYPE= "text/css" HREF= "style.css">
<div class=boxtest>
<body bgcolor="#efefef" text="#323232" link="#0000ff" vlink="#800080" alink="#ff0000">
<h1>Icecast 2 Admin Interface</h1>
<table width=100%><tr><td bgcolor="#007B79" height="10" align="center"></td></tr></table>
<br>
<br>
<br>
<h2>Overview</h2>
<p>This section contains information about the admin interface of icecast. Through this interface the user can manupulate many of the aspects of the server. From it you can do things such as gather statistics, move listeners from mountpoint to mountpoint, disconnect connected sources, disconnect connected listeners, and many other activities. Each function is enumerated here as well as an example usage of the function.</p>
<p>Each of these functions requires authentication via the &lt;admin-username&gt; and &lt;admin-password&gt; specified in the icecast config file. It is also important to note that in all the examples 192.168.1.10 is used as the example host and 8000 is used as the example port for the icecast server.</p>
<br>
<br>
<br>
<h2>Admin Functions (mount specific)</h2>
<p>All these admin functions are mount specific in that they only apply to a particular mountpoint (as opposed to applying to the entire server). Each of these functions requires a mountpoint to be specified as input.
<h3>Metadata Update</h3>
<h4>description</h4>
<div class=indentedbox>
This function provides the ability for either a source client or any external program to update the metadata information for a particular mountpoint. Currently the only metadata supported is song title.
</div>
<h4>example</h4>
<pre>
http://192.168.1.10:8000/admin/metadata?mount=/mystream.ogg&action=updinfo&song=ACDC+Back+In+Black
</pre>
<br>
<br>
<h3>Fallback Update</h3>
<h4>description</h4>
<div class=indentedbox>
This function provides the ability for either a source client or any external program to update the "fallback mountpoint" for a particular mountpoint. Fallback mounts are those that are used in the even of a source client disconnection. If a source client disconnects for some reason that all currently connected clients are sent immediately to the fallback mountpoint
</div>
<h4>example</h4>
<pre>
http://192.168.1.10:8000/admin/fallbacks?mount=/mystream.ogg&fallback=/myfallback.ogg
</pre>
<br>
<br>
<h3>List Clients</h3>
<h4>description</h4>
<div class=indentedbox>
This function will list all the clients currently connected to a specific mountpoint. The results are sent back in XML form.
</div>
<h4>example</h4>
<pre>
http://192.168.1.10:8000/admin/listclients?mount=/mystream.ogg
</pre>
<br>
<br>
<h3>Move Clients (Listeners)</h3>
<h4>description</h4>
<div class=indentedbox>
This function will provide the ability to migrate currently connected listeners from one mountpoint to another. This function requires 2 mountpoints to be passed in, mount (the *from* mountpoint) and destination (the *to* mountpoint). After processing this function all currently connected listeners on mount will be connected to destination. Note that the destination mountpoint must exist and have a sounce client already feeding it a stream.
</div>
<h4>example</h4>
<pre>
http://192.168.1.10:8000/admin/moveclients?mount=/mystream.ogg&destination=/mynewstream.ogg
</pre>
<br>
<br>
<h3>Kill Client (Listener)</h3>
<h4>description</h4>
<div class=indentedbox>
This function will provide the ability to disconnect a specific listener of a currently connected mountpoint. Listeners are identified by a unique id that can be retrieved by via the "List Clients" admin function. This id must be passed in to the request. After processing this request, the listener will no longer be connected to the mountpoint.
</div>
<h4>example</h4>
<pre>
http://192.168.1.10:8000/admin/killclient?mount=/mystream.ogg&id=21
</pre>
<br>
<br>
<h3>Kill Source</h3>
<h4>description</h4>
<div class=indentedbox>
This function will provide the ability to disconnect a specific mountpoint from the server. The mountpoint to be disconnected is specified via the variable "mount".
</div>
<h4>example</h4>
<pre>
http://192.168.1.10:8000/admin/killsource?mount=/mystream.ogg
</pre>
<br>
<br>
<br>
<h2>Admin Functions (general)</h2>
<h3>Stats</h3>
<h4>description</h4>
<div class=indentedbox>
This admin function provides the ability to query the internal statistics kept by the icecast server. Almost all information about the internal workings of the server such as the mountpoints connected, how many client requests have been served, how many listeners for each mountpoint, etc, are available via this admin function.<br>
Note that this admin function can also be invoked via the http://server:port/admin/stats.xml syntax, however this syntax should not be used and will eventually become depricated.
</div>
<h4>example</h4>
<pre>
http://192.168.1.10:8000/admin/stats
</pre>
<br>
<br>
<h3>List Mounts</h3>
<h4>description</h4>
<div class=indentedbox>
This admin function provides the ability to view all the currently connected mountpoints.
</div>
<h4>example</h4>
<pre>
http://192.168.1.10:8000/admin/listmounts
</pre>
<br>
<br>
<br>
<h2>Web-Based Admin Interface</h2>
<p>As an alternative to manually invoking these URLs, a web-based admin interface was developed. This interface provides the same functions that were identified and described above but presents them in a little nicer way. The Web-Based Admin Interface to icecast is shipped with icecast provided in the "admin" directory and comes ready to use. All the user needs to do is set the path to this directory in the config file via the &lt;adminroot&gt; config variable.</p>
<p>The Web-Based Admin Interface is a series of XSLT files which are used to display all the XML obtained via the URL admin interface. This can be changed and modified to suit the user's need. Knowledge of XSLT and transformations from XML to HTML are required in order to make changes to these scripts.</p>
<p>The main URL for the Web-Based Admin Interface is</p>
<pre>
http://192.168.1.10:8000/admin/stats.xsl
</pre>
<p>From this URL all of the other admin functions can be exercised.</p>
</div>
</body>
</html>
<LINK REL=STYLESHEET TYPE= "text/css" HREF= "style.css">
<div class=boxtest>
<body bgcolor="#efefef" text="#323232" link="#0000ff" vlink="#800080" alink="#ff0000">
<h1>Icecast 2 Basic Setup</h1>
<table width=100%><tr><td bgcolor="#007B79" height="10" align="center"></td></tr></table>
<br>
<br>
<br>
<h2>Basic Requirements</h2>
<p>This section will describe the essential requirements in setting up a simple Internet radio station. It is by no means a complete list but should give you enough to get started.</p>
<p>There are two major components involved, the streaming server (icecast in this case) and the source client. The icecast server will be the place where all listeners of your station will connect. The source client (in general) runs on a separate machine than icecast, but does not necessarily need to. Source clients send the content to icecast and provide the stream data (encoded audio) that is then relayed out to listeners by icecast.</p>
<p>It is important to note that not all source clients work with icecast2. You will need to check to make sure that icecast2 is supported by your chosen source client.</p>
<br>
<br>
<br>
<h2>The Basics</h2>
<p>Each icecast server can house multiple broadcasts (or mountpoints) each containing a separate stream of content. A listener can only listen to a single mountpoint at a time. This means you can have a single icecast server contain either multiple broadcasts with different content, or possibly the same broadcast but with streams of different bitrates or qualities. In this case each broadcast or stream is a separate mountpoint.</p>
<p>At this point, the steps outlined here related to the Unix version or Win32 console version of icecast. Icecast is also available in a Win32 GUI version, and the steps are similar in setup, but not quite the same.</p>
<p>The first step in the process is to find and install the icecast2 server itself. How to do this is not contained within this documentation. After installation you should have and icecast binary and 3 directories</p>
<center>
<table border=1 width=75%>
<tr><td>conf</td><td>Contains the icecast configuration file (icecast.xml) which defines all the configuration parameters for the server</td></tr>
<tr><td>admin</td><td>Contains xslt files which are used by the icecast server to provide a web-based front end to the administration capabilities of the server</td></tr>
<tr><td>logs</td><td>This is a blank directory which (if specified in the config file) will contain all the logs (there are 2) for icecast.</td></tr>
</table>
</center>
<p>The next step is to edit the icecast.xml file and set the appropriate values. Most of the default values are fine as provided, and for a basic setup the following entries should be changed :<br><br>
<pre>
&lt;source-password&gt; - will be used by the source client
&lt;admin-password&gt; - will be used to access admin features of icecast
&lt;listen-socket&gt; (both port and bind-address)
&lt;logdir&gt; - directory where log files will be placed
&lt;webroot&gt; - any static content can be placed here (file serving root)
&lt;adminroot&gt; - directory containing admin xslt files
</pre>
<p>Once the configuration file is modified, you should be able to start the server with the following command</p>
<pre>
icecast -c /path/to/icecast.xml
</pre>
<p>If no error messages are generated, then check the error.log file for the following message :</p>
<pre>
[2003-10-31 13:04:49] INFO main/main.c icecast server started
</pre>
<p>You can also verify that it started by visiting the following URL : http://yourip:port/admin/stats.xml. You should be prompted for a username and password. Enter the username "admin" and the password you entered for &lt;admin-password&gt;. If all is well, you should see an small XML tree which represents icecast statistics (more about that later).</p>
<p>Now that the icecast server is started, you must now configure your source client. The information you will need for the source client is the following : <br>
<br>
IP address and Port of the icecast server - both of these come from &lt;listen-socket&gt;<br>
source password - from &lt;source-password&gt;<br>
<p>Additionally, you will need to choose a mountpoint and specify this in the source client. Icecast does not need to know about each mount point (although you can configure settings for specific mountpoint - this is covered under Advanced configuration) although there are some points to mention regarding mountpoints. All Ogg Vorbis streams should have mountpoints that end in .ogg (i,e. /mystream.ogg). This is due to the lazy way most media players infer the type of stream. MP3 streams usually do not contain an extension (/mystream). Mount points also should not contain any spaces or odd characters (again due to the lazy way many of the media players are coded).</p>
<p>Once you have configured your source client, you should be able to connect it to the icecast server. Verify that it is connected by hitting the stats.xml URL that was mentioned above.</p>
<p>Now that you have the source connnected, listening to the stream involves simply opening the appropriate following URL in a browser : http://yourip:port/mounpointyouspecified.m3u. So for instance, if you attached your source client to a icecast server located at 192.168.1.10:8000 with a mountpoint of /mystream.ogg, then you would open : http://192.168.1.10:8000/mystream.ogg.m3u. Note that the .m3u extention will serve up a link that opens most media players. Also it is important to note that m3u need not contain only MP3 stream, it can contain streams of arbitrary content-type and is used by icecast to serve a playlist that represents your broadcast to listening clients. Alternatively you can open up the stream URL directly within your media player (http://192.168.1.10:8000/mystream.ogg in this case)</p>
<br>
<br>
<br>
</div>
</body>
</html>
This diff is collapsed.
<LINK REL=STYLESHEET TYPE= "text/css" HREF= "style.css">
<div class=boxtest>
<body bgcolor="#efefef" text="#323232" link="#0000ff" vlink="#800080" alink="#ff0000">
<h1>Icecast 2 FAQ</h1>
<table width=100%><tr><td bgcolor="#007B79" height="10" align="center"></td></tr></table>
<br>
<br>
<br>
<h2>General Questions</h2>
<h4>What is Icecast?</h4>
<div class=indentedbox>
<p>
Icecast, the project, is a collection of programs and libraries for
streaming audio over the Internet. This includes:
</p>
<ul>
<li>icecast, a program that streams audio data to listeners</li>
<li>libshout, a library for communicating with Icecast servers</li>
<li>IceS, a program that sends audio data to Icecast servers</li>
</ul>
A source client is an external program which is responsible for sending content data to icecast. Some source clients that support icecast2 are Oddcast, ices2, ices0.3, and DarkIce.
</div>
<h4>What is icecast, the program?</h4>
<div class=indentedbox>
<p>
icecast streams audio to listeners, and is compatible with Nullsoft’s Shoutcast.
</p>
</div>
<h4>What is libshout ?</h4>
<div class=indentedbox>
<p>
From the README:
</p>
<blockquote>
<p>
libshout is a library for communicating with and sending data to an icecast server.
It handles the socket connection, the timing of the data, and prevents bad data from getting to the icecast server.
</p>
</blockquote>
</div>
<h4>What is IceS?</h4>
<div class=indentedbox>
<p>
IceS is a program that sends audio data to an icecast server to broadcast to clients.
IceS can either read audio data from disk,
such as from Ogg Vorbis files, or sample live audio from a sound card and encode it on the fly.
</p>
</div>
<h4>How can I view the stream status page?</h4>
<div class=indentedbox>
<p>
Check your icecast configuration file for an element
called &lt;webroot&gt;. This directory contains web stuff.
In it, place a file called “status.xsl” that
transforms an <acronym>XML</acronym> file containing stream
data into a web page
(either <acronym>XHTML</acronym> or <acronym>HTML</acronym>).
</p>
<p>
There are sample <acronym>XSL</acronym> stylesheets available
in icecast/web/ in the CVS distribution
of icecast.
</p>
<p>
In addition, the web directory can
hold multiple status transforms, if you can’t decide which
one you want.
</p>
</div>
<h4>What can I use to listen to an Icecast stream?</h4>
<div class=indentedbox>
<p>
We maintain a list of Icecast-compatible audio players at
<a href="thirdparty.html">http://www.icecast.org/thirdparty.html</a>.
</p>
</div>
</div>
</body>
</html>
<LINK REL=STYLESHEET TYPE= "text/css" HREF= "style.css">
<div class=boxtest>
<body bgcolor="#efefef" text="#323232" link="#0000ff" vlink="#800080" alink="#ff0000">
<h1>Icecast 2 Glossary</h1>
<table width=100%><tr><td bgcolor="#007B79" height="10" align="center"></td></tr></table>
<br>
<br>
<br>
<a name="source client"></a>
<h4>source client</h4>
<div class=indentedbox>
A source client is an external program which is responsible for sending content data to icecast. Some source clients that support icecast2 are Oddcast, ices2, ices0.3, and DarkIce.
</div>
<a name="slave server"></a>
<h4>slave server (Relay)</h4>
<div class=indentedbox>
The slave server in a relay configuration is the server that is pulling the data from the master server. It acts as a listening client to the master server.
</div>
<a name="master server"></a>
<h4>master server (Relay)</h4>
<div class=indentedbox>
The master server in a relay configuration is the server that has the stream that is being relayed.
</div>
<a name="mountpoint"></a>
<h4>mountpoint</h4>
<div class=indentedbox>
A mountpoint is a resource on the icecast server that represents a single broadcast stream. Mountpoints are named similar to files (/mystream.ogg, /mymp3stream). When listeners connect to icecast2, they must specify the mountpoint in the request (i.e. http://192.168.1.10:8000/mystream.ogg). Additionally, source clients must specify a mountpoint when they connect as well. Statistics are kept track of by mountpoint. Mountpoints are a fundamental aspect of icecast2 and how it is organized.
</div>
<a name="fallback"></a>
<h4>fallback mountpoint</h4>
<div class=indentedbox>
A fallback mountpoint is configured with a parent mountpoint. In the event of the parent mountpoint losing connection with icecast, Icecast will then move all clients currently connected to the now defunct mountpoint to it's fallback mountpoint.
</div>
</div>
</body>
</html>
<LINK REL=STYLESHEET TYPE= "text/css" HREF= "style.css">
<div class=boxtest>
<body bgcolor="#efefef" text="#323232" link="#0000ff" vlink="#800080" alink="#ff0000">
<h1>Icecast 2 Introduction</h1>
<table width=100%><tr><td bgcolor="#007B79" height="10" align="center"></td></tr></table>
<br>
<br>
<br>
<h2>What is Icecast ?</h2>
<p>Icecast is a streaming media server which currently supports Ogg Vorbis and MP3 audio streams. It can be used to create an Internet radio station or a privately running jukebox and many things in between. It is very versatile in that new formats can be added relatively easily and supports open standards for commuincation and interaction.</p>
<br>
<p>There are two major parts to most streaming media servers: the component providing the content (what we call <b>source clients</b>) and the component which is responsible for serving that content to listeners (this is the function of icecast).
</p>
<br>
<br>
<br>
<h2>What platforms are supported ?</h2>
<p>Currently the following Unix platforms are supported</p>
<li>Linux (Most flavors including Redhat and Debian)
<li>FreeBSD
<li>OpenBSD
<li>Solaris
<p>Currently the following Windows platforms are supported</p>
<li>Windows NT
<li>Windows 2000
<li>Windows XP
<br>
<br>
<br>
<h2>Where do I go for questions ? ?</h2>
<p>There are many ways to contact the icecast development team</p>
<h3>Best Ways</h3>
<li>Icecast mailing list <a href="http://www.xiph.org/archives">http://www.xiph.org/archives</a>
<li>Icecast Developers mailing list <a href="http://www.xiph.org/archives">http://www.xiph.org/archives</a>
<li>Icecast IRC chat room - irc.freenode.net : #icecast
<h3>Alternate Ways</h3>
<li>team@icecast.org
<br>
<br>
<br>
</div>
</body>
</html>
<LINK REL=STYLESHEET TYPE= "text/css" HREF= "style.css">
<div class=boxtest>
<body bgcolor="#efefef" text="#323232" link="#0000ff" vlink="#800080" alink="#ff0000">
<h1>Icecast 2 Relaying</h1>
<table width=100%><tr><td bgcolor="#007B79" height="10" align="center"></td></tr></table>
<br>
<br>
<br>
<h2>Overview</h2>
<p>Relaying is the process by which one server mirrors one or more streams from a remote server. The servers need not be of the same type (i.e. icecast can relay from Shoutcast). Relaying is used primarily for large broadcasts that need to distribute listening clients across multiple physical machines.</p>
<br>
<br>
<h2>Type of Relays</h2>
<p>There are two types of relays that icecast supports. The first type is when both master and slave servers are icecast2 servers. In this case, a "master-slave" relay can be setup such that all that needs to be done is configure the slave server with the connection information (serverip:port) of the master server and the slave will mirror all mountpoints on the master server. The slave will also periodically check the master server to see if any new mountpoints have attached and if so, then will relay those as well. The second type of relay is a "single-broadcast" relay. In this case, the slave server is configured with a serverip+port+mount and only the mountpoint specified is relayed. In order to relay a broadcast stream on a Shoutcast server, you must use the "single-broadcast" relay and specify a mountpoint of "/".</p>
<br>
<br>
<br>
<h2>Setting Up A Master-Slave Relay</h2>
<p>In order to setup a relay of this type, both servers (the one you wish to relay and the one doing the relaying) need to be icecast2 servers. The following configuration snippet is used as an example:</p>
<pre>
&lt;master-server&gt;192.168.1.11&lt;/master-server&gt;
&lt;master-server-port&gt;8001&lt;/master-server-port&gt;
&lt;master-update-interval&gt;120&lt;/master-update-interval&gt;
&lt;master-password&gt;hackme&lt;/master-password&gt;
</pre>
In this example, this configuration is setup in the server which will be doing the relaying (slave server). The master server in this case need not be configured (and actually is unaware of the relaying being performed) as a relay. When the slave server is started, it will connect to the master server located at 192.168.1.11:8001 and will begin to relay all mountpoints connected to the master server. Additionally, every master-update-interval (120 seconds in this case) the slave server will poll the master server to see if any new mountpoints have connected, and if so, the slave server will relay those as well. Note that the names of the mountpoints on the slave server will be identical to those on the master server.
<br>
<br>
<br>
<h2>Setting Up A Single-Broadcast Relay</h2>
<p>In this case, the master server need not be an icecast2 server. Supported master servers for a single-broadcast relay are Shoutcast, Icecast1.x, and of course Icecast2. The following configuration snippet is used as an example:</p>
<pre>
&lt;relay&gt;
&lt;server&gt;192.168.1.11&lt;/server&gt;
&lt;port&gt;8001&lt;/port&gt;
&lt;mount&gt;/example.ogg&lt;/mount&gt;
&lt;local-mount&gt;/different.ogg&lt;/local-mount&gt;
&lt;relay-shoutcast-metadata&gt;0&lt;/relay-shoutcast-metadata&gt;
&lt;/relay&gt;
</pre>
<p>In this example, this configuration is also setup in the server which will be doing the relaying (slave server). The master server in this case need not be configured (and actually is unaware of the relaying being performed) as a relay. When the slave server is started, it will connect to the master server located at 192.168.1.11:8001 and will begin to relay only the mountpoint specified (/example.ogg in this case). Using this type of relay, the user can override the local mountpoint name and make it something entirely different than the one on the master server. Additionally, if the server is a Shoutcast server, then the &lt;mount&gt; must be specified as /. And if you want the Shoutcast relay stream to have metadata contained within it (Shoutcast metadata is embedded in the stream itself) then the &lt;relay-shoutcast-metadata&gt; needs to be set to 1.</p>
<br>
<br>
<br>
</div>
</body>
</html>
<LINK REL=STYLESHEET TYPE= "text/css" HREF= "style.css">
<div class=boxtest>
<body bgcolor="#efefef" text="#323232" link="#0000ff" vlink="#800080" alink="#ff0000">
<h1>Icecast 2 Server Statistics</h1>
<table width=100%><tr><td bgcolor="#007B79" height="10" align="center"></td></tr></table>
<br>
<br>
<br>
<h2>Overview</h2>
<p>This section contains information about the server statistics available from icecast. An example stats XML tree will be shown and each element will be described. The following example stats tree will be used :</p>
<pre>
&lt;?xml version="1.0"?&gt;
&lt;icestats&gt;
&lt;client_connections&gt;13&lt;/client_connections&gt;
&lt;connections&gt;14&lt;/connections&gt;
&lt;source_connections&gt;1&lt;/source_connections&gt;
&lt;sources&gt;1&lt;/sources&gt;
&lt;source mount="/test.ogg"&gt;
&lt;artist&gt;&lt;/artist&gt;
&lt;audio_info&gt;ice-samplerate=32000;ice-bitrate=Quality -1;ice-channels=1&lt;/audio_info&gt;
&lt;ice-bitrate&gt;Quality -1&lt;/ice-bitrate&gt;
&lt;ice-channels&gt;1&lt;/ice-channels&gt;
&lt;ice-samplerate&gt;32000&lt;/ice-samplerate&gt;
&lt;listeners&gt;0&lt;/listeners&gt;
&lt;public&gt;0&lt;/public&gt;
&lt;title&gt;&lt;/title&gt;
&lt;type&gt;Ogg Vorbis&lt;/type&gt;
&lt;/source&gt;
&lt;/icestats&gt;
</pre>
<h3>General Statistics</h3>
<h4>client-connections</h4>
<div class=indentedbox>
Client connections are basically anything that is not a source connection. These include listeners (not concurrent, but accumilative), any admin function accesses, and any static content (file serving) accesses.
</div>
<h4>source-connections</h4>
<div class=indentedbox>
Source connections are the number of times (accumilative not currently connected) a source has connected to icecast.
</div>
<h4>connections</h4>
<div class=indentedbox>
The total of client + source connections.
</div>
<h4>sources</h4>
<div class=indentedbox>
The total of currently connected sources (mountpoints).
</div>
<h4>sources</h4>
<div class=indentedbox>
The total of currently connected sources (mountpoints).
</div>
<h3>Source Specific Statistics</h3>
<h4>artist</h4>
<div class=indentedbox>
Artist of the current song (metadata set by source client)
</div>
<h4>title</h4>
<div class=indentedbox>
Title of the current song (metadata set by source client)
</div>
<h4>audio-info</h4>
<div class=indentedbox>
Information about the bitrate/samplerate/quality of the stream (set by source client). Also used for YP entries.
</div>
<h4>ice-bitrate</h4>
<h4>ice-samplerate</h4>
<h4>ice-channels</h4>
<div class=indentedbox>
Information about the bitrate/samplerate/quality of the stream (set by source client)
</div>
<h4>listeners</h4>
<div class=indentedbox>
The number of currently connected listeners.
</div>
<h4>public</h4>
<div class=indentedbox>
Flag that indicates whether this mount is being listed on a YP (sey by source client)
</div>
<h4>type</h4>
<div class=indentedbox>
Media type of the stream.
</div>
<br>
<br>
<br>
</body>
</html>
<!doctype html public "-//w3c//dtd html 3.2//en">
<LINK REL=STYLESHEET TYPE= "text/css" HREF= "style.css">
<div class="boxtest">
<h1>Icecast 2 - Win32 Specific Documentation</h1>
<table width=100%><tr><td bgcolor="#007B79" height="10" align="center"></td></tr></table>
<p>
The win32 port of icecast2 is simply a UI framework around the core icecast2 server. The win32 version of icecast2 uses directly the main executable of icecast (statically included) and simply provides a GUI interface to icecast2.
</p>
<p>
Most of the features of icecast2 are available in the win32 port.
</p>
<h2>Server Status Tab</h2>
<p>
The server status tab contains information regarding statistics that are global to the server. There are two types of statistics in icecast2, source level and global statistics. Global statistics are those that are accumilations of stats from all sources offered by the server. Source level statistics are stats which apply only to a single source attached to the server.
</p>
<p>
Examples of global statistics are :
</p>
<pre>
The number of current sources connected
The number of sources that have attempted connections
Total number of attempted connections to the server
</pre>
</p>
<p>
The Server Status tab contains at a minimal the global stats for the server. Additionally, you may add source specific stats to this tab. The intent is to provide a single "dashboard view" of what's going on in the server. To add source statistics to the Server Status tab, see the section on the Stats tab.
</p>
<h3>Adding stats to the window title</h3>
<p>
Any stat that is contained on the Server Status tab can be displayed as the icecast2 window title. This provides yet another mechanism by which you can view activities on the server. To enable this feature, right click on any stat in the Server Status tab as seen below :
</p>
<img src="windowtitle.jpg">
<br>
<br>
<br>
<h3>Removing source level stats from the Server Status Tab</h3>
<p>
To remove a source level stat that you have inserted onto the Server Status Tab, simple right click that statistic and select "Delete from Global Stats". The stat will be deleted from the Server Status tab, but will still remain on the source level Stats tab.
</p>
<h2>Editing The Icecast Config File</h2>
<p>
Editing the icecast2 configuration file is a very simple process. For a description of what each field means, see the main icecast documenation. Changes to the icecast2 configuration can only be done while the server is stopped. To edit the current server configuration file, select "Configuration/Edit Configuration" from the main menu.
</p>
<h2>Stats Tab</h2>
<p>
The stats tab contains a view of all the connected mountpoints and the statistics that go along with them. Each connected mountpoint is displayed in the left pane of the window, and all stats for the selected mountpoint are displayed in the right pane of the window.
</p>
<img src="stats1.jpg">
</div>
</body>
</html>
<LINK REL=STYLESHEET TYPE= "text/css" HREF= "style.css">
<div class=boxtest>
<body bgcolor="#efefef" text="#323232" link="#0000ff" vlink="#800080" alink="#ff0000">
<h1>Icecast 2 YP Directories</h1>
<table width=100%><tr><td bgcolor="#007B79" height="10" align="center"></td></tr></table>
<br>
<br>
<br>
<h2>Overview</h2>