There are several technical issues that must be dealt with when streaming audio. The first is the need to achieve a very high degree of compression relative to uncompressed digital data. The uncompressed data can easily consume 190,000 bytes per second whereas the streamed data may have to be trimmed to a few thousand bytes per second in order to be received over a phone line. The second issue is that a listener may tune in at any time. A knowledge of previous content can not be assumed. This means that any headers must be repeated frequently and that compression algorithms that use dynamic encoding are ruled out unless they broadcast all the decoding information frequently. Another issue is that audio is generally streamed over an unreliable medium such as the internet. If a buffer is not used to even out data flow, there will be breaks and interruptions. Initial set up of the buffer will introduce a time delay at the start of streaming, and buffering will result in a time lag for real time data. This can result in some viewers seeing events sooner than others watching or listening to the same broadcast with a longer delay.
Some streaming audio protocols can negotiate an optimal speed over a link by testing various rates to determine the highest reliable data rate.
As of 2004, there are a number of incompatible audio (and video) streaming technologies including Real Audio, Windows Media Player, Quick Time, and Shoutcast. Technically Shockwave which is used to provide audio clips on many websites is not streaming audio although it is similar in many respects.
To further complicate things, many audio streaming technologies are always or sometimes paired with video streaming. A number of protocols are in use for moving the combined data including RTP, RSTP, MMS, MSTP, HTTP (two variants) and others. Many streaming audio players support several formats and protocols, but none of them supports all formats and protocols.
Return To Index Copyright 1994-2019 by Donald Kenney.