[PLUG] Streaming audio with ices and icecast2...

Michael Robinson plug_1 at robinson-west.com
Mon Feb 22 01:47:08 UTC 2010


Darn attachment stripping plug list...
I'm pasting the xml file contents into the body of this reply.
Unfortunately, the lines are breaking in funny places.

<?xml version="1.0"?>
<ices>
    <!-- run in background  -->
    <background>1</background>

    <!-- where logs go. -->
    <logpath>/var/log/ices</logpath>

    <!-- log file name -->
    <logfile>ices-alsa.log</logfile>

    <!-- size in kilobytes -->
    <logsize>2048</logsize>

    <!-- 1=error, 2=warn, 3=infoa ,4=debug -->
    <loglevel>4</loglevel>

    <!-- logfile is ignored if this is set to 1 -->
    <consolelog>0</consolelog>

    <!-- optional filename to write process id to -->
    <pidfile>/home/icecast2/ices-alsa.pid</pidfile>

    <stream>
        <!-- metadata used for stream listing -->
        <metadata>
            <name>Radio</name>
            <genre>Radio</genre>
            <description>Radio station on Condor.</description>
            <url>http://condor.w2.robinson-west.pri:8000/radio.ogg</url>
        </metadata>

        <!--    Input module.

            This example uses the 'alsa' module. It takes input from the
            alsa audio device (e.g. line-in), and processes it for live
            encoding.  -->
        <input>
            <module>alsa</module>
            <param name="rate">44100</param>
            <param name="channels">2</param>
            <param name="device">hw:0,0</param>
            <!-- Read metadata (from stdin by default, or -->
        <!-- filename defined below (if the latter, only on SIGUSR1) -->
            <!-- <param name="metadata">1</param> -->
            <!-- <param name="metadatafilename">test</param> -->
        </input>

        <!--    Stream instance.
            You may have one or more instances here.  This allows you to
            send the same input data to one or more servers (or to
different
            mountpoints on the same server). Each of them can have
different
            parameters. This is primarily useful for a) relaying to
multiple
            independent servers, and b) encoding/reencoding to multiple
            bitrates.

            If one instance fails (for example, the associated server
goes
            down, etc), the others will continue to function correctly.
            This example defines a single instance doing live encoding
at
            low bitrate.  -->

        <instance>
            <!--    Server details.

                You define hostname and port for the server here, along
                with the source password and mountpoint.  -->

            <hostname>192.168.4.17</hostname>
            <port>8000</port>
            <password>hackme</password>
            <mount>/radio.ogg</mount>
            <yp>1</yp> <!-- allow stream to be advertised on YP, default
0 -->

            <!--    Live encoding/reencoding:

                channels and samplerate currently MUST match the
channels
                and samplerate given in the parameters to the oss input
                module above or the remsaple/downmix section below.  -->

            <encode>  
                <quality>0</quality>
                <samplerate>22050</samplerate>
                <channels>1</channels>
            </encode>

            <!-- stereo->mono downmixing, enabled by setting this to 1
-->
            <downmix>1</downmix>

            <!-- resampling.
            
                Set to the frequency (in Hz) you wish to resample to,
-->
             
            <resample>
                <in-rate>44100</in-rate>
                <out-rate>22050</out-rate>
            </resample>
        </instance>

    </stream>
</ices>




More information about the PLUG mailing list