Saturday, March 20, 2010
6:36 AM

The Devil's in the Bitrate - A Crazy Detail about Recording FullHD Video with the Canon EOS 500D

Okay. So the Canon EOS 500D does create FullHD video. Well, alright, it's just with 20 fps. But that's actually not as bad as I had feared. Yes, there are no options whatsoever. That's kind of weird. And then there's this tiny details related to the options...

First I thought my computer was suddenly too slow for playing even 720p movies. Then I tried streaming them to my netbook with hardware accelerated video playback. And guess what: the excellent 18 Mbit/s I got on my wifi are not enough.

The photo camera uses a bitrate of over 20 Mbit/s (720p) and over 30 Mbit/s (1080p) for video recordings in AVCHD. That's significantly (at least +100%) more than e.g. the Panasonic HDC-SX1 uses for recording 50 interlaced fps with FullHD in the high quality setting. Either the encoding chip is not too good with compressing. Or they just locked the birate on freaking high to make it bothersome to record with the photo camera and keep out competition from their own video cameras.

Sometimes x264 gives spikes with e.g. 24 Mbit/s, so I think it's not just the bitrate being locked in. Maybe they could just not be bother to write a VBR video codec. And the sounds is uncompressed pcm. But of course with 30 Mbit/s, 0.7 Mbit/s sound doesn't matter much.

I recoded a 720p video (also over 20Mbit/s) with x264 and a CRF (quality) value of 23 (rather high):
ffmpeg -i "$IN" -acodec libmp3lame -vcodec libx264 -vpre normal -crf 23 "$IN small.mov"
The result: roughly 4 Mbit/s. 1/6th of the original data rate for as far as I can see the same quality. The file size usually goes down to 10-30% (!) of the original file.

It's kind of like the videos are recorded in a raw-like mode. The only thing is that you can't change it to normal compression. And yes, now I know why the camera records only 20 fps and not 25 or 30 in FullHD. Because otherwise it would probably use over 40 Mbit/s...

It actually sounds worse than it is. It just means you should probably have a nice script to recode your videos to a less crazy quality after getting them from the camera chip. The good thing is actually that the original quality is so high that the losses of transcoding should not be too high. And you should make sure your SD card can handle at least a steady 5 MByte/s writing per second if you want to record videos with your Canon SLR photo camera.

I'd love to hear about your experiences! Maybe it's only my camera that uses as much? But it definitely does.

0 comments:

Post a Comment