We're pleased to announce the release of RSAS 0.1.18! Rocket Streaming Audio Server (RSAS) is a high-performance webserver designed for broadcasting live streaming audio through the web, with low latency and high listener capacity.
This release adds a couple new features including persistent relays, SNI support for multiple SSL/TLS certificates, as well as major performance optimizations, bugfixes, and more. The update is the culmination of 6 months of development work which included over 18 minor alpha releases that were tested across the globe.
Get RSAS 0.1.18 today from our downloads page.
Persistent Relays
Persistent relays are now the default type of relay. In previous releases, all relays were "on-demand", which meant they only started relaying after the first listener attempted to connect. Persistent relays automatically connect at startup and will continually try to reconnect if the stream ever drops. Since a relay must be online before it can be used as a fallback, persistent relays are now recommended for fallbacks.
Read about more about Persistent Relays in the documentation.
SNI support, for multiple SSL/TLS certificates
A single RSAS instance can now use multiple TLS certificates. This is needed when you have multiple domains pointing at a single server and you wish to use HTTPS on all of them. RSAS can now load a different TLS certificate for each configured hostname, via a mechanism called SNI.
To configure multiple TLS certificates, a new <vhosts>
section needs to be declared in your config file.
Read about configuring multiple TLS certificates in the docs.
Major performance improvements
Various parts of RSAS have seen major performance improvements, including a large reduction in CPU usage and reduced disk access. We're working on new benchmarks, but so far we've seen that RSAS can handle over 10X the listeners compared to the other streaming server software we tested.
Upgrading?
Please see the "Behaviour change" notes below. Most users should be able to upgrade without issue. Users with large numbers
of relays should test that persistent relays operate as intended with their setup. If you need the old on-demand
relay behaviour instead of persistent relays, add <on-demand>1</on-demand>
to your <relay>
config section.
Other Changes in RSAS 0.1.18
Here's a list of other changes in this release:
- Added option to limit listener session duration on a per-mount basis (
<max-listener-duration>
). See the docs on Listener Duration Limits. - Added icecast-auth-timelimit header from source webhook auth. If specified, it imposes a timelimit on the listener. See the docs on Timelimit for Webhook Listener Auth.
- Icecast-compatible header passthrough (via POST vars) for webhook listener and source auth. (
<options name="headers" ...>
andheader_prefix
). See the docs on passing through HTTP headers with listener auth webhooks. - Added
server_start
andstream_start
metrics to/status-json.xsl
- Added SNI support, for using multiple SSL certificates with different hostnames, via
<vhosts>
. Read more about SNI / VHosts / multiple TLS certificates. - Behaviour change: Default to persistent relays instead of on-demand (Use
1 in yoursection for on-demand behaviour.) - Behaviour change:
/<mount>/metadata
now returns JSON by default unless explicitly used with an EventSource for streaming metadata. - Behaviour change: Drop unwritten log lines if the backlog exceeds 10K records, to avoid blocking under high load.
- Bugfix: Fixed rare memory leak with TLS
- Bugfix: Fixed DNS lookups blocking for relays
- Bugfix: Fixed TLS negotiation with clients that don't support SNI
- Bugfix: Fixed glitchy audio playback via Google Assistant.
- Bugfix: Fixed listener authentication race condition.
- Bugfix: Improved compatibility with Unity game engine - Only send in-band ICY metadata if it changed.
- Bugfix: Various other bugfixes
What's next?
We'll be continuing to refine RSAS and improve the features that our users are utilizing the most. Over the last few months, much of our effort was focused on optimization and refinement of existing features. We are still experimenting with HLS and working on rounding out the HLS feature set. We've also laid the groundwork for some other features we're not yet ready to announce, so stay tuned.
Looking for other features? RSAS development is driven by your feedback, so get in touch and let us know how we can help your online audio streaming.