[icecast-dev] Streaming with ices2/linux
Melanie
melanie at t-data.com
Wed Nov 5 16:53:34 PST 2003
Hi,
I have observed a problem when streaming with ices2. When only silence is
transmitted, like pauses in an interview, the bitrate drops to 0. This
happens even when a minimum bitrate is set.
Now, assume there is a half block of audio ready. Now the level drops to
silence, or near silence, possibly because the person is thinking about an
answer for a while.
This will cause the partial block to not be transmitted in time for the
client to produce continuos audio. Also, the client can, if this happens
more often, incur some very serious lag over time.
What needs to be done, IMHO, is to guarantee that data is sent at least as
fast as the playback of the data will take. So, if there is silence,
smaller blocks must be sent, because a length of music and an equal length
of silence will be encoded in a different number of bytes. Each block of
data being collected, waiting for transmission, neds a deadline attached to
it which is the time between the sending of the last block and the time it
would finish playing. So, if a block is sent that encodes 2 seconds of
audio, the next block must be sent no more than 2 seconds later. Even if
it's only the few bytes needed to tell the client to play another 2 seconds
of silence.
I haven't read the code, but it appears that blocks are sent when a certain
byte count is reached. This is fine for continuous audio, but if there is
silence involved, it's just not enough.
A functioning minimum bitrate would also solve this problem, at the cost of
bandwidth, but that's not available either. The minimum bitrate parameter
is seemingly ignored, even though the ices2 startup messges do print it
out, meaning it's recognized from the config file.
This becomes a major annoyance when anything other than continuous music is
sent, even with normal talk, lag time can build up and bits of disjoint
audio are heard at the beginning of a sentence. This is probably the tail
of the last sentence, encoded and buffered, but not sent out until there is
more audio to send.
Melanie
--- >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-dev-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-dev
mailing list