Progressive download is a widely utilized technique for media distribution (YouTube, MySpace, Vimeo, etc). It’s implemented as a common file download from an HTTP server. The main feature of this approach is that the media player on the client side can play the media stream while file downloading is still in progress. The user is able to control the playing (stop, play, etc.) for sections which are already downloaded. The user may also wait until the download is completed for smoother playback.
However, there are several limitations with progressive download:
- Progressive download is not flexible. The user has to select a bitrate before starting the download, and the bitrate remains constant during the session. It does not depend on the available bandwidth and this might cause a buffer underflow which interrupts video playback.
- Bandwidth is not utilized efficiently. If the user starts to play the media stream and then decides to quit, the whole stream may have already been downloaded to the buffer.