1. A non-transitory computer-readable storage media, on which are stored instructions that when executed cause a programmable control device to: obtain a plurality of frames captured at different points in time; determine a temporal sequence for the frames based on the different points in time; apply a stabilization operation to the frames; determine a set of start frames and a set of corresponding temporal loop periods from the stabilized frames; select a start frame from the set of start frames and a temporal loop period from the set of corresponding temporal loop periods based on a temporal discontinuity minimization that minimizes frame differences between one or more initial frames of the corresponding temporal loop period and one or more non-looping frames of the temporal sequence that temporally follow one or more last frames of the corresponding temporal loop period; apply a crossfade to a subset of the stabilized frames that corresponds to the selected start frame and the selected temporal loop period; and generate an output video loop based on the selected start frame, the selected temporal loop period, and the crossfade.