|
Short Answer:
There is a plan to
correct this.
Long Answer:
Unlike
AVI files, MPEG is a "streaming" file format; it's designed so players
can decode it starting from an arbitrary spot. As such, it has no
"header" with info about the file in its entirety, as an AVI file does.
This means that the only way to obtain accurate information on most
characteristics, including simple things like the number of frames, is
to scan the entire file, which can take minutes. Unfortunately, this
conflicts with a design goal of GSpot: to be responsive and nearly
instantaneous in providing results. This has been accomplished by GSpot
in the past by reading only the first 1 MB or so of any file, regardless
of size. That's plenty for AVI, as most of the information is summarized
in the very beginning.
Things got more
complicated with the inclusion of MPEG support in GSpot 2.5+. A number
of "tricks" are now used - for example GSpot will now read both the very
beginning and the very end of the file, and then attempt to subtract the
timestamps that are available in, for example, an MPEG system stream.
Nonetheless, it often resorts to estimation. While these estimates are
fine for many applications, for many they are not. One user, for
example, sent an email describing how he used GSpot in batch mode to
create scripts which were in turn used to trim MPEG files right at the
last frame (or something like that). To his dismay, he discovered many
of his files were being cut at the wrong spot.
So, getting to the
point here, a functional addition to GSpot is in the works: it will
continue to analyze large stream files "in the background", using a
separate low-priority thread. The idea is that GSpot will give instant
results, with some fields estimated, just as it does now. It will then
continue improving those values - with some indication of when it's
"done" for those that need to know. Those that don't care can ignore
this, as it will be fully responsive and all functionality will be
immediately available as it is now. If the function chosen is to open a
new file, the scan is simply aborted; otherwise it quietly continues.
Batch / export users will be given a choice of "fast mode" or "accurate
mode" to suit their needs.
No estimate yet on when
this will be done, but it's in the works. |
|