How Video Stabilizer Works
Browser-based motion analysis and trajectory smoothing — reduce camera shake and handheld jitter without any app install.
Try it free →Step-by-step process
- 1
Frame collection
All frames are extracted to offscreen canvases in a first pass. No encoding happens yet — this pass captures the complete frame sequence for motion analysis.
- 2
Motion estimation and smoothing
Block-matching between adjacent frames computes per-frame translation offsets (how much the camera moved). A sliding-window moving average smooths the trajectory over time. Scene cuts are detected and handled independently to prevent cross-cut overcorrection.
- 3
Compensated encode
Each frame is re-rendered with the inverse of its smoothed offset applied, cancelling the detected camera movement. A crop border fills the edges left by translation, and the result is encoded as a stabilized WebM.
Frequently asked questions
Does stabilization handle rotation, not just translation?
The current implementation handles translational shake (up/down, left/right). Rotational shake and perspective warp require optical flow which is computationally intensive for browser use.
Will stabilization crop my video?
Yes — translation compensation shifts the frame, and the edges are filled by scaling the frame up slightly to fill the crop area. The output resolution is the same as the input, but effective field-of-view is slightly reduced.
What about videos with very fast camera pans?
Fast intentional pans are classified as large motion, not camera shake, and are preserved (not smoothed out). The motion threshold distinguishes shake from intentional movement.