Processing videos through iMovie increases file size by 70x

This is just a curiosity of mine. I screen recorded ~5hrs of video using Quicktime, split up into roughly 10-20 minute segments. The folder which I saved them to is 4.73 GB big.
4.73GB Folder
However when I string those videos together using iMovie, add about 5 titles, and attempt to export a file at best quality, it estimates 332 GB!
332GB iMovie Best Estimate
The next step down is a lot better, but still nearly 10x bigger at 45.4 GB.
45.4 iMovie High Estimate
Even low quality is still more than 3x bigger than the original files

Where is all this extra data coming from?

EDIT: Even weirder, my screen recordings have no audio data, and I haven't added any in, so why is it still big when exporting audio only? Audio Only


Solution 1:

You have inadvertently wandered into the murky realm of video codecs.

The screen recording you made with Quicktime was initially saved using the extremely efficient H.264 compression algorithm.

H.264 is a codec optimised for distribution of video. It is designed to store video using the least possible amount of data at the cost of using a lot of CPU time to encode or decode.

If you have ~5hrs of video in 4.73GB of data, that must be encoded at ~2.1Mbit per second. This is extremely efficient compression! (for comparison, standard definition DVDs rarely pack more than 4hrs of video onto 7GB of space). This efficiency is due to h.264 and that, unlike regular video footage, in screen recordings not much is typically changing between frames.

iMovie is optimised for working with video, not screen recordings, so the output options are tuned with that in mind.

  • ProRes, is a close-to-uncompressed algorithm that is optimised for editing video (computationally light to decompress and scrub through at the cost of lots of disk space).

  • High, will be a H.264 compression at approx 20Mbit/sec, this is a reasonable data rate for compressing HD video with good quality.

The audio option. AIFF is an uncompressed audio format. Thus it will use the same amount of data regardless of the content; even if your screen recording has no sound, it's still going to save 5hrs * 44.1 thousand zeros.