So after quite a few headaches with various libraries and plenty of time
spent recompiling, I've done a few tests using the Raspberry Pi (raspbian
armhf) as a potential live stream source.

I'm only interested in AAC+ 64kbit stereo, so my tests are focussed there.

I'm using a Behringer UCA202 class-compliant USB audio interface as the
audio source, with input.alsa() and streaming to an icecast2 server.

I've tested with both the %aacplus and the %fdkaac encoders.

%aacplus results in approximately 54-57% CPU usage, with minor audio
glitches occuring every 10 seconds so.. these glitches are definitely more
frequent (and more audible) when the CPU usage is higher. (see below).

%fdk-aac using mpeg4_he_aac results in approx 51-55% CPU usage, so is a
slight improvement.

%fdk-aac using mpeg4_he_aac_v2 results in a fairly solid 42% CPU usage... a
definite improvement there, although the audio glitches are still there
occasionally... enough that I wouldn't want to use this for anything
production just yet.

Interestingly the CPU usage when streaming an mp3 file using this encoder
is 55-60%. Even when doing other tasks to push the CPU higher, the audio is
still a lot cleaner and more glitch-free than any of the live stream tests.
(although they do appear when CPU goes over around 75-80%)

My suspicion is that these audio glitches are related to the ALSA driver
not quite talking with my USB audio interface correctly, although I'm not
seeing any 'catch up' errors in the liquidsoap logs...

I've used the guide at http://wiki.linuxaudio.org/wiki/raspberrypi to tweak
the rpi as much as possible for audio, but there are still issues.

Trying to use Jack on the rpi has been a fairly dismal failure. Jackd1
(patched for the rpi) runs, but even using jack_rec to record a short audio
sample results in around one second of clean audio, then overlaid with
static / white noise. Trying to run without the -s flag on jackd results in
many alsa xrun error warnings, so I think the rpi is just failing to keep
up with the audio.

Liquidsoap also segfaults as soon I try to use input.jack, so something is
quite broken there.

Attempting to use jackd2 ended with failure to allocate memory and Bus
Error's when trying to launch jack.

I've not tried portaudio or pulseaudio yet, but I'm not really sure if
either would be any better than ALSA.

I'm planning to try to find a different USB audio interface to try out so
testing will continue.
------------------------------------------------------------------------------
October Webinars: Code for Performance
Free Intel webinars can help you accelerate application performance.
Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most from 
the latest Intel processors and coprocessors. See abstracts and register >
http://pubads.g.doubleclick.net/gampad/clk?id=60134791&iu=/4140/ostg.clktrk
_______________________________________________
Savonet-users mailing list
Savonet-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/savonet-users

Reply via email to