Saturday, March 21, 2009

Creating an HD Movie for Windows

My daughter had an assignment for third grade to create a multimedia presentation on ants. Instead of the normal PowerPoint presentation, we decided to create a movie presentation in iMovie, using footage from a Nikon D90 (photos and 720p video).

We learned that the school had Windows computers with only minimal installs. This rules-out an mp4, m4v or mov file. Our best bet was creating an avi file. My goal was to keep the quality of the movie as 720p.

Unfortunately, AVI support in iMovie is not robust. When using the Share/Export to QuickTime... option in iMovie, the Movie to MPEG-4 and Movie to QuicktimeMovie export options allow the user to select various resolutions, 1080p maximum. Movie to AVI does not allow the user to select a resolution, only an aspect (4:3 or 16:9). The following tests were run using "best quality" for each of the exports:
  • iMovie QT AVI: Apple Cinepak, no key frames, data 4000kBps, best qual, 960x540, 30 fps, 570.06MB, 33.93mbps
  • iMovie QT AVI: DV, 720x576 (1024x576), 30 fps, 592.77MB, 35.28mbps
  • iMovie QT AVI: DV/DVCPRO-NTSC, best FPS, best qual, prog/16:9, 720x480 (853x480), 30 fps, 495.95MB, 29.52mbps
  • iMovie QT AVI: DVCPRO50-PAL, best fps, best qual, scan progressive, 16:9: 720x576 (1024x576), 30 fps, 1.15GB, 69.86mbps
  • iMovie QT AVI: no compression, best fps, millions of colors+, best qual: 960x540, 30 fps, 8.18GB, 500mbps (error: not fully playable)
Different codecs result in different file sizes, but surprisingly, quality was not consistent. The following sample is from the larger, higher bitrate, higher resolution, DVCPRO50-PAL export listed above (click the picture to see it in full size).


The next sample comes from the Apple Cinepak codec (click the picture to view the better quality).


To get the 720p resolution, I exported the movie from iMovie as a QuickTime movie (mov) and used ffmpegx to convert it to an MS-MPEG4, version 2 AVI.
  • from iMovie: mov (iMovie QT, 1280x720, current fps, auto kf & dr, qual best, encode best, H.264, 30 fps, 191.64MB, 11.38mbps)
  • from ffmpegx: avi (MS-MP4 V2, 1280x720, 30 fps, 69.60MB, 4134kbps)
This last sample comes from the ffmpegx avi (click the picture to view the larger size/video resolution):


The MSMP4v2 file worked great at my daughter's school. It natively runs in Media Player on both Windows Vista and Windows 7.

It's too bad that Apple doesn't have better compatibility with Windows. Why can't we get Windows HD-quality video directly from iMovie?

No comments: