Overview
ClipVault is a self-hosted pipeline that turns an OBS replay-buffer save into a shareable link. A desktop tray client listens for OBS’s replay-buffer event, uploads the resulting clip to a home server, and the server processes and hosts the video behind a short link that unfurls as a playable video embed in Discord.
Features
- Captures clips via OBS’s existing replay-buffer hotkey, with no OBS plugin required
- Automatically re-targets the OBS Game/Window Capture source based on the running game
- Uploads clips in resumable 8 MiB chunks to tolerate a dropped connection
- Lossless remux when the source codec allows it, with a transcode fallback otherwise
- Crash-safe job queue that requeues any clip stuck mid-processing after a worker restart
- Shareable short links with OpenGraph video tags so links embed as inline playable video in Discord
- Non-destructive clip trimmer with fast (copy) and precise (re-encode) modes and one-click undo
- Per-viewer, per-day deduplicated view counts that ignore link-unfurler bots
- Windows system tray client with autostart
How it works
A Rust/Tauri desktop client connects to OBS over obs-websocket and watches for the ReplayBufferSaved event, then uploads the clip in chunks to a Next.js API backed by Postgres. Uploads are handed to a pg-boss job queue, where a dedicated ffmpeg worker remuxes or re-encodes the clip and writes a faststart MP4; a Caddy instance serves the finished file with byte-range support so it streams directly into Discord’s video embed. Each clip gets a permanent share slug backed by a non-destructive trim history.
