A declarative command-line tool and Node.js API for programmatic video editing using ffmpeg.
Editly is a declarative command-line video editing tool and Node.js API that allows developers to programmatically create videos from media clips, images, audio, and text. It solves the problem of automating video production by providing a JSON/JavaScript-based specification for edits, complete with transitions, overlays, and effects, leveraging ffmpeg for efficient processing.
Developers, content creators, and automation engineers who need to generate videos programmatically for slideshows, trailers, tutorials, or social media content without manual editing software.
Editly stands out by offering a fast, streaming-based editing workflow with a declarative API, extensive customization through dynamic content layers (Canvas, shaders), and seamless integration with Node.js, making it ideal for automated video pipelines.
Slick, declarative command line video editing & API
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Editly uses JSON/JavaScript specs to define edits, enabling automation and version control for video production without manual intervention, as shown in the extensive edit spec documentation.
Supports custom layers via HTML5 Canvas, Fabric.js, and GLSL shaders, allowing for highly customizable overlays and effects, evidenced by examples like customCanvas.js and shader integrations.
Leverages ffmpeg's streaming capabilities to edit videos without large intermediate files, reducing storage needs and improving processing speed compared to traditional methods.
Offers advanced audio features like crossfading, ducking, normalization, and multi-track mixing, detailed in the audio tracks and normalization sections with practical examples.
Requires separate installations of Node.js and ffmpeg, with additional system dependencies on Linux for headless-gl, making initial setup complex and time-consuming.
Editly is now ESM only, which can break compatibility with existing CommonJS projects or older Node.js versions, forcing migration efforts without backward compatibility.
Lacks a visual interface for editing, forcing users to write and debug JSON specs iteratively, which can be cumbersome for complex or iterative video edits.