The first part of this magic formula is video compression. To compress video, a complex mathematical formula breaks the individual frames into moving and static components. Then it takes each moving object, and guesses where it will be for the next frame. By refreshing only the moving components, and recycling the static images, compression reduces the size and speed of the video file. There is a downside to compression. If the camera is panning, zooming, or moving in any way, the whole image is in motion, leaving nothing to recycle. This leads to poor compression, and a slower transmission.
The second part of the streaming combination is buffering the file. Compared with the voodoo magic of the compression, the buffering seems fairly bland. By giving the file a few seconds to load before starting the image, a reserve of video is available in the memory of the client’s computer in case the transmission slows for a moment. When the transmission slows, the client computer uses part of the reserve of video. If the transmission becomes too slow, the buffer becomes completely exhausted, and the video will get choppy. The better streaming packages will adapt the buffer to the speed of the connection, even as it fluctuates with the ebb and flow of network traffic.
There are many software companies trying to get an early start in what will become a huge industry. VDOLive from VDONet is supported by industry driving Microsoft, and has media giants FOX and CBS as early customers. Microsoft has its own streaming server called Netshow, and just recently bought part of RealNetworks, makers of RealVideo. Look for more integration between Microsofts Netshow and RealVideo. Netshow can also serve VivoActive. VivoActive from Vivo Software has gained widespread acceptance largely because it has no special server-side requirements. VXtreme has Web Theater, which is used by CNN Interactive, and other large Internet content providers. Xing Technologies’ StreamWorks is another streaming package, and the only one to date that supports MMX channels.
All of the packages work similarly. To view video, the client (or end user) needs only to download the free viewer, and install it on his machine. To actually netcast video, you would need to purchase software that encodes your digital video into the streamed format. Then, you would need to get a streaming server. Some programs, like VivoActive, use a standard web server, while others need special streaming only server.
Streaming video is just in its infant stages, yet it has a potential limited only by the network bandwidth it requires to send high quality video. However, the bandwidth that is available is expanding exponentially. For the web surfer, this could eventually mean 200 million channels of TV. For makers of video, this could be an unprecedented broadcasting opportunity.