Screencasts and the limitations of Windows Media Encoder
Created by Jason on 11 Dec 2007 | Tagged as: Uncategorized
If you do any sort of advanced screencasting or windows video work, you should definitely have Windows Media Encoder in your toolbox. Before I wrote the FreeScreencast.com screencast recording software, I used Media Encoder as part of the production flow of making screencasts.
The FreeScreencast.com recording software also uses Media Encoder, but the short comings of the Media Encoder have become very apparent, very rapidly. The whole concept of quality screencasting software is that in general video compression codec are lossy. Screencasts require a different approach, where ‘no pixel can be lost’. Here is an example of very well done screencast on youtube. While it looks good, it highlights the issues quite nicely: the video has to pan in / out / and around to capture everything AND the compression is evident: pixels aren’t pixels, they’re blurry spots.
So a screencast codec, such as the Flash Screen Codec from Adobe, takes a different approach: compression occurs two ways: only those parts of the frame that need updating are stored and color count is reduced. Unlike a full motion frame codec, the flash codec does have the capability to capture a pixel perfect copy of the screen.
So that brings us back around to how things currently work in the software: the screen is captured using Media Encoder, which writes it out as a Microsoft Screen Codec encoded file. This is a ‘not bad’ codec, optimized more for size than anything. This codec takes a two pronged approach where some parts are encoded in a pixel perfect manner and some are encoded as jpeg.
There are few problems with having the Microsoft Codec as an intermediary but that last part about JPEG is the worst. JPEG is lossy and introduces ‘noise’ into the frame, noise which looks bad and is hard to compress effectively in the Flash Codec. You can see an example of this in this screencast on removing blemishes from skin using the clone tool in Paint Shop Pro.
On top of that, beyond a simple ‘quality’ setting, there is very little control over what the Microsoft codec compresses and how. I’ve jacked the quality setting as high as it will go and there’s a ceiling that it just doesn’t seem to go beyond.
In effect, I’ve pushed the current setup to the limit, and found it just doesn’t go far enough. I want more control, I don’t want any JPEG artifacts, and I want smaller, tighter, better quality flash screen codec encoded files. I have been spending a bunch of time overcoming these limits.
Related: The need for new screen capture code - eliminating the Windows Media Encoder dependency.