All Projects β†’ delucis β†’ pellicola

delucis / pellicola

Licence: GPL-3.0 license
πŸŽ₯ Generate video files from <canvas> animations in Node.js

Programming Languages

javascript
184084 projects - #8 most used programming language
typescript
32286 projects

Projects that are alternatives of or similar to pellicola

captcha-canvas
A captcha generator by using skia-canvas.
Stars: ✭ 40 (+185.71%)
Mutual labels:  node-canvas
nodes.js
🌌 nodes.js is a nodes/particles animation useable for backgrounds
Stars: ✭ 24 (+71.43%)
Mutual labels:  canvas-animation
Konva
Konva.js is an HTML5 Canvas JavaScript framework that extends the 2d context by enabling canvas interactivity for desktop and mobile applications.
Stars: ✭ 6,985 (+49792.86%)
Mutual labels:  node-canvas
Spotify-Cards-API
πŸš€ Unofficial Spotify PromoCards API
Stars: ✭ 13 (-7.14%)
Mutual labels:  node-canvas
canvas-constructor
An ES6 utility for canvas with built-in functions and chained methods.
Stars: ✭ 96 (+585.71%)
Mutual labels:  node-canvas
lambda-layer-canvas-nodejs
AWS Lambda Layer with node-canvas and its dependencies packaged, provides a Cairo backed Mozilla Web Canvas API implementation
Stars: ✭ 36 (+157.14%)
Mutual labels:  node-canvas
lottie-node
Export lottie animations in Node.js
Stars: ✭ 51 (+264.29%)
Mutual labels:  node-canvas
badgemaker
Telegram bot that turns your pictures into Ingress badges
Stars: ✭ 13 (-7.14%)
Mutual labels:  node-canvas
compose-actors
πŸ€– Android app built with jetpack πŸš€ compose follows new revamped guide to app architecture. Implemented with State, Coroutines ➰, ViewModels, Repository pattern, Light/Dark theme 🌈 MD3, Animations, Draw on canvas, Custom layouts, UI state handling, πŸŒ€ Image loading with coil, Palette 🎨 usage and dynamic theming etc.
Stars: ✭ 80 (+471.43%)
Mutual labels:  canvas-animation

pellicola

npm version node Build Status Coverage Status Known Vulnerabilities Typed with TypeScript

Generate video files from <canvas> animations in Node.js

Installation

npm install --save pellicola

Usage

This package provides a lightweight framework for generating animations with node-canvas and saving them as video files using ffmpeg.

const pellicola = require('pellicola')

function myAnimation () {
  // provide a function to draw video frames
  return function ({ context, width, height, playhead }) {
    context.fillStyle = '#0f0'
    context.fillRect(0, 0, width * playhead, height)
  }
}

const settings = {
  dimensions: [640, 360],   // video will be 640px wide by 360px tall
  duration: 2,              // video will last 2 seconds
  filename: 'my-sketch.mp4' // set custom filename for output video
}

pellicola(myAnimation, settings)
  .then(path => console.log('Done saving video file to:', path))
  // => Done saving video file to: /path/to/current-dir/my-sketch.mp4

Conceptually, pellicola uses the idea of the β€œsketch” that can be found in Processing and its Javascript cousin p5.js. The API tries to follow Matt DesLauriers’s canvas-sketch framework, which provides excellent tools for working on generative art with <canvas> in the web browser. The aim is to permit a sketch function developed using canvas-sketch to be re-used with pellicola with minimal adaptation.

For more details, see the Documentation β†’

License

pellicola is distributed under the GNU General Public License v3.0.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].