In this project, we address the problem of streaming real-time video from multiple servers in a distributed manner. We invoke a scalable video encoding format (e.g., H.263+, MPEG-4 FGS (fine granular scalability)), and use a network-friendly distributed streaming algorithm. The interface between the video content and the network is provided by a distributed packetization strategy. This packetization approach uses an FEC-based multiple description coding framework which is rate distortion efficiently matched dynamically to both the video source content and the network channel conditions.
Due to the diversity effect of multiple servers, our distributed algorithm is immune to single points of failure, provides natural load-balancing on the multiple servers, and provides a graceful degradation in quality with an increase in multi-server load or a decrease in network throughput.
We have developed an algorithm to deliver a nearly constant perceptual video quality to the client by streaming simultaneously from multiple servers leading to a satisfying user experience. The algorithm accomplishes this task while minimizing the net aggregate bandwidth used from all the servers put together. The input video sequence is assumed to be a scalable video bit-stream. Our solution is inherently distributed, so that the servers need not communicate for encoding purposes. Synchronization among the servers is achieved through the receiver.
We have implemented our distributed video streaming algorithm and are currently running tests over the Internet. We are in the process of developing solutions for multicast. For details please refer to .
Figure 1: Block diagram of the VISDOM system