Multimedia Streaming over Best Effort Networks using Multi-Level Adaptation and Buffer Smoothing Algorithms Michael Kropfberger , Oct 2004 In addition to the well-known networking applications like email and browsing the Web, there is a new emerging "killer application": multimedia streaming. Before this new use case will be widely available within today's Internet, there are various obstacles which have to be solved first. The measures, which are vital for a well-functioning streaming environment are as follows: - smoothed streamout of variable bit rate streams, to avoid peaks over the full connection time, - monitoring the fill state and restrictions of the client buffer, to guarantee jitter-free playback, - detecting packet loss and reacting with appropriate error correction or retransmission of the packets, - fast and accurate measuring of the really available bandwidth, - ways to overcome short-term and small-ranged bandwidth fluctuations by using fast and effective methods of adaptation like frame dropping, which reduces the needed bandwidth without decreasing the perceived quality too much, - reacting to long-term massive bandwidth changes by completely switching from the active stream to a version encoded for lower bandwidth and quality. Many researchers have investigated different parts of the above mentioned measures, offering interesting solutions. Unfortunately, those works were always seen as seperate problems, they were never put together for analyzing their coexistence when combined in a full-fledged server-client streaming environment. This thesis wants to combine all of the above mentioned measures by using and evaluating the most promising and performance-wise feasible solutions. Since inter-connectivity between various multimedia servers and clients is one of the most important requirements for Internet applications, it was absolutely important to be compliant to available standards and to offer well-known and widely accepted ways of communication. As a result, a freely available open-source client-server environment for multimedia streaming and adaptation for best effort networks is available for world-wide usage and for further extension. It is called "ViTooKi -- The Video ToolKit" and is downloadable on http://vitooki.sourceforge.net. The very flexible library incorporates a well-tested and analyzed streaming testbed which meets all requirements of high quality multimedia streaming with respect to best effort networks, combining the above mentioned topics like smoothed streamout and buffer management, packet retransmission and fast bandwidth adjustment using a combination of fine- and coarse-grained adaptation methods, always keeping in mind standard conformance for coexistence with other multimedia applications.