Screencast codec showdown

2006-12-08 21:39:17 UTC

So I’m looking at making some screencasts in iShowU. I noticed that, thanks to QuickTime, it supports rather a lot of codecs:

iShowU's codecs pop-up menu, showing 29 different codecs of various suitability.

Dizzying, isn’t it?

So I asked the Goog about some of the codecs, and also more generically about screencast codecs. H.264 is a popular choice, but I found no comparison to other codecs nor any discussion of what any of the codecs is particularly good at.

I also had a small amount of previous experience with the difference between codecs. I’ve watched two of rentzsch‘s screencasts: “Introduction to Core Data” and “Embedded Cocoa Frameworks”. The former is 1024×768 using H.264; the latter is 800×600 using Sorenson 3. “Introduction to Core Data” looked flawless; “Embedded Cocoa Frameworks”, OTOH, had noticeable artifacts. I wondered at first what the difference was, and after I found out, whether there wasn’t a better codec with which to implement screencasts.

Part of the problem is that there really isn’t a codec that’s been well-optimized for screencasting. Video codecs have historically been optimized for, well, video — that is, video shot with a camera. Screen images usually don’t change much except to follow mouse movements; a compressor specifically optimized for recording the screen should make a big difference in screencast file sizes. Are you listening, Apple? (Or Ambrosia?)

Anyway. In order to find the perfect (so far) screencast codec, I recorded a brief screencast using iShowU in demo mode using the None (no-compression) codec, and used QTAmateur by Michael Ash to export it to all the other codecs.

The results? Well, you’ll just have to read the screencast codec showdown for yourself. ☺

6 Responses to “Screencast codec showdown”

  1. Sam’s random musings » Screencast codec showdown Says:

    […] Screencast codec showdown: […]

  2. rentzsch Says:

    I seem to remember for the Embedded Cocoa Frameworks vid that QT6 didn’t have H.264 yet and thus Sorenson 3 was the best filesize-wise. Nowadays I record in Animation, edit in Component Video and output to H.264.

    Thanks for the codec investigative legwork!

  3. Peter Hosey Says:

    Ah, that makes sense. And you’re welcome. ☺

    By the way, you don’t need QT 6 for “Embedded Cocoa Frameworks”. Sorenson 3 was introduced in QuickTime 5, and PureVoice seemingly was introduced in QuickTime 4 (some sources claim 3, but I can find nothing at Apple’s site to corroborate that). All versions of OS X come with QuickTime 5 and later, so I think everybody who watches that movie already has everything they need.

  4. John Evans Says:

    I remember Apple pushing Pixlet as a lossless codec, turns out it is a lossy codec afterall I guess. Thanks for such a rigourous investigation :)

  5. Andy Says:

    Your images for the comparison: http://boredzo.org/codec-comparison are not appearing – I’m getting server not found errors for the pictures’ host http://boredzo.org.nyud.net:8080/codec-comparison/screenshots/ishowu-codecs.png

  6. Peter Hosey Says:

    The pictures are hosted on CoralCDN. That site is still up, and it doesn’t say anything about the .nyud.net:8080 suffix having changed, so I guess it’s just temporary downtime.

Leave a Reply

Do not delete the second sentence.