If you work in an office that shares files over a network, you might think of a server as a computer that holds lots of data. But when it comes to streaming video and audio, a server is more than just a massive hard drive. It’s also the software that delivers data to your computer. Some streaming servers can handle multiple file types, but others work only with specific formats. For example, Apple QuickTime Streaming Server can stream QuickTime files but not Windows Media files.
Streaming servers typically deliver files to you with a little help from aWeb server. First, you go to a Web page, which is stored on the Web server. When you click the file you want to use, the Web server sends a message to the streaming server, telling it which file you want. The streaming server sends the file directly to you, bypassing the Web server.
All of this data gets to where it needs to go because of sets of rules known as protocols, which govern the way data travels from one device to another. You’ve probably heard of one protocol — hypertext transfer protocol (HTTP) deals with hypertext documents, or Web pages. Every time you surf the Web, you’re using HTTP.
Many protocols, such as transmission control protocol (TCP) and file transfer protocol (FTP), break data into packets. These protocols can re-send lost or damaged packets, and they allow randomly ordered packets to be reassembled later. This is convenient for downloading files and surfing the Web — if Web traffic slows down or some of your packets disappear, you’ll still get your file. But these protocols won’t work as well for streaming media. With streaming media, data needs to arrive quickly and with all the pieces in the right order.
For this reason, streaming video and audio use protocols that allow the transfer of data in real time. They break files into very small pieces and send them to a specific location in a specific order. These protocols include:
- Real-time transfer protocol (RTP)
- Real-time streaming protocol (RTSP)
- Real-time transport control protocol (RTCP)
These protocols act like an added layer to the protocols that govern Web traffic. So when the real-time protocols are streaming the data where it needs to go, the other Web protocols are still working in the background. These protocols also work together to balance the load on the server. If too many people try to access a file at the same time, the server can delay the start of some streams until others have finished.