# Liquidsoap

## audio stream generation

### Streaming to Shoutcast

Although Liquidsoap is primarily aimed at streaming to Icecast servers (that provide much more features than Shoutcast), it is also able to stream to Shoutcast.

#### Shoutcast output

Shoutcast server accept streams encoded with the MP3 or AAC/AAC+ codec. You to compile Liquidsoap with `lame` support, so it can encode in MP3. Liquidsoap also has support for AAC+ encoding using libaacplus or using an external encoder. The recommended format is MP3.

Shoutcast output are done using the `output.shoutcast` operator with the appropriate parameters. An example is:

    source = single("audiofile.ogg")

    output.shoutcast(%mp3, host="shoutcast.example.org",
                         port=8000, password="changeme",
                         source)

As usual, `liquidsoap -h output.shoutcast` gives you the full list of options for this operator.

#### Shoutcast as relay

A side note for those of you who feel they “need” to use Shoutcast for non-technical reasons (such as their stream directory service...): you can still benefit from Icecast's power by streaming to an Icecast server, and then relaying it through a shoutcast server.

In order to do that, you have to alias the root mountpoint (“`/`”) to your MP3 mountpoint in your icecast server configuration, like this:

    <alias source="/" dest="/mystream.mp3" />

Be careful that icecast often aliases the status page (`/status.xsl`) with the `/`. In this case, comment out the status page alias before inserting yours.