This package demonstrates the technology in the research paper:
Please also refer to the project web page and additional results.
The demo consists of two programs:
VideoLoopCreate.exe: to convert a short input video (about 5 seconds) into a video loop.
VideoLoopView.exe: to view the resulting video loop and interactively adjust its dynamism.
For immediate use, just run the file
to see the already computed example.
The demo can be downloaded from here. Note that the code requires 64-bit Windows 7 (or more recent) (not Windows RT). Also, creating new video loops requires 8 GB of memory. If you do not have Microsoft Visual Studio installed, you may need to install its runtime components.
Reads the specified input video and creates the following files:
SampleVideo_loop.mp4: a 5-second video loop
SampleVideo_3loops.mp4: 3 successive instances of the same loop, for use in any video player
SampleVideo_loop.vlp: a parameter file (internally a *.png image) that encodes the looping parameters necessary to adjust the level of dynamism in
Supported input video formats include
Only up to 5 seconds of the input video is processed. 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.
For high-resolution videos (video height 720 or greater), the
performs the looping optimization on a downsampled version of the video.
However, the output video is at the same resolution as the input video.
It is possible to drag-and-drop an input video on top of the
VideoLoopCreate.exe icon to run it.
It normally takes 2-4 minutes to process a video, depending on its resolution and the processor speed.
Shows the specified video loop without any extra features.
Note that most other video viewers introduce an artifact at the end of the video before resuming from the beginning.
SampleVideo_loop.vlp to enable interactive
control over video dynamism.
The vertical slider on the right controls the level of dynamism globally. The bottom setting corresponds to a static video, and the top setting corresponds to a fully dynamic video.
The checkbox below the slider enables red/green coloring of the looping regions. A region is shown green when looping and red when static.
Clicking over the video allows spatial control over dynamism -- enabling or disabling the looping state of the region under the cursor.
Painting a stroke over the video by dragging the left button affects all encountered regions -- disabling them by default, or enabling them if the "shift" key is held down.
For convenience, one may drag-and-drop a *.vlp (or *.mp4) file on top of the
VideoLoopView.exe icon to view it
(or set up a file association from the *.vlp extension to the
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:
| ||this file|
| ||quickly invoke the video loop viewer on SampleSquareFlags_loop|
| ||create a video loop for the second sample video|
| ||a sample input video|
| ||a sample output video loop|
| ||the looping parameter file associated with the loop|
| ||three successive instances of the loop, to view in any video player|
| ||another sample input video|
| ||the loop creation program|
| ||the loop viewing program|
| ||a runtime library required by the |