Skip to content

Lulzx/press

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Press app icon

Press

Drop a video. Make it tiny.
A fast, native macOS video compressor — no Electron, no browser chrome.

Native SDK Zig MIT macOS

Press idle screen — drop a video   Press done screen — size savings


Why Press?

Most “native” desktop tools ship a multi-hundred-megabyte browser runtime. Press is different:

  • ~4 MB release binary built with Native SDK
  • Real macOS window chrome, drag & drop, and open panel
  • Live encode progress from ffmpeg
  • Three honest quality presets — no mystery sliders

Built for the moment you need a screen recording or phone clip small enough to send.

Features

Drag & drop Drop a video on the window, or click Choose video
Quality presets Lean · Balanced · Crisp (x264 CRF)
Live progress Percent, status, and cancel mid-encode
Clear results Original vs pressed size, % smaller (or honest “grew” if it can’t shrink)
Sensible output Writes name.press.mp4 next to the source
CLI open press ~/Movies/clip.mp4 opens that file on launch

Quality

Preset CRF Best for
Lean 32 Shares, previews, chat
Balanced 28 Everyday default
Crisp 23 Keep more fine detail

Encoder: H.264 (libx264) + AAC.

Requirements

  • macOS 11+
  • ffmpeg and ffprobe on your PATH
brew install ffmpeg
npm install -g @native-sdk/cli

Quick start

git clone https://github.com/Lulzx/press.git
cd press

native build
native package --target macos --signing adhoc
open zig-out/package/press.app

Or run the binary directly:

./zig-out/bin/press
./zig-out/bin/press ~/Desktop/recording.mov

Develop

native dev      # debug build + hot-reload of src/app.native
native test     # headless model / view tests
native check    # validate markup + app.zon

How it works

┌─────────────┐     drop / browse      ┌──────────────┐
│  Press UI   │ ─────────────────────► │   probe      │
│  Native SDK │                        │   ffprobe    │
└──────┬──────┘                        └──────┬───────┘
       │ compress                             │
       ▼                                      ▼
┌─────────────┐   -progress pipe:1     ┌──────────────┐
│  progress % │ ◄───────────────────── │   encode     │
│  cancel     │                        │   ffmpeg     │
└─────────────┘                        └──────────────┘
  • UI — declarative .native markup + Zig Model / Msg / update (TEA-style loop)
  • Effects — subprocesses for ffprobe, ffmpeg, Finder reveal (open -R)
  • Drops — thin host wrapper around UiApp (OS file-drop events)
  • Browse — system open panel via osascript

Project layout

press/
├── app.zon                 # app identity, window, capabilities
├── assets/
│   ├── icon.png            # app icon
│   └── illustrations/      # hero & done art sources
├── docs/screenshots/       # README shots
├── src/
│   ├── app.native          # declarative UI
│   ├── main.zig            # model, effects, hybrid views
│   ├── tests.zig
│   ├── hero.png / done.png # embedded illustrations
│   └── icons/              # custom SVG stroke icons
└── README.md

Topics

Suggested GitHub topics for this repo:

macos · video · video-compression · ffmpeg · h264 · zig · native-sdk · desktop-app · open-source · media

License

MIT © Lulzx

Press is not affiliated with Apple or the FFmpeg project. FFmpeg is a separate dependency you install yourself.

About

Drop a video. Make it tiny. Fast native macOS video compressor built with Native SDK + Zig + ffmpeg.

Topics

Resources

License

Stars

2 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages