[xiph-cvs] cvs commit: icecast/doc icecast2_TOC.html icecast2_admin.html icecast2_basicsetup.html icecast2_config_file.html icecast2_faq.html icecast2_glossary.html icecast2_introduction.html icecast2_relay.html icecast2_stats.html icecast2_win32.html icecast2_yp.html icecast2.chm icecast2.hhc icecast2.hhp stats1.jpg style.css windowtitle.jpg

Ed oddsock at xiph.org
Wed Nov 12 19:50:32 PST 2003



oddsock     03/11/12 22:50:31

  Modified:    doc      icecast2.chm icecast2.hhc icecast2.hhp stats1.jpg
                        style.css windowtitle.jpg
  Added:       doc      icecast2_TOC.html icecast2_admin.html
                        icecast2_basicsetup.html icecast2_config_file.html
                        icecast2_faq.html icecast2_glossary.html
                        icecast2_introduction.html icecast2_relay.html
                        icecast2_stats.html icecast2_win32.html
                        icecast2_yp.html
  Log:
  icecast2 documentation. need I say more ?

Revision  Changes    Path
1.2       +496 -360  icecast/doc/icecast2.chm

Index: icecast2.chm
===================================================================
RCS file: /usr/local/cvsroot/icecast/doc/icecast2.chm,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
Binary files /tmp/cvsXumolL and /tmp/cvsaBu1Un differ

<p><p>1.2       +36 -8     icecast/doc/icecast2.hhc

Index: icecast2.hhc
===================================================================
RCS file: /usr/local/cvsroot/icecast/doc/icecast2.hhc,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- icecast2.hhc	26 Aug 2002 12:40:29 -0000	1.1
+++ icecast2.hhc	13 Nov 2003 03:50:30 -0000	1.2
@@ -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>

<p><p>1.2       +2 -2      icecast/doc/icecast2.hhp

Index: icecast2.hhp
===================================================================
RCS file: /usr/local/cvsroot/icecast/doc/icecast2.hhp,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- icecast2.hhp	26 Aug 2002 12:40:29 -0000	1.1
+++ icecast2.hhp	13 Nov 2003 03:50:30 -0000	1.2
@@ -4,7 +4,7 @@
 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 @@
 
 
 [FILES]
-index_win32.html
+icecast2_TOC.html
 
 [INFOTYPES]
 

<p><p>1.2       +140 -101  icecast/doc/stats1.jpg

Index: stats1.jpg
===================================================================
RCS file: /usr/local/cvsroot/icecast/doc/stats1.jpg,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
Binary files /tmp/cvsGEf9nS and /tmp/cvsol2u7z differ

<p><p>1.2       +42 -2     icecast/doc/style.css

Index: style.css
===================================================================
RCS file: /usr/local/cvsroot/icecast/doc/style.css,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- style.css	26 Aug 2002 12:40:29 -0000	1.1
+++ style.css	13 Nov 2003 03:50:30 -0000	1.2
@@ -1,7 +1,31 @@
 .ahem { display: none }
+body { 
+	font-size:12px; 
+	font-family:'Lucida Grande', Verdana, Geneva, Lucida, sans-serif;
+	background:#000000; 
+	link:#FFFFFF; 
+	text:#323232; 
+	vlink:#FFFFFF; 
+	alink:#FFFFFF;
+}
+a {
+    font-weight: bold;
+    text-decoration: none;
+}
 
