[Icecast] relay icecast to shoutcast

Iain D Mott i.mott at unimelb.edu.au
Fri Jun 3 02:37:54 UTC 2005


Hello List

Having great trouble relaying an icecast2 mp3 stream to a shoutcast server.
My client program successfully streams to icecast which is listening on
port 7000. I can listen to this stream with mozilla and xmms with no
problems. I can also stream my client directly to the shoutcast server but
it makes the client unstable (which is why i'm attempting a relay).

The shoutcast server is set up to relay with the relay host as: 
beijing.zhongshuo.org and port: 7000. The mountpoint my client sets is
“radio”.

I'll paste below my icecast.xml page. I've tried various port permutations
and aliasing but I can't get anything to work. (xmms reports a “402
Service Unavailable”)

Hope someone can help.

Cheers, iain

the file:

<icecast>
    <limits>
        <clients>100</clients>
        <sources>2</sources>
        <threadpool>5</threadpool>
        <queue-size>102400</queue-size>
        <client-timeout>30</client-timeout>
        <header-timeout>15</header-timeout>
        <source-timeout>10</source-timeout>
        <!-- If enabled, this will provide a burst of data when a client
             first connects, thereby significantly reducing the startup
             time for listeners that do substantial buffering. However,
             it also significantly increases latency between the source
             client and listening client.  For low-latency setups, you
             might want to disable this. -->
        <burst-on-connect>1</burst-on-connect>
        <!-- same as burst-on-connect, but this allows for being more
             specific on how much to burst. Most people won't need to
             change from the default 64k. Applies to all mountpoints  -->
        <burst-size>65535</burst-size>
    </limits>

    <authentication>
        <!-- Sources log in with username 'source' -->
        <source-password>mypassword</source-password>
        <!-- Relays log in username 'relay' -->
        <relay-password>mypassword</relay-password>

        <!-- Admin logs in with the username given below -->
        <admin-user>admin</admin-user>
        <admin-password>mypassword</admin-password>
    </authentication>

    <!-- Uncomment this if you want directory listings -->

    <directory>
        <yp-url-timeout>15</yp-url-timeout>
        <yp-url>http://dir.xiph.org/cgi-bin/yp-cgi</yp-url>
    </directory>
    <directory>
        <yp-url-timeout>15</yp-url-timeout>
        <yp-url>http://www.oddsock.org/cgi-bin/yp-cgi</yp-url>
    </directory>


    <!-- This is the hostname other people will use to connect to your
server.
    It affects mainly the urls generated by Icecast for playlists and yp
    listings. -->
<!--<hostname>localhost</hostname> -->
 <hostname>beijing.zhongshuo.org</hostname>

    <!-- You can use these two if you only want a single listener -->
    <!--<port>8000</port> -->
    <!--<bind-address>127.0.0.1</bind-address>-->

    <!-- You may have multiple <listener> elements -->
    <listen-socket>
        <port>7000</port>
        <!-- <bind-address>127.0.0.1</bind-address> -->
    </listen-socket>

<!--
<listen-socket>
        <port>7001</port>
	 <bind-address>127.0.0.1</bind-address>
    </listen-socket>
 -->

    <!--<master-server>127.0.0.1</master-server>-->
    <!--<master-server-port>8001</master-server-port>-->
    <!--<master-update-interval>120</master-update-interval>-->
    <!--<master-password>hackme</master-password>-->

<!--
    <relay>

    <server>localhost</server>
        <port>7000</port>
	    <mount>/</mount>
	    <local-mount>/radio</local-mount>

        <relay-shoutcast-metadata>1</relay-shoutcast-metadata>

    </relay>
-->
    <!-- Only define a <mount> section if you want to use advanced options,
         like alternative usernames or passwords
    <mount>
        <mount-name>/example-complex.ogg</mount-name>

        <username>othersource</username>
        <password>hackmemore</password>

        <max-listeners>1</max-listeners>
        <dump-file>/tmp/dump-example1.ogg</dump-file>
        <burst-size>65536</burst-size>
        <fallback-mount>/example2.ogg</fallback-mount>
        <authentication type="htpasswd">
                <option name="filename" value="myauth"/>
                <option name="allow_duplicate_users" value="0"/>
        </authentication>
    </mount>
    -->

    <fileserve>1</fileserve>

    <paths>
		<!-- basedir is only used if chroot is enabled -->
        <basedir>/home/icecast</basedir>

        <!-- Note that if <chroot> is turned on below, these paths must both
             be relative to the new root, not the original root -->
        <logdir>/log</logdir>
        <webroot>/web</webroot>
        <adminroot>/admin</adminroot>
        <!-- <pidfile>/usr/share/icecast/icecast.pid</pidfile> -->

        <!-- Aliases: treat requests for 'source' path as being for 'dest'
path
             May be made specific to a port or bound address using the "port"
             and "bind-address" attributes.
          -->

<alias source="/" dest="/radio"/>

        <!-- Aliases: can also be used for simple redirections as well,
             this example will redirect all requests for
http://server:port/ to
             the status page
          -->
       <!-- <alias source="/" dest="/status.xsl"/> -->
    </paths>

    <logging>
        <accesslog>access.log</accesslog>
        <errorlog>error.log</errorlog>
      	<loglevel>4</loglevel> <!-- 4 Debug, 3 Info, 2 Warn, 1 Error -->
    </logging>

    <security>
        <chroot>1</chroot>

        <changeowner>
            <user>icecast</user>
            <group>icecast</group>
        </changeowner>

    </security>
</icecast>




More information about the Icecast mailing list