Skip to content

Latest commit

 

History

History
59 lines (40 loc) · 1.62 KB

File metadata and controls

59 lines (40 loc) · 1.62 KB

Video Compressor

Electron app to compress and trim videos. Uses FFmpeg for compression and smartcut for trimming. No Python required after install.

Features

  • Compress: Target size (10MB, 100MB, 250MB, custom), 30/60 fps, quality presets
  • Trim: Keep a segment (start–end seconds) with minimal recoding via smartcut
  • Play: Preview original, compressed, or trimmed output via ffplay

Requirements (for building)

  • Node.js and npm
  • Python (for building compress.exe and trim.exe)
  • bin/ folder with:
    • ffmpeg.exe, ffprobe.exe, ffplay.exe
    • smartcut.exe (run npm run get-smartcut to fetch)

Quick start

npm install
npm run get-smartcut   # if bin/smartcut.exe is missing
npm start

Building the installer

npm run dist

This will:

  1. Run predist checks (and fetch smartcut into bin/ if needed)
  2. Build compress.exe and trim.exe from Python
  3. Package the app with electron-builder

The installer is in dist/.

Project structure

Path Purpose
main.js Electron main process
index.html UI
compress.py / trim.py Sources for the exes
scripts/ Build helpers (predist, get-smartcut, copy-*)
bin/ ffmpeg, ffprobe, ffplay, smartcut

See FILES.md for details. See SIZE.md for reducing installer size.

Output filename

Before compressing or trimming, the app checks if the output file already exists. If it does, a warning is shown and the operation is not started—change the output filename to avoid overwriting.

License

MIT