It is best to
give precedence in selection to the client/server system. The client/server
system provides the functionality to support current user needs and
to respond to changing need. Therefore it has the greatest impact
on user satisfaction. Any encoder system supporting MPEG standards
at an acceptable level (composite bit stream for MPEG-1, main level
for MEPG-2) is going to produce acceptable files for the user, provided
the operator creating the files is competent and well-trained. The
human eye cannot distinguish small differences in quality among MPEG
files. Problems with the client/server system, such as denial of service,
jitter and poor audio/video synchronization resulting from streaming
problems, incompatible files, client interoperability issues, or network
overload will be very noticeable to the human senses. When selecting
a client/server system, load a copy of the client on a range of local
computers and test MPEG1 files created from different encoding systems.
These files may be created in-house, "borrowed" from other institutions,
or found on the web. For example, the Library of Congress now offers MPEG videos for view.
Test different frame resolutions, bandwidth encoding speeds and, preferably,
30 frames/second. Test files with audio (talking heads, music) and
video, high action, etc. Compare playback quality among vendor clients
and also compare playback quality against inexpensive or shareware
players, such as Window Media Player, VMPEG-1.7 from the MPEG Software
Simulation Group, or Xing MPEGPlayer.
It is possible,
and sometimes unavoidable, to select the encoding system first. Most
client/server vendors test encoder cards for interoperability and
either publish acceptable encoder systems on their web pages or provide
that information to prospective buyers on request. A fairly safe strategy
is to purchase an encoding system supported by the largest number
of client/server vendors. If you have purchased an encoding system
that is not widely supported by client/server vendors, your options
are to negotiate, or provide in-house, custom API programming to create
hooks to your files or to select a vendor with very open file support,
providing streaming and client playback independent of the encoder
card and encoding software used. Always test a system with your encoded
files before purchase, however, regardless of vendor claims.
Decoding at the
client end is another significant issue, particularly for MPEG-2 service.
Many vendors support hardware decoding only and may be very limited
in the different cards they support. Again, client/server vendors
publish tested decoder cards or should provide this information on
request. It is important to know your client population before selecting
both the encoding and the client/server system. Do you already have
an widely-deployed decoder system that you do not want to replace?
Are you supporting a controlled user base, such as a computer lab,
or a large heterogeneous user population with varying and unknown
operating systems, processing speeds and RAM? Are you supporting a
wide range of bandwidths, such as different LAN topologies and dial-up
traffic? What percentage of your user population uses Windows, MacOS
or Unix desktops? Which Unix desktop operating systems must be supported
— Linux or a vendor-proprietary OS, such as Solaris or Irix?
The installed
user base is a critical criterion for selecting both the encoding
system and the client/server system. You can control client conditions
by purchasing a system for a managed computer lab but you risk serious
user dissatisfaction. Most users won't settle for anything less than
full access at their desktops — and the system will be blamed for
performance failures, not the inadequate desktop. If you are serving
(and most of us are!) a heterogeneous, somewhat unknown user population,
it is best to select flexible systems — encoding systems supporting
a range of bandwidths and standards and client/server systems supporting
a range of bandwidths and offering a range of clients from web plug-ins
to system-proprietary clients.
There are several
components of a system or vendor selection process.