Streaming Servers

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.

basic streaming process

Streaming servers typically deliver files to you with a little help from a Web 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.

server overload
Too many outgoing streams can overload a server,
causing users to see an error message.

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.

Streaming Choices
If you're thinking of making and distributing streaming video, there are a couple of choices you'll need to make about format:

  • Live or on-demand: Live webcasts require some extra equipment. You'll need an on-site computer that can compress, encode and stream the video feed in real time or a satellite uplink to a company that can do it for you.
  • Unicast or multicast: In a unicast stream, each person watching gets his own stream of data. In a multicast stream, one stream of data travels to a router, which copies the stream and sends it to multiple viewers. Unicast streams require more processing power and bandwidth.