(Edit update 2008-04-15: This has been updated to include newer insights.)
I’ve been in the process of creating some tutorials that involve capturing video of what happens on the screen using Snapz Pro X (SPX). I made the sad assumption that I could simply throw the video into Final Cut Express (FCE), edit, and pump out the result onto the Internet.
Wrong.
This has turned out to be quite an ordeal with banging my head on the wall, hours surfing the ‘Net, hounding forums, and late nights. Let me say that I’m not 100% happy with the result… but I am to the stage where I can say, “not perfect, but it looks pretty good.”
I’m not a FCE guru or a professional videographer/editor… so please bear with me. If you’re laughing at something naïve here, please have mercy on others that may read this text and post a comment!
What’s the Problem?
There are several problems. One of the core problems is that video editors assume that one is working with, well, “live” video recorded with a camera. (Go figure!) When working with live video, one can make assumptions that work just fine with normal video. However, they don’t play well with screen movies, turning the crisp on-screen text into fuzzy, pixelated mush.
At this point, there is some kind of mismatch between Snapz Pro X and Final Cut Express that has been mentioned before in both the Ambrosia Software and Apple forums. For some reason, FCE always interprets the SPX-created movie files as being only 10fps — regardless of the actual frame rate. Why? I neither know nor care at this point. I’m not here to point fingers. I’ll leave the details for the two programming teams to hash out. I wanted to get my stuff done.
To crack the problem (at least to the “good enough” stage), I worked off of two core ideas:
- perform a minimum number of encodes (which are lossy), and
- don’t resize the movie (which again, is lossy).
Recording the Video with Snapz X Pro
To achieve #2, I set Snapz Pro X to a fixed window of 720×480, frame rate of 30fps, scale 100%, smoother video capture checked. This size (720×480) will allow us to pretend we’re capturing digital video (DV). Record as usual.
When saving, I wanted to achieve #1 above, and saved the video as uncompressed 10-bit 4:2:2 video at 30fps. These files are big — but nothing is lost to compression.
Converting to DV
Final Cut Express, being a video editing program, plays well with… video. So why not convert to DV? Firing up QuickTime Pro, experimentation provided the following insight: 4:3 DV violates #2. The result is ugly. However, while anamorphic 16:9 DV also violates #2, the result is not so bad. The picture is stretched horizontally to 853 pixels, but the fine details on the screen movie are pretty well preserved.
So, to convert the uncompressed video to anamorphic DV, I use the following steps in QuickTime Pro’s export:
- Export: Movie to DV Stream
- In Options… set the follwing:
- DV Format: DVCPRO
- Scan Mode: Progressive
- Aspect Ratio: 16:9
- Click on Save to create a DV stream.
Importing into Final Cut Express
When I import the video into FCE, I see a frame size of 720×480 at 29.97 fps. Victory! FCE doesn’t need to re-render the video, but it will want to re-render the audio, which I’m not worried about. When I import the DV stream and drag a clip from the DV stream to the timeline, it asks if I want to change the sequence to match the clip. Say yes. The change I can tell it makes is that it changes the sequence to be anamorphic also. Being a FCE dummy, I don’t know how to do that manually.
Now I can edit as usual.
Exporting from Final Cut Express
I found that I can preserve the quality of the video during export if I do the following. Understand that I haven’t played with these settings extensively, and some settings may be a little extreme.
- Under “User Preferences”, in the “Render Control” tab, uncheck both “Filters” and “Frame Blending for Speed”.
- Click on “OK”
- Export the sequence with File -> Export -> QuickTime Movie…
This will create a large QuickTime movie. It’s far too big for use on the InterNet, so we take one more step with QuickTime Pro.
Exporting for InterNet Use
- Open the QuickTime movie that Final Cut Express created with QuickTime Pro.
- Export the file for web use with File -> Export for Web
- Select Desktop, and if you wish, iPhone. Selecting Desktop will produce a full-size video. The iPhone size isn’t terrifically smaller than the Desktop setting, and will reduce the height and width of the video. You won’t be able to see your screen movie made with Snapz Pro X very well.
Please note that when you export to web, QuickTime Pro will create a directory and place a number of files in it. If you copy the directory to the media directory of your blog, and follow the instructions in the documentation file called Readme.html, you should be good to go. Note that it won’t always work if you don’t copy all the files (except ReadMe.html). I’m not willing to figure that detail out yet, but that’s my experience.
The size will be about 10MB per minute, which isn’t great but isn’t too bad either considering the size and quality of the video. The video quality should be high enough that one can easily discern details shown in the screen movie, especially when one pauses.