Skip to main content
This is an ongoing project. Some features like the progress bar are currently work in progress.

Compress videos effortlessly on your desktop

Video Compressor is an Electron-based desktop application that makes video compression simple and accessible. Built with Node.js and FFmpeg, it provides a clean interface for reducing video file sizes while maintaining quality.

Key features

Easy file selection

Select any video file from your system using the built-in file picker

FFmpeg-powered compression

Leverage the industry-standard FFmpeg library with optimized encoding settings

Real-time progress tracking

Monitor compression progress with a visual progress bar (work in progress)

Organized output

Compressed videos are automatically saved to a dedicated output directory

Technology stack

Video Compressor is built with modern JavaScript technologies:
  • Electron - Cross-platform desktop application framework
  • Node.js - JavaScript runtime for file system operations
  • Fluent-ffmpeg - Node.js wrapper for FFmpeg video processing
  • ffmpeg-static - Bundled FFmpeg binaries for easy deployment

Get started

Installation

Set up the project and install dependencies

Quickstart

Compress your first video in minutes

Video compression

Learn about compression settings and output formats

Architecture

Understand the application structure and components

How it works

The application uses a simple workflow:
  1. You select a video file through the Electron interface
  2. The file is temporarily copied to your system’s temp directory
  3. FFmpeg processes the video with optimized compression settings (1000k bitrate)
  4. The compressed video is saved to the videooutputs directory with a compressed_ prefix
  5. You can view all compressed videos directly in the application

Open source

Video Compressor is open source and welcomes contributions. Fork the repository and submit pull requests for enhancements or bug fixes.

Build docs developers (and LLMs) love