How to Find the Right Moment in Gigabytes of Video Without Watching All Recordings
Imagine this: you have surveillance camera footage, Tesla dashcam recordings, or just a month's worth of home videos. You need to find a specific clip — for example, when a red truck drove past or someone ran past the fence. Usually this means hours of tedious scrubbing. But what if you could just type "red truck running a red light" and immediately get a ready-to-use trimmed clip?
That's exactly what the sentrysearch project does. It's a CLI tool for semantic video search that understands what's happening in the frame without any text descriptions or manual tagging.
How it works under the hood
The project developer took the path of using multimodal embeddings. Previously, to search through video you had to first run it through a neural network for object detection, then through OCR for text, and assemble all of that into a database. Here, a direct approach is used.
SentrySearch cuts video into small overlapping chunks (30 seconds by default). Each such piece is then turned into a vector (embedding) using Google's Gemini model or the local Qwen3-VL. These vectors are stored in a local ChromaDB database.
When you enter a search query, it's also converted into a vector in the same space. The system looks for the most similar video vectors and, if it finds a match above a certain threshold, automatically cuts out the needed fragment using ffmpeg.
Interestingly, there's no intermediate step involving text here. The text query "dog jumping for a ball" is directly compared with the visual features of the video.
What the tool can do
The project wins you over with its simplicity and attention to details that are usually forgotten in similar utilities.
Local run without the cloud
If you don't want to send your videos to Google via the Gemini API, you can use a local backend. The project supports the Qwen3-VL model family. The author has considered different scenarios: from powerful machines with NVIDIA GPU to MacBook on Apple Silicon. For example, on a Mac with 24 GB of RAM you can run the 8B version, and for more modest configs the 2B version will work.
Smart resource saving
Video indexing is a heavy process. To avoid wasting time and money (in the case of API), SentrySearch uses several tricks:
- Pre-compression: video is reduced to 480p at 5 frames per second before sending to the model. This is enough to understand what's going on, and the load drops significantly.
- Static skipping: if nothing is happening in the frame (for example, a car is parked in an empty lot), the script compares frame hash sizes and simply skips such chunks.
Features for Tesla owners
The author was clearly inspired by Tesla's Sentry Mode. The tool has a separate mode --overlay that extracts metadata from Tesla dashcam files (speed, GPS coordinates) and overlays them right on the video as a nice HUD interface. It can even do reverse geocoding via OpenStreetMap to display the street name where the incident occurred.

How to get started
Dependency management uses uv, which is becoming the standard in the Python community. Installation is straightforward:
git clone https://github.com/ssrajadh/sentrysearch.git
cd sentrysearch
uv tool install .
After that, you need to initialize the config and add an API key (if you plan to use Gemini):
sentrysearch init
Indexing a folder with videos:
sentrysearch index /path/to/your/video
And, actually, the search itself:
sentrysearch search "человек в синей куртке подходит к двери"
Is it worth it
The main question when using a cloud API is the price. The author calculated that indexing one hour of video through Gemini will cost about $2.84. That's not pocket change if you have terabytes of archives, but it's quite acceptable for quickly reviewing a specific incident.
If you use a local model, you only pay with GPU time. On NVIDIA 4090, processing one 30-second chunk takes just a couple of seconds.
From the downsides, I'd note that search quality heavily depends on how chunk boundaries align with key events. If an action started at the end of one piece and ended at the beginning of another, the model may "get confused." But the overlap partially solves this problem.
SentrySearch is a great example of how modern LLMs and multimodal models are turning from chatbot toys into genuinely useful utilities for everyday tasks. If you've ever had to manually search for "that exact moment" in camera recordings, this tool is definitely worth spending 15 minutes on setup.
Progetti correlati