[Icecast] Higher quality narrowband streaming options

Geoff Shang geoff at QuiteLikely.com
Wed Aug 1 20:50:37 UTC 2012


Up until now, I've been providing narrowband streams at 24kbps MP3.  We've 
reluctantly been using MP3 instead of say Ogg Vorbis due to wider 

But it's getting to the point where low bitrate MP3 doesn't really cut it 
anymore.  With technologies like AACPlus out there in common usage, people 
have come to expect better and one can hardly blame them.

  So I thought I'd start a thread on low bitrate streaming in order to find 
out what people are using and how.

There seem to be two issues.  The first is which format to use and the 
second is how to go about transcoding into said format.

Right now we're using StreamTranscoderv3 to do our transcoding.  It can 
turn around our broadband stream as a narrowband stream without any 
intervention.  I've successfully used it to turn around streams as MP3 and 
Ogg Vorbis.  It's also meant to support AAC and AACPlus, but I've not 
managed to figure out how to enable this under Linux or how I would 
particularly get it to be able to do AACPlus.

I considered going so far as to try Nullsoft's sc_trans v2 to encode 
AACPlus, but it seems it cannot connect to an existing stream and relay 
it, it can only have a stream connect to it.  I don't see how I can get 
our existing Icecast stream to be relayed to sc_trans as Icecast does not 
do push relaying, so this option would appear to be out.

I also took a brief look at Liquid Soap for doing this.  It would appear 
that it can, but it looks like a lot of work to deploy for a relatively 
simple task.  Still, I'd consider it if it will do the job.

This of course leads to the broader question of which format to use.  For 
us, the chief concern is device support.  While a lot of people get around 
this issue by writing their own apps with built-in decoders, this isn't a 
direction I'd particularly want to go in unless there's something out 
there that's fairly generic and can be easily customisable.  Our station 
is a volunteer outfit with no budget, so my strong preference would be for 
us to use a natively supported format so that it "just works".

As mentioned, I'm looking to depricate MP3.   It's really not possible to 
get 44.1 kHz MP3 under 56 kbps, and that only in mono.  This isn't really 
"narrow" enough for my tastes.

I'm not a big expert on AAC, but it seems to me that plain AAC (no 
"plus") doesn't really offer much over and above MP3.   Certainly, samples 
I've heard of 56 kbps AAC streams at 44.1 kHz stereo are rolled off to 5 
kHz audio, making it sound worse than MP3 at the same rate using 22.05 kHz 
samples.   But there's so many AAC parameters that I'm by no means an 
expert on this.

>From the little I've seen, the favoured option for lower bitrate streaming 
seems to be AACPlus.  And it's not surprising given how good it sounds. 
I'm not so sure about device support though, and encoding it is a bit of 
an issue (see above).  There is libaacplus, but streamTranscoderv3 doesn't 
*appear* to support it.  I think Liquid Soap might though.  There's also 
something called AACPlusEnc but I can't seem to get to its home page.

While we're considering non-free options, Windows Media Audio would seem 
to be out due to the desire to encode under Linux, and people seem to be 
moving away from Real Audio.

Of course, I'd prefer to use something open if people can actually listen 
to it.  There would appear to be the following options:

Ogg Vorbis: Using oggenc with libvorbis 20100325 (1.3.1) at quality -1 
with a  44.1 kHz mono source, I can get the bit rate down to about 34 
kbps.  Stereo is more like 40 kbps.  It actually sounds pretty good. 
Maybe if I took it down to 32 kHz 
it would go a little ower, or perhaps the quality -2 mode that at least 
was available in the aoTuV encoder would get it lower with perhaps a 
little more quality loss.  I've not actually tried lower bitrate stuff in 
either vorbis encoder for some time.

Encoding Ogg Vorbis won't present any problems.  My concern about Ogg 
Vorbis is support in mobile devices.  I know that iOS devices don't 
support it natively.  Do any stream players for iOS support it, like say 
Tunein Radio?  I believe Android devices do.  Don't know about other 
devices used on the go.

The other open option I can think of is Opus.  I've not put it through its 
paces, I really should.  But it aims at least to be good for this sort of 
thing.  But I'm really not at all sure what software support is like yet, 
either for encoding or listening.  Anyone know?

Are there any other options that are worth looking at?


More information about the Icecast mailing list