Open-source game highlight clips for Windows and macOS. A replay buffer records
your screen and sound in the background; press a hotkey and the last seconds
(or minutes) become an .mp4 you can trim, organize and share. Think Medal or
ShadowPlay, without an account and without leaving your machine.
Stack: Rust core (per-OS capture and hardware encoding) · Tauri 2 + TypeScript UI.
Ready-to-run files are on the Releases page:
a Windows installer, a portable Windows .exe (double-click, nothing to install)
and a macOS .dmg (Apple silicon). Both systems record. The files are not signed,
so Windows SmartScreen and macOS Gatekeeper warn the first time; the release notes
say how to get past that.
- Replay buffer that keeps encoded frames, so saving a clip is a remux, never a re-encode. It is only as long as your longest clip needs (about 50 MB of RAM for the usual 30 s at 1080p60, not a fixed two minutes).
- Global hotkeys, configurable: one for the main clip length, up to four more with a length of their own (say F9 for the last 15 s, F10 for the last minute), plus mute for the microphone.
- Game sound and microphone, mixed or on separate tracks.
- Gallery and editor: previews, rename, delete, and a trim editor that cuts by stream copy with a frame-accurate start (no quality loss), with a waveform per audio track.
- Library: your own folders (a clip can live in several), search, filters by game, date and folder, and a game detected from the application that was in front while the clip was recorded (name only, kept on your computer, can be switched off).
- Screenshots of the screen (a hotkey you choose, the tray or a button), kept in the same library as the clips. macOS for now.
- Copy a clip or a screenshot to paste it in Discord, Mail and so on, or let every new clip be copied by itself when it is saved (a setting, off by default).
- Low RAM mode (Settings → Rendimiento): half the bitrate, so the buffer takes half the memory again.
- Light or dark interface (or the system's) and a main color of your choice.
- Lives in the tray; nothing is ever uploaded anywhere.
| macOS | Windows | |
|---|---|---|
| Capture + encoding | ScreenCaptureKit + VideoToolbox (hardware) | Windows Graphics Capture + Media Foundation H.264 (software, no GPU needed) |
| Audio (game + microphone) | Working | Working (WASAPI loopback, cpal) |
| UI, library, editor, settings | Working | Working |
| Screenshots, copy to clipboard | Working | Working |
On Windows, every stage runs on a real Windows machine in CI — screen capture, the
encoder, the sound, a clip decoded back by Windows, and the installed app started,
a hotkey pressed and the clip checked (see the windows-video and windows-app
workflows). What CI can't give is a gaming PC: the encoder is Microsoft's software
one (about 150 fps at 1080p on a 4-core runner) and the hardware encoders (NVENC,
AMF, Quick Sync) are not driven yet.
Progress is tracked feature by feature in milestones/; what is
planned next (compared with what Medal offers) is in
docs/medal-roadmap.md (in Spanish).
You need a recent stable Rust, Node.js, and the Tauri 2 prerequisites for your OS.
# Run the desktop app
cd app && npm install && npm run tauri dev
# Tests
cargo test -p clipforge-core # capture/encode/buffer/clip engine
cargo test -p clipforge-app --lib # app logic (settings, shortcuts, library)
cd app && npm test # UI logic and views (vitest + happy-dom)On macOS the first run asks for Screen Recording permission (System Settings →
Privacy & Security), and Microphone only if you switch the microphone on.
The engine tests don't need a screen: they run against a synthetic test-pattern
source. Tests that touch the real screen or devices are #[ignore]d and run
with cargo test -- --ignored.
core/ clipforge-core: capture → encode → ring buffer → clip (no ffmpeg)
app/ Tauri 2 app: src-tauri/ (Rust) and src/ (TypeScript UI)
docs/ design notes (library, clip editor, settings, Windows setup)
milestones/ feature tracking with acceptance criteria
Issues and pull requests are welcome. CLAUDE.md is the operating
manual for this repo (conventions, testing rules, architecture) and applies to
people as much as to tools:
- work on a branch (
feat/<milestone>/<name>orfix/<name>) and open a PR; - every feature comes with unit tests;
- clips are cut by stream copy, never re-encoded;
- keep
cargo clippy --workspace --all-targets -- -D warningsandcargo fmtclean.
Driving the Windows hardware encoders (NVENC, AMF, Quick Sync) is a good place to
help: they are asynchronous Media Foundation transforms, and CI has no GPU to test
them on. See docs/windows-setup.md.
MIT. The interface uses the Inter typeface (SIL Open Font License 1.1).