Configuring Servers For Streaming
Streaming media is 80 percent technique and 20 percent luck. The following tips won’t bring you luck, but they may prove helpful for setting up a new streaming server or getting the most out of the ones you have. Some are common sense techniques. Others are workarounds that solve the symptoms of a particular problem until technology, or good reason, offers a better alternative. And a few come from the hard-won experience of Andy Herron with the Advanced Systems Technology Group in the Computing and Communications Department of the University of Washington. The University of Washington provides streaming services for ResearchChannel, KEXP Radio (joint venture between Paul Allen's Experience Music Project and the UW), and UWTV.
We also enlisted the help of Steve Walters, previously with several top-tier IT companies and now an IT consultant and president of video and multimedia production company Media Kinetics. He gave us excellent advice on server set up, storage and caching.
This compilation is by no means complete. Nor is it the final word for every situation. It is simply a starting point for getting the most out of servers for streaming. As for the other 20 percent, we can only offer you this encouragement: while it’s true the Internet isn’t built for streaming, it’s also a fact that bumblebees aren’t built for flying either!
Happy serving!
What You Need to Know About Streaming Protocols
We assume you’re already hip to streaming media servers and have gone or are planning to go the whole nine yards with server software specifically designed for streaming over the Internet. Some of the more popular streaming media software are RealSystem Server, Darwin Streaming Server, and Microsoft Media Services, as well as audio streaming servers like Icecast. Servers configured with streaming server software are built for streaming. They have the added benefit of streaming protocols that you can’t get with a Web server configuration.
Here’s a breakdown on streaming server acronyms:
UDP (User Datagram Protocol) Like TCP, UDP runs on top of IP networks. But unlike TCP, UDP doesn’t have re-transmission and data-rate management services, meaning it’s fast enough for real-time audio and video delivery. UDP traffic also enjoys a high-priority status on the Internet, making it a fairly smooth, uninterrupted ride for media running over the public network. Overall, it’s suited to media, which is more sensitive to variances in bandwidth availability than short-session TCP traffic like e-mail. There has been a fair amount of discussion regarding whether or not trafficking data over UDP is as secure as on TCP, but from a pure streaming standpoint, UDP is the preferred option.MMS (Microsoft Media Services) Microsoft’s streaming server uses the MMS protocol to transfer unicast data. MMS can be transported via UDP or TCP. If the client Windows Media Player cannot negotiate a good connection using MMS over UDP, it will resort to MMS over TCP. If that fails, the connection can be made using HTTP over TCP, which is not as ideal for streaming as MMS over UDP, but ensures connectivity nonetheless.RTSP/RTP (Real Time Streaming Protocol/Real Time Transport Protocol) RTSP is a control or communication protocol used between client and server, and RTP is the data protocol used by the server to send data to the client. Unlike HTTP and FTP, RTP doesn’t download the file to the client but instead plays it in real-time. The Darwin Streaming Server and RealSystem Server use RTSP/RTP to communicate with one another. RealSystem Server also uses RDT, its proprietary data channel, for delivery to RealONE players.Unicast The server serves streams to each and every unique client requesting access.Multicast Instead of serving streams to each and every user requesting access, only one served stream is sent to all clients. Multicast is the most efficient use of bandwidth for large numbers of clients. It uses the same bandwidth for 100 clients as it does for one. To do multicasting, however, all routers in the path may require a software, firmware, and in some cases, a hardware upgrade. The entire delivery path must be multicast-enabled, and so far, Internet Service Providers have shown little interest in updating their systems for multicasting. For this reason, multicasting is used on private networks or Intranets and is not yet available on the public Internet, although there’s experimentation being done with the Mbone project (Multicast backbone).More About Streaming Server Software
While streaming media servers use these specialized protocols to stream content over the public Internet, they also use the HTTP/TCP protocols used by Web servers in order to get streams through corporate firewalls, which are often set up to block UDP traffic. Check to make sure the server software you’re considering has a rollover scheme to transport your media through various firewalls if need be. Another thing to check when shopping for streaming server software is the number of simultaneous streams it can put out at one time. That number ranges from 25 to 10,000. Microsoft and Darwin streaming server software are open-source, so these are available at no charge. Microsoft Media Services comes standard with Windows 2000 server at no additional cost. RealSystem Server is free up to 25 clients, but Real charges per concurrent user after that.
Page 2: Pointers for Setting Up the Server in the Network >>