Version 1.0 — 2015-10-25.
Version 1.1 — 2015-11-12. Fixed bug when rendering on Intel HD Graphics.
This package demonstrates the technology in the research paper:
Given a short (~5 second) input video, we automatically compute a new video that (1) can loop endlessly and (2) minimizes spatial and temporal artifacts. Please refer to the project web page and additional results.
This demo code runs under 64-bit Windows 8 or Windows 10.
Creating video loops requires ≥ 4 GB of memory (depending on video resolution and length).
The package should contain all the necessary redistributable
(If there are errors regarding missing
dll files and Microsoft Visual Studio 2015 is not
installed, it may be necessary to install
its runtime components.)
The demo can be found here.
The demo consists of an executable program and several batch scripts:
VideoViewer.exe: program to create and play video loops. To play an existing video or loop, drag-and-drop the file onto this program. To generate a loop, press the g key.
_create_videoloop.bat: script that executes the command
VideoViewer.exe palmtrees.mp4 -key g
_batch_create_videoloop.bat: script that executes the command
VideoViewer.exe -batch_create_loop gibbonfalls.mp4 gibbonfalls_loop.mp4
VideoViewer gibbonfalls_loop.mp4. Another video can be used as input by drag-and-dropping a file onto the script.
Video reading and writing is performed using Windows Media Foundation.
Supported video formats include
By default, the viewer selects up to 5 seconds of the input video as source content.
If the video is 7 seconds or longer, then the section
from second 2 to second 7 is used, otherwise the last 5 seconds of the video is used.
The automatic selection can be overridden by setting trim IN and OUT frames using the
< and > keys in
The loop creation program assumes that input videos have no camera motion. This is best achieved by shooting videos with a camera on a tripod. If the video is hand-held, visible camera motion can lead to artifacts resulting in a poorer quality looped video. Thus, for hand-held videos we recommend running a software stabilizer or alignment process first. Here are some resources for stabilizing videos: