[Icecast] Variable bitrate and bandwidth usage
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
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