Find and explain the moments that matter in footage you won't upload — then export a cut, on your machine.
A local desktop app. Drop in raw video; it scores strong moments from scene, motion, audio, objects, actions and the transcript, shows you why each one scored on a signal timeline and in a report, then exports a highlight reel and the individual clips. Nothing is uploaded for analysis, and the basic pipeline needs no API key.
Free and open source (AGPL-3.0). Windows, macOS, Linux. Intel, AMD and NVIDIA GPUs.
App interface languages (About → Interface language): English, 简体中文, Español, Português (Brasil), Français, 日本語, Deutsch, 한국어, Bahasa Indonesia, Türkçe, Italiano, Polski, Tiếng Việt, Nederlands. This README is still English-first; translated copies above cover 中文 / 日本語 / Español.
It's free. To make sure you see new releases in future, please click the motivation button: the ⭐ at the top of the page. It's the cheapest payment we accept.
- A 4-hour Twitch or YouTube VOD → a few minutes of highlights. Crowd noise, your own reactions and scene changes all score, so the loud parts surface without scrubbing.
- A night of CCTV or trail-camera footage → the minutes something moved. Object detection plus motion, on hours of nothing, locally — which matters when the footage is of your own property.
- A GoPro or drone card → a finished film. The Auto tab finds the card, copies it off, cuts the highlights, builds the reel and lays music on the beat, as one resumable job.
- A match → the goals. Write a rule for "ball inside net" and it scores that event by where things are, instead of hoping an action model can tell it from how the frame looks.
- A long interview, lecture or podcast → chapters and subtitles. Local Whisper transcript, chaptered video, optional local translation.
- Dashcam or bodycam review → an account you can hand to someone. The report states what was measured, what was only said, and what it could not determine.
Not sure which detector fits your footage? docs/DETECTION-GUIDE.md covers what each one is good at and where it falls down.
Every run explains itself. The report is the arithmetic behind each kept moment — the per-signal point breakdown, what fired, what scored well and still missed the cut. It names the claims that came from the transcript and were never measured, instead of scoring them anyway. Open a real one →
Composition rules. You say what a combination of detections means for your footage — one class inside another, counted, held over a window — and that becomes an event under a name you choose. Because a rule re-reads detections that already exist, editing one and re-running costs milliseconds.
Timeline Viewer
Demo
demo-final.mp4
Grab a build from Releases:
- Windows — run
00-VideoHighlighter-Windows-Setup.exe. Per-user, no admin. It is not code-signed yet, so click through More info → Run anyway. - GitHub slow or blocked where you are? The same files are mirrored at dl.videohighlighter.com.
- macOS — drag the
.dmginto Applications, then clear the quarantine flag once:xattr -dr com.apple.quarantine /Applications/VideoHighlighter.app(why). - Linux / from source —
pip install -r requirements.txt && python main.py. FFmpeg comes with it.
Portable builds, GPU setup, where it writes, and fixing an oversized UI: docs/INSTALL.md.
| Choosing a detector | Objects, actions, CLIP search, composition rules — what each is for |
| Why these moments | What the report contains and why it is built that way |
| The Auto pipeline | Card → ingest → script → music → reel, resumable |
| Installing | Every platform, GPU backends, settings |
| Training a model | Label your own class and train it |
| Community models | Install models other people trained, publish your own |
| Intel GPU · AMD GPU · Apple GPU | Vendor-specific acceleration |
| Remote ollama | Run the local LLM on another box on your LAN |
VideoHighlighter — this repository — is free software under AGPL-3.0, and stays that way. It includes offline analysis, live face detection, VR side-by-side playback, CLIP search, the composition engine, model training — including teaching a model from one box drawn in the player, which then keeps improving while the app is idle — and the model hub.
VideoHighlighter Pro is a separate paid edition that adds real-time work on top: live object and action overlays during playback, teaching a live category mid-playback, find-more-like-this search, open-vocabulary detection and counter/scoreboard detection.
Explanation is not among them. The report, the findings and the advisor are identical in both editions — a cloud tool gives you a button and a result you cannot interrogate; answering "why", locally, is what this is instead.
VideoHighlighter occasionally has feelings about your footage. When it does: join the Discord and yell in #support, I'm usually around. Bugs and ideas are welcome in Issues.
Frequently asked questions. Read the FAQ for help with:
- Choosing detectors and tuning scoring
- Performance tips on CPU/GPU
- Troubleshooting common issues
Copyright (C) 2026 Przemysław Kreft and Meric Donmezer.
Released under the GNU Affero General Public License v3.0 — use, modify and distribute it freely, provided modified versions, including ones offered over a network, make their complete source available under the same license. Full text in LICENSE; notice in COPYRIGHT.
Contributors keep copyright in their own work — see CONTRIBUTING.md and CLA.md. VideoHighlighter is also offered under a separate commercial license by the copyright holders.
See CONTRIBUTING.md for guidelines on code quality, testing, and what makes a good contribution. The project welcomes bug reports, small fixes, and feature proposals — please check the CLA before your first PR.


