1. A non-transitory computer-readable storage medium comprising program instructions that, responsive to execution by one or more processors, implement: factoring two-dimensional (2D) feature trajectories from an input video sequence into a coefficient matrix representing features in the input video sequence and eigen-trajectories representing camera motion over time in the input video sequence; applying an interactive spline fitting technique to the eigen-trajectories effective to generate smoothed eigen-trajectories that simulate smooth camera motion; multiplying the smoothed eigen-trajectories that simulate smooth camera motion with the coefficient matrix representing features in the input video sequence effective to generate smoothed 2D feature trajectories; and warping the input video sequence according to the smoothed 2D feature trajectories to generate a stabilized output video sequence.