We're pleased to announce the release of RSAS 1.0.7. Rocket Streaming Audio Server (RSAS)
is a high-performance webserver for distributing live streaming audio through the web, optimized for low latency and
high numbers of simultaneous listeners.
This maintenance release contains a couple of major bugfixes, including fixes for some regressions in 1.0.6. This is a recommended
update for all users:
Bugfix: Fixed sources getting stuck on a mount in certain situations (1.0.6 regression)
Bugfix: Fixed seamless takeover (source kick), where the new source connection would get closed too (1.0.6 regression).
Bugfix: Fixed empty HLS segments with low bitrates
Bugfix: Fixed static binary installer bugs
ARM64 and Raspberry Pi 3/4/5+ support
We've continued working on ARM support and are pleased to announce a 64-bit ARM build is now available, which should
be compatible with Raspberry Pi 3, 4, and 5. This build has been tested on Ampere Altra cloud-based servers. This build
requires an ARMv8 CPU and requires a Linux distribution with glibc 2.28 or newer (Raspberry Pi OS 2020-12-02+, Debian 10+, Ubuntu 18.10+).
It should be compatible with other ARM devices that meet these requirements, including other cloud-based ARM servers.
Other Changes
We've included the full list of changes above, but for a complete change history of recent releases, please refer to the CHANGELOG.
We're pleased to announce the release of RSAS 1.0.6. Rocket Streaming Audio Server (RSAS)
is a high-performance webserver for distributing live streaming audio through the web, optimized for low latency and
high numbers of simultaneous listeners.
This release includes a number of minor quality-of-life improvements and bugfixes:
Improved bitrate auto-detection
Added a "404 HLS Not Enabled" error response, for easier troubleshooting.
HLS:
Added a <base-url> option to provide flexibility when running behind a reverse proxy. Read our new docs on
Reverse Proxying for more information.
Added experimental <relative-paths> option.
Added support for X-Forwarded-Proto header.
VHost hostnames now support starting with a wildcard (*.example.com)
The error log now includes the IP addresses of sources that connect, to make troubleshooting easier.
Bugfix: Fixed HLS segment timestamps being in wrong byte order (regression in 1.0.5)
Bugfix: Fixed a race condition in HLS segmenter
Bugfix: Fixed Looped Audio Files rate limit not working in certain circumstances
Bugfix: Fixed a memory leak in HLS
Bugfix: Fixed HLS relay sometimes truncating segments
Raspberry Pi and New Platforms
We're pleased to announce we now have an experimental build available for Raspberry Pi. This build should work on Raspberry Pi 2 and newer. It is
compiled for ARM "A" series processors (ARMv7-A and newer) and requires a Linux distribution with glibc 2.28 or
newer (Raspberry Pi OS 2020-12-02+, Debian 10+, Ubuntu 18.10+). This build should also work on other ARM devices that
meet these requirements.
We're pleased to announce the release of Rocket Broadcaster 1.4. This major
update adds the brand new Broadcast Audio Processor, an automatic configuration backup system, and improved connectivity for Radio Mast.
Here's what's new in Rocket Broadcaster 1.4.0:
Broadcast Audio Processor PRO
Our brand new Broadcast Audio Processor improves the sound of your stream by providing consistent loudness and mastering
of your audio. By using ITU BS.1770 loudness metering (LUFS), our unique hybrid two-stage AGC ensures your stream hits
a consistent loudness target, so listeners can hear it comfortably on all devices.
The Broadcast Audio Processor also includes a Multiband Compressor and Peak Limiter, with 9 easy presets,
to help you shape the sound of your radio station. Our signal processing chain gives your stream that "radio"
sound, making it loud and clear on a variety of devices.
Upgrading to Rocket Broadcaster Pro 1.4? Watch our 2-minute crash course on the new Broadcast Audio Processor:
Other New Features
Soundcard Clock Drift Compensation
When using different input and output devices, Rocket Broadcaster now transparently compensates
for clock sync drift. This solves an issue where mixing different input and output devices could sometimes
result in a choppy stream over long periods of time.
We've added a new "Radio Mast" stream connection type, which provides better connectivity
to Radio Mast servers. It will automatically choose the closest server region
for you and failover to the next nearest region if your ISP loses the ability
to reach it.
Automatic Config Backup System
We've added a system to automatically save a backup of your settings on your PC, to help prevent losing your settings
if your PC is shutdown improperly or your settings are corrupted. If your settings are corrupted and a backup is available,
you'll be asked if you'd like to restore from backup. This prompt is on a timer which automatically accepts the backup option after 45 seconds,
to help ensure operation is automatically restored without human intervention.
Other New Features:
Stream Diagnostic - We've improved the explanations of some common issues in the Stream Diagnostics.
More keyboard shortcuts - Added keyboard shortcuts for mute mic (CTRL+M), opening the Broadcast Processor (CTRL+B), and monitoring master output (CTRL+O).
Bugfixes
Fixed a rare crash that could happen on certain systems over long periods of time.
Fixed a rare issue that could cause settings to get lost during unexpected shutdown.
Pro Edition - If you're a Pro Edition user, click the download link in your purchase confirmation email again to get the latest update,
or visit My Products in the Oscillicious Shop.
We're pleased to announce the release of RSAS 1.0.5. Rocket Streaming Audio Server (RSAS) is a high-performance webserver for distributing live streaming audio through the web, optimized for low latency and high numbers of simultaneous listeners.
This new release is a recommended update for all users.
We've redesigned the Looped Audio Files feature
(aka fallback files) to solve some long-standing issues, allowing them to now be much more useful as fallbacks. Fallback files
no longer rely on client-side buffering to throttle playback, which improves compatibility with players and prevents
delay from accumulating. Looped Audio File sources now start automatically too, which makes them more usable
as fallbacks in practice.
When connected to a Looped Audio File mount, listeners will now all hear the same audio from a common playback position.
Previously, each listener would hear the audio starting from the beginning of the file. We acknowledge this change in
behaviour may not be ideal for all broadcasters, but in order to implement the other usability improvements mentioned above,
we had to make a tradeoff, and this was a result of that.
HLS Improvements
HLS playlists now include the EXT-X-PROGRAM-DATE-TIME, which helps players do timeshifting over long periods of itme.
Dependencies and Build Overhaul
We've performed a major upgrade of our build system as part of ongoing maintenance necessary to keep RSAS production-ready, secure,
and supported on as many platforms as possible. RSAS has been upgraded to use OpenSSL 3.1 and is now statically linked
against it, to allow us to continue supporting older Linux distributions for longer. These build system changes also recently
allowed us to respond quickly to security concerns over liblzma and audit our use of it.
On March 30th, 2024, the discovery of an backdoor in XZ Utils / liblzma specifically targeting the SSH process was announced and assigned CVE-2024-3094.
RSAS is unaffected by the scope of the security issue known to date. We investigated this vulnerability because some
versions of RSAS depended on liblzma, but not on any version known to be backdoored.
We will update this post and notify our mailing list if the status changes.
Pro Edition - If you're a Pro Edition user, click the download link in your purchase confirmation email again to get the latest update,
or visit My Products in the Oscillicious Shop.
We're pleased to announce the release of RSAS 1.0.4. Rocket Streaming Audio Server (RSAS) is a high-performance webserver for distributing live streaming audio through the web, optimized for low latency and high numbers of simultaneous listeners.
This release is primarily a bugfix release, but there are a few minor new features as well. This version is a recommended update for all HLS users.
RSAS now detects the codec used by each stream and includes this information in the /health API. Having
this information available at a glance is useful for troubleshooting and validation.
HLS Customization
You can now customize the HLS segment size and number of segments in a playlist, which allows broadcasters to make
their streams rewindable further into the past. For more information, see HLS Settings.
Custom HTTP Headers
Custom HTTP headers can now be added to all responses, or scoped by port, VHost, or mount. This feature makes RSAS
more flexible and eliminates the need to put a reverse proxy in front of it in many enterprise environments.
We are still finalizing our roadmap for the next major release and are not yet ready to announce details on features.
What we can share is that we will be overhauling our build system and are hoping to see some performance improvements and support for
new platforms (Raspberry Pi). We will also be upgrading to OpenSSL 3, as OpenSSL 1.1.1 is EOL.
In order to continue supporting RSAS on older platforms like CentOS 7, which do not have OpenSSL 3, we will be switching
to statically linking all dependencies, including OpenSSL. As a consequence, it will be even more important for you to stay appraised
of RSAS releases in case there's another Heartbleed-style situation, so please make sure to join our low-traffic rsas-announce mailing list if you
are running RSAS on the public internet.
We're pleased to announce the release of Rocket Broadcaster 1.3.42, which
includes a number of small bugfixes and minor features.
Here's what's new in Rocket Broadcaster 1.3.42:
Added support for new metadata formats:
AudioVault AVAir
Westwood One Storq
Arrakis New Wave Format 5
Show a low disk space warning in the Preferences dialog if there is insufficient space for recordings.
Fixed a rare issue where dozens of consecutive automated reboots could eventually cause the application to fail to launch on startup.
Fixed a compatibility issue with screen readers (bug introduced in version 1.3.39)
Fixed an issue caused by attempting to record with less than 30% disk space free
Introducing HLS at Radio Mast
We're also pleased to announce HLS support for MP3 and AAC streams is now available as a free upgrade for all users
on the Radio Mast Streaming Network. HLS provides a better listening experience for mobile listeners by
allowing listeners to seamlessly switch between Wifi and cellular networks interrupting playback, as well as improving battery life.
Getting an HLS audio stream is now easier than ever before - simply create a stream on Radio Mast and connect your encoder.
Your MP3 or AAC stream will be available not only as a conventional HTTP(S) stream, but now also as an HLS stream.
No reconfiguration or expensive extra software is required, and this feature is available at no additional cost to Radio Mast users.
Pro Edition - If you're a Pro Edition user, click the download link in your purchase confirmation email again to get the latest update,
or visit My Products in the Oscillicious Shop.
Feedback
Rocket Broadcaster development is driven by your feedback, and all of the changes above were made as the result of
feedback from users. If you're looking for a missing feature,
or have ideas for how we can make Rocket Broadcaster even better, please let us know!
We're pleased to announce the release of RSAS 1.0.3 and Rocket Broadcaster 1.3.37! Rocket Streaming Audio Server (RSAS) is a high-performance webserver for distributing live streaming audio through the web, with low latency and high listener capacity. Rocket Broadcaster is a streaming audio encoder for capturing live audio and sending it to a high capacity server, such as RSAS, for distribution to listeners.
RSAS 1.0.3
RSAS 1.0.3 is primarily a bugfix release that includes a fix for HLS on Windows and a rare issue that could cause source connections
to get stuck on Linux.
After more than a year of development, we're pleased to announce RSAS 1.0 is now available! First released 3 years ago, Rocket Streaming Audio Server (RSAS) is a high-performance webserver designed for delivering live streaming audio through the web, with low latency and high listener capacity.
This major milestone has something for all our users and delivers on our vision of creating an Icecast-compatible streaming server that brings live audio broadcasting into the 21st century. RSAS 1.0 offers exciting new features and higher performance than ever before. Each new feature has been designed with usability in mind, while continuing to offer the unmatched high performance we strive for.
Today, RSAS powers live streaming audio for thousands of radio stations, major sports teams, governments, national public broadcasters, emergency services, telecom operators, and our Radio Mast CDN.
We owe our amazing user community a big thank you for your feedback, feature suggestions, and bug reports that have helped
shape RSAS. Special thanks to our partners at G&L Geißendörfer & Leschinsky and Andy Steven at North Broadcast for going the extra mile with bug reporting and testing.
What's new in RSAS 1.0?
HLS Audio
HLS is a modern streaming protocol designed for better reliability and lower battery usage on mobile
devices. Until now, HLS for live streaming audio faced limited adoption by radio broadcasters due to a lack of support
from encoders and streaming servers, as it remains unsupported by Icecast and SHOUTcast. HLS audio stacks in the wild
often consist of ad-hoc shell scripts, obscure FFMPEG commands, and various webservers glued together which lack the robustness and observability expected by broadcast engineers.
We are excited to announce that RSAS now supports HLS for live audio, and provides
broadcasters with an easy migration path to adopt HLS for more reliable streaming to mobile devices.
RSAS transmuxes your existing MP3 and AAC streams into HLS (without re-encoding), so no changes to your existing encoder setup are needed and effectively making HLS audio encoders obsolete. Additionally, HLS listeners are included in the listener statistics provided by /health and HLS listener sessions are reported in the access.log just like traditional HTTP streaming listeners, for compatibility with your existing listener statistics processing setup. This design allows broadcasters to easily adopt HLS without changes to your encoder or listener statistics setup. RSAS provides a tightly integrated HLS live audio solution that provides the benefits of HLS without the costs of rearchitecting your live streaming.
Some of the HLS features included in this release are:
Converting existing MP3 and HLS streams to HLS - just enable HLS and then add /hls.m3u8 to the end of your stream URL
ID3 metadata for HLS
Integration with /health listener counts and access.log listener session logging.
Relaying HLS streams from other RSAS instances (with intelligent caching)
RSAS now has the ability to play a preroll audio clip to for listeners when they connect, before playing your live audio. For convenience, your preroll can be specified as a URL to a remote audio file, which is downloaded and cached by RSAS. This powerful feature allows your preroll to be updated dynamically and saves you the hassle of distributing preroll audio files to multiple servers.
Midroll support allows you to insert audio clips (ads, jingles, etc.) in the middle of your stream. Ad breaks are triggerable via metadata from your encoder or via the Manage API. Midroll support is programmable and requires integration with your own midroll webhook handler, where your handler returns a list of audio files to insert into a stream.
Ad insertion is not yet supported with HLS, but is on the roadmap for a future release.
HTTP/1.1 and File Serving Performance Optimizations
RSAS is now an extremely fast webserver for serving static files too.
Since HLS involves serving audio in file-based segments, in order to optimize HLS performance on both the server and client side, we implemented HTTP/1.1 and revamped our static file serving code. RSAS now supports HTTP/1.1 "Keep-Alive" and range requests for seeking in static files such as podcasts or video files. (RSAS can serve MP4 video files with seeking out-of-the-box now!)
Static file serving is now fully asynchronous and is blazing fast.
How fast? On Windows, RSAS beats both nginx and Apache in static file requests per second. On Linux, RSAS beats Apache and ties with nginx in single threaded performance.
Overhauled Linux Packages
On Debian, Ubuntu, and CentOS, our RSAS packages have been upgraded to install RSAS as a systemd service and run as a separate rsas user. Our Linux static binary and FreeBSD tarballs also now include an installer script.
By popular demand, the /health endpoint can now be password protected to prevent enumeration of your streams. We've also introduced mount-specific /<mount>/health endpoints, which can also be password protected.
More Icecast APIs
For better integration with third party Icecast statistics platforms, RSAS now implements several missing Icecast APIs, including:
We've also introduced a new low-traffic mailing list, rsas-announce, for release announcements and security advisories. If you're running RSAS in production, we recommend joining.
We expect a number of small bugfix point releases to roll out over the coming weeks as we receive feedback on the 1.0 release.
The next major features under consideration are ad insertion support for HLS (preroll, midroll, postroll), support for kernel TLS to improve HTTPS performance on modern kernels, and support for other streaming protocols. We'd
also like to have RPMs for Alma Linux and Rocky Linux (which may still work with our existing CentOS 8 packages).
📧 Feedback and Feature Suggestions
RSAS 1.0 is the culmination of years of feedback from broadcasters. Your feedback is essential in steering the future of live streaming audio. If you have feedback or feature suggestions, we'd love to hear from you.