A privacy-focused online video editor that processes videos entirely in your browser using FFmpeg and WebAssembly. No uploads, no signups required.
- Privacy-First: All video processing happens in your browser - no uploads
- No Sign-up Required: Start editing immediately
- Multiple Formats: Supports MP4, WebM, AVI, MOV, MKV
- Video Trimming: Cut and trim videos with precision
- Format Conversion: Convert between different video formats
- Audio Extraction: Extract audio from video files
- Video Compression: Reduce file sizes
- Mobile Responsive: Works on all devices
If you have Nix installed:
# Clone the repository
git clone https://github.com/inkylabs-dev/QuickEditVideo.git
cd QuickEditVideo
# Enter Nix shell (installs FFmpeg and all dependencies)
nix-shell
# Dependencies are automatically installed, start development
npm run devThe Nix shell provides:
- Node.js 20 and npm
- FFmpeg (required for tests)
- All development tools
# Install dependencies
npm install
# Start development server
npm run devInside of your Astro project, you'll see the following folders and files:
/
├── public/
│ └── favicon.svg
├── src
│ ├── assets
│ │ └── astro.svg
│ ├── components
│ │ └── Welcome.astro
│ ├── layouts
│ │ └── Layout.astro
│ └── pages
│ └── index.astro
└── package.json
To learn more about the folder structure of an Astro project, refer to our guide on project structure.
All commands are run from the root of the project, from a terminal:
| Command | Action |
|---|---|
npm install |
Installs dependencies |
npm run dev |
Starts local dev server at localhost:4321 |
npm run build |
Build your production site to ./dist/ |
npm run preview |
Preview your build locally, before deploying |
npm test |
Run unit tests (requires FFmpeg in environment) |
npm run test:unit |
Run unit tests |
npm run test:e2e |
Run end-to-end tests with Playwright |
npm run copy-ffmpeg |
Copy FFmpeg.wasm files to public directory |
npm run astro ... |
Run CLI commands like astro add, astro check |
npm run astro -- --help |
Get help using the Astro CLI |
To run tests that require FFmpeg:
# Using Nix (recommended)
nix-shell
npm test
# Or install FFmpeg manually
# macOS: brew install ffmpeg
# Ubuntu: sudo apt install ffmpeg
# Then run: npm test- Astro 5.12.9: Static site generator with islands architecture
- FFmpeg.wasm: Client-side video processing
- Tailwind CSS: Utility-first CSS framework
- Preact: Lightweight React alternative for interactivity
- TypeScript: Type-safe development