compresso

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

compresso — Offline Batch Video & Image Compression

compressO — 离线批量视频与图片压缩

Free, open-source, fully offline desktop compression powered by FFmpeg, pngquant, jpegoptim, and gifski.
CompressO
is a cross-platform desktop app (Tauri + React/Vite) for compressing, trimming, converting, and enriching video and image files — entirely on your local machine with no external calls.
由FFmpeg、pngquant、jpegoptim和gifski提供支持的免费、开源、完全离线的桌面压缩工具。
CompressO
是一款跨平台桌面应用(基于Tauri + React/Vite),可用于压缩、裁剪、转换和增强视频与图片文件——所有操作均在本地机器完成,无需外部调用。

Installation

安装方式

Plugin (Claude Code)

插件(Claude Code)

bash
claude plugin marketplace add codeforreal1/compressO
bash
claude plugin marketplace add codeforreal1/compressO

Homebrew (macOS)

Homebrew(macOS)

bash
brew install --cask codeforreal1/tap/compresso
bash
brew install --cask codeforreal1/tap/compresso

Installer (all platforms)

安装包(全平台)

PlatformInstaller
Debian/Ubuntu
CompressO_amd64.deb
Universal Linux
CompressO_amd64.AppImage
Apple Silicon
CompressO_aarch64.dmg
Intel Mac
CompressO_x64.dmg
Windows 64-bit
CompressO_x64.msi
平台安装包
Debian/Ubuntu
CompressO_amd64.deb
通用Linux
CompressO_amd64.AppImage
Apple Silicon
CompressO_aarch64.dmg
Intel Mac
CompressO_x64.dmg
Windows 64位
CompressO_x64.msi

Skill (any platform)

技能(任意平台)

bash
npx skills add https://github.com/akillness/oh-my-skills --skill compresso
bash
npx skills add https://github.com/akillness/oh-my-skills --skill compresso

When to use

使用场景

  • Compress a single video or batch of videos without uploading to a third-party service
  • Reduce image file sizes (PNG → pngquant, JPEG → jpegoptim, GIF → gifski)
  • Trim or split video content without a full video editor
  • Convert between video/image formats via the FFmpeg pipeline
  • Embed subtitles into video files locally
  • Manage file metadata (title, author, date) during compression
  • 无需上传至第三方服务,压缩单个或批量视频
  • 减小图片文件体积(PNG → pngquant,JPEG → jpegoptim,GIF → gifski)
  • 无需完整视频编辑器,即可裁剪或分割视频内容
  • 通过FFmpeg流程在视频/图片格式间转换
  • 在本地为视频文件嵌入字幕
  • 压缩过程中管理文件元数据(标题、作者、日期)

Do not use when

不适用场景

  • You need cloud-based transcoding or CDN delivery → route to a managed video service
  • You need programmatic FFmpeg scripting in CI/CD → call
    ffmpeg
    CLI directly
  • You need advanced NLE editing (multi-track, color grading) → route to a full video editor
  • You need streaming video packaging (HLS, DASH) → route to a dedicated packaging tool
  • 需要云端转码或CDN分发 → 转向托管视频服务
  • 需要在CI/CD中编写FFmpeg程序化脚本 → 直接调用
    ffmpeg
    命令行工具
  • 需要专业非线性编辑(多轨道、调色) → 转向完整视频编辑器
  • 需要流媒体封装(HLS、DASH) → 转向专用封装工具

Key features

核心功能

FeatureDetail
Batch compressionProcess multiple video and image files simultaneously
Video trimmingTrim start/end or split video into segments
Format conversionConvert between common video and image formats
Metadata managementUpdate title, author, date metadata during compression
Subtitle embeddingEmbed SRT/ASS subtitles into video files
Advanced configFine-grained video codec, bitrate, and audio settings
100% offlineNo network calls; all processing is local
Cross-platformLinux, macOS, Windows via Tauri
功能详情
批量压缩同时处理多个视频和图片文件
视频裁剪裁剪起始/结束部分或分割视频为多个片段
格式转换在常见视频和图片格式间转换
元数据管理压缩过程中更新标题、作者、日期元数据
字幕嵌入将SRT/ASS字幕嵌入视频文件
高级配置精细调整视频编解码器、比特率和音频设置
100%离线无网络调用;所有处理均在本地完成
跨平台基于Tauri支持Linux、macOS、Windows

Technology stack

技术栈

LayerTech
Desktop shellTauri (Rust)
FrontendReact + Vite
Video compressionFFmpeg
PNG compressionpngquant
JPEG compressionjpegoptim
GIF compressiongifski
层级技术
桌面外壳Tauri (Rust)
前端React + Vite
视频压缩FFmpeg
PNG压缩pngquant
JPEG压缩jpegoptim
GIF压缩gifski

Build from source

从源码构建

Prerequisites: Rust toolchain + Node.js + pnpm
bash
git clone https://github.com/codeforreal1/compressO.git
cd compressO
pnpm install
前置要求:Rust工具链 + Node.js + pnpm
bash
git clone https://github.com/codeforreal1/compressO.git
cd compressO
pnpm install

Development

开发模式

pnpm tauri:dev # full Tauri + React dev mode pnpm vite:dev # frontend only
pnpm tauri:dev # 完整Tauri + React开发模式 pnpm vite:dev # 仅前端开发模式

Production build

生产构建

pnpm tauri:build # output: src-tauri/target/release/bundle/
undefined
pnpm tauri:build # 输出目录: src-tauri/target/release/bundle/
undefined

Operating rules

操作规范

  1. Always prefer a pre-built installer for end-user machines; build from source only when the user needs a custom Tauri/Rust configuration
  2. Confirm FFmpeg, pngquant, jpegoptim, and gifski are available on the system PATH before CLI-based compression workflows
  3. Use batch mode for ≥ 3 files to avoid per-file startup overhead
  4. Route subtitle embedding through CompressO's built-in flow rather than raw
    ffmpeg -vf subtitles=…
    for consistent output naming
  5. Check the releases page for the latest DMG/MSI/AppImage before building from source
  1. 对于终端用户设备,优先使用预构建安装包;仅当用户需要自定义Tauri/Rust配置时,才从源码构建
  2. 在基于命令行的压缩流程开始前,确认FFmpeg、pngquant、jpegoptim和gifski已在系统PATH中可用
  3. 处理≥3个文件时使用批量模式,以避免逐个文件启动的开销
  4. 通过CompressO内置流程完成字幕嵌入,而非直接使用
    ffmpeg -vf subtitles=…
    ,以保证输出命名的一致性
  5. 构建源码前,先查看发布页面获取最新的DMG/MSI/AppImage安装包

Examples

使用示例

bash
undefined
bash
undefined

macOS install

macOS安装

brew install --cask codeforreal1/tap/compresso
brew install --cask codeforreal1/tap/compresso

Linux install (AppImage)

Linux安装(AppImage)

chmod +x CompressO_amd64.AppImage && ./CompressO_amd64.AppImage
chmod +x CompressO_amd64.AppImage && ./CompressO_amd64.AppImage

Build from source (all platforms)

从源码构建(全平台)

git clone https://github.com/codeforreal1/compressO.git cd compressO && pnpm install && pnpm tauri:build

Source: [codeforreal1/compressO](https://github.com/codeforreal1/compressO) — AGPL-3.0 License
git clone https://github.com/codeforreal1/compressO.git cd compressO && pnpm install && pnpm tauri:build

来源: [codeforreal1/compressO](https://github.com/codeforreal1/compressO) — AGPL-3.0 许可证