Image Processing Reference
This is one of the most frustrating experiences for a viewer, possibly only exceeded
by getting disconnected when too many people try and reach the same streaming server
and it runs out of available connections.
The client player may receive an occasional delayed packet. If the session is using TCP,
you may observe the effects on the player window. If it indicates the play position and the
amount of buffered video, the playback indicator continues to move while it is within the
buffered content, but the buffering indicator will not stay ahead of the playback indicator.
Note: The playback indicator is sometimes referred to in the documentation as the play
head. This is a throwback to the old analog recording tape days when the tape passed
over the play head on the tape deck.
Joining a Stream Partway Through
One of the things that a streamer and client have to cope with is when a user joins a live
stream part of the way through. This is a very similar problem to when you tune a digital
TV set to another channel.
Step 1 is to acquire the transport stream and synchronize with that so that the client
is framing the data correctly and is then able to unpack the various program streams.
Step 2 is to locate the desired program stream and synchronize to that in order to
locate the beginning of a segment so that the elementary streams can be unpacked.
Step 3 is to extract and reassemble the audio and video streams and locate suitable
starting points where the viewing experience is reconstructed. For audio this tends to be
quite straightforward since it is a much simpler protocol. For video the codec must be
determined, initialized, and an I-frame acquired before decoding commences.
All of this takes some time and explains why it changing channels on digital services
and streamed internet AV seems less responsive than on the older analog solutions.
Too Many Users
Although it is a nice problem to have, when your service becomes very popular and the
whole world hits your servers you may run out of licenses. This tends to happen to peo-
ple who stream major sports events through a single Real Networks streaming server, for
example. That is not to imply there is anything wrong with a Real Networks server, but
one pricing model is based around a licensed number of simultaneous user streams.
So when you purchase a license for a streaming server from Real Networks or any-
one else, you should check out the licensing model and ensure that you purchase enough
streams. This model becomes expensive very quickly. Above a certain level (you will have
to calculate that based on the terms you are offered) you may prefer to base the license on
a number of CPUs.