SentrySearch: AI-Powered Natural Language Search for Dashcam Footage

By Prahlad Menon 4 min read

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.