HE-AAC live encoderFollow @mediaukdiscuss
I know there’s a few tech heads who read this forum. I’m looking for recommendations for the most cost-effective solution for encoding a live audio stream in HE-AAC format.
It is for a 3 day project where there is a need to web stream live audio out of a venue with limited bandwidth.
Alternatives to HE-AAC considered as well – but resulting audio must be playable on iPhone / Android as well as desktop – and have “reasonable” audio quality.
I’d have a go at making an Icecast server and use DarkIce and libaacplus all in Ubuntu. Just search it in google. I should warn you that it does take patience to set it up.
For precisely this application I wrote OpenOB, an open source outside broadcast audio link that uses the CELT codec. Can happily do speech and music down at 24kbps or lower. It’s open source software, just needs two computers running Linux and a modicum of technical knowledge. Easy to set up and recovers automatically etc. Go here for more info.
The icecast server to distribute the audio to listeners is not a problem, it’s encoding the audio in something sufficiently ‘small’ to uplink it from the remote site.
I’ve used Edcast extensively on Windows, but in my previous tests there was issues with audio glitches when encoding in AAC format.
Darkice as Peter suggests may be something to look at – I’m not unfamiliar with linux, but never done any audio work – so as long as it is not a steep learning curve to getting Edirol USB soundcards working may be a goer.
OpenOB seems quite interesting as well – but I’d have to transcode the audio into something else to send onto listeners.
I haven’t got a huge amount of time to work on this, so would still welcome any pointers to any budget commercial encoding software that would do the trick – only thing I’ve seen is the Orban products – which work out rather pricey for a one-off use.
Transcoding from OpenOB endpoints to broadcastable stuff is trivial – just connect the output from an OpenOB receiver machine into a machine to transcode (can be the same box if you’ve got enough CPU and two sound cards/JACK), and use liquidsoap or darkice to transcode to Icecast. If you’ve got some Linux experience, shouldn’t be too complicated – the Edirols should work out of the box.
James, the OpenOB stuff using CELT looks great. I’ve no idea what CELT sounds like at 64kb/s – can it be compared to AAC+ or is it not as efficient?
Also, how hard does your code try to keep the link going? Does it simply loop over to re-connect again and again if the connection is lost?
James: Right now OpenOB doesn’t do anything in the way of link renegotiation with different bandwidths etc, though I’ve been wanting to add that for a while. Just haven’t had the time!
CELT at 64k can be compared to AAC+, yes. http://listening-tests.hydrogenaudio.org/igorc/results.html is a fairly interesting study – the CELT codec is actually being merged/renamed to Opus which is even slicker. Not sure what’s going on with gstreamer support for Opus but I’m sure it’ll come before too long.
Opus looks very interesting. I’d like to have a go at online streaming using Icecast. I think the beta supports ogg opus. Just need to find an encoder and a way of streaming it to the server.