From 35508cdc2a394c506bc3aa7657ddd39b5bd475e0 Mon Sep 17 00:00:00 2001 From: Varich22 Date: Thu, 25 Sep 2025 19:29:52 +0000 Subject: [PATCH] Update README.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 🎬 OpenCut – Open Source Video Editor OpenCut est un éditeur vidéo libre, gratuit et open-source conçu pour fonctionner sur le web, desktop et mobile. Il vise à offrir une alternative complète et simple à des outils populaires comme CapCut ou Premiere Rush, mais sans les limitations, les abonnements cachés ni la collecte de données personnelles. --- 🌍 Vision du projet Aujourd’hui, la majorité des éditeurs vidéos imposent des restrictions : Les fonctionnalités de base deviennent payantes (CapCut, VN, etc.). Les vidéos sont filigranées ou limitées à certaines résolutions. Les données personnelles et les créations sont stockées sur des serveurs externes. 👉 Avec OpenCut, nous voulons : 🔒 Respecter la vie privée (vos vidéos restent en local sur votre appareil) 🆓 Garantir un accès 100% gratuit aux fonctionnalités essentielles 🎯 Proposer une expérience simple, rapide et intuitive 💻 Être disponible partout : Web, Desktop et Mobile En résumé : OpenCut est un outil pensé pour les créateurs, pas pour les abonnements. --- ✨ Fonctionnalités principales Montage basé sur une timeline (drag & drop intuitif) Multi-pistes (vidéo, audio, texte, overlays) Prévisualisation en temps réel Sans watermark et sans publicité Compatible tous supports (navigateur, app mobile, app desktop) Sauvegarde locale (vos vidéos vous appartiennent, pas au cloud) --- 🏗️ Architecture & Structure du projet OpenCut est construit avec des technologies modernes : Frontend Web : Next.js Langage principal : TypeScript UI : React + TailwindCSS État global : Zustand Backend (optionnel) : Node.js + PostgreSQL + Redis (via Docker) Blog : MarbleCMS (Headless CMS) Analytics anonymes : Databuddy 📂 Arborescence simplifiée : apps/web/ → Application web principale (Next.js) src/components/ → UI et composants de l’éditeur src/hooks/ → Hooks React personnalisés src/lib/ → Fonctions utilitaires & API src/stores/ → Gestion des états (Zustand) src/types/ → Types TypeScript --- 🚀 Pourquoi contribuer ? OpenCut est open-source (licence MIT), ce qui signifie que : Vous pouvez l’utiliser librement Vous pouvez ajouter des fonctionnalités Vous pouvez aider à corriger des bugs Vous participez à un projet qui défend la liberté des créateurs 👉 Nos priorités actuelles : Améliorer la timeline et la fluidité du montage Optimiser les performances Améliorer l’ergonomie et l’UX Stabiliser la gestion des projets ⚠️ Ce que nous évitions pour le moment : filtres avancés, stickers, exports → une refonte du moteur de rendu est en cours. --- 👨‍💻 Pour les développeurs Installation rapide : via Bun ou Node.js Support Docker : pour la base de données et Redis Extensible : architecture modulaire pensée pour accueillir des plugins 🔧 Exemple de setup local : # 1. Cloner le repo git clone https://github.com/opencut-app/opencut.git cd opencut/apps/web # 2. Copier la config cp .env.example .env.local # 3. Installer les dépendances bun install # 4. Lancer le serveur de dev bun dev 👉 Application dispo sur http://localhost:3000 --- 💎 Sponsors & Partenaires Merci à nos partenaires open-source : Vercel – Hébergement web et support OSS fal.ai – IA et traitement multimédia avancé --- 📜 Licence OpenCut est distribué sous licence MIT. ➡️ Cela signifie : liberté totale d’usage, de modification et de contribution. --- README.md | 217 ++++++++++++++++++++++++++---------------------------- 1 file changed, 105 insertions(+), 112 deletions(-) diff --git a/README.md b/README.md index 9bad77386..43c1a7462 100644 --- a/README.md +++ b/README.md @@ -1,183 +1,176 @@ +
OpenCut Logo -

