SentrySearch: AI-Powered Natural Language Search for Dashcam Footage
Youâve got 200 hours of dashcam footage. Somewhere in there is the clip of that red truck that blew through a stop sign last Tuesday. Good luck finding it.
Thatâs the reality for Tesla owners with Sentry Mode, fleet operators, and anyone running security cameras. The footage exists â but retrieving a specific moment means scrubbing through endless hours of parked cars and empty streets. Nobody does it unless they absolutely have to.
SentrySearch changes that. Itâs an open-source CLI tool that lets you search video footage the way youâd search text: describe what youâre looking for, and it finds the clip.
sentrysearch search "red truck running a stop sign"
Thatâs it. You get ranked results by relevance, and the best match is automatically trimmed from the original file and saved as a standalone clip.
How It Works
SentrySearch operates in two phases: index and search.
Indexing splits your videos into overlapping 30-second chunks, then preprocesses each one aggressively â downscaling to 480p at 5fps, extracting at most 32 frames per chunk. This shrinks the data by roughly 95% before it ever touches a model. Each chunk gets embedded as a video vector and stored in a local ChromaDB database.
Searching embeds your text query into the same vector space and runs cosine similarity against every stored chunk. Results come back ranked by score, and the top match gets trimmed from the original full-resolution file automatically.
The trick is that video and text live in the same embedding space â so âperson in red jacket near back doorâ maps to the same neighborhood as a video clip showing exactly that.
Two Embedding Backends
You get a choice:
Gemini API (cloud) delivers the best embedding quality. Youâll need an API key from aistudio.google.com, but itâs fast and accurate. This is the default.
Local Qwen3-VL (private) runs entirely on your machine with no API calls. The 8B parameter model works well on machines with 24GB+ VRAM; thereâs a 2B variant for smaller setups. SentrySearch auto-detects your hardware â Apple Silicon gets MPS acceleration, NVIDIA GPUs get 4-bit quantization via CUDA. Nothing to configure.
Search by Image
Text isnât the only query type. You can pass a reference image:
sentrysearch search --image reference.jpg
This embeds the image and finds video chunks that look visually similar. Useful when you know what something looks like but canât easily describe it â a specific vehicle, a personâs outfit, a particular scene.
Why Itâs Fast
Raw dashcam footage is huge, but SentrySearch never sends raw video to the model. The preprocessing pipeline â downscaling, frame reduction, still-frame skipping (parked car footage gets skipped entirely) â means each chunk is a fraction of the original size. Matryoshka dimension truncation keeps vectors at 768 dimensions. On an A100, indexing runs at roughly 2-5 seconds per chunk. On a T4, 3-8 seconds. Overnight indexing of a large archive is entirely feasible.
Tesla-Specific Features
Tesla owners get extra goodies. The --overlay flag burns telemetry data directly onto trimmed clips â speed, GPS coordinates, and timestamp extracted from metadata embedded in Tesla dashcam files. Reverse geocoding converts coordinates into human-readable city and road names. The result is a clip thatâs ready for an insurance claim or police report without any post-processing.
sentrysearch search "car rear-ending me at intersection" --overlay
Getting Started
git clone https://github.com/ssrajadh/sentrysearch
cd sentrysearch
uv tool install .
sentrysearch init # configure backend (Gemini or local)
sentrysearch index /path/to/videos
sentrysearch search "what you're looking for"
The init step walks you through backend selection. If you pick Gemini, youâll paste your API key. If you pick local, it downloads the Qwen3-VL model automatically.
Use Cases
The obvious ones: insurance claims (find the exact incident, export a timestamped clip), fleet management (search across hundreds of vehicles for specific events), and security footage (natural language queries against weeks of camera recordings).
But the less obvious ones are compelling too. Law enforcement could search body cam and dash cam footage by description instead of watching hours of video. Tesla owners can finally make their Sentry Mode footage useful â searchable instead of just archived. Anyone with a home security camera can find âdelivery driver dropping packageâ without scrubbing through 24 hours of an empty porch.
The Bottom Line
SentrySearch solves a simple problem well: video footage is useless if you canât find whatâs in it. By embedding video chunks into the same space as text queries, it turns hours of unwatchable footage into a searchable archive. The local backend means you never have to send sensitive footage to the cloud. The Tesla integration means your clips come out ready to use.
Itâs open source, itâs a single CLI tool, and it works today. Check it out on GitHub.