KinoStill is a simple command-line Linux program for making a sequence of images from a single still image. It would most often be used to make a video of a still image, but with some movement to make it more visually interesting. A slow zoom can create tension or to imply introspection, and a slow pan and zoom can highlight an important part of the image and focus attention. As would be expected, the larger the input image is, the better the output will be. KinoStill takes a PNM image from the popular and useful Netpbm toolkit and writes a series of similar-depth PNM files.
The current version of KinoStill is 0.1. You can download it here: kinostill.c.
It is written in ANSI C and only requires libpnm and the standard C libraries to compile.
Just download the file and compile it with gcc -O2 -ffast-math -fomit-frame-pointer -funroll-loops -o kinostill kinostill.c -lpnm. To get help, just run kinostill -help.
KinoStill supports the following features
- Up- and down-sampling of original images,
- Bilinear filtering for good image quality and smooth movements,
- Linear zoom and pan movements,
- Straightforward command-line interface,
- Not a lot of dependencies.
This is a 300-frame movie of a still image named Red Streamlines, it was created by running kinostill -n 300 -z 1 0.6 -sc 0.5 -ec 0.4 0.54 < redstreamlines.ppm and then cat out_*.ppm | ppmtoy4m -S 420mpeg2 | mpeg2enc -f 8 -o redstreamlines.mpg
redstreamlines.ppm (5.7 MB PPM)
redstreamlines.mpg (6.4 MB MPEG-2)
Future versions of KinoStill may address the following needs:
- Spline paths, acceleration, rotation,
- Motion blur,
- Output to single-file PNM or stdout.
Please e-mail me if you'd like to see some particular feature in KinoStill, or if you use it to make something creative.
KinoStill isn't the only piece of free software that does this, but it is a small and general tool for incorporating still images into the Linux digital video process. Other similar or accompanying pieces of software are:
- Diascope - probably the best program out there for animating stills into movies: it allows transitions during motion and spline paths, too; but it is still based on ImageMagick and if given non-video input returns aliased output.
- Stills2DV - a program that uses ImageMagick to do the dirty work, but cannot pan or zoom while transitioning. Pans and zooms are also jumpy.
- SLCreator - a GUI program that does the same things as Stills2DV, but suffers from the same problems.
- Kino - a more complete and very actively-developed non-linear DV video editor for Linux, has a tools for creating effects with still images (FX->Create->From File, FX->Create->Fixed Colour + Video Filter/Superimpose), but I haven't tested it against my arguably high standards. Obviously, KinoStill was created to accompany Kino.