v2.52 beta




0. My video doesn't play - how do I use GSpot?
  Download GSpot (v2.21 with installer if you have Win9x, or if you  don't know what a "stand-alone executable" or a "RAR file" is).

Once installed  1)Run GSpot  2)Do "File>Open" on your video file 3) If it says "codec not installed" for either video or audio, you'll need to install a codec of the type shown in the adjacent box. Codecs downloads are not available here, but a quick Google search should do the trick.



1. How come my MPEG values aren't accurate?
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.



2.  It says "codec is installed", but doesn't show what codec - how can I see that info, like I can with v2.21?
  Actually, as soon as you load a file it runs a instantaneous "#1" pseudo-render (see below), though it does that under the hood so as not to bother the casual user with technical mumbo-jumbo. But therein lies your answer: If the automatic "1" press is able come up with at least one theoretically working graph, it will say "codec is installed"; conversely whenever it says "codec is installed", it means that pressing "1" is guaranteed to have at least one good result. So "pressing #1 and looking at that result" is how you find out what it had in mind when it said "codec(s) are installed". As of v2.52 b1, you can also right click on the codecs to obtain additional details.  


3. What do the #1, #2, and #3 buttons do?
  The MS ("Microsoft") render button "1" is equivalent to the old v2.21 render (although it's currently less informative insofar as you can't get the "details" on what's shown, but that should be corrected in a future update). MS button "2" will take that "graph", as Microsoft calls it, and actually play it in the monitor window (assuming step 1 was successful).

The GSpot Video "1" button attempts to create one or more "theoretical" graphs - it does this quickly, in memory, by "logic" only, with no additional access to the codecs involved (i.e. no access beyond the info gained when GSpot started). This is much faster and far less likely to crash on a problem system (one with bad codecs) than the Microsoft render. That's because the MS algorithm is a "trial and error" system which just keeps loading codecs, hooking them together, and seeing if it says it will play. On the downside, the GSpot "1" button isn't as accurate - it may come up with some results that don't "play" when you actually try them (this is due to codecs claiming they accept all these formats that they really don't - something which can be changed with GSpot's "edit mediatypes" function - but that's another story). Also note that the GSpot algorithm is quite rudimentary at this current beta stage, but I'm hoping to improve it as time goes on.

Now, even though this "1" is not as accurate as really trying it, as I mentioned, it's still better for the "codec is / is not installed" status than the GSpot v2.21 system, which just checked for the existence of a codec matching a certain format. It's more accurate because it builds the whole "graph" - if only theoretically. For example, if you had a DivX movie file and did have a DivX codec but had no "avi splitter" to feed it, v2.21 would say "installed" but v2.5 would say "not installed". That's more accurate since the file can not be played under those conditions. It's not a very realistic example since everyone has (or should have) "AVI Splitter" since windows comes with it, but you get the idea.

Anyway, button "2" actually loads and "connects" the codec graphs created in "1" to see if the result says it will actually play - now you have one or more actual "connected" graphs, similar to one created by the MS render "1" button. Lastly, the "3" button ACTUALLY plays the file in the monitor window, like MS #2 (it's really not as confusing as it sounds!). It's actually quite rare for a file not to play once there is a successfully connected graph, but it can happen (or it may "play", but be all in shades of purple and green). So the ultimate test is seeing it with your own eyes like that.

Note that the #3 button plays the first successful one listed if there are more than one. But you can selectively play the one you want using a right click option to see if one works "better" than another, or better than the Microsoft solution. If it does, you can control Microsoft's algorithm using GSpot's "merit set" or "edit mediatypes" functions, but again, that's another story.

Oh yeah: regarding everything stated above about GSpot Video buttons "1", "2" and "3": Audio is the exact same deal. I keep them separate as it's a much more useful diagnostic that way. The MS render, by contrast, is an "all-in one" deal.



