Decoding error message on VCD
Question : Whenever I want to play a VCD, an error message
will appear: "MCI ERROR. MMSYSTEM296. The file cannot be played on the
specified MCI device. The file may be corrupt or not in the correct format."
Answer : This error typically appears in Windows 98/ SE/ME.
There are several reasons for this error message to appear. One reason (the
most obvious one) is that the VCD is corrupted.
Most videos are compressed, that is they are not recorded on disc in a raw
form. They are encod- ed in a specific format (usually MPEG-1 or MPEG- 2 in
the case of VCD). Many formats have stan- dard, predictable patterns that a
decoder (such as a VCD player or VCD play- back software) can "translate"
(decode) into a movie that can be watched and enjoyed by anyone. The data on
the VCD itself is not the actual movie - it's an encoded, compressed heap of
data that will make no sense to anyone until after it's decoded.
In personal computers, this decoding is usually done with the help of a
compressor or decompressor component in the operating system. This compressor
or decompressor component is commonly referred to as a "codec".
As anyone who's been in the PC industry long enough knows, there's never ever
one "standard" for anything. This is perhaps unique to the industry. It's
probably what makes this industry more fun (and headache-inducing) than many
Many other industries only ever have one specification or standard for
anything - after all, it's what a "standard" is for: to "standardise". In the
computer world, however, there are typically many "standards", all of which
perform the same function, albeit in many different ways.
So, to make sense of any video file, the VCD play-back software must load the
right codec. How does it know which codec to load? It looks at something
called a "fourcc" (or 4CC) code.
The 4CC code is a sequence of four bytes (characters) embedded in the video
file that tells the player what format the file is in. A list of the various
codes can be found on the www.fourcc.org Web site (under Video Codecs).
The code tells the VCD player which codec to use. After it loads the video
file, the player looks for this code. It then compares the code against a list
of codecs that are available on this system. When it finds the correct code,
it loads the corresponding codec and passes the data through it, which results
in a displayable movie. At least that's what happens if all goes well.
However, here in the real world, several things can go wrong, and there are
several reasons for why they can happen. The first possibility is that the
video file does not have a 4CC code or does not have the correct one. In the
former case, the video player would not know which codec to load, and in the
latter the video player might load the wrong codec for the job. In either
case, this might result in the above-mentioned error message.
Another possibility, of course, is that the VCD player does not have the
proper codec needed to render the video file. In this case, an external "codec
pack" can be used to augment the functionality of the VCD player.
Examples of external codec packs include the K-Lite Codec Pack (available from
home.hccnet.nl/h.edskes/ mirror.htm) and XP Codec Pack (www.xpcodecpack.com).
These codec packs include additional codecs that the video player might need
to decode the video file.
Many codec packs also include 4CC identifiers which can read the embedded 4CC
code in the video file and provide a clue as to which codecs a video file
needs. The Web page support. microsoft.com/kb/ q219047 documents this error
and provides a possible fix for it.
The last possibility is that the file is just corrupted. Some codecs have
"error correction" mechanisms which will take care of many data faults, but if
the file just doesn't make sense then there's not a lot anyone can do.