Image Processing Reference
Currently loading here
Figure 20-3 Buffering.
This is fine for short video clips such as trailers and advertisements but is not likely
to yield a satisfactory experience for a movie. For a start, the buffer has to be much bigger
and the buffering time much longer.
A DVR device with a hard-disk cache is an optimum solution here. The content is
downloaded to the local hard disks so it can be played back from there.
This does not solve the immediate viewing-on-request of a movie but in a scenario
where you are booking or selecting movies ahead of time it is a very good solution. For
real-time, live viewing of a stream, the only solution is to reduce the bit rate and hence the
quality of the video to that which can be delivered in real time over the available link.
QuickTime has some especially smart look-ahead computation built in to allow the
auto play to calculate whether it is likely to catch the buffer loading. When the player is
sure that it can play all the way to the end of the clip uninterrupted, the movie begins play-
ing. This assumes that nothing interrupts the delivery or substantially slows down the
buffer loading in the meantime. A “lumpy” network would cause this technique some
problems. We describe a network as being “lumpy” when the throughput changes unpre-
dictably and suddenly. Imagine a garden hose with a mixture of water and mud being
delivered under pressure. Each clod of mud causes a momentary blockage that then clears
and lets the hose run freely again for a while.
The session may go into rebuffering mode when you are viewing streamed video on a
very congested network. That congestion may be anywhere in the route between you and
the target server you are streaming from. It is most likely to be in your local network or
your connection to the Internet, which is often through a single “pipe,” or proxy server.
That connection can easily be overwhelmed by the traffic demands in large corporate net-
So your player may be happily chomping its way through the incoming data while
the connection handler that is receiving packets from the remote stream server constantly
refreshes the buffer. Then something interrupts or slows down the traffic. Before your
player is able to negotiate a lower bit rate, your buffer is exhausted and the player cannot
proceed until you have rebuffered.