4. I want to try some of the codec "management" functions, but the menu items are grayed. What's the deal?
  "Set Merit", "Unregister Codec", and a few other menu items are "grayed out" by default, as they were in the v2.5 release, and this had generated some confusion. The remedy is simply to go to "Options > Settings" and tick the "Expert Mode" checkbox to activate them. You only have to do this once; the setting is automatically saved. The purpose is to prevent the casual user from inadvertently activating features which make functional changes to the O/S.

Any grayed items encountered after that are disabled for functional reasons, e.g. "unregister codec" is grayed when examining a VFW or ACM codec, as those older multimedia standards do not support the concept of "registering" the devices.



5.  Is there a command line version of GSpot?
  Short Answer: No. But...

Long Answer:  I like command line apps myself for certain things, but haven't had the time to create an alternate version of GSpot. If you absolutely need such a thing though, there is a feature which may come in handy, though the result is only an extremely lame replacement for an actual command line app (and therein lies the reason I haven't documented it ;) Anyway, the normal GUI versions of GSpot do have one, and only one, command line option: "/X". That means is "eXit immediately after processing" (or, perhaps, "eXport mode"). It does bring up the window, however, which is quite inelegant and ugly, not to mention slowing things down. It then processes whatever file(s) are included on the command line along with the /X.

Usage is:

GSpot <filename> [<filename> ...] /X
GSpot /X <filename> [filename>...]


1. "X" is not case sensitive
3. If <filename> has spaces, it must be surrounded by quotes
3. <filename> may NOT be a wildcard, but you may specify any number of filenames individually, separated by one or more spaces, as shown in the usage above.
4. In settings, be sure to first enable export and click "save as default", so GSpot will perform the export when started from the command line. Unless you need "codec is/is not installed" status, it's recommended you also de-select "enable interaction with codecs" on the main options dialog - this will make the entire process much quicker.



6. What does "split" audio mean?
  "Split" means that some audio frames are split across interleaves, i.e. part of the audio frame resides in one chunk and the remainder of it is in another, with a video chunk in between. See diagram. On v2.5 beta the wording is "audio split across interleaves" or "audio aligned on interleaves", which should help to make it clearer. I'm not making any claims about the relative merit of one scheme vs. the other, but it does seem important enough to report.

From what I've seen, Nandub splits AC3, but not MP3(CBR or VBR). VirtualDubMod splits AC3, but does not split CBR MP3. It splits VBR MP3 if you answer "yes" to the question about allowing it to "rewrite the header" Otherwise it doesn't. And AVIMuxGUI never splits anything.


7. Does GSpot use "ITU-R BT.601 (CCIR 601)" pixel size information for aspect ratio information?
  As described in the "info-tip" on the main dialog, the resizing functions do perform precise calculations using these values; the function is a implementation of the concepts and algorithms described in Jukka Aho's document, A Quick Guide to Digital Video Resolution and Aspect Ratio Conversions.

Outside of the resize calculations, however, and for the Pixel Aspect Ratio ("PAR") display value in particular, this information is not used. GSpot either displays PAR as designated in the file and calculates DAR from that and the frame size, or displays DAR as designated in the file and computes PAR from that and the frame size. The former method is used on AVI (where there is an implied PAR of 1:1), on MPEG-1, and possibly on MPEG-2 files. The latter method is used most MPEG-2 files, however.

There are only two exceptions to this: Because of common usage - and this has nothing to do with the ITU-R BT.601 (CCIR 601) stuff - the MPEG-1 value "0.9157" is replaced with 0.9166 (11/12)  and "1.0950" is replaced with 1.1000 (11/10).  When these values are displayed, they can be distinguished by the fact that they are displayed in fractional (ratio) form, rather than decimal.  Note, however, that GSpot displays all aspect ratios of any type as width/height, whereas these MPEG-1 PAR values are specified the other way around. So the fraction you'll see for the first case is "12:11"; you'll see "10:11" for the other. All other values display as the decimal value which is the reciprocal of the decimal value in the MPEG spec.


< back