Why Do This in Your Browser?
Auto-reframing has become a paid feature on every major editor — Premiere's Auto Reframe, Descript's Reframe, Vimeo's smart crop, Veed's reframe. They all do roughly the same thing: detect the most important content in each frame and pan the crop window to follow it. The detection logic is small; the friction is paying for it and uploading.
MediaPipe Face Detection runs in 30–60ms per frame on a recent laptop and produces a per-frame face bounding box you can drive a crop window from. Combined with FFmpeg.wasm for the final re-encode, an entire auto-reframe runs in your browser at roughly 2–3x real-time.
How It Works
Drop a landscape video. The tool decodes frames via a HTMLVideoElement, runs MediaPipe Face Detection on each, and records the face centroid over time. Then it generates a smoothed crop path — a Kalman-filtered pan that follows the face without jittering between frames where detection wobbles. Final pass re-encodes at the target aspect ratio with FFmpeg.wasm.
If multiple faces are detected per frame, the tool defaults to the largest face (assumed to be the foreground subject). You can also lock the crop to a specific face by clicking it in the preview, or fall back to motion-based smart crop for clips without faces. For frames where no face is detected, the crop holds at its last known position.
Tip: The Video Resizer's smart-crop is motion-based and works on any content. This tool is face-specific and produces better results on talking-head clips. For the inverse workflow — reframing a clip without a face — use the Video Resizer. Combine with the Video Watermark tool to add captions to the reframed vertical clip.
Common Use Cases
How We Compare
Honest read on free, paid, and self-hosted options for this kind of job: