VideoHighlighter 0.8.2
Windows download: grab both
VideoHighlighter-Windows-0.8.2.7z.001and
VideoHighlighter-Windows-0.8.2.7z.002, put them in the same folder, and extract
the.001— 7-Zip joins the parts automatically. Downloading only one part will
fail to extract. macOS users need only the.dmg.
⚠️ Upgrade note — saved faces must be re-enrolled
Face recognition moved to a new engine (see below). Embeddings changed from 512-d
to 128-d, so entries in an existing face_db.json are cleared on first load and any
person you had enrolled for "avoid" must be re-added once. One-time only.
New Features
Hardware-accelerated highlight export, with live progress
Rendering was CPU-only (libx264), gave no feedback, and failed outright on VR
sources. Export now probes ffmpeg -encoders and uses your machine's hardware
encoder — a large speedup at VR resolutions — with progress reported as it runs.
Encoder choice is device-aware (NVIDIA → NVENC, Intel → QSV), and picks HEVC for
high-resolution/VR footage above 4096px where H.264 hardware can't reach. libx264
remains the final fallback, so it always works. The same selection now drives the
pipeline's cut/concat, not just the editor — both share one module
(modules/encoder_select.py), with probes cached instead of re-run.
Edit timeline: build a cut without dragging every clip
- Right-click any signal bar → "Add this clip to edit timeline", or
"Add all query clips (N)" to append every bar in that row at once. Clips are
deduped and sorted by start time. Complements the existing drag-and-drop and
Ctrl+click. - Multi-select clips with Ctrl / Shift / Ctrl+A and remove them in bulk.
- Auto-save on close — manual edits used to be discarded unless you pressed
"Save to Cache". Closing the window now saves them if you actually changed
anything, and they're restored when you reopen. - The timeline starts empty instead of fabricating sample clips.
- Play Edit scrolls the timeline to follow the playhead.
Custom object detectors in the Advanced tab
The pipeline could always run a custom-trained model, but there was no way to pick
one. Choose "Custom (my trained model)" and point it at a .pt or .onnx file;
the choice persists to config.yaml. A trained model is finally usable end to end.
Live BBox Overlay: real gating and per-item filters
The checkbox now gates the real-time worker itself rather than just hiding cached
boxes — unticking it actually pauses inference instead of leaving it running. It
also stays usable in real-time mode with an empty cache. The Filter menu is
regrouped by source — Object / Action / Facial recognition — with every detected
item individually show/hide-able, and the facial group rebuilt live from the face
bank.
Downloader: automatic link detection
You no longer type a per-site link pattern by hand — the field is gone. The
downloader inspects the page's links against known video-path tokens (/video/,
/watch, /embed/, /scene/, …), picks the best-supported one, and logs its
choice. An explicit pattern still overrides it.
About & Contact tab
Shows version and edition, a link to the Pro edition, support links (email,
Discord, website, source), and AGPLv3/CLA notices.
Improvements
- Faster thumbnails: on-screen frames are prioritised, 8K sources decode
keyframes only, and the edit timeline pulls thumbnails via ffmpeg — a large
speedup on VR footage. - Smoother timeline during visual search: rebuilds are debounced, so hundreds
of streaming hits repaint once after the burst instead of once each. - Motion detection reports progress in the GUI instead of appearing frozen.
- Permissive face recognition: InsightFace's
buffalo_lweights are licensed
for non-commercial/research use only, which conflicts with this AGPL freeware.
Face detection/recognition now uses OpenCV Zoo YuNet (MIT) and SFace,
both bundled. Theinsightfacedependency is gone. See the upgrade note above.
Fixes
- "Follow Playhead" could not be re-enabled on PySide6 6.10.
- Visual Search no longer crashes on a second run when the worker thread had
been torn down. - Download cancel actually stops the download and frees the UI.
- Logs stay selectable and copyable while streaming, and assistant messages
render on separate lines instead of running together. - Play Edit resumes where edit playback stopped, not at the main playhead.
- Clicking mid-edit hands control back to the video timeline.
- A stuck hover preview after deleting a clip by keyboard or button.
- Visual-search findings persist even when the cache has no
video_hashor
the file is missing. - A fresh clone was missing modules and wouldn't start.
- The Windows release archive name is quoted correctly in the build workflow.
Developer / CI
- Static local-import completeness check (thanks @pixelfreaki, #6) — catches
imports of modules that aren't committed, the failure that breaks a fresh clone
or a packaged build. Runs in the test suite with no heavy dependencies. - CONTRIBUTING.md and a Contributor License Agreement for dual-licensing.
insightfacedropped;opencv-python>=4.7pinned (needsFaceDetectorYN/
FaceRecognizerSF).