OpenCut: Free, Open-Source Video Editor (No Watermark, No Subscription)

7月16日 Published inVideo Tools

OpenCut (formerly known as AppCut) is a free, open-source video editing platform designed for versatility across web, desktop, and mobile environments.

Why OpenCut?

  • Privacy: Your video files stay on your local device; they are never uploaded to a third-party server.
  • Zero Fees: While many editors like CapCut have begun charging for basic features, OpenCut remains entirely free.
  • Intuitive Interface: OpenCut provides a user-friendly experience that mirrors the simplicity of popular commercial editors.

Core Features

  • Robust timeline-based editing
  • Multi-track support for complex layering
  • Real-time project previews
  • No watermarks and no subscription requirements
  • Privacy-focused analytics by Databuddy—100% anonymous with no user tracking

Before You Install Ensure you have the following tools installed:

  • Bun
  • Docker and Docker Compose
  • Node.js

Basic Setup

  1. Clone the repository: git clone https://github.com/OpenCut-app/OpenCut.git

  2. Navigate to the web app directory: cd apps/web

  3. Install dependencies: bun install

  4. Start the development server: bun dev

Development Environment Setup

Prerequisites

  • Node.js 18 or higher
  • The latest version of Bun
  • Docker (to manage the local database)

Step-by-Step Instructions

  1. Start the database and Redis services (run from the project root): docker-compose up -d

  2. Navigate to the web app directory: cd apps/web

  3. Copy the environment configuration file:

    • Unix/Linux/Mac: cp .env.example .env.local
    • Windows Command Prompt: copy .env.example .env.local
    • Windows PowerShell: Copy-Item .env.example .env.local
  4. Configure the required variables in .env.local:

DATABASE_URL="postgresql://opencut:opencutthegoat@localhost:5432/opencut"
BETTER_AUTH_SECRET="your-generated-secret-here"
BETTER_AUTH_URL="http://localhost:3000"
UPSTASH_REDIS_REST_URL="http://localhost:8079"
UPSTASH_REDIS_REST_TOKEN="example_token"
NODE_ENV="development"
  1. Generate a BETTER_AUTH_SECRET:

    • Unix/Linux/Mac: openssl rand -base64 32
    • Windows PowerShell: [System.Web.Security.Membership]::GeneratePassword(32, 0)
    • Cross-platform (Node.js): node -e "console.log(require('crypto').randomBytes(32).toString('base64'))"
    • Online Generator: generate-secret.vercel.app/32
  2. Run database migrations (from within apps/web): bun run db:migrate

  3. Launch the development server (from within apps/web): bun run dev

Once the process is complete, the application will be accessible at http://localhost:3000.