PapaJohn Productions

Newsletter #68 - Sept 3, 2005

Assessing Video Files and Codecs with GSpot
Codec issues abound.... the newbie runs into crashes and hangs, and resolves them by having to find some codec(s) to take out of the equation, not necessarily knowing it's a codec or why it needs to be done... the intermediate user is comfortable making movies and can talk about codecs, but understands little if anything about them... the advanced user is looking for a better codec or learning how to tweak the codec settings to get the best playing movies.
Most multimedia files are compressed. Uncompressing them on the fly as they play requires decompression codecs. Rendering a new file requires compression codecs. You may not know which ones are needed or being used, and probably don't care as long as things go well.
Codecs are usually files you don't open directly... they can be an .ax or a .dll file, a program module used by the software that you open.
There are a number of utilities that help you assess the codecs needed to open a file... the GSpot Codec Information Appliance by Steve Greenberg is one of the better ones. 
GSpot started as an app to assess avi files. Its latest beta version has expanded to include MPEG files.
The screen shot at the left shows it with an MPEG-1 VCD file open, one I made with TMPGEnc.
GSpot says it's an MPEG-1 VCD file with a standard aspect ratio of 4:3, that the filters used to play it are in the quartz.dll file (lingering over the items in the two lines of the proposed codec solutions info box at the lower right keeps pointing to that DLL), and testing with it is successful as it plays fine in the monitor when the number 2 button is selected.
Quartz.dll is one of the files in the c:/windows/system32 folder. Check its properties and you'll see it's a Microsoft DirectShow Runtime file. If you had a problem using this MPEG-1 file, the Quartz.dll would be a key file to check for proper version, corruption, etc. GSpot's info would lead you to it. That's why you use GSpot.
In this newsletter I'll illustrate the complexity of codec-related issues by using a real world video file that needed conversion, and almost didn't make it... and then use GSpot to look at a variety of sample files.
I won't take you into the technology of how codecs work, or deeply into any of the hundreds or thousands of codecs.

... before getting into it, here are a few notes...

I installed the beta 1 version of Vista on one of my desktop computers, and checked with Microsoft to confirm its OK to take screen shots and publish info about what I see. It doesn't need a full newsletter to tell you that the Windows Media Player in it is the same version 10 you are already using, and Movie Maker is essentially the same version 2.1 as we've been using. It's 2.1.4029.0 of 7/20/05.
I'll let you know more when I see or hear about the beta 2 version. One new thing... a version 7 beta 1 of the Internet Explorer.
My Toshiba laptop was in Memphis on its way home from the CompUSA repair facility in Houston... it'll be here Tuesday with a new DVD/CD drive and TV Tuner (both of those were replaced on the last trip just 3 months ago). It's actually a good thing for this newsletter to be working on my older Dell laptop which has a basic operating system with a minimal number of codecs. It's easier to find audio and video files that won't run, so I can collect more interesting screen shots of error messages...
I finished my first reading of Learning VirtualDub this week. Having written the first chapter which introduced the whole book, I was more than curious to read the rest to see the rest of the story.. The 10th and final chapter was about codecs and relates to this newsletter issue. The book has  more than enough good material for me to refer to on a regular basis. Mostly what it does is inspire me to try lots of new things I've been thinking about but hadn't gotten around to trying.
.... on to the main topic

Downloading and Installing GSpot
VersionHere's a GSpot download link. I downloaded fresh copies of the latest stable version v2.21 of 17 May, 2003, and the v2.52 beta version. The files are small, less than 200 KB.
I'll use the beta version which includes the assessment of MPEG files.
The license includes a statement about distribution: You may distribute an unlimited number of exact, unmodified, individual copies of the SOFTWARE to anyone you wish... by making such copies available for download (e.g., via the Internet, on-line services, bulletin boards, etc.).

The _read_me file includes a very short Beginners Guide to Using GSpot:
1. Use File > Open to open the AVI file of interest (or drag & drop the file into GSpot).
2. Look at "Codec" section in "Video Format". If the "Status" says "not installed", you will probably have to obtain the codec shown. The same goes for the "Audio Format" section - if the appropriate "audio codec" is not installed, you may get no sound.
The first step needs expansion to include MPEG files... I agree with drag and drop being a great way to open a video file in it.
GSpot - mini-FAQWe'll go into it in a bit more depth than the beginner's guide...
There's some interesting reading on the GSpot website, including the mini-faq. The first question kind of sums up what GSpot is all about.
My video doesn't play - how do I use GSpot?

Test Files...
We'll check GSpot using some sample files... WMV files from Movie Maker and Photo Story, types I and II DV-AVI files from MM1 and MM2, and a little collection of test files from camcorders, digicams, cell phones, and ones made with other software.
I've been collecting samples as I come across them... to assess the types of files they really are underneath the file extensions, the codecs needed to play or use them in Movie Maker, and the software that can successfully convert them to usable AVI files as needed... my goal is to get them into Movie Maker for editing, not just to view them in a player. GSpot comes in handy often.
Before checking the test files, I'd like to take you through the story of a particular one... how it acted and how it got resolved.

