Why does a video file get bigger after editing it with iMovie? Input File:


Kind: MPEG-4 File
Size: 305 MB
Dimensions: 640 x 360
Codecs: H.264, AAC
Duration: 52:07
Audio Channels: 2


After using iMovie to trim a bit from the beginning and end of the file, I tried to export the file via File → Share → File… with the following settings:


Format: Video and Audio
Resolution: 720p (iMovie only offers me 540p as alternative)
Quality: High (according to an answer to a similar question this means H.264)
Compress: Better Quality


The estimation on file size shown by iMovie is 4.35 GB. My questions:


How come the file size increases after I cut something from it, encoded both with H.264?  
Why does iMovie not offer me the input resolution as an output resolution?


I'd like to be able to trim a video and save it with roughly the same size/time ratio.
720p resolution is 1280×720, which equates to quadruple the number of pixels vs. your original 640×360 (360p) movie. This alone would account for a huge jump in storage size.

You'll want to output in 540p instead (960×540). However this will still produce a video with 2.25× the number of pixels, so the resulting video may or may not still be larger.

As to why you can’t output in 360p, this appears to be a design decision by Apple (possibly to steer us towards Final Cut Pro), because earlier versions of iMovie allowed more granularity. In fact, in iMovie 10.0, 480p was still available, but as of iMovie 10.1, it’s gone. I suggest you voice your concerns to Apple.

Lastly, I should point out that Low, Medium and High Quality settings  all encode in H.264. They just use different encoding profiles/levels, with varying bitrates. From the figures you provided, I’d say your original video wasn’t produced using a profile equivalent to iMovie’s High setting. So you’ll probably want to try Medium or even Low.

If you still can’t keep your file size down encoding in 540p and using a lower profile, you can still down-sample it through Handbrake. However the upscaling-downscaling is sure to lower your video quality by some token amount. So it's a tradeoff.