[Icecast] New Icecast Alternative: Rocket Streaming Audio Server

Albert Santoni albert.santoni at oscillicious.com
Mon Sep 9 18:38:48 UTC 2019


Hi all,

Long-time lurker, first time poster here. I've been using Icecast since
2006, but in recent years, I've kept running into all sorts of issues and
found many others who are in the same boat. I've done some small
experimental hacks to Icecast just for fun, but I've never contributed code
because:
1) I've been alienated by the Icecast team's hostility towards MP3 and AAC.
2) I've been confused by the situation between Icecast and Icecast-KH
(which one is better?).
3) I disagree with the direction and priorities of the project (friendly
difference of opinion).

These reasons, along with running into many bugs, motivated me to create my
own alternative to Icecast, which is now available: Rocket Streaming Audio
Server (RSAS).
https://www.rocketbroadcaster.com/streaming-audio-server

RSAS is a drop-in replacement for Icecast that's compatible with Icecast
2.3/2.4 config files, encoders, players, and even writes to the same log
file format. I did this to make it as easy as possible for myself to
migrate my own servers over, and I hope this will be useful to others too.

The key advantages of RSAS are that it uses a slightly different networking
model than Icecast, which provides lower latency (about 4 seconds out of
the box - and will be even lower in the future), it officially supports MP3
and the AAC/AAC+ family of codecs, and offers consistent metadata support
across all codecs.

RSAS implements most of the major features of Icecast 2.4, including
mounts, stream relays, stream fallbacks, fallback files, and source
authentication webhooks. Instead of the "admin" interface, there's a single
"/health" endpoint that returns stats and mount info in JSON format. It can
be easily read by humans and machines, and makes monitoring easy.

To be more specific, there's a number of long-standing issues in Icecast
that are fixed in RSAS:

- Ogg Vorbis, Opus, and Ogg FLAC metadata is supported as in-stream ICY
metadata. This keeps coming up on this mailing list, and RSAS + Rocket
Broadcaster actually implement it. This is not Ogg metadata, this is ICY
metadata that occurs as part of the stream, which I argue is way better
because it's consistently supported across players. Any player that
supports MP3 metadata with Icecast will support ICY Opus/FLAC metadata, and
RSAS passes it through for any codec. So finally, there's a simple solution
for streaming Ogg FLAC and Opus metadata.

- Fallbacks are frame-synchronized for MP3 and AAC, meaning it won't
randomly drop listeners. There was a recent bug reported by Michel van Dop
about this in Icecast. RSAS doesn't have this problem. If you're wondering
why you're losing listeners when your AAC stream switches to a fallback,
it's because of this bug (
https://gitlab.xiph.org/xiph/icecast-server/issues/2376).

- On-demand relays don't really work reliably with Icecast. I don't even
think this in the bug tracker, but I ran into all sorts of issues where
on-demand relays would drop and never reconnect or just get stuck with both
Icecast and Icecast-KH. There's also weird behaviour in Icecast, like how
the first listener that connects to an on-demand mount will always just an
error. RSAS fixes all of these - on-demand mounts are reliable and work for
the first listener. And to top it off, relaying on-demand with RSAS adds
very little latency, which is very different from Icecast.

- stream_auth supports HTTPS with RSAS, which is missing in Icecast 2.4.
This was a big problem for me because it meant the web services that I
wanted to use for stream_auth needed to send mount passwords over HTTP
(insecure!).

- CORS out-of-the-box - Streams are meant to be embedded and played
everywhere, so this "just works" with RSAS.

You can download Rocket Streaming Audio Server today for Linux, with a
Windows version coming soon. Read more about it and download it from the
official website:
https://www.rocketbroadcaster.com/streaming-audio-server

Lastly, I bring forward this criticism with the utmost respect to Thomas,
Philipp, Karl, and the whole Icecast team. Icecast is the central pillar of
the online radio world and the Xiph Foundation has been instrumental in
creating a global ecosystem for streaming audio. I hope my criticism and a
little competition will ultimately be beneficial to broadcasters no matter
which software they're using.

Thank you,
Albert



-- 
Albert Santoni
Founder, Lead Developer | Oscillicious
Delicious Audio Tools and Plug-ins
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.xiph.org/pipermail/icecast/attachments/20190909/01521009/attachment.htm>


More information about the Icecast mailing list