A Real-World Challenge...
Here's the long story about a file I wrestled with recently. It illustrates many of the issues you can run into when trying to assess and convert a file. Even with the needed specialized codec provided by the hardware supplier, success wasn't guaranteed.
Codecs don't always act like you want them to. If you can play a file, it doesn't mean you can convert it or use it in a video editing environment.
Up front, I thought the file would be easy to convert. WMP Error MessageIt was a test ASF clip I was helping someone convert, from a Samsung DV Recorder SCN-103. Samsung tech support had sent a copy of the needed G 726 decoder.
I tried playing it with Windows Media Player 10 before installing the codec, to see if I really needed it. The error message at the above right confirmed I needed something more... the G 726 is an audio codec. Audio is often the more difficult of the two streams (video and audio) to deal with.
Movie Maker 2's Help File says supported file types include: Video files: .asf, ..avi, .m1v, .mp2, .mp2v, .mpe, .mpeg, .mpg, .mpv2, .wm, and .wmv
... this was an asf but, when trying to import it into MM2 without the codec installed, the error message was:MM2 Error Message
... and the clip didn't make it into the collection.
What the MM2 help file really means is that it supports ASF files that align with Microsoft's version of ASF files, when it's used as the wrapper for WMV and WMA files... not newer files that might use the file extension with other type files.
I installed the G 726 codec, but MM2.1 continued to get the error message, and the clip couldn't make it to a collection.
MM1 imported it into a collection and showed an appropriate thumbnail, but when I tried to preview the clip, an error message said "an invalid media type was specified".
I looked at GSpot - ASFit with GSpot... which expects an ASF file to be a container for our familiar WMA and WMV files. GSpot and many open source apps often don't handle Microsoft file types, and won't provide complete info about the file inside the wrapper.
Fishing around with GSpot... a partial render failure was noted when checking which codecs could play it...
ASF File Test
After the partial render failure, I tested it further with GSpot and saw the visual playing in the monitor... 
but I didn't hear the audio, even with the specialized G 726 audio codec installed.
GSpot was not being fully effective at assessing or playing the clip... after all, it was tagged as an .asf.
I tried playing it in Windows Media Player 10... with the codec installed, I was able to both see and hear it... this was the first time I heard its audio. But the viewing success was short lived... as soon as the clip finished playing, the error message below popped up.
ASF - WMP10 Error
Getting it to work in Movie Maker 2 now seemed at best a remote a possibility. Conversion to an AVI or WMV file was my only hope.
I tried converting it with the usual tools... TMPGEnc and RadVideo Tools. I could get the video, but kept striking out with the audio. These utilities didn't effectively use the new codec.
I finally succeeded by converting it to a WMV file using the Windows Media Encoder...
I've seldom had to give up when converting other files, but I was about ready to quit with this one... 

What does this mean? Here are a few things:
  • An older ASF file extension can contain something other than a Windows media file inside. File extensions don't always tell you the type of file inside.
  • A needed codec can be obtained from a camera or camcorder supplier, or from an internet site
  • Even with the codec installed, a file can play in a player, but not import into Movie Maker. A codec can dictate the extent it can be used... it might let you play a file, but not edit it...
  • Codec issues can bite you before, during, or after playing a file... I often hold my breath until the conversion is over.
  • Assessing a file and the codec needed isn't always a straight-forward logical task. There's a lot to learn... often by checking and testing... and then doing it again with a different tool
  • Conversion of a problematic file is the best course of action... don't expect to get it to work in Movie Maker just because you got the codec you were missing
  • The last thing you try in your conversion toolkit often works... as you only need one conversion tool to work, the one that does is usually the last one you check.
  • You can successfully convert a problem file... try something else if you think you can't.
  • Once you're converted one, the rest of the clips from the same source will be easy...
  • GSpot isn't the magical all-purpose tool... it's one of many. It won't assess Microsoft and some other file types... but it's still evolving.GSpot Crash.. now it can do AVI and MPEG.

Not only can GSpot have difficulty assessing some files, it can also produce some crashes as it attempts to see which codecs work with a file.
The picture at the left shows the message GSpot provides after one such crash...
I consider crashes while assessing problem files to be kind of normal and expected. A crash can confirm that the file or codec is a problem, and not your personal skills.
If you don't like or want crashes, GSpot gives some Post Crash info to help you avoid further unexpected ones.GSpot - Post Crash Info

Enough of the negatives... codecs are necessary and work well for the most part. And GSpot is a great assessment tool. Let's see what Spot reports when it checks various files.

