Skip to content

Installation

iLoveVideoEditor is split into small, independent packages. You always need @ilovevideoeditor/core (the builder that compiles to VideoJSON) plus at least one renderer that turns the JSON into frames.

bash
# Core builder + the renderer you need
npm install @ilovevideoeditor/core @ilovevideoeditor/renderer-browser

# Optional — add any renderer you need
npm install @ilovevideoeditor/renderer-server   # MP4 output on Node
npm install @ilovevideoeditor/renderer-dom      # live preview inside a DOM node

# Optional — drop-in editor UI
npm install @ilovevideoeditor/react-video-editor

What each package does

PackagePurpose
@ilovevideoeditor/coreFluent builder, Time parser, VideoJSON compiler.
@ilovevideoeditor/renderer-browserEncodes MP4 from a browser tab using WebCodecs + WebWorkers.
@ilovevideoeditor/renderer-serverRenders to an MP4 file or buffer from Node — no ffmpeg dependency by default; opt in with { ffmpeg: true }.
@ilovevideoeditor/renderer-domSeekable 60 fps preview painted into a real DOM element.
@ilovevideoeditor/react-video-editorReady-made editor UI — timeline, preview, inspector.

Requirements

  • Node ≥ 20 for the server renderer and for building the browser renderer bundle.
  • Modern Chromium / Firefox / Safari for renderer-browser. WebCodecs is used under the hood.
  • ESM everywhere — iLoveVideoEditor ships ESM only. Use "type": "module" or a bundler (Vite, Next, etc).

Next

Skim Quick start for runnable examples, or jump to Core concepts for the mental model.

Released under the MIT License.