[icecast] *Real* real time streaming (no delay/latency)?
msmith at xiph.org
Thu Feb 5 02:11:20 UTC 2004
On Thursday 05 February 2004 12:55, Jørgen Elgaard Larsen wrote:
> Does anyone have experience with _real_ real time streaming - i.e. with
> very little delay/latency?
> I need to stream from point A to point B in near-CD quality via a 100
> Mbit network. That is easily done using icecast. But here is the tricky
> I want as little delay in the signal as possibble - preferrably below 50ms!
> I have made a test setup encoding on and serving from an 800 MHz Pentium
> II with debian GNU/Linux, icecast 2 and IceS 2. That gave me a delay of
> 1 or 2 seconds. I need it to be lower.
There are 3 points at which significant latency (other than the actual network
latency) is added in an icecast-style configuration:
I don't think the icecast latency is particularly large. Both the encoder and
client latency are likely to be significant. Both can be reduced without
Encoder-side: because of the way the ogg/vorbis libraries are designed, the
natural output gives a relatively high latency (on the order of 200-300 ms is
typical at moderate bitrates). This is easily reduced (with the penalty being
slightly higher bitrates) by flushing the ogg stream after each vorbis
packet. You should be able to hack ices2 to do this very easily - just
replace calls to ogg_stream_pageout() with calls to ogg_stream_flush().
Client side: does the client do any buffering? Obviously, if it does, this is
a major contribution to latency. Make sure it doesn't do any. I don't know
what client you're using.
I suspect < 50 ms latency will be very difficult, but ~100 ms shouldn't be too
--- >8 ----
List archives: http://www.xiph.org/archives/
icecast project homepage: http://www.icecast.org/
To unsubscribe from this list, send a message to 'icecast-request at xiph.org'
containing only the word 'unsubscribe' in the body. No subject is needed.
Unsubscribe messages sent to the list will be ignored/filtered.
More information about the Icecast