01 · Stabilize

Hold the frame still

The film never sat perfectly in the projector gate, so the whole picture jitters a few pixels every frame, plus handheld shake on top.

Fixes: gate weave and shake Technique: vid.stab, two passes stabilize.py

Stabilization runs in two passes. Pass 1 (vidstabdetect) watches the whole shot and records how the image moves frame to frame. Nothing is changed yet; it is pure analysis. Pass 2 (vidstabtransform) reads that motion track, smooths it, and shifts each frame to cancel the jitter.

The key parameter is the smoothing window. Keep it small and it follows the camera's real pan while cancelling only the fast wobble riding on top. Make it large and it tries to lock the scene rigidly, fighting the intended motion and swinging black edges into view (which then need a corrective zoom).

raw camera path (pan + wobble) smoothed path (what we keep)
Left: the shot as scanned, the scene shakes in the frame. Right: stabilized, the shake is gone while the slow pan is kept. Widen the window and it locks harder, but the correction grows and a black edge is exposed (that is when a zoom-crop becomes necessary).
Yossi's dials: smoothing: 5 (±5 frames, local stabilization that follows real pans), optzoom: 0 (no corrective zoom, so the original framing is preserved exactly).