Screencast codec showdown
So I’m looking at making some screencasts in iShowU. I noticed that, thanks to QuickTime, it supports rather a lot of codecs:
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. ☺
December 8th, 2006 at 22:39:00
[…] Screencast codec showdown: […]
December 9th, 2006 at 10:40:11
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!
December 9th, 2006 at 15:14:51
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.
December 11th, 2006 at 14:44:47
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 :)
April 1st, 2007 at 20:36:19
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
April 1st, 2007 at 21:51:55
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.