[Icecast] Typically end-to-end 'delay' of live audio

"Thomas B. Rücker" thomas at ruecker.fi
Thu Feb 5 08:03:08 PST 2015


On 02/05/2015 02:45 PM, Tony wrote:
> I have an audio device driver for a live feed that produces Opus
> frames, if I were to use icecast, what sort of real-time delay can I
> expect? 3-5s? 5-10s? more?

Likely that or more. This highly depends on the client side buffers.
Icecast itself doesn't buffer much and that can be disabled by turning
off the burst-on connect functionality.
HTTP streaming is not "real-time" for most values of real time, it's
still more "real time" than HLS thought, to my surprise.


> I've tried using the html5 <audio> tag directly to stream my source,
> but it seems browsers like to queue-up 250K to 500K of audio 'data'
> before they begin playback.  That introduces a 15-30s delay depending
> on browser and the audio compression used.  I'd like an html5
> (plugin-less) solution that introduces no more than a 3-5s delay.

Yes, you can't control client side buffers for HTTP based streaming to
browsers.

If you aim for something reliably <<5s without having total control of
the client side, then your best bet is to look at something else. Maybe
WebRTC?

I'd probably be able to point out something more helpful, but you don't
state your actual use case.

Generic standard comment:
Most cases where people think they need an Icecast stream to have a
"low" delay are cases where some slight change in approaching the
problem would help. E.g. for collaborative streaming a real time / VoIP
backend that then streams to Icecast. Or in case of a "internet radio" a
question queue instead of trying to achieve "chat like response" over
the air, or rely on listeners actually "dialling in" through e.g. VoIP
for questions.


Cheers

Thomas





More information about the Icecast mailing list