git @ Cat's Eye Technologies kinoje / develop-0.5

Tree @develop-0.5 (Download .tar.gz)


Version 0.5. Subject to backwards-incompatible changes without notice.

kinoje is a templating-based animation tool. A provided template is filled out once for each frame of the animation; the result of the template expansion is used to create a still image; and the resulting sequence of images is compiled into the finished movie.

Quick Start

The following are required:

You might also find VLC useful, for viewing the final movie file.

On Ubuntu 16.04, you can install these with:

pip install --user Jinja2 PyYAML
sudo apt install povray povray-includes librsvg2 ffmpeg imagemagick vlc

(Or, if you use Docker, you can use the Docker image from this dockerhub repository following the instructions given on that page.)

Once installed, you can run the tool from the repository directory like so:

bin/kinoje eg/moebius.yaml

Since no output filename was given, kinoje assumes MP4 format and automatically picks a reasonable filename, in this case moebius.mp4.

You can also ask it to create a GIF by specifying an output filename with that as its file extension:

bin/kinoje eg/squares.yaml -o squares.gif

Theory of Operation

The kinoje executable actually calls 3 other executables:

These executables can also be called directly, if you e.g. already have a directory of instants you want to render and compile into a final movie.

File Format

The input config file must contain, at the minimum, a key called template containing the template, and a key duration which specifies the duration in seconds of the movie. It may also contain the following keys, or if not, the following defaults will be used:

The template is typically a multi-line string in Jinja2 syntax, which will be filled out once for each frame. The context with which it will be filled out is constructed as follows:

Other configuration options:

No further documentation on how to use the tool will be given, as it is all very subject to change right now.