Migrating from Icecast

Rocket Streaming Audio Server (RSAS) is designed as a drop-in replacement for Icecast. That means you can overwrite your Icecast executable with RSAS and expect it to work. RSAS reads your existing Icecast configuration file, accepts the same command-line parameters, and writes logs in the same format as Icecast. You can connect with your existing Icecast streaming audio encoder without changing any settings, and your listeners can connect to your stream in exactly the same way.

In other words, RSAS integrates with your existing Icecast, to make it as easy as possible to migrate to.

To broadcasters and listeners, it behaves the same as Icecast, but with lower latency and some new features. To system administrators, it's more reliable, easier to monitor, and supported by a full-time development team.

To recap Icecast compatibility, RSAS has:

  • the same Icecast2 source client protocol for encoders, and HTTP streaming protocol for players (icy-metadata included)
  • the same compatibility with encoders and even better compatibility with players
  • the same log file formats (access.log, playlist.log)

Instead of the "Icecast Status Page", by default, RSAS has a JSON /health URL, which contains the server status and listener counts for each mount. However, an Icecast-compatible Status Page can be enabled.

To replace Icecast system-wide with Rocket Streaming Audio Server (RSAS), just download it and overwrite your existing Icecast executable with it.

Advantages over Icecast

Differences compared to Icecast

Although most features used by the majority of broadcasters and stream hosting platforms are implemented, some lesser-used features are not yet implemented in RSAS. To get a better idea of what's implemented, please skim the Configuration section, and then read the "Kitchen Sink" example configuration file, which demonstrates every available configuration option.

An Icecast-compatible Status Page and /status-json.xsl JSON endpoint are available, but must be explicitly enabled.

Some Icecast features that are not yet supported are:

  • Publishing streams to the Icecast directory
  • Custom HTTP headers
  • Master-slave relays - Use normal relays instead.
  • Playlist files (.m3u, .pls)

As a workaround for playlist files, you can create your own manually and place them in your webroot.

If you require a missing feature, please let us know!

Migration Steps

1) Download and install RSAS. If you want to replace Icecast, you can overwrite it with:

$ sudo cp rsas `which icecast`

2) RSAS can read your existing Icecast configuration, so try shutting down Icecast and starting rsas with your existing configuration:

$ sudo service icecast2 stop
$ ./rsas -c /etc/icecast2/icecast.xml

If this works, you'll see some output from RSAS saying it's running. If you want to permanently install rsas, please follow the rest of the installation instructions.

Icecast-KH Compatibility

Icecast-KH uses a slightly different syntax for its configuration file compared to regular Icecast. However, RSAS is compatible with both. Wildcard mounts from Icecast-KH are supported, as well as the equivalent default mounts from Icecast.