Video

How to Compress 4K Video on a Mac

By the Smol team8 min read

To compress 4K video on a Mac, encode it to H.265 at CRF 28 with ffmpeg or HandBrake. That took a four-second 4K clip from 218 MB to 5.5 MB at a VMAF of 99.7. The Apple Silicon hardware encoder did the job 6 to 9 times faster, but its closest file was 35% larger and scored lower.

The bigger question is whether you need 4K at all. Measured on a 1080p screen, a 1080p version at 13% of the size was indistinguishable by VMAF. All figures were measured on 2026-09-27 on a MacBook Pro with an Apple M2 Pro running macOS 27.0, on a clip we generated from a Creative Commons photograph.

Which settings actually work for 4K?

Every row starts from the same 218,034,032-byte ProRes master: four seconds of 3840 × 2160 at 30 fps. VMAF uses its 4K model and is scored at full resolution, where 100 means indistinguishable from the master.

Encoder and settingOutputVMAF (4K)Where it runs
ffmpeg x265 10-bit, CRF 28, medium5,479,361 B99.70CPU
ffmpeg x265 10-bit, CRF 28, fast4,070,143 B99.33CPU
HandBrake x265 10-bit, RF 28, medium5,404,021 B99.86CPU
ffmpeg hevc_videotoolbox 10-bit, q 507,412,303 B99.09Media engine
ffmpeg hevc_videotoolbox 10-bit, q 6042,522,817 B99.97Media engine
HandBrake VideoToolbox H.265 10-bit, q 6029,589,353 B99.97Media engine
ffmpeg h264_videotoolbox, q 6018,549,827 B99.81Media engine
Downscaled to 1080p, x265 CRF 28731,591 B90.04CPU

The software rows win on size by a wide margin. The best hardware file that matched software quality was 42.5 MB, nearly eight times the x265 file at the same VMAF to within a third of a point. The hardware file that was closest in size, at quality 50, was still 35% bigger than x265 medium and scored lower.

# software: smallest files, slowest
ffmpeg -i in.mov -c:v libx265 -preset medium -crf 28 -pix_fmt yuv420p10le \
  -tag:v hvc1 -c:a aac -b:a 192k out.mp4

# hardware: fastest, larger files
ffmpeg -i in.mov -c:v hevc_videotoolbox -profile:v main10 -pix_fmt p010le \
  -q:v 50 -tag:v hvc1 -c:a aac -b:a 192k out.mp4

Keep -tag:v hvc1 in both. Without it ffmpeg labels HEVC as hev1, and when we loaded one of those files with Apple’s AVFoundation framework it reported the file as not playable, while the identical encode tagged hvc1 played. A 4K file QuickTime will not open is not a smaller file, it is a broken one. The batch guide has the loop for a whole folder.

What does the Apple Silicon media engine actually do?

It is fixed-function silicon for a handful of codecs. Apple’s announcement of the M2 Pro describes “hardware-accelerated H.264, HEVC, and ProRes video encode and decode”, and says the M2 Max adds a second encode engine for up to twice the encoding speed. Apps reach it through Apple’s VideoToolbox framework. In ffmpeg that means the h264_videotoolbox and hevc_videotoolbox encoders. In HandBrake it is the encoders with (VideoToolbox) in the name.

Only the encode moves to the media engine. HandBrake’s documentation is explicit that “only video encoding is performed by the hardware encoder”, and decoding, filters and scaling still run on the CPU. The same page warns that “the VideoToolbox scaler uses a different algorithm than HandBrake software scaler, the output will be less sharp”, which matters if you are resizing 4K down in the same pass.

The quality control is steep. With -q:v, ten points on the hardware scale took our clip from 7.4 MB at 50 to 42.5 MB at 60, and to 126.6 MB at 70. That last one is 58% of the size of the ProRes master. There is no CRF to reach for, so test two or three values on a short piece of your own footage before committing a long job.

How much faster is hardware encoding?

A lot, and it was the one timing result that held up. Our test Mac was running other work, so wall-clock times drifted, but the gap never came close to closing. The hardware encoder finished the four-second 4K clip in 4.9 seconds on one run and 7.7 on the other. x265 at the medium preset took 45.7 seconds. That is 6 to 9 times faster, and the hardware runs used about 12 CPU-seconds against 94.8, which is why the fans stay quiet.

Scaled up, that is the difference between a coffee and an afternoon. At the rates we measured, a ten-minute 4K clip works out to roughly two hours in x265 medium and 12 to 19 minutes on the media engine. That is arithmetic from a busy machine, so an idle Mac should do better on both.

