Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • xiph/icecast-server
  • zenermerps/Icecast-Server
  • ePirat/icecast-server
  • spr0cketeer/icecast-server
  • theassassin/icecast-server
  • gilou/icecast-server
  • stephan48/icecast-server
  • rillian/icecast-server
  • vcode11/icecast-server
  • refactor-droidyy/icecast-server
10 results
Show changes
Showing
with 1066 additions and 480 deletions
version=2
http://www.icecast.org/download.html files/icecast/icecast-(.*)\.tar\.gz debian uupdate
Makefile.in
......@@ -6,8 +6,8 @@ docdir = $(datadir)/doc/icecast
doc_DATA = index.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_win32.html icecast2_yp.html icecast2_listenerauth.html
EXTRA_DIST = Index.hhk icecast2.chm icecast2.hhc icecast2.hhp index_win32.html \
EXTRA_DIST = Index.hhk icecast2.hhc icecast2.hhp index_win32.html \
stats1.jpg style.css win32_section1.html win32_section2.html \
win32_section3.html windowtitle.jpg $(doc_DATA)
File deleted
<LINK REL=STYLESHEET TYPE= "text/css" HREF= "style.css">
<div class=boxtest>
<body bgcolor="#efefef" text="#323232" link="#0000ff" vlink="#800080" alink="#ff0000">
<?xml version="1.0"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<title>Icecast v2.x Documentation</title>
<link rel="stylesheet" type="text/css" href="style.css" />
</head>
<body>
<div class="boxtest">
<h1>Icecast 2 Admin Interface</h1>
<table width=100%><tr><td bgcolor="#007B79" height="10" align="center"></td></tr></table>
<br>
<br>
<br>
<hr id='titlebar' />
<br />
<br />
<br />
<h2>Overview</h2>
<p>This section contains information about the admin interface of icecast. Through this interface the user can manipulate many server features. From it you can gather statistics, mov e 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>
<p>Each of these functions requires HTTP authentication via the appropriate username and password. For mount-specific functions, you may use either the &lt;admin-username&gt; and &lt;admin-password&gt; specified in the icecast config file, or the username and password specified for that mountpoint (if any). For general functions (not specific to a single mountpoint), you must use the admin username and password. 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.
</p>
<h3>Metadata Update</h3>
<h4>description</h4>
<div class=indentedbox>
<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 and only for MP3 streams.
</div>
<h4>example</h4>
<pre>
http://192.168.1.10:8000/admin/metadata?mount=/mystream&mode=updinfo&song=ACDC+Back+In+Black
http://192.168.1.10:8000/admin/metadata?mount=/mystream&amp;mode=updinfo&amp;song=ACDC+Back+In+Black
</pre>
<br>
<br>
<br />
<br />
<h3>Fallback Update</h3>
<h4>description</h4>
<div class=indentedbox>
<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
http://192.168.1.10:8000/admin/fallbacks?mount=/mystream.ogg&amp;fallback=/myfallback.ogg
</pre>
<br>
<br>
<br />
<br />
<h3>List Clients</h3>
<h4>description</h4>
<div class=indentedbox>
<div class="indentedbox">
This function lists 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>
<br />
<br />
<h3>Move Clients (Listeners)</h3>
<h4>description</h4>
<div class=indentedbox>
<div class="indentedbox">
This function provides 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
http://192.168.1.10:8000/admin/moveclients?mount=/mystream.ogg&amp;destination=/mynewstream.ogg
</pre>
<br>
<br>
<br />
<br />
<h3>Kill Client (Listener)</h3>
<h4>description</h4>
<div class=indentedbox>
<div class="indentedbox">
This function provides 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
http://192.168.1.10:8000/admin/killclient?mount=/mystream.ogg&amp;id=21
</pre>
<br>
<br>
<br />
<br />
<h3>Kill Source</h3>
<h4>description</h4>
<div class=indentedbox>
<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>
<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>
<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 deprecated.
</div>
<h4>example</h4>
<pre>
http://192.168.1.10:8000/admin/stats
</pre>
<br>
<br>
<br />
<br />
<h3>List Mounts</h3>
<h4>description</h4>
<div class=indentedbox>
<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>
<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>
......@@ -114,6 +121,8 @@ http://192.168.1.10:8000/admin/listmounts
http://192.168.1.10:8000/admin/stats.xsl
</pre>
<p>From this URL all of the other admin functions can be exercised.</p>
<p>Modification of existing XSLT transforms in /admin is allowed, but new files cannot be created here. Creation of new XSLT transforms as well as modification of existing transforms is allowed in /web. These work using the document returned by /admin/stats.xml. To see the XML document that is applied to each admin XSLT, just change the .xsl to .xml in your request (i.e. /admin/listclients.xml). You can then code your XSLT transform accordingly.
</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">
<?xml version="1.0"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<title>Icecast v2.x Documentation</title>
<link rel="stylesheet" type="text/css" href="style.css" />
</head>
<body>
<div class="boxtest">
<h1>Icecast 2 Basic Setup</h1>
<table width=100%><tr><td bgcolor="#007B79" height="10" align="center"></td></tr></table>
<br>
<br>
<br>
<hr id='titlebar' />
<p>
<br />
<br />
<br />
</p>
<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>
<p>
<br />
<br />
<br />
</p>
<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%>
<div style="text-align: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>
</div>
<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 />
</p>
<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
......@@ -38,22 +49,29 @@
<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>
<p>If no error messages are generated, then check the error.log file for the 'server started'
message, it will look something like :-</p>
<pre>
[2003-10-31 13:04:49] INFO main/main.c icecast server started
[2003-10-31 13:04:49] INFO main/main.c Icecast 2.3.0 server started
</pre>
<p>You may notice slight variations to the line above, the time will no doubt be different,
and on some platforms the main.c is just main, but the key thing here is that the server is
started, logging is working and the version is shown.
</p>
<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>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;
</p>
<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) there are, however, 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 an 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>
<p>
<br />
<br />
<br />
</p>
</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">
<?xml version="1.0"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<title>Icecast v2.x Documentation</title>
<link rel="stylesheet" type="text/css" href="style.css" />
</head>
<body>
<div class="boxtest">
<h1>Icecast 2 FAQ</h1>
<table width=100%><tr><td bgcolor="#007B79" height="10" align="center"></td></tr></table>
<br>
<br>
<br>
<hr id='titlebar' />
<br />
<br />
<br />
<h2>General Questions</h2>
<h4>What is Icecast?</h4>
<div class=indentedbox>
<div class="indentedbox">
<p>
Icecast, the project, is a collection of programs and libraries for
streaming audio over the Internet. This includes:
......@@ -22,13 +28,13 @@ A source client is an external program which is responsible for sending content
</div>
<h4>What is icecast, the program?</h4>
<div class=indentedbox>
<div class="indentedbox">
<p>
icecast streams audio to listeners, and is compatible with Nullsoft’s Shoutcast.
icecast streams audio to listeners, and is compatible with Nullsoft`s Shoutcast.
</p>
</div>
<h4>What is libshout ?</h4>
<div class=indentedbox>
<div class="indentedbox">
<p>
From the README:
</p>
......@@ -41,7 +47,7 @@ icecast streams audio to listeners, and is compatible with Nullsoft
</div>
<h4>What is IceS?</h4>
<div class=indentedbox>
<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,
......@@ -50,11 +56,11 @@ icecast streams audio to listeners, and is compatible with Nullsoft
</div>
<h4>How can I view the stream status page?</h4>
<div class=indentedbox>
<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
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>).
......@@ -67,13 +73,13 @@ icecast streams audio to listeners, and is compatible with Nullsoft
<p>
In addition, the web directory can
hold multiple status transforms, if you can’t decide which
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>
<div class="indentedbox">
<p>
We maintain a list of Icecast-compatible audio players at
http://www.icecast.org/
......
<LINK REL=STYLESHEET TYPE= "text/css" HREF= "style.css">
<div class=boxtest>
<body bgcolor="#efefef" text="#323232" link="#0000ff" vlink="#800080" alink="#ff0000">
<?xml version="1.0"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<title>Icecast v2.x Documentation</title>
<link rel="stylesheet" type="text/css" href="style.css" />
</head>
<body>
<div class="boxtest">
<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>
<hr id='titlebar' />
<br />
<br />
<br />
<a name="source_client"></a>
<h4>source client</h4>
<div class=indentedbox>
<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>
<a name="slave_server"></a>
<h4>slave server (Relay)</h4>
<div class=indentedbox>
<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>
<a name="master_server"></a>
<h4>master server (Relay)</h4>
<div class=indentedbox>
<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>
<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>
<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>
......
<LINK REL=STYLESHEET TYPE= "text/css" HREF= "style.css">
<div class=boxtest>
<body bgcolor="#efefef" text="#323232" link="#0000ff" vlink="#800080" alink="#ff0000">
<?xml version="1.0"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<title>Icecast v2.x Documentation</title>
<link rel="stylesheet" type="text/css" href="style.css" />
</head>
<body>
<div class="boxtest">
<h1>Icecast 2 Introduction</h1>
<table width=100%><tr><td bgcolor="#007B79" height="10" align="center"></td></tr></table>
<br>
<br>
<br>
<hr id='titlebar' />
<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>
<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>
<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
<ul>
<li>Linux (Most flavors including Redhat and Debian)</li>
<li>FreeBSD</li>
<li>OpenBSD</li>
<li>Solaris</li>
</ul>
<p>Currently the following Windows platforms are supported:</p>
<li>Windows NT
<li>Windows 2000
<li>Windows XP
<br>
<br>
<br>
<ul>
<li>Windows NT</li>
<li>Windows 2000</li>
<li>Windows XP</li>
</ul>
<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
<ul>
<li>Icecast mailing list <a href="http://www.xiph.org/archives">http://www.xiph.org/archives</a></li>
<li>Icecast Developers mailing list <a href="http://www.xiph.org/archives">http://www.xiph.org/archives</a></li>
<li>Icecast IRC chat room - irc.freenode.net : #icecast</li>
</ul>
<h3>Alternate Ways</h3>
<li>team@icecast.org
<br>
<br>
<br>
<ul>
<li>team@icecast.org</li>
</ul>
<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">
<?xml version="1.0"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<title>Icecast v2.x Documentation</title>
<link rel="stylesheet" type="text/css" href="style.css" />
</head>
<body>
<div class="boxtest">
<h1>Icecast 2 Relaying</h1>
<table width=100%><tr><td bgcolor="#007B79" height="10" align="center"></td></tr></table>
<br>
<br>
<br>
<hr id='titlebar' />
<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>
<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 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>
<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>
<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-username&gt;relay&lt;/master-username&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>
<p>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 non-hidden
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.</p>
<p>To extend on the idea of load sharing, it is possible for a slave icecast2 to communicate
certain information to allow for new listeners to be redirected from the master server to the
slave. In such cases, the master will send to the listener a HTTP 302 response code with a URL
of the slave server which has been randomly selected.</p>
</p>To enable this certain settings have to be enabled. In the master</p>
<pre>
&lt;max-redirect-slaves&gt;5&lt;/max-redirect-slaves&gt;
</pre>
<p>This limits the redirection mechanism to 5 slaves, the default is 0, preventing any attempts
to redirect new listeners. In the slave </p>
<pre>
&lt;master-redirect&gt;1&lt;/master-redirect&gt;
</pre>
<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>
......@@ -39,9 +68,9 @@ In this example, this configuration is setup in the server which will be doing t
&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>
<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">
<?xml version="1.0"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<title>Icecast v2.x Documentation</title>
<link rel="stylesheet" type="text/css" href="style.css" />
</head>
<body>
<div class="boxtest">
<h1>Icecast 2 Server Statistics</h1>
<table width=100%><tr><td bgcolor="#007B79" height="10" align="center"></td></tr></table>
<br>
<br>
<br>
<hr id='titlebar' />
<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>
......@@ -30,54 +36,55 @@
</pre>
<h3>General Statistics</h3>
<h4>client-connections</h4>
<div class=indentedbox>
<div class="indentedbox">
Client connections are basically anything that is not a source connection. These include listeners (not concurrent, but cumulative), any admin function accesses, and any static content (file serving) accesses.
</div>
<h4>source-connections</h4>
<div class=indentedbox>
<div class="indentedbox">
Source connections are the number of times (cumulative not currently connected) a source has connected to icecast.
</div>
<h4>connections</h4>
<div class=indentedbox>
<div class="indentedbox">
The total of client + source connections.
</div>
<h4>sources</h4>
<div class=indentedbox>
<div class="indentedbox">
The total of currently connected sources (mountpoints).
</div>
<h3>Source-specific Statistics</h3>
<h4>artist</h4>
<div class=indentedbox>
<div class="indentedbox">
Artist of the current song (metadata set by source client).
</div>
<h4>title</h4>
<div class=indentedbox>
<div class="indentedbox">
Title of the current song (metadata set by source client).
</div>
<h4>audio-info</h4>
<div class=indentedbox>
<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>
<div class="indentedbox">
Information about the bitrate/samplerate/quality of the stream (set by source client).
</div>
<h4>listeners</h4>
<div class=indentedbox>
<div class="indentedbox">
The number of currently connected listeners.
</div>
<h4>public</h4>
<div class=indentedbox>
<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>
<div class="indentedbox">
Media type of the stream.
</div>
<br>
<br>
<br>
<br />
<br />
<br />
</div>
</body>
</html>
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.