OpenCut

+

🎬 OpenCut

A free, open-source video editor for web, desktop, and mobile.

-## Why? +--- + +## ✨ Why OpenCut? + +- 🔒 **Privacy first**: Your videos stay on your device +- 🆓 **Truly free**: No subscriptions, no watermarks, no paywalls +- 🎯 **Simple**: Easy-to-use timeline editor, inspired by CapCut +- 📊 **Analytics**: Powered by [Databuddy](https://www.databuddy.cc?utm_source=opencut), 100% anonymized & non-invasive +- 📰 **Blog**: Managed via [Marble](https://marblecms.com?utm_source=opencut), a headless CMS + +--- -- **Privacy**: Your videos stay on your device -- **Free features**: Every basic feature of CapCut is paywalled now -- **Simple**: People want editors that are easy to use - CapCut proved that +## 🚀 Features -## Features +- Timeline-based editing +- Multi-track support +- Real-time preview +- No subscriptions or hidden fees +- Works across **Web**, **Desktop**, and **Mobile** -- Timeline-based editing -- Multi-track support -- Real-time preview -- No watermarks or subscriptions -- Analytics provided by [Databuddy](https://www.databuddy.cc?utm_source=opencut), 100% Anonymized & Non-invasive. -- Blog powered by [Marble](https://marblecms.com?utm_source=opencut), Headless CMS. +--- -## Project Structure +## 🛠️ Project Structure -- `apps/web/` – Main Next.js web application -- `src/components/` – UI and editor components -- `src/hooks/` – Custom React hooks -- `src/lib/` – Utility and API logic -- `src/stores/` – State management (Zustand, etc.) -- `src/types/` – TypeScript types +- `apps/web/` – Main Next.js web application +- `src/components/` – UI and editor components +- `src/hooks/` – Custom React hooks +- `src/lib/` – Utility and API logic +- `src/stores/` – State management (Zustand, etc.) +- `src/types/` – TypeScript types -## Getting Started +--- -### Prerequisites +## ⚡ Getting Started -Before you begin, ensure you have the following installed on your system: +### ✅ Prerequisites -- [Node.js](https://nodejs.org/en/) (v18 or later) -- [Bun](https://bun.sh/docs/installation) - (for `npm` alternative) -- [Docker](https://docs.docker.com/get-docker/) and [Docker Compose](https://docs.docker.com/compose/install/) +Make sure you have the following installed: -> **Note:** Docker is optional, but it's essential for running the local database and Redis services. If you're planning to run the frontend or want to contribute to frontend features, you can skip the Docker setup. If you have followed the steps below in [Setup](#setup), you're all set to go! +- [Node.js](https://nodejs.org/en/) (v18 or later) +- [Bun](https://bun.sh/docs/installation) (faster alternative to npm) +- [Docker](https://docs.docker.com/get-docker/) + [Docker Compose](https://docs.docker.com/compose/install/) *(optional for DB & Redis)* + +--- -### Setup +### 🔧 Setup -1. Fork the repository -2. Clone your fork locally -3. Navigate to the web app directory: `cd apps/web` -4. Copy `.env.example` to `.env.local`: +1. Fork the repository +2. Clone your fork locally +3. Go to the web app directory: ```bash - # Unix/Linux/Mac - cp .env.example .env.local + cd apps/web - # Windows Command Prompt - copy .env.example .env.local +4. Copy .env.example → .env.local - # Windows PowerShell - Copy-Item .env.example .env.local - ``` +# Linux/Mac +cp .env.example .env.local -5. Install dependencies: `bun install` -6. Start the development server: `bun dev` +# Windows CMD +copy .env.example .env.local -## Development Setup +# PowerShell +Copy-Item .env.example .env.local -### Local Development -1. Start the database and Redis services: +5. Install dependencies: - ```bash - # From project root - docker-compose up -d - ``` +bun install -2. Navigate to the web app directory: - ```bash - cd apps/web - ``` +6. Start the dev server: -3. Copy `.env.example` to `.env.local`: +bun dev - ```bash - # 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 required environment variables in `.env.local`: +--- - **Required Variables:** +🖥️ Development Setup (with Docker) - ```bash - # Database (matches docker-compose.yaml) - DATABASE_URL="postgresql://opencut:opencutthegoat@localhost:5432/opencut" +1. Start DB & Redis - # Generate a secure secret for Better Auth - BETTER_AUTH_SECRET="your-generated-secret-here" - BETTER_AUTH_URL="http://localhost:3000" +docker-compose up -d - # Redis (matches docker-compose.yaml) - UPSTASH_REDIS_REST_URL="http://localhost:8079" - UPSTASH_REDIS_REST_TOKEN="example_token" - # Marble Blog - MARBLE_WORKSPACE_KEY=cm6ytuq9x0000i803v0isidst # example organization key - NEXT_PUBLIC_MARBLE_API_URL=https://api.marblecms.com +2. Navigate into apps/web - # Development - NODE_ENV="development" - ``` - **Generate BETTER_AUTH_SECRET:** +3. Configure .env.local - ```bash - # Unix/Linux/Mac - openssl rand -base64 32 +DATABASE_URL="postgresql://opencut:opencutthegoat@localhost:5432/opencut" +BETTER_AUTH_SECRET="your-secret" +BETTER_AUTH_URL="http://localhost:3000" - # Windows PowerShell (simple method) - [System.Web.Security.Membership]::GeneratePassword(32, 0) +UPSTASH_REDIS_REST_URL="http://localhost:8079" +UPSTASH_REST_TOKEN="example_token" - # Cross-platform (using Node.js) - node -e "console.log(require('crypto').randomBytes(32).toString('base64'))" +MARBLE_WORKSPACE_KEY="your-key" +NEXT_PUBLIC_MARBLE_API_URL="https://api.marblecms.com" - # Or use an online generator: https://generate-secret.vercel.app/32 - ``` +NODE_ENV="development" -5. Run database migrations: `bun run db:migrate` from (inside apps/web) -6. Start the development server: `bun run dev` from (inside apps/web) -The application will be available at [http://localhost:3000](http://localhost:3000). +4. Run migrations -## Contributing +bun run db:migrate -We welcome contributions! While we're actively developing and refactoring certain areas, there are plenty of opportunities to contribute effectively. -**🎯 Focus areas:** Timeline functionality, project management, performance, bug fixes, and UI improvements outside the preview panel. +5. Start the app -**⚠️ Avoid for now:** Preview panel enhancements (fonts, stickers, effects) and export functionality - we're refactoring these with a new binary rendering approach. +bun run dev -See our [Contributing Guide](.github/CONTRIBUTING.md) for detailed setup instructions, development guidelines, and complete focus area guidance. -**Quick start for contributors:** -- Fork the repo and clone locally -- Follow the setup instructions in CONTRIBUTING.md -- Create a feature branch and submit a PR +👉 App runs at: http://localhost:3000 -## Sponsors -Thanks to [Vercel](https://vercel.com?utm_source=github-opencut&utm_campaign=oss) and [fal.ai](https://fal.ai?utm_source=github-opencut&utm_campaign=oss) for their support of open-source software. +--- - - Vercel OSS Program - +🤝 Contributing + +We welcome all contributions! + +Focus areas: + +Timeline functionality + +Project management improvements + +Performance optimizations + +UI/UX outside preview panel + + +⚠️ Avoid for now: preview panel (fonts, stickers, effects, export). These are being refactored. + +➡️ See Contributing Guide for details. - - Powered by fal.ai - --- -[![Deploy with Vercel](https://vercel.com/button)](https://vercel.com/new/clone?repository-url=https%3A%2F%2Fgithub.com%2FOpenCut-app%2FOpenCut&project-name=opencut&repository-name=opencut) +💎 Sponsors + +Thanks to our amazing sponsors: -## License +Vercel -[MIT LICENSE](LICENSE) +fal.ai + + + Vercel OSS Program + + Powered by fal.ai + --- -![Star History Chart](https://api.star-history.com/svg?repos=opencut-app/opencut&type=Date) +📜 License + +MIT LICENSE +