Encode bakeoff · 2026-07-22

VideoToolbox is the Mac-only encode wedge.

For a 20-minute 1080p30 source, M2 Max finished VideoToolbox H.264 at 8 Mbps in 95.1 s and software libx264 medium CRF23 in 102.8 s. The same libx264 job on a Docker Cloudflare standard-1 shape took 2371 s - about 23× slower than Mac x264.

Source: 20-minute 1080p30 scaffold (ultrafast generate is not the sellable step).
Mac path: VideoToolbox H.264 8 Mbps + libx264 medium CRF23 on M2 Max.
Cloud path: Docker --cpus=0.5 --memory=4g libx264 only (no VideoToolbox on Linux CF).
Blocked: M1 Air ffmpeg rows - binary/Homebrew missing on SSH PATH. Remotion Lambda and Blender Cycles were not run.
VT H.264 · M2 Max95.1 s20 min @ 8 Mbps
libx264 · M2 Max102.8 smedium CRF23
libx264 · CF-shape2371 s0.5 vCPU / 4 GiB
CF rate-card est.~$0.047wall × published rates
StepM2 Max wallDocker CF-shapeCF $ (rate-card)
Generate src (scaffolding)147.8 shost-generated -
VideoToolbox H.264 8 Mbps95.1 sN/A on CF Linux -
libx264 medium CRF23102.8 s2371.1 s~$0.0474

Why this matters for a video API

Software x264 on a tiny container is a different product from Mac-native VideoToolbox. RenderMac’s ffmpeg.transcode.v1 contract can declare VideoToolbox intent because the runner is Apple Silicon - not because we pretend Linux containers grow a VT encoder.

VideoToolbox encoding guide FFmpeg API Video encoding API
Buyers: VideoToolbox guide · VT for SaaS · buyer waitlist.