-body { font-size:10px; font-family:Verdana,sans-serif bg-color:#efefef link:#0000ff text:#323232 vlink:#800080 alink:#ff0000 }
-code,pre { font-size:11px; font-family:"Courier New",monospace;background:#cc9; padding:0 0.5em }
+a:link	{	color: #ff0; }
+a:visited { color: #cc3; }
+a:hover	{	color: #f00; }
+code,pre { 
+	font-size:11px; 
+	color:#ffffff;
+	font-family:"Courier New",monospace;
+	background:#999; 
+	padding:0 0.5em 
+}
+td {
+	color:#ffffff;
+}
 pre { padding:0.5em }
 blockquote { margin:0.5em }
 blockquote p { margin:0 }
@@ -14,10 +38,26 @@
 div.boxtest { 
  border:10px solid; 
  padding:30px; 
+ background: #555555;
+ width:80%;;
+ color:#ffffff;
+}
+
+div.smallbox{ 
+ border:2px solid; 
+ padding:40px; 
  background: #ffc; 
  width:600px;
+ text:#FFFFFF;
+}
+
+div.indentedbox { 
+ border:0px solid; 
+ padding:10px; 
+ background: #779; 
 }
 
+
 div.content { 
  border:20px solid; 
  padding:30px;

<p><p>1.2       +442 -126  icecast/doc/windowtitle.jpg

Index: windowtitle.jpg
===================================================================
RCS file: /usr/local/cvsroot/icecast/doc/windowtitle.jpg,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
Binary files /tmp/cvscGOh4U and /tmp/cvsigGXKH differ

<p><p>1.1                  icecast/doc/icecast2_TOC.html

Index: icecast2_TOC.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 Documentation Table of Contents</h1>
<table width=100%><tr><td bgcolor="#007B79" height="10" align="center"></td></tr></table>

<li>Introduction
<li>Basic Setup
<li>Icecast Config File
<li>Admin Interface
<li>Server Statistics
<li>Relaying
<li>Listing in a YP directory
<li>Win32 specific documentation
<li>Glossary
<li>FAQ

<p><p><p>1.1                  icecast/doc/icecast2_admin.html

Index: icecast2_admin.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 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>

<p><p>1.1                  icecast/doc/icecast2_basicsetup.html

Index: icecast2_basicsetup.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>

<p><p>1.1                  icecast/doc/icecast2_config_file.html

Index: icecast2_config_file.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 Config File</h1>
<table width=100%><tr><td bgcolor="#007B79" height="10" align="center"></td></tr></table>
<h3>Overview</h3>
<p>
This section will describe each section of the config file and is grouped into the following sections :
</p>
<li>Limits
<li>Authentication
<li>YP Directory Settings
<li>Misc Server settings
<li>Relay settings
<li>Mount Specific settings
<li>File path settings
<li>Logging
<li>Security

<br>
<br>
<br>
<a name="limits"></a>
<h2>Limits</h2>
<pre>
    &lt;limits&gt;
        &lt;clients&gt;100&lt;clients&gt;
        &lt;sources&gt;2&lt;sources&gt;
        &lt;threadpool&gt;5&lt;threadpool&gt;
        &lt;queue-size&gt;102400&lt;queue-size&gt;
        &lt;client-timeout&gt;30&lt;client-timeout&gt;
        &lt;header-timeout&gt;15&lt;header-timeout&gt;
        &lt;source-timeout&gt;10&lt;source-timeout&gt;
    &lt;limits&gt;
</pre>
<p>This section contains server level settings that, in general do not need to be changed.  Only modify this section if you are know what you are doing.
</p>
<h4>clients</h4>
<div class=indentedbox>
Total number of concurrent clients supported by the server.  Listeners are considered clients, but so are accesses to any static content (i.e. fileserved content) and also any requests to gather stats.  These are max *concurrent* connections for the entire server (not per mountpoint)
</div>
<h4>sources</h4>
<div class=indentedbox>
Max number of connected sources supported by the server.
</div>
<h4>threadpool</h4>
<div class=indentedbox>
This is the number of threads that are started to handle client connections.  You may need to increase this value if you are running a high traffic stream.  This recommended value is for a small to medium traffic server.
</div>
<h4>queue-size</h4>
<div class=indentedbox>
This is the maximum size (in bytes) of a client (listener) queue.  A listener may temporarily lag behind due to network congestion and in this case an internal queue is maintained for each listener.  If the queue grows larger than this config value, then the listener will be removed from the stream.
</div>
<h4>client-timeout</h4>
<div class=indentedbox>
This does not seem to be used.
</div>
<h4>header-timeout</h4>
<div class=indentedbox>
the maximum time (in seconds) to wait for a request to come in once the client has made a connection to the server.  In general this value should not need to be tweaked.
</div>
<h4>source-timeout</h4>
<div class=indentedbox>
If a connected source does not send any data within this timeout period (in seconds), then the source connection will be removed from the server.
</div>
<br>
<br>
<br>
<a name="authentication"></a>
<h2>Authentication</h2>
<pre>
    &lt;authentication&gt;
        &lt;source-password&gt;hackme&lt;source-password&gt;
        &lt;relay-password&gt;hackme&lt;relay-password&gt;
        &lt;admin-user&gt;admin&lt;admin-user&gt;
        &lt;admin-password&gt;hackme&lt;admin-password&gt;
    &lt;authentication&gt;
</pre>
<p>This section contains all the users and passwords used for administration purposes or to connect sources and relays.
</p>
<h4>source-password</h4>
<div class=indentedbox>
The unencrypted password used by sources to connect to icecast2.  Currently, the username for all source connections must be 'source'.  This is likely to change in the future.
</div>
<h4>relay-password</h4>
<div class=indentedbox>
Currently not used.
</div>
<h4>admin-user</h4>
<h4>admin-password</h4>
<div class=indentedbox>
The username/password used for all administration functions.  This includes retrieving statistics, accessing the web-based administration screens, etc.  A list of these functions can be found in the "Administration" section of the manual.
</div>
<br>
<br>
<br>
<a name="yp"></a>
<h2>YP Directory Settings</h2>
<pre>
    &lt;directory&gt;
        &lt;yp-url-timeout&gt;15&lt;yp-url-timeout&gt;
        &lt;yp-url&gt;http://dir.xiph.org/cgi-bin/yp-cgi<yp-url>
    &lt;directory&gt;
</pre>
<p>This section contains all the settings for listing a stream on any of the Icecast2 YP Directory servers.  Multiple occurances of this section can be specified in order to be listed on multiple directory servers.
</p>
<h4>yp-url-timeout</h4>
<div class=indentedbox>
This value is the maximum time icecast2 will wait for a response from a particular directory server.  The recommended value should be sufficient for most directory servers.
</div>
<h4>yp-url</h4>
<div class=indentedbox>
The URL which icecast2 uses to communicate with the Directory server.  The value for this setting is provided by the owner of the Directory server.
</div>
<br>
<br>
<br>
<a name="misc"></a>
<h2>Misc Server Settings</h2>
<pre>
    &lt;hostname&gt;localhost&lt;hostname&gt;

    &lt;-- You can use these two if you only want a single listener --&gt;
    &lt;-- &lt;port&gt;8000&lt;port&gt; --&gt;
    &lt;-- &lt;bind-address&gt;127.0.0.1&lt;bind-address&gt; --&gt;

    &lt;-- You may have multiple &lt;listener&gt; elements --&gt;
    &lt;listen-socket&gt;
        &lt;port&gt;8000&lt;port&gt;
        &lt;bind-address&gt;127.0.0.1&lt;bind-address&gt;
    &lt;listen-socket&gt;

    &lt;fileserve&gt;1&lt;fileserve&gt;
</pre>
<p>This section contains miscellaneous server settings.  Note that multiple listen-socket sections may be configured in order to have icecast2 listen on multiple network interfaces.  If a bind-address is not specified for a particular listen-socket, then the hostname parameter will be used to specify the address that will be bound.
</p>
<h4>port</h4>
<div class=indentedbox>
The TCP port that will be used to accept client connections.
</div>
<h4>bind-address</h4>
<div class=indentedbox>
And option IP address that can be used to bind to a specific network card.  If not supplied, then &lt;hostname&gt; will be used.
</div>
<h4>fileserve</h4>
<div class=indentedbox>
This flag turns on the icecast2 fileserver from which static files can be served.  All files are served relative to the path specified in the &lt;paths&gt;&lt;webroot&gt; configuration setting.
</div>
<br>
<br>
<br>
<a name="relay"></a>
<h2>Relay Settings</h2>
<pre>
    &lt;master-server&gt;127.0.0.1&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;

    &lt;relay&gt;
        &lt;server&gt;127.0.0.1&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>This section contains the server's relay settings. There are two types of relays, a "Master server relay" or a "Specific Mountpoint relay".  A Master server relay is only supported between icecast2 servers and is used to relays all mountpoints on a remote icecast2 server.   

<h3>Master Relay</h3>
The following diagram shows the basics of doing a Master relay.  Note that Server 1 is configured with the &lt;master-server&gt;, &lt;master-server-port&gt;, etc settings and server 2 is the server from which Server 1 will pull all attached mountpoints and relay them.  Using a Master Server relay, ALL mountpoints on Server 2 will be relayed.  If only specific mountpoints need to be relayed, then you must configure Server 1 as a "Specific Mountpoint Relay".  Both Master server relays and Specific Mountpoint relays begin their "relaying" when the Server is started.

<pre>
      |-----|                       |-----|
      |     |  all mountpoints      |     | /mount1
      |     | &lt;-------------------  |     | /mount2.ogg
      |-----|                       |-----| /mount3
      Icecast 2                     Icecast 2 
      Server 1                      Server 2
      (RELAY SERVER)                (MASTER SERVER)

     configured with
     &lt;master-server&gt;
     settings 

</pre>

A server is configured as a Master Server relay by specifying the &lt;master-server&gt;, &lt;master-server-port&gt;,&lt;master-update-interval&gt;,&lt;master-password&gt; values in the config file.  The server that is being relayed does not need any special configuration.

</p>
<h4>master-server</h4>
<div class=indentedbox>
This is the IP for the server which contains the mountpoints to be relayed (Master Server).  
</div>
<h4>master-server-port</h4>
<div class=indentedbox>
This is the TCP Port for the server which contains the mountpoints to be relayed (Master Server).
</div>
<h4>master-update-interval</h4>
<div class=indentedbox>
The interval (in seconds) that the Relay Server will poll the Master Server for any new mountpoints to relay
</div>
<h4>master-password</h4>
<div class=indentedbox>
This is the admin password on the Master server.  It is used to query the server for a list of mountpoints to relay.
</div>
<br>
<h3>Specific Mountpoint Relay</h3>
The following diagram shows the basics of doing a Specific Mountpoint relay.  Note that Server 1 is configured with the &lt;relay&gt; settings and server 2 is the server from which Server 1 will pull the specified mountpoint(s) and relay them.  Using a Specific Mountpoint Relay, only those mountpoints specified on Server 1 will be relayed from Server 2.

<pre>
      |-----|                       |-----|
      |     |      /mount3          |     | /mount1
      |     | &lt;-------------------  |     | /mount2.ogg
      |-----|                       |-----| /mount3
      Icecast 2                     Icecast 2/Shoutcast/Icecast
      Server 1                      Server 2
      (RELAY SERVER)                (REMOTE SERVER)

     configured with
     &lt;relay&gt;
     settings 

</pre>

Specific Mountpoint Relays can be configured to relay from an Icecast 2 server, as well as Icecast 1.x and Shoutcast.
A server is configured as a Specific Mountpoint Server relay by specifying a &lt;relay&gt; XML chunk in the config file for each mountpoint to be relayed.  The server that is being relayed does not need any special configuration.

        &lt;server&gt;127.0.0.1&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;

</p>
<h4>server</h4>
<div class=indentedbox>
This is the IP for the server which contains the mountpoint to be relayed.
</div>
<h4>port</h4>
<div class=indentedbox>
This is the TCP Port for the server which contains the mountpoint to be relayed.
</div>
<h4>mount</h4>
<div class=indentedbox>
The mountpoint located on the remote server.  If you are relaying a shoutcast stream, this must be '/'
</div>
<h4>local-mount</h4>
<div class=indentedbox>
The name to use for the local mountpoint.  This is what the mount will be named on the RELAY SERVER.
</div>
<h4>relay-shoutcast-metadata</h4>
<div class=indentedbox>
If you are relaying a Shoutcast stream, you need to specify this indicator to also relay the metadata (song titles) that is part of the Shoutcast stream. (1=enabled, 0=disabled)
</div>
<br>
<br>
<br>
<a name="mount"></a>
<h2>Mount Specific Settings</h2>
<pre>
    &lt;mount&gt;
        &lt;mount-name&gt;/example-complex.ogg&lt;mount-name&gt;
        &lt;username&gt;othersource&lt;username&gt;
        &lt;password&gt;hackmemore&lt;password&gt;
        &lt;max-listeners&gt;1&lt;max-listeners&gt;
        &lt;dump-file&gt;/tmp/dump-example1.ogg&lt;dump-file&gt;
        &lt;fallback-mount&gt;example2.ogg&lt;fallback-mount&gt;
    &lt;mount&gt;
</pre>
<p>This section contains settings which apply only to a specific mountpoint.  Within this section you can reserve a specific mountpoint and set a source username/password for that mountpoint (Not yet implemented) as well as specify individual settings which will apply only to the supplied mountpoint.
</p>
<h4>mount-name</h4>
<div class=indentedbox>
The name of the mount point for which these settings apply.
</div>
<h4>username</h4>
<div class=indentedbox>
An optional value which will set the username that a source must use to connect using this mountpoint.
</div>
<h4>password</h4>
<div class=indentedbox>
An optional value which will set the password that a source must use to connect using this mountpoint.
</div>
<h4>max-listeners</h4>
<div class=indentedbox>
An optional value which will set the maximum number of listeners that can be attached to this mountpoint.
</div>
<h4>dump-file</h4>
<div class=indentedbox>
An optional value which will set the filename which will be a dump of the stream coming through on this mountpoint.
</div>
<h4>fallback-mount</h4>
<div class=indentedbox>
This specifies a mountpoint that is used in the case of a source disconnect.  If listeners are connected to the mount specified by the &lt;mount-name&gt; config value, then if the source is disconnected, all currently connected clients will be moved to the fallback-mount.
</div>
<br>
<br>
<br>
<a name="path"></a>
<h2>Path Settings</h2>
<pre>
    &lt;paths&gt;
        &lt;basedir&gt;./&lt;basedir&gt;
        &lt;logdir&gt;./logs&lt;logdir&gt;
        &lt;webroot&gt;./web&lt;webroot&gt;
        &lt;adminroot&gt;./admin&lt;adminroot&gt;
        &lt;alias source="/foo" dest="/bar"/&gt;
    &lt;paths&gt;
</pre>
<p>This section contains paths which are used for various things within icecast.  All paths should not end in a '/'.
</p>
<h4>basedir</h4>
<div class=indentedbox>
This path is used in conjunction with the chroot settings, and specified the base directory that is chrooted to when the server is started.  This feature is not supported on win32.
</div>
<h4>logdir</h4>
<div class=indentedbox>
This path specifies the base directory used for logging. Both the error.log and access.log will be created relative to this directory.  
</div>
<h4>webroot</h4>
<div class=indentedbox>
This path specifies the base directory used for all static file requests.  This directory can contain all standard file types (including mp3s and ogg vorbis files).  For example, if webroot is set to /var/share/icecast2, and a request for http://server:port/mp3/stuff.mp3 comes in, then the file /var/share/icecast2/mp3/stuff.mp3 will be served.
</div>
<h4>adminroot</h4>
<div class=indentedbox>
This path specifies the base directory used for all admin requests.  More specifically, this is used to hold the XSLT scripts used for the web-based admin interface.  The admin directory contained within the icecast distribution contains these files.
</div>
<h4>alias source="/foo" dest="/bar"</h4>
<div class=indentedbox>
Aliases are used to provide a way to create multiple mountpoints that refer to the same mountpoint.
</div>
<br>
<br>
<br>
<a name="log"></a>
<h2>Logging Settings</h2>
<pre>
    &lt;logging&gt;
        &lt;accesslog&gt;access.log&lt;/accesslog&gt;
        &lt;errorlog&gt;error.log&lt;/errorlog&gt;
              &lt;loglevel&gt;4&lt;/loglevel&gt; &lt;-- 4 Debug, 3 Info, 2 Warn, 1 Error --&gt;
    &lt;/logging&gt;
</pre>
<p>This section contains information relating to logging within icecast.  There are two logfiles currently generated by icecast, an error.log (where all log messages are placed) and an access.log (where all stream/admin/http requests are logged).
</p>
<p>Note that on non-win32 platforms, a HUP signal can be sent to icecast in which the log files are re-opened for appending giving the ability move/remove the log files.
<h4>accesslog</h4>
<div class=indentedbox>
Into this file, all requests made to the icecast2 will be logged.  This file is relative to the path specified by the &lt;logdir&gt; config value.
</div>
<h4>errorlog</h4>
<div class=indentedbox>
All icecast generated log messages will be written to this file.  If the loglevel is set too high (Debug for instance) then this file can grow fairly large over time.  Currently, there is no log-rotation implemented.
</div>
<h4>loglevel</h4>
<div class=indentedbox>
Indicates what messages are logged by icecast.  Log messages are categorized into one of 4 types, Debug, Info, Warn, and Error.<br><br>The following mapping can be used to set the appropraite value :
</div>
<br>
<br>
<li>loglevel = 4 - Debug, Info, Warn, Error messages are printed
<li>loglevel = 3 - Info, Warn, Error messages are printed
<li>loglevel = 2 - Warn, Error messages are printed
<li>loglevel = 1 - Error messages only are printed
<br>
<a name="security"></a>
<h2>Security Settings</h2>
<pre>
    &lt;security&gt;
        &lt;chroot&gt;0&lt;/chroot&gt;
        &lt;changeowner&gt;
            &lt;user&gt;nobody&lt;/user&gt;
            &lt;group&gt;nogroup&lt;/group&gt;
        &lt;/changeowner&gt;
    &lt;/security&gt;
</pre>
<p>This section contains configuration settings that can be used to secure the icecast server by performing a chroot to a secured location.  This is currently not supported on win32.
</p>
<h4>chroot</h4>
<div class=indentedbox>
An indicator which specifies whether a chroot() will be done when the server is started.  The chrooted path is specified by the &lt;basedir&gt; configuration value.
</div>
<h4>changeowner</h4>
<div class=indentedbox>
This section indicates the user and group that will own the icecast process when it is started.  These need to be valid users on the system.
</div>
</div>
</body>
</html>

<p><p>1.1                  icecast/doc/icecast2_faq.html

Index: icecast2_faq.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 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"><a href="http://www.icecast.org/thirdparty.html</a">http://www.icecast.org/thirdparty.html</a</a>>.
                </p>
</div>
</div>
</body>
</html>

<p><p><p>1.1                  icecast/doc/icecast2_glossary.html

Index: icecast2_glossary.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>

<p><p>1.1                  icecast/doc/icecast2_introduction.html

Index: icecast2_introduction.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 http://www.xiph.org/archives
<li>Icecast Developers mailing list http://www.xiph.org/archives
<li>Icecast IRC chat room - irc.freenode.net : #icecast
<h3>Alternate Ways</h3>
<li>team at icecast.org
<br>
<br>
<br>
</div>
</body>
</html>

<p><p>1.1                  icecast/doc/icecast2_relay.html

Index: icecast2_relay.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>

<p><p>1.1                  icecast/doc/icecast2_stats.html

Index: icecast2_stats.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>

<p><p>1.1                  icecast/doc/icecast2_win32.html

Index: icecast2_win32.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>

<p><p>1.1                  icecast/doc/icecast2_yp.html

Index: icecast2_yp.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>
<p>A YP (Yellow Pages) directory is a listing of broadcast streams.  Icecast2 has it own YP directory located at http://dir.xiph.org.  Currently icecast2 can only be listed in an icecast2-supported YP directory.  This means that you cannot list your stream in the Shoutcast YP directory.</p>
<p>In the icecast2 configuration file are all the currently available YP directory servers.  Listing your stream in a YP is a combination of settings in the icecast configuration file and also in your source client.</p>
<br>
<br>
<br>
<h2>Configuring icecast2 for YP support</h2>
<p>First of all, icecast must have been built with YP support.  This is automatically done if you have libcurl installed.  If libcurl is not detected when icecats is compiled, then YP support is disabled.</p>
<p>If icecast has been built with YP support, then the following configuration options control the YP directory settings :</p>
<pre>
    &lt;directory&gt;
        &lt;yp-url-timeout&gt;15&lt;yp-url-timeout&gt;
        &lt;yp-url&gt;http://dir.xiph.org/cgi-bin/yp-cgi<yp-url>
    &lt;directory&gt;
</pre>
<p>Multiple directory XML chunks can be specified in order to be listed in multiple directories.</p>
<br>
<br>
<br>
<h2>Configuring Your Source Client for YP support</h2>
<p>This is usually covered in the source client documentation.  More specifically, the source client needs to provide the HTTP header ice-public:1 on connect in order to enable YP listing of the stream.</p>
<p>If a mountpoint is being listed on a YP, then you will see some additional statistics relating to the YP such as last-touch, currently-playing, etc.</p>
<br>
<br>
<br>
</div>
</body>
</html>

<p><p>--- >8 ----
List archives:  http://www.xiph.org/archives/
Ogg project homepage: http://www.xiph.org/ogg/
To unsubscribe from this list, send a message to 'cvs-request at xiph.org'
containing only the word 'unsubscribe' in the body.  No subject is needed.
Unsubscribe messages sent to the list will be ignored/filtered.



More information about the commits mailing list