EasyFilmEasyFilm
Guide · EasyShrink · 6 min read

How to compress a video for your website on a Mac (MP4, poster frame, AVIF)

A 280 MB export dropped straight onto a web page is the most common way a good site gets slow. Here's what the page actually needs, how to make it by hand, and how I make it now.

What a page actually needs

Not the export. It needs an MP4 no wider than the slot it plays in — 1920 px for a full-width hero, less for anything else — encoded at a web bitrate, with the metadata at the front of the file so it starts playing before it has fully downloaded. It needs a poster frame, the still that shows before playback. For images it needs AVIF (with a JPEG fallback) at two or three widths, so phones don't download the desktop file. And it needs the HTML that ties those together.

The manual way: ffmpeg

Install ffmpeg with Homebrew (brew install ffmpeg), then, for a hero video:

ffmpeg -i export.mov -vf scale=1920:-2 -c:v libx264 -crf 28 -preset slow -movflags +faststart -an hero.mp4

-crf 28 is the quality knob (lower is bigger and better; 26–30 is the web range). -an drops the audio — most web video plays muted. +faststart is the bit that lets it start early. For the poster frame:

ffmpeg -ss 00:00:07 -i export.mov -frames:v 1 -q:v 2 poster.jpg

For a short autoplay loop instead of the full clip, add -ss and -t to cut the section you want. Then, in the page:

<video autoplay muted loop playsinline poster="poster.jpg" src="hero.mp4"></video>

Images are a separate tool chain: Squoosh in the browser, or avifenc from the command line, once per width, then a <picture> element with srcset. It's all doable. It's also five tools and a lot of typing every time you publish a page — I know, because I did exactly this to build the site you're reading.

The one-drop way

EasyShrink is that whole chain in one window. Drop a video, images, or a GIF. Pick Hero, Content or Thumbnail — the slot on the page, not a pixel number. Trim a short loop on the filmstrip if you want a moving screenshot instead of the full clip, let it pick the poster frame or scrub to your own, and press Shrink. The results screen shows the before and after — a 279.6 MB export came out at 25.8 MB, 91% smaller — and Copy HTML gives you the snippet ready to paste.

Limits: AVIF encoding needs a recent macOS and falls back to JPEG on older ones; looping clips are silent by design; camera RAW like BRAW or R3D isn't supported — export from your NLE first.

EasyShrink icon EasyShrink — $4.99, one-time, Mac App Store

Drag in a file, get everything your website needs — sized, compressed, ready to paste.