1. A method, comprising: factoring two-dimensional (2D) feature trajectories from an input video sequence into a coefficient matrix representing features in the input video sequence and basis vectors representing camera motion over time in the input video sequence; smoothing the basis vectors to generate smoothed basis vectors; generating smooth output feature trajectories by combining the smoothed basis vectors with the coefficient matrix; and warping the input video sequence according to the smooth output feature trajectories to generate a stabilized output video sequence.