A sleek, lightning-fast desktop application for compressing multiple videos with a beautiful interface powered by FFmpeg.
- Compress multiple videos in one operation
- Queue management with live status updates
- Sequential processing for maximum stability
- Automatic output filename generation
- π₯ H.265 (HEVC) support
- π₯ H.264 (AVC) support
- π Adjustable CRF quality slider
- β‘ Multiple encoding presets
- πΊ Resolution scaling
- π FPS conversion
- π AAC audio encoding
- Beautiful CustomTkinter design
- Dark & Light mode support
- Easy-to-use controls
- Live compression progress
- Compression summary dialog
- Output folder shortcut
- Automatic FFmpeg detection
- Automatic static-ffmpeg installation
- Human-readable file sizes
- Storage savings statistics
- Compression percentage calculation
- Output filename prefix customization
git clone https://github.com/AlguevaraSec/bulk-video-compressor-gui.git
cd bulk-video-compressor-guipip install -r requirements.txtpython main.py- MP4
- MKV
- MOV
- AVI
- MP4
Click Add Videos and select one or more files to create a compression queue.
The application automatically uses the original video's directory.
You can also choose another destination folder and customize the filename prefix.
Example:
compressed_video.mp4
compressed_movie.mp4
compressed_clip.mp4
Select:
- Resolution
- Frame Rate
- Codec
- Encoding Speed
- Compression Level (CRF)
Recommended settings:
| Setting | Recommendation |
|---|---|
| Codec | HEVC (libx265) |
| CRF | 28 |
| Preset | veryfast |
| Resolution | Original |
Click Start Bulk Compression.
The application automatically:
- Processes every video
- Updates the queue
- Shows progress
- Displays storage savings when finished
After completion you'll see:
- β Files Processed
- πΎ Original Size
- π¦ Compressed Size
- π Space Saved
- π Compression Percentage
If FFmpeg is not installed, the application automatically detects the missing dependency and offers to install static-ffmpeg.
No manual setup is required.
- Python
- CustomTkinter
- FFmpeg
- FFprobe
- static-ffmpeg
- threading
- subprocess
- JSON
Unlike many outdated FFmpeg frontends, this project focuses on simplicity and productivity.
- π Modern interface
- β‘ Fast workflow
- π¬ Batch processing
- π¦ High compression ratio
- πΎ Significant storage savings
- π₯ Native desktop experience
- π§ Automatic dependency installation
- π§ Bulk videos support
- β Batch compression
- β Queue management
- β HEVC support
- β Compression statistics
- β Automatic FFmpeg installation
- β Resolution presets
- β FPS presets
- β Drag & Drop support
Contributions, bug reports, feature requests, and pull requests are always welcome.
If you find this project useful, consider giving it a β on GitHub.
This project is licensed under the MIT License.
See the LICENSE file for more information.
