Monday, March 2, 2009

Eye-Fi Card Speed

My D90 can record 720p video. A ~145 MB video I took was about 1:27 long which comes out to a bitrate of about 1.67 MB/s. Eye-Fi has apparently announced that they're working on video support. Cool!

The problem is that it does not seem to work. I began recording a video, but it only lasted 20 seconds or so. So, I decided to investigate, as usual. I ran a simple little command-line program to test a bunch of card speeds.

DEV=/dev/sdc1; umount $DEV; mount $DEV sdcard/; sync; date; time dd if=/dev/zero of=sdcard/zeros.txt bs=1024 count=$((1<<17)) conv=fdatasync; date; sync; date; rm sdcard/zeros.txt; umount sdcard/

I tried this procedure with 9 different SD cards and an el-cheapo multi card reader. which you can see below:

64MB SD from Garmin GPS4GB SDHC Patriot
2GB Crucial2GB Sandisk Ultra IINewer 2GB Sandisk Ultra II
4GB Kingston4GB SDHC "Polariod" PNY4GB SDHC Transcend

Unfortunately, the Eye-Fi card was the slowest by a large margin. This confirms what I suspected when the D90 cut off the video recording to the card after 20 seconds. The camera ran out of room in its own buffer since it could not write to the card fast enough. Dang.

The Eye-Fi is even slower than a 64MB MicroSD card that I got with my Garmin GPS, but have never used since it is so tiny. Of those 4GB SDHC cards, I'm pretty sure none of them were over $20; they're all super generic. The Sandisk cards were about $100 when I bought the first one over three years ago.

1 comment:

Unknown said...


Please try your experiment with an Eye-Fi Anniversary Edition 4 GB card if you can get your hands on one. Its write speed is much-improved and has no problems recording video on the D90 (highest resolution and frame rate). The hardware inside all Eye-Fi Cards is not identical and has been improved over time.

Also, the speed of the Eye-Fi Explore Card aside, you may want to use a somewhat larger block size in your benchmark (say, 4 KB). This is more typical of what the cameras do, especially when recording videos.