Overview

What is svgsequencevideo?

svgsequencevideo turns a static SVG drawing into a “reveal” video: every shape appears one after another, in the order it is drawn in the SVG, as if the artwork were being drawn live.

Progressive reveal of an SVG illustration generated by svgsequencevideo.

It ships as a command line tool, svgsequencevideo, and as a Python library for anyone who wants to script the generation or plug in a custom reveal heuristic.

Under the hood, Inkscape exports the frames and FFmpeg assembles the video, so both must be installed and reachable (in PATH, in one of their usual install locations, or configured explicitly, see Command line interface).

Getting started

(venv) $ pip install svgsequencevideo

Typical workflow

Generating a video is split into two independent steps:

  1. render the SVG into a sequence of PNG frames. This is the slow part: from a few seconds to a few hours depending on the file and the export resolution.

  2. video assembles those frames into an .mp4, applying the reveal timing, heuristic and styling options. This is fast, so it is meant to be run many times while you tune the result.

(venv) $ svgsequencevideo render drawing.svg --width 1920
(venv) $ svgsequencevideo video --revealduration 15 --heuristic complex

Use inspect at any point to preview the element count, size and reveal order without writing anything to disk, which is the quickest way to check how a heuristic or a --weight will behave before spending time on a render or a video:

(venv) $ svgsequencevideo inspect drawing.svg

See Command line interface for the full command reference, or Python API to drive svgsequencevideo from Python.