Repository navigation
Releases
Video Editor v0.1.0
The first public release of Video Editor, a browser-based video editing application powered by FFmpeg WebAssembly and FastAPI.
Video Editor provides an interactive timeline and essential media editing tools directly in the browser. Media processing runs through FFmpeg WebAssembly, while the FastAPI backend handles recipe validation, processing plans, and preset management.
Highlights
Video Editing
- Interactive timeline with Canvas-based video thumbnails
- Timeline seeking, zooming, scrolling, and playhead controls
- Video trimming and unwanted segment removal
- Video cropping and resolution scaling
- Output container and bitrate configuration
- Undo and redo editing actions
- Loop playback and keyboard shortcuts
Audio and Frame Processing
- Keep or mute the original audio
- Extract audio into supported formats
- Capture video frames as PNG images
Browser-Based Processing
- FFmpeg WebAssembly media processing
- Recipe validation before execution
- Processing progress and cancellation controls
- Output preview and file download
- No source-video upload endpoint in the current implementation
User Interface
- Korean and English localization
- Light and dark themes
- Full and minimal editor interfaces
Backend and API
- FastAPI-based REST API
- FFmpeg processing plan generation
- Recipe validation
- Built-in and custom preset support
- SQLite preset storage
- Configurable CORS and trusted hosts
- Optional authenticated preset write operations
Technology Stack
Python, FastAPI, Uvicorn, Vanilla JavaScript, HTML5, CSS3, FFmpeg WebAssembly, SQLite, REST API, Canvas API, Web Workers
Getting Started
Live Demo: https://vedit.glitter.kr/t/app
Clone the repository:
git clone https://github.com/glitter-node/video-editor.git
cd video-editorCreate a virtual environment and install dependencies:
python3 -m venv venv
venv/bin/python -m pip install -r requirements.txtStart the development server:
./tools/dev-server.shOpen the editor:
http://127.0.0.1:8011/t/app
For configuration, deployment, and testing instructions, see the [README](https://github.com/glitter-node/video-editor#readme).
Known Limitations
- Processing performance depends on browser capabilities, available memory, and device resources.
- Large or high-resolution videos may exceed browser memory limits.
- Codec and output compatibility vary across browsers.
- Some generated formats may not support in-browser preview.
- Automatic recovery of unsaved editing state after a page refresh is not guaranteed.
- Browser-based media processing requires WebAssembly and Web Worker support.
- Compatibility with every browser, codec, and operating system has not been verified.
Privacy and Data Handling
The current frontend processes selected source media within the browser using FFmpeg WebAssembly.
The backend handles recipe validation, processing plan generation, and preset management. It does not provide a dedicated source-video upload or server-side transcoding endpoint.
Actual data handling may also depend on deployment infrastructure and browser configuration.
License
Released under the MIT License.
Copyright (c) 2026 Glitter.kr.
Third-party components remain subject to their respective licenses.
Repository: https://github.com/glitter-node/video-editor
Release: https://github.com/glitter-node/video-editor/releases/tag/v0.1.0
Live Demo: https://vedit.glitter.kr/t/app