PDA

View Full Version : Tweaking produced WMV video quality


jimminatel
07-06-2006, 10:22 PM
I'm having some problems with the final produced video quality of some of my Camtasia Screen caps.
The recording sessions are being done at 1024x768, 16m colors.
The problem I'm having with some of the produced videos is everything will be fine, then there will be 5-15 seconds where the screen is completely blurry. Parts of the screen will gradually come into focus as the presenter moves the mouse/window focus.
It will sometimes happen with a window/app open on screen that a few minutes before was open and produced perfectly. It always happens at about the same spot in the video when it happens, regardless of the settings I've used.

My base video settings for production are:
WMV version 9
CBR 150K bps video bit rate.
3 frames per second
100 video smoothness
3 second key frame interval

I've tried several tweaks to these such as switching to high quality VBR. That mostly worked but it also quadrupled my file size to more than 4Mb per minute which is not feasible.
Any idea anything else I should focus on tweaking to alleviate this random blurring? I've tinkered with lower key frame rate interval, higher CBR rate (uo to 200). On the VBR side when I lowered the quality to even 95, the blurring/chunkiness returned and it didn't even save that much file size.

jimminatel
07-08-2006, 04:33 PM
FYI, in case anyone else ever runs into something similar:
So far, the best results I've gotten have been from increasing the buffer setting from "default" up to around 30-60 seconds. That hasn't completely fixed the problem, but the results aren't embarrassingly bad. It also doesn't bloat the file size the way changing some of the other options does.
It also seems that this is probably more a Windows Media encoder issue, not really a camtasia issue. I'll probably give a try asking the same question on a Win Media encoder forum and see if anyone there can help.

dro085
07-10-2006, 12:34 AM
The "buffer" is the amount of time a viewer must wait before the content begins playing. Using a larger buffer time allows more of the video to download before it must start playing. This is why you are able to achieve better quality without increasing the file size. You're trading off quality vs. wait time with this setting.

It will likely be very difficult to achieve 1024x768 at 150K bps video bit rate and get acceptable (subjective) quality for screen content. It's just trying to squeeze too much data through too small of a pipe. So, something has to give. If you're looking for constant quality (as it sounds like you are), then I would suggest the Quality based VBR profiles for the Windows Media Video 9 codec.

Here's some other tips for creating your own Windows Media profiles:

- Download and install Windows Media Encoder 9 if you want to design your own custom Windows Media profiles in Camtasia Studio.

- When making a WM profile, focus on the audio first. Get an acceptable quality (subjective), at the lowest bandwidth and then leave it alone and focus on the video.

- If the audio is voice only, use the voice codec.

- If your audio source is mono (it usually is), then make sure you produce as mono instead of stereo. Otherwise, you're just wasting precious bandwidth on a 2nd audio channel that is an exact duplicate of the one and only source channel.

- Choose the right video codec. The "Windows Media Video 9 Screen" codec will color reduce your video. This will turn any gradients in your video into a blocky mess. It does save on file size, but few users are happy with the resulting quality.

- For progressive download from a web server (the most common use), use VBR instead of CBR for the video.

- For VBR, you must decide whether you want to maintain an average bit rate or an average quality (no, you can't have both). If you're not sure, I'd recommend VBR (Quality) at around 90% quality.

- Lower the frame rate of the video to an acceptable (subjective) level of choppiness. The lower the frame rate, the smaller the file.

- Produce at smaller dimensions if possible, but don't scale too much. The smaller the dimensions, the smaller the file. You'll get better quality if you record at the size you'll need in the end (i.e. don't scale at production time). But producing at smaller dimensions does help reduce the file size. Note: I got better quality when the WMV codec settings were set to "same as input" and I let Camtasia Studio do the scaling from 1024x768 down to 800x600. Camtasia Studio uses a high quality scaling algorithm which usually works better for keeping screen text readable.

- Use key frames less often. Less key frames means a smaller file. Changing it from every 10 seconds to every 20 seconds means more of the bandwidth can be used for quality.

- Use a larger buffer. Instead of 5 seconds, use 10 or 20 seconds. Note that this is the amount of time the user will have to wait before the video starts playing. The larger the buffer, the more video can download before it starts, and this gives more bandwidth for quality.

- The "best" settings for highest quality at the smallest file size will depend on your content. If your content is screen video (as opposed to camera video), then it will not scale as well, and it will generally take more bandwidth to achieve an acceptable (subjective) quality level. If the content has lots of gradients and motion, then these sections of the video will take more bits to maintain a constant quality level.

To make sure I wasn't blowin' smoke, I made a 1 minute screen recording with lots of gradients and motion. The initial recording was 1024x768, 15fps, lossless (perfect) quality, and weighed in at 35.5 MB. The large file size is due to the gradients and motion I used in the recording, which is worst case content for the lossless compression. After fussing with the WMV profile settings, I felt I achieved the best quality (subjective) at the smallest file size with a final result at 800x600, 5fps, 90% Quality, 6.4 MB.

My settings were as follows:
Audio Mode: CBR
Audio Codec: Windows Media Audio 9 Voice
Audio format: 10 kbps, 11kHz, mono

Video Mode: Quality VBR
Video Codec: Windows Media Video 9
Video size: "Same as video input", scaled to 800x600 in CS production wizard (down from 1024x768 original). As mentioned above, the scaling was better using Camtasia Studio rather than letting the codec scale the content.
Video frame rate: 5 fps (down from 15fps original)
Video Quality: 90
Video Key frame interval: 20 sec
Video Decoder complexity: Auto

Hope this helps.

Dave O'Rourke
Camtasia Studio
Lead Developer

twiddler
07-10-2006, 02:22 AM
Mr. O'Rourke...

thank you, thank you, thank you :)

Finally after six months, I understand much better how to produce clearer videos! :D I wish I had known this stuff 15 of my video tutorials ago. You might consider adding a small video on this subject to your learning center.

Is there any quality difference between saving the original capture as camrec or avi?

Andy

srsuptech
07-10-2006, 09:02 AM
Dave O, this would be a great screencast. [Hint]

Thanks,
John

dro085
07-18-2006, 12:48 AM
> Is there any quality difference between saving the original capture as camrec or avi?

No difference. A camrec is actually just a container file format that has an AVI inside. The purpose of the camrec format is to allow us to store other streams, such as a camera stream, or other metadata in a single recording file.

> You might consider adding a small video on this subject to your learning center.

Yep, I've had the same thought. We've got a testing phase coming up for the next release, so maybe I'll free up some time to do a screencast or two.

I also spoke about the topic of videos on the CS production wizard with Dan, our Training manager. I mentioned to him that there's quite a need for more video tutorials on this topic. If you have things you need/want to learn more about in the form of a video tutorial, on this or other topics, we'd love to hear your requests.

Dave O'Rourke
Camtasia Studio
Lead Developer

Nick Rozanov
09-11-2006, 04:44 PM
You may also want to use the Microsoft hotfix and registry tweak for their WM9 screen codec lossy vs nonlossy screen compression bug. See http://support.microsoft.com/?kbid=837171

Don't forget to backup your registry before changing anything :D

-Nick