So the rule is simple. Use hardware when the deadline is the constraint and software when the file size is. Proxies, previews, dailies, a rough cut for a client: hardware. The master you archive, or anything headed for a size limit: x265.

Do you need to keep it in 4K?

Probably not, if it will be watched on a phone, a laptop or a 1080p TV. We encoded the same clip at 1920 × 1080 with the same x265 settings and scored it two ways.

Watched on4K file (5,479,361 B)1080p file (731,591 B)
A 1080p displayVMAF 99.97VMAF 99.94
A 4K displayVMAF 99.70VMAF 90.04

On a 1080p screen the two are indistinguishable, and the 1080p file is 13.4% of the size. On a 4K screen the difference is real, a drop of nearly ten VMAF points, and you would see it in fine texture. Keep 4K for the archive and for 4K televisions. Send 1080p to everyone else.

ffmpeg -i in.mov -vf scale=1920:-2 -c:v libx265 -preset medium -crf 28 \
  -pix_fmt yuv420p10le -tag:v hvc1 -c:a aac -b:a 192k out-1080p.mp4

If the destination has a hard cap, such as an email attachment, our email guide shows when dropping resolution beats dropping bitrate. It is not always the same answer.

Why did the faster preset make a smaller file?

At the same CRF, x265’s fast preset produced 4,070,143 bytes against 5,479,361 for medium, 26% smaller. It is not a free lunch. VMAF fell from 99.70 to 99.33, because CRF is a rate-control target, not a fixed quality, and each preset interprets it with a different toolset. Change the preset and you are changing the quality you asked for.

The practical takeaway is to fix the preset first, then tune CRF. Comparing “CRF 28 fast” with “CRF 28 medium” and picking the smaller one is comparing two different quality levels. Our main video compression guide has the same effect on 1080p footage, and the H.265 versus H.264 page covers when the codec choice matters more than either.

When is Smol not the answer?

When speed matters most, Smol is the wrong tool, full stop. It has no hardware encoder option. Its video path is software x265, or x264 if you pick H.264. For a 4K job due before lunch, use ffmpeg with hevc_videotoolbox or HandBrake’s H.265 10-bit (VideoToolbox) encoder. Both are free.

When you want the smallest file, you do not need Smol either. We checked: with CRF 28 and the medium preset pinned, Smol’s output was bit-identical to ffmpeg’s libx265, down to matching MD5 hashes on the video stream. The first command on this page gives you the same file for free, and HandBrake got within 1.4% of it here.

Smol is worth $29 when 4K is a routine chore rather than a project. You drop in a folder of phone clips, set the output width to 1920, and the same drop handles the photos from the shoot. It can also run from a Finder right-click with no Terminal. For folders, the batch comparison is in our batch video guide, and every container Smol writes is listed in the format reference.

Frequently asked questions

What is the best way to compress 4K video on a Mac?

For the smallest file, x265 at CRF 28 with the medium preset, through ffmpeg or HandBrake. It took a four-second 4K clip from 218 MB to 5.5 MB at VMAF 99.7. For speed, use the Apple Silicon media engine through hevc_videotoolbox or HandBrake’s VideoToolbox encoder, and accept larger files.

Is hardware encoding on Apple Silicon worse quality?

Per byte, yes. At quality 50 the media engine wrote a 7.4 MB file scoring VMAF 99.09. Software x265 wrote 5.5 MB scoring 99.70. Matching software quality took 42.5 MB. What the hardware buys is speed: 6 to 9 times faster in our runs, on about an eighth of the CPU time.

Should I downscale 4K video to 1080p?

If it will be watched on a 1080p screen, phone or laptop, yes. On a 1080p display the downscaled file scored VMAF 99.94 against 99.97 for the 4K file, at 13.4% of the size. On a 4K display the 1080p version fell to 90.04, so keep 4K for archives and 4K televisions.

Why is my compressed 4K file still so large?

Usually because the encoder was the hardware one, or its quality value was set high. On our clip, the hevc_videotoolbox quality setting went from 7.4 MB at 50 to 42.5 MB at 60 and 126.6 MB at 70. That scale is steep, so try a lower value, or switch to software x265 at CRF 28.

Does Smol use the Apple Silicon media engine for video?

No. Smol’s video path is software x265, or x264 if you choose H.264, and it has no hardware encoding option. Pinned to CRF 28 and the medium preset, its output matched ffmpeg’s libx265 bit for bit. For hardware speed, use ffmpeg’s hevc_videotoolbox or HandBrake’s VideoToolbox encoders, which are free.

Keep reading