This thesis describes the design and implementation of an MPEG video streaming system. The key-requirements of streaming system include the bandwidth control, the interactive streaming control facilities, the quality control, and the timing and sequencing mechanisms.
In particular, we implemented the streaming video server and client that provide MPEG-1 video streams on the best-effort network. The streaming server system retrieves a video stream and transmits the video packets using RTP. The client receives and decodes the packets, and displays the decoded video data on X-window interfaces. Both programs are multi-threaded.
Our system makes it possible to transmit more significant frames earlier than the usual transit time so that an expected quality loss rate can be minimized.
In addition, we propose a congestion control mechanism that keeps the output rate similar to TCP throughput, and propose a window-based rate smoothing mechanism that stabilizes the transmission rate.