iMovie 9 allows you to speed up and slow down clips, but only to a maximum of 2000%. I recently needed to squeeze 25 minutes down to less than 30 seconds, which is more than that limit. I realised that I could speed up the clip, export, then re-import but that would result in a drop in quality caused by yet another transcode.
When you edit the speed of a clip, iMovie asks you to convert the source clip. It’s already performing one transcode to a QuickTime .mov file if it’s not already in that format. Fortunately it’s possible to edit the headers of this resulting .mov file using an Apple developer tool called Dumpster, available here:
You need to expand the branches (work on a copy of your file for safety) and navigate to the timeScale atom:
moov > trak > mdia > mdhd > timeScale
I edited this from 50 frames per second to 2500 (so 50x faster). This will give the desired result, allowing fine tuning back in iMovie but if you want to be really thorough you should also edit the duration of your clip. Not doing this means that the clip still shows up as being its original length in the iMovie thumbnails, with the last frame of video displayed over and over. To fix that follow this method: