For my personal journal videos (which I call jvids for short), the quality is not important since it’s just me talking. I could just get rid of the video, but it doesn’t feel as “real.”

A 10-minute HD video recording on an iPhone can take close to a gig. This method compresses the videos to around 50MB MP4 files, even more if I want to. I use the iPhone directly or as a Continuity Camera with my Mac and Photobooth, but you can use a webcam or whatever other means you’d like.

Run ffmpeg like so1: ffmpeg -i input.mov -filter:v scale=640:-1 -crf 30 -c:a copy .\output.mp4

Where:

-filter:v: we’re telling FFMPEG the next option is going to be a video filter

scale=640:1: the video filter - this tells FFMPEG to give me the width of 640 pixels, and it will figure out the right ratio for height. This greatly helps reducing the size, but noticeably lowering the quality. For my own talking head, this is fine.

-CRF 30: this is the compression ffmpeg uses, from 0 to 51. The default (if you don’t specify CRF) is 20 for the default codec. I want to shrink it a bit further, so I go for 30.

-c:a copy as for the audio codec, no compression and no conversion, use as is, make a copy

Gotcha:

1 Notice that 640, while being a nice resolution, doesn’t work well for videos recorded on phones. To quickly get something that works, divide the width by 2 and use that number; it will still reduce it greatly.