I recently produced a screencast for Update Center 2, and I've had some folks ask me how I did it. There are a zillion tools and techniques for producing screencasts. This blog describes one approach. I in no way claim it's the best approach -- and in fact I'm certain it is not. But it worked OK for me.
I did this on a Mac laptop running Mac OS 10.5. Windows users will likely need to look elsewhere for guidance.
I've broken down the job of creating a screencast into four steps:
- Recording raw content
- Editing content into a video
- Converting video into final screencast format
- Publishing screencast
Recording Raw Content
To record the raw content off of the screen I used iShowU HD from shinywhitebox. Benefits to this software:
- It's inexpensive: $30
- It's easy to use
- It seems to do enough for basic screencasts
The main drawback is it's pretty basic. I imagine there are more sophisticated solutions out there. For example I needed to use some additional software to convert my Quicktime video into Flash Video for publishing to the web.
I really did not evaluate any other solution. You may want to before blindly following me.
Here are the iShowU HD settings I used for screen recording:
| Output Video Size
|| 720x540, 4:3
| Output Video Codec
|| Apple Animation, High Quality
| Output Video Framerate
|| 4 fps
| Output Audio
|| AAC, 44100 khz, 2 channel
| Capture Area
|| Same as video size (720x540)
| Mouse Mode
|| Fixed / Stretch
- To set these I first selected "iMovie '08 Standard (4:3) Large", then changed the framerate
- 720x540 seemed to be a reasonable compromise. Large enough to be legible but not giant
- Throughout this process I made sure to always keep my video size the same so I never scaled the original content
- Note the low framerate. If your software uses snazzy animations you may want to bump this up a bit.
- Audio quality is better than needed, but I down-converted it later
- I set my capture area to be the upper left corner of the screen. So the area of the screen being recorded is a 720x540 box in the upper left of the screen -- except when the mouse moves out of that box. See next item.
- The mouse mode means the capture area is fixed, but if the mouse leaves the capture area the video zooms out to keep the mouse in frame. More on this later.
General Recording Tips:
- Practice a few times before recording.
- I found the built-in mic on the Mac to be of pretty good quality, so I just used that. If you have a high quality external mic you may want to give it a try.
- Make sure you are in a quiet area where you won't be interrupted.
- Be aware of the location of your mouse. When it's "in frame" you will have a tight shot of the upper left corner of the desktop. If you move out of frame the video will zoom out to keep the mouse in frame. You don't want to oscillate back and forth. Don't wiggle the mouse nervously (talking with your hands!)
- Keep the mouse pointer near the upper left when you want to show detail. To show your entire app move the mouse to the lower right corner of your app. To show the entire desktop move your mouse to the lower right corner of the desktop.
- If you are using a terminal increase the font size until it just fits in 720x540. This will be legible.
- iShowU HD will preview what it will record when it is up. Use that to get a feel for the framing and zooming.
- I put post-its on the edge of my screen to mark the 720x540 boundary and remind me what was in frame.
Once you are ready to record, click Rec and go! Do your best to get it done in a single take. You want to minimize the amount of editing required. Consider breaking down your screencast to 5 minute clips (I violated this with my 15 minute take).
When you're done recording you will have a mov file in Movies/iShowU HD/.
I used iMovie '08 to assemble the content into a video. Import your video using File->Import Movies. I performed very minor edits -- basically splicing in an intro and conclusion that I had to "re-shoot". iMovie '08 is pretty weak -- rumor has it '09 is a significant improvement.
I then exported the video using "Share->Export Quicktime" with the following settings (click the "Options..." button in the export dialog)
|| Movie to QuickTime Movie
| Video Settings
| Compression Type
| Frame Rate
| Key Frames
| Compressor Quality
|| Best quality
| Data Rate
| Audio Settings
|| Linear PCM
|| 22.050 kHz
| Sample Size
After this you will have a new .mov file with your screencast
Convert Video to Final Format
The problem with video formats is that it is still, after all these years, difficult to find one format that plays universally on all platforms. To get around this I converted to flash video format. To do this conversion I used ffmpegx to convert my Quicktime movie to flash video (.flv).
Here are the ffmpegX settings I used:
|| Flass Video (.FLV)
| Auto Size
| Frame Rate
|| 4 fps
|| 64 kbit/s
| High Quality
|| Two pass encoding|
So, now you have a .flv file -- what the heck do you do with it? Well, first you want to preview it, then you want to publish it to the world.
To preview it, place the file someplace accessible via an http URL, then put the following code in an HTML page:
<object type="application/x-shockwave-flash" width="720" height="556" wmode="transparent"
<param name="wmode" value="transparent" />
This uses the Flash NLV player from mediacast.sun.com to play the video in your web page.
For final publication Sun employees can upload the flv file to http://mediacast.sun.com. Once you do that you can click the "Share" area on the video to see various options for sharing.