Checking Some Files with GSpot...
GSpot's import window says it supports AVI, MPG, MPEG, and VOB files. Let's check some of them and others, starting with files from Microsoft or Microsoft software that GSpot isn't expected to support.
View ASFASF - the sample video that comes with Movie Maker is an ASF... I'll open it.
The two columns of buttons at the left are for GSpot checks and tests versus Microsoft standard ones... GSpot checks the video and audio streams separately while Microsoft checks them together... the ones that are bold are the current active choices.
Press the square button in the MS column with number 1 on it to check the file using Microsoft's standard rendering tests.
The first line shows the sequence that the video track is played and the second line the audio. Linger over any item in the sequence: it'll turn yellow and a tool tip will provide added info. Reading across the video line, and then the audio:
ASF TestSrc = source file path and name
A = WMMedia Subtype 1... WMV1
WMVideo Decoder = qasf.dll > wmvdmod.dll
B = Media Subtype RGB565
Video Renderer = quartz.dll
Src = source file path and name
A = WMAudio V2
WMAudio Decoder = qasf.dll > wmadmod.dll
B = Media Subtype PCM
Direct Sound Device = quartz.dll
Pressing the square button with number 2 on it tests the actual playing of the file in the GSpot monitor. If it looks and sounds good, it passes the tests... and it does for this file.
If you had a problem using this file, the suspects would include the qasf.dll, wmvdmod.dll, wmadmod.dll, and quartz.dll files noted in the solution info.
Note that the GSpot proposed solutions and test buttons are grayed out when the ASF or WMV files are opened. The same happens when a type I DV-AVI file is opened.
WMV - a rendered movie from Movie Maker 2 shows the same kind of info as the ASF file except that the WMMedia Subtype 3 was noted instead of Subtype 1.
DV-AVI type I or II - GSpot assesses and plays the type I file from MM2, but provides little info... whereas the info for a type II file from MM1 is robust. Like other apps we use, GSpot is more adapt at using the type II files.
The previously grayed out GSpot test buttons are active for the type II files... and interestingly the proposed GSpot solution includes use of the Panasonic DV codec... but it can't follow through and play that solution, getting an error message (not a crashing error, just a note in the proposed solutions field about why it doesn't work).

Now to check some files made by software other than Microsoft
AVI - MovieXoneMPEG-4 - an AVI file made by MovieXone... interesting as it's the first file that the proposed GSpot solutions can be followed up with an actual test. See that the GSpot video and audio stream solution buttons are active, in addition to the Microsoft button.
The GSpot video and audio tests are separate tests... whereas the Microsoft test plays both streams together... but they all play OK.
Video InfoMPEG4-Stoik
The info at the left is the video codec info for the MPEG-4 file made by MovieXone... it says the codec is installed on this Dell laptop, and the tests work.
The info at the right is the video codec info for a Stoik MPEG-4 file. GSpot says correctly that I don't have an installed Divx codec... and to confirm it, my pressing the test button resulted in GSpot crashing. 
MOV QuickTime Files - a couple files made by Premiere had no info provided and GSpot couldn't propose solutions or test them.
MPEG-1 - an MPG file made by TMPGEnc had info, both GSpot and Microsoft solutions, and played fine. This was the VCD file used to get the snapshot for the introduction to this newsletter.
Another VCD file made by avi2vcd had the same results.
MPEG-2 for SVCD - an MPG file made by TMPGEnc... showed the info but the codec isn't installed on this Dell laptop to test it.
MPEG-2 for DVDMPEG-2 for DVD - an MPG file made by Pinnacle7...
GSpot provided full info similar to the SVCD file, but couldn't confirm the solution by testing as the codec isn't installed.
I'm including the screen shot to show you the amount of info provided.

Digicam Files...
Canon A70 - AVI file which is a Motion JPEG.
The GSpot solution tested fine... but the Microsoft solution resulted in a message from GSpot that Direct Show crashed while trying to render the file.
It also provided this tidbit "Although GSpot was able to intercept the crash, attempts to identify the codec which caused it have failed."
Casio EX-Z750 - AVI file needing a fully compliant MPEG-4 v2 simple profile codec, which is installed. The checkout and testing worked well.
Olympus C-5050 (my camera) - AVI file needing the Cinepac codec by Supermac... both GSpot and Microsoft solutions and testing worked well.
Olympus C-770Olympus C-770 - MP4 file... minimal info in GSpot with no proposed solutions or test.

Cell Phone Files...
A couple test files were 3GP files with minimal/no info provided.

Conclusions and Closing
There are lots of codecs on your computer. Each computer will have some of the same, and some different ones... and as a result might act differently.
You'll sometimes need another one... some ask where they can get a full set... you don't need that many.
A codec will be involved in an occasional crash or performance issue. When you use a file that
You don't need to know the details of which ones are working at the moment, nor how they work.... just have an appreciation for them, and realize the more you know about them the better able you'll be at understanding managing what's going on.
Learn which ones work best with Movie Maker, your system, and your usual files, and you'll be fine.

Have a great week...