ENimator (Erik + Animator) is a tool developed for me explicitly to help create animated videos programmatically.
npm install enimator
enimate exampleSketch.js
enimate exampleSketch.js --no-preview
enimate exampleSketch.js --capture
enimate exampleSketch.js --capture --no-preview
This is briefly how ENimator works:
Everything is drawn to an HTML canvas rendered through puppeteer. Visuals are drawn with a self-developed high-level interface for p5.js together with chroma.js for color management, and anime.js for animation and interpolation.
The canvas is then, when rendering the finalized version, recorded through ccapture.js which makes sure that every single frame is rendered completely and saves every frame into an archived folder. Then, using ffmpeg, all the frames can be turned into a video.
See LICENSE.md
- p5.js for canvas drawing
- chroma.js for color management
- anime.js for animation and interpolation
- puppeteer for headless rendering of the canvas
- ccapture.js for recording the canvas frame-by-frame