[Icecast] Icecast 2.2.0 and Ices2: no audio

Rob Landry umar at natrix.wcrb.com
Thu Dec 23 18:11:22 UTC 2004


Folks:

I'm trying to set up a streaming server under Fedora Core 2 using Icecast
2.2.0. Everything compiles; everything runs. There are no indications of a
problem in any of the log files.

When I look at http://192.168.0.128:8000/status.xsl, everything looks ok.
But when I click on "Click to listen", it brings up xmms, but there's no
indication of audio, and xmms shows a bit rate of 1 kbps.

This is a machine that formerly ran icecast 1.3 and liveice under OpenBSD
2.8, so I know the hardware is OK.

What gives?


Rob Landry
umar at wcrb.com


Here's my ices.xml:

<?xml version="1.0"?>
<ices>
    <background>0</background>
    <logpath>/var/log/ices</logpath>
    <logfile>ices.log</logfile>
    <loglevel>4</loglevel>
    <consolelog>0</consolelog>
    <pidfile>/var/run/ices.pid</pidfile>

    <stream>
        <metadata>
            <name>Test Stream</name>
            <genre>music</genre>
            <description>A test stream</description>
            <url>http://www.mydomain.com</url>
        </metadata>

        <input>
            <module>oss</module>
            <param name="rate">44100</param>
            <param name="channels">2</param>
            <param name="device">/dev/dsp</param>
            <param name="metadata">0</param>
            <param name="metadatafilename">live</param>
        </input>

        <instance>
            <hostname>192.168.0.128</hostname>
            <port>8000</port>
            <password>12345678</password>
            <mount>/highband.ogg</mount>
            <yp>0</yp>
            <reconnectdelay>2</reconnectdelay>
            <reconnectattempts>5</reconnectattempts>
            <maxqueuelength>80</maxqueuelength>

            <encode>
                <quality>2</quality>
                <nominal-bitrate>96000</nominal-bitrate>
                <samplerate>44100</samplerate>
                <channels>2</channels>
            </encode>
        </instance>

        <instance>
            <hostname>192.168.0.128</hostname>
            <port>8000</port>
            <password>12345678</password>
            <mount>/midband.ogg</mount>
            <yp>0</yp>
            <reconnectdelay>2</reconnectdelay>
            <reconnectattempts>5</reconnectattempts>
            <maxqueuelength>80</maxqueuelength>

            <downmix>1</downmix>

            <resample>
                <in-rate>44100</in-rate>
                <out-rate>22050</out-rate>
            </resample>

            <encode>
                <nominal-bitrate>32000</nominal-bitrate>
                <samplerate>22050</samplerate>
                <channels>2</channels>
                <quality>1</quality>
            </encode>
        </instance>

        <instance>
            <hostname>192.168.0.128</hostname>
            <port>8000</port>
            <password>12345678</password>
            <mount>/lowband.ogg</mount>
            <yp>0</yp>
            <reconnectdelay>2</reconnectdelay>
            <reconnectattempts>5</reconnectattempts>
            <maxqueuelength>80</maxqueuelength>

            <downmix>1</downmix>

            <resample>
                <in-rate>44100</in-rate>
                <out-rate>11000</out-rate>
            </resample>

            <encode>
                <nominal-bitrate>16000</nominal-bitrate>
                <samplerate>11000</samplerate>
                <channels>1</channels>
                <quality>-1</quality>
            </encode>
        </instance>

    </stream>
</ices>


Here's my icecast.xml:


<icecast>
    <limits>
        <clients>100</clients>
        <sources>3</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>12345678</source-password>
        <!-- Relays log in username 'relay' -->
        <relay-password>12345678</relay-password>

        <!-- Admin logs in with the username given below -->
        <admin-user>admin</admin-user>
        <admin-password>12345678</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>192.168.0.128</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>8000</port>
        <!-- <bind-address>127.0.0.1</bind-address> -->
    </listen-socket>
    <!--
    <listen-socket>
        <port>8001</port>
    </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>12345678</master-password>-->
    <!--
    <relay>
        <server>127.0.0.1</server>
        <port>8001</port>
        <mount>/example.ogg</mount>
        <local-mount>/different.ogg</local-mount>

        <relay-shoutcast-metadata>0</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>12345678</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>
        <fallback-override>1</fallback-override>
        <hidden>1</hidden>
        <no-yp>1</no-yp>
        <authentication type="htpasswd">
                <option name="filename" value="myauth"/>
                <option name="allow_duplicate_users" value="0"/>
        </authentication>
    </mount>
    -->

    <fileserve>1</fileserve>

    <!-- set the mountpoint for a shoutcast source to use, the default if not
         specified is /stream but you can change it here if an alternative is
         wanted or an extension is required
    <shoutcast-mount>/live.nsv</shoutcast-mount>
    -->

    <paths>
		<!-- basedir is only used if chroot is enabled -->
        <basedir>/usr/local/share/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>/var/log/icecast</logdir>
        <webroot>/usr/local/share/icecast/web</webroot>
        <adminroot>/usr/local/share/icecast/admin</adminroot>
        <!-- <pidfile>/usr/local/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="/foo" dest="/bar"/>
          -->
        <!-- 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>
        <!-- <playlistlog>playlist.log</playlistlog> -->
      	<loglevel>4</loglevel> <!-- 4 Debug, 3 Info, 2 Warn, 1 Error -->
    </logging>

    <security>
        <chroot>0</chroot>
        <changeowner>
            <user>wcrb</user>
            <group>wcrb</group>
        </changeowner>
    </security>
</icecast>



More information about the Icecast mailing list