The net/icecast port

icecast-2.4.4p1 – server for streaming various media formats (cvsweb github mirror)


Icecast is a streaming media server which currently supports Ogg-based
streams like Vorbis, Speex, FLAC, Midi and Theora, as well as MP3 and
various others (even NSV Shoutcast streams). It can be used to create
an Internet radio station or a privately run jukebox and many things
inbetween. It is very versatile and supports open standards for
communication and interaction.

Icecast v2 is a complete rewrite of the old Icecast streaming server.
It was designed to be highly efficient and have low memory requirements.
WWW: https://icecast.org/


| Running ${PKGSTEM} on OpenBSD

Icecast v2 is very versatile and can be used in many different
environments.  A streaming service provider has different requirements
than someone who wants to set up a jukebox at home.

To get a better understanding of streaming with Icecast,
http://liveice.sourceforge.net/understanding.html may be of use.

This is a small step-by-step guide to get Icecast v2 running in a basic
setup, using its chrooting feature, dropping privileges to an
unprivileged account.

  1. Complete the chroot environment with additional system files.
     While this is optional, it allows YP directory listings (DNS
     lookups are required for those) to work and the log files to
     contain correct timestamps.

     # cp -p /etc/{hosts,localtime,resolv.conf} /var/icecast/etc
     # cp -p /usr/share/misc/mime.types /var/icecast/etc

  2. Adjust /var/icecast/icecast.xml.  Consult the documentation and
     comments about the various options.


     Mode 600 is highly recommended, for icecast.xml contains plain-text

  3. Start Icecast and monitor the logs in /var/icecast/log and resolve
     any errors.

     # icecast -c /var/icecast/icecast.xml

     Add the command line parameter `-b' to daemonize.

  4. Test your server.  Use a source client to create a stream and
     listen to it with your favourite player that supports streaming.

     Also test Icecast's web interface.  Be aware that Icecast sends
     everything located in  to those who request it like a
     regular (basic) web server.  You can restrict this behaviour to
     serve only .xsl files by setting  to 0 in your
     icecast.xml; however, you should definitely take a closer look at
     what you actually want to show the world here.  There is no reason
     for paranoia, it's all safe, but you should spend some time
     thinking about it.  Note that disabling  will also
     prevent CSS stylesheets and images from being sent, making the web
     interface less pleasant to look at.

  5. Make Icecast start at boot.

     # rcctl enable icecast

Random hints:

   * Remember to give your mount point a proper name -- MP3 streams
     should use no extension, Ogg Vorbis streams should use .ogg, so
     that dumb or broken players can send the stream to the appropriate

   * The default configuration is setup to bind to only.
     Changing this to "bind to any address" will use IPv6 only; to
     listen to requests on any IPv4 address, you must bind to
     As mentioned earlier, don't forget to change the default password!


The OpenBSD ports mailing-list


audio net

Library dependencies