Repository navigation
Auto Zoom and Cursor Engine
ZoomArc records the mouse cursor as data — 2,000 samples per second on the same hardware clock as the video — and uses it to replay the cursor exactly and to drive an automatic, cursor-following zoom camera. Because the cursor isn't burned into the video, it can be restyled, resized or smoothed after recording, and zooms can be edited freely.
| Sampling rate | 2,000 reads per second of the real system cursor, on a dedicated high-priority thread |
| Clock | QueryPerformanceCounter — the same clock Windows Graphics Capture stamps each video frame with, so cursor and video align exactly (no estimated offsets) |
| What's recorded | Position, left/right/middle button presses and releases (honouring swapped buttons), when Windows hides or shows the cursor, and — for window recordings — the window's position |
| Accuracy | Verified pixel-accurate (~1 px) against on-screen content |
| Cursor in the video | Never — Windows Graphics Capture excludes it, so there's no "double cursor" |
In the editor the cursor is drawn by interpolating directly between these real samples, so at Smoothing 0% you see exactly what your cursor did. When the pointer moves to another monitor, it fades out instead of sticking to the edge.
- Click detection — every press becomes a candidate zoom point.
- Grouping — clicks less than ~1.9 s apart share one zoom, and nearby zooms (within ~2.2 s) are bridged into one continuous zoom so the video doesn't pump in and out.
- Lead-in — each zoom starts ~0.45 s before the first click, so the viewer sees where you're about to click.
- Hold — the zoom stays in while the cursor is still active, and only eases out once it has settled (minimum ~3.2 s, maximum ~5.5 s after the last click).
- Follow camera — while zoomed, the camera follows the cursor through a small dead zone (so hand tremor doesn't move the frame), and aims slightly ahead of the cursor so it never trails behind.
- Log-space zoom — the zoom level changes at an even perceptual rate (scale = S^k), so a push-in doesn't speed up at the end.
- Unified pan + zoom — the point of interest glides to the centre in lockstep with the zoom, so panning and zooming read as one motion.
- No edge-stops — the camera target is constrained so the view never slams into the edge of the recording.
- Zero-phase smoothing — camera paths are smoothed with centred Gaussian filters over the whole recording, adding no lag and no overshoot.
- Quintic easing — zoom ramps start and end with zero velocity and acceleration.
Measured on real recordings, this engine produces 20–30× smoother camera motion than ZoomArc's previous engine, with zero edge-stops.
Auto-zoom is a starting point. On the timeline you can move, trim, split, delete or add zooms, change each zoom's level and ramp times, switch follow on or off, and toggle Frame vs Video mode. The preview, scrubbing and export all compute the same motion, so what you see is exactly what you export.
ZoomArc — free screen recorder for Windows with automatic zoom-on-click, 2,000 Hz cursor tracking and 60 fps recording · Download · Source code · Issues · License
Free Windows screen recorder with auto-zoom
Get started
Editing
Help