MasterSelects  by Sportinger

Browser-based video editor with GPU-accelerated compositing

Created 3 months ago
357 stars

Top 78.3% on SourcePulse

GitHubView on GitHub
Project Summary

MasterSelects is a browser-based video editor designed for real-time media manipulation without relying on a backend server. It targets users seeking a performant, open-source alternative to subscription-based editors, offering advanced GPU-accelerated features and direct AI integration for a more intuitive editing workflow. The project aims to provide a fast, capable, and customizable video editing experience directly within the browser.

How It Works

This project employs a GPU-first architecture, utilizing WebGPU for compositing, preview, scrubbing, and export. It prioritizes performance by importing video textures with zero-copy (texture_external) and implementing a zero-copy export pipeline where the GPU renders directly to WebCodecs for encoding. A 3-tier scrubbing cache ensures instant scrubbing responsiveness. Unlike many browser editors, it avoids heavy dependencies like Three.js or GSAP in its core rendering path, opting for custom-built WebGPU and WGSL shader components for maximum efficiency.

Quick Start & Requirements

  • Primary install/run: npm install followed by npm run dev for a local development server.
  • Prerequisites: Chrome 113+ with WebGPU support is the primary target, with a dedicated GPU recommended. Firefox requires the companion Rust-based Native Helper application for project storage and downloads due to limitations in the File System Access API. The Native Helper also requires Rust and FFmpeg, and downloads necessitate yt-dlp.
  • Links:

Highlighted Details

  • On-Device AI: Integrates SAM2 segmentation (via ONNX Runtime) and local Whisper transcription (via Transformers.js) directly in the browser.
  • AI Control: Features an OpenAI-powered chat interface with 76 callable editing tools and an external agent bridge via the Native Helper for programmatic control.
  • Performance: Leverages WebGPU for 30 GPU effects, 37 blend modes, and real-time video scopes (Histogram, Vectorscope, Waveform).
  • Export Pipeline: Offers multiple export options including WebCodecs (Fast), HTMLVideo (Precise), and experimental FFmpeg WASM and FCPXML.
  • Nested Composition: Supports rendering complex compositions within compositions efficiently using pooled GPU textures and frame-level caching.

Maintenance & Community

The project is primarily developed by a single video artist, indicating a strong personal vision and hands-on development approach. While specific community links (Discord, Slack) or notable contributors are not detailed in the README, the project is actively versioned (v1.3.4) and encourages issue reporting for bugs.

Licensing & Compatibility

The project is released under the MIT License, which is highly permissive for commercial use, modification, and distribution. No specific compatibility restrictions for closed-source linking are mentioned, beyond the functional requirements for the Native Helper on certain platforms or for specific features.

Limitations & Caveats

This project is designated as alpha software, with rapid feature development leading to potential instability and breakage. Experimental features, including FFmpeg WASM export, Multicam AI, and transitions, are still under active development. Firefox users must install the Native Helper for project storage, and video downloads require both the Native Helper and yt-dlp. Performance may degrade with very long videos (over 2 hours), and audio waveform display can be inconsistent for certain video formats.

Health Check
Last Commit

4 days ago

Responsiveness

Inactive

Pull Requests (30d)
17
Issues (30d)
14
Star History
172 stars in the last 30 days

Explore Similar Projects

Feedback? Help us improve.