Table of Content | Next |
The mp3 format is a compact representation of audible sound. More about this format can be found in the next section. Streaming audio is the process of sending audio data across a network and listening to it, while the audio data is being created. Thus creating the data, transporting it, and listening to it, is not divided into separate steps but all of it happens simultaneous. A compact representation is necessary for streaming since networks do have bandwidth limitations and streaming requires, that the data can be transported at the same rate as it is produced. Small variations in speed might be admissible and can be overcome by buffering, but you will not be able to produce audio data at a rate of 48kbit/s, transport it at a rate of 16kbit/s, and listen to it at the other end. The data will just not arrive fast enough, since you would need 48kbit to produce one second of music and you will get that much data only every three seconds. The effect is 1 second of music and 2 seconds pause, and 1 second of music and 2 seconds ...
The available data rates vary considerable. A home computer with a simple modem might get 24kbit/s, with a better modem (called a 56k modem) you might get 32kbit/s. Using an ISDN modem you get 44kbit/s or with two ISDN channels even 90kbit/s. On an Ethernet LAN at a university or an office with direct connection to the internet you might have rates up to 10Mbit/s or 100Mbit/s. Notice that you will never get the maximum modem/lan speed, since some data has to be send for administrative purposes and some idle time is unavoidable too. And even if your modem is capable of receiving 56kbit/s it does not mean that your provider will effectively send you that much.
Now the internet does not provide for sending data to multiple receivers, data is always send from one point to another point, each of them identified by an internet address (true broadcasting is available only within local networks). Hence to send a stream of data to five receivers, you have to send it five times. Even with two ISDN lines you will soon not be able to support all your listeners with a decent data rate. Just consider sending at 32kbit/s, then a 128kbit dual ISDN line will support not even four listeners. To overcome this problem you need an audio server.
The audio server is a program running on a machine with a good internet connection of may be 10Mbit/s or more. The producer of the audio data will log in to the server and send only one stream of data. The server will allow many listeners to login to the same stream, usually using a web interface, and will give each listener a copy of the stream. This way the sender can send with the full available bandwidth and the receiver can receive with the full available bandwidth, only the server needs to have enough bandwidth to accommodate the sender and all of the receivers simultaneously. There are different server programs available, one of them, which is free software, is icecast, available from http://www.icecast.org.