A fast, lightweight desktop video compressor built with Tauri (Rust) and TypeScript.
CompressorX is a desktop application I built to solve my own video compression needs while diving deeper into modern web technologies like Tauri, Rust, and TypeScript. It's designed to be efficient, easy to use, and beginner-friendly—even if you're not familiar with video compression tools.
- 🎥 Drag & Drop Support – Simply drag your video file into the app
- 📊 Real-Time Progress – Watch your compression in action
- 🎯 Resolution Options – Choose from Original, 720p, 480p, or 360p
- ⚙️ Advanced Settings – Customize bitrate and buffer size
- 🌙 Sleek Dark UI – Clean and modern interface
- 📈 Compression Stats – See detailed info about file size reduction
- 📁 Easy File Access – Open output files with a single click
- 🦀 Built in Rust – High performance, low resource usage
- 🎬 Bundled with FFmpeg – No external downloads required
- 💻 Currently Windows Only – Support for 64-bit Windows 10/11
Layer | Tech |
---|---|
Frontend | TypeScript, HTML, Tailwind CSS |
Backend | Rust (via Tauri) |
Processing | FFmpeg (integrated via Rust backend) |
CompressorX/
├── src/ # Frontend (TypeScript)
│ ├── handlers/ # UI events & logic
│ ├── services/ # FFmpeg interaction & file ops
│ ├── types/ # Type definitions
│ ├── utils/ # Helpers and utilities
│ ├── styles/ # Tailwind config & CSS
│ └── assets/ # Icons and static files
│
└── src-tauri/ # Backend (Rust + Tauri config)
├── src/ # Rust source
├── Cargo.toml # Rust dependencies
└── tauri.conf.json # Tauri app settings
To use the app (users):
- Windows 10 or 11 (64-bit)
To build from source (developers):
Grab the latest Windows installer from the Releases page and run the .msi
file.
-
Install Git LFS
choco install git-lfs # Or install from https://git-lfs.com/
-
Clone the Repository
git lfs install git clone https://github.com/Amitminer/CompressorX.git cd CompressorX git lfs pull # Pull FFmpeg binaries
-
Install Node Dependencies
npm install
-
Run in Dev Mode
npm run tauri dev
-
Build for Production
npm run tauri build
Output will be available in src-tauri/target/release
.
- Launch CompressorX
- Drag & drop your video or click Browse Files
- Pick a resolution
- Optionally adjust bitrate & buffer size
- Click Compress Video
- Monitor progress and view stats
- Open your compressed video instantly
This project helped me grow in a lot of areas:
- TypeScript + Tailwind CSS workflows
- Rust's performance and safety benefits
- Cross-platform desktop development with Tauri
- How FFmpeg works under the hood
- Bridging TypeScript and Rust
- Clean UI/UX design for technical tools
- Writing clear documentation (like this!)
This project is licensed under the MIT License. See the LICENSE
file for details.