New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

editly

Package Overview
Dependencies
Maintainers
1
Versions
28
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

editly

Simple, sexy, declarative video editing

  • 0.1.2
  • Source
  • npm
  • Socket score

Version published
Maintainers
1
Created
Source

editly

Editly is a tool and framework for declarative NLE (non-linear video editing) using Node.js and ffmpeg. It allows you to easily and programmatically create a video from set of clips, images and titles, with smooth transitions between.

There is a simple command line for quickly assembling a video from a set of clips or images, or you can use it from Javascript!

Inspired by ffmpeg-concat. The problem with that project is that it is quite slow and uses an extreme amount of disk space, especially for HD/4K videos. This projects solves that by doing streaming editing, so it doesn't store any temporary files.

demo

This GIF/youtube was created with this command: "editly commonFeatures.json5

https://youtu.be/LNeclLkxUEY

Requirements

Make sure you have ffmpeg and ffprobe installed and available in PATH

Installing

npm i -g editly

Usage: Command line video editor

Run editly --help for usage

Create a simple randomized video edit from videos, images and text with an audio track:

editly \
  title:'My video' \
  clip1.mov \
  clip2.mov \
  title:'My slideshow' \
  img1.jpg \
  img2.jpg \
  title:'THE END' \
  --audio-file-path /path/to/music.mp3 \

Or create a GIF (or MP4) from a JSON or JSON5 edit spec (JSON5 is just a more friendly JSON format):

editly my-editly.json5 --out output.gif

For examples of how to make an JSON edit spec, see https://github.com/mifi/editly/tree/master/examples

By default it will use the width, height and frame rate from the first input video. all other clips will be converted to these dimensions You can override these parameters however.

TIP: Run with --fast or fast: true first to improve speed while testing

Javascript library

const editly = require('editly');

// See editSpec documentation
await editly(editSpec)
  .catch(console.error);

Use cases

  • Create a slideshow from a set of pictures with text overlay
  • Create a fast paced video trailer with clips
  • Create a tutorial video
  • Simply convert a video to a GIF

See examples

Features

  • Supports any size like 4K video and DSLR photos
  • Can output to any dimensions, like Instagram post, Instagram story 9:16, YouTube 16:9, or any other dimensions you like. Content will be scaled and letterboxed automatically, even if aspect ratio is not correct.
  • Automatically converts frame rate
  • Accepts custom HTML5 Canvas / Fabric.js Javascript code for custom screens or dynamic overlays

TODO

  • Implement audio from source files
  • Allow specifying path to ffmpeg and ffprobe
  • Full power of the HTML to create visuals and animations (maybe puppeteer)
  • three.js

See also

FAQs

Package last updated on 22 Apr 2020

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc