[Icecast] Variable bitrate and bandwidth usage

Karl Heyes karl at xiph.org
Wed Oct 12 22:33:01 UTC 2005

Leo Currie wrote:
> Hi -
> Suppose I have a Q-1 Vorbis stream being served from a machine on a 
> low-bandwidth internet connection. I listen to the stream locally using 
> Winamp, which shows the bitrate fluctuating between around 35-55 kbps, 
> the average being 48k.
> Now suppose I have 10 external listeners connected. How much bandwidth 
> will they need/use? Common sense says:
> average bitrate * 10 = 480kbps (plus any overheads)


> Here's the question:
> If I have 10 listeners connected, and the bitrate fluctuates up to 
> 55kbps, then is the actual bandwidth requirement at that instant 550kbps?
> Or are the fluctuations more rapid than I can appreciate from the Winamp 
> display?

I think the winamp display is only a 1 second update, vorbis can change 
for more frequently than that.

> Or to put it another way, over what period of time is the average 
> bitrate calculated, and is this period significant in terms of average 
> buffer size?

For display purposes, it's up to the application, ogg123 for instance 
shows changes more rapidly than xmms/winamp. Icecast does allow for a 
little lag which may occur if there is a limit being reached, just as 
long as it's not too bad.

> Also just quickly - could the external authentication mechanism be used 
> to reject new connections when bandwidth usage reached some limit?

URL auth can use whatever it wants to decide on whether a new listener 
can join, it doesn't require to be username/password based.  If a 
bandwidth limit is what you want to be selective on then fine, just note 
that <clients> and <max-listeners> limits still apply.


More information about the Icecast mailing list