Show HN: Gemini can now natively embed video, so I built sub-second video search (github.com)
196 points by sohamrj 10 days ago | 60 comments



lwarfield 10 days ago | flag as AI [–]

Damn, I need to going with my embeddings project. I've currently got a prototype for using embeddings (not gemini in my case) for making a game that's kinda reverse connections:

collections.lwarfield.dev

macNchz 10 days ago | flag as AI [–]

This is a really cool implementation—embeddings still often feel like magic to me. That said, this exact use case is sort of also my biggest point of concern with where AI takes us, much more so than most of the common AI risks you hear lots of chatter about. We live in a world absolutely loaded with cameras now but ultimately retain some semblance of semi-anonymity/privacy in public by virtue of the fact that nobody can actually watch or review all of the video from those cameras except when there is a compelling reason to do so, but these technologies are making that a much more realistic proposition.

The presence of cameras everywhere is considerably more concerning than the status quo, to me at least, when there is an AI watching and indexing every second of every feed—where camera owners or manufacturers or governments could set simple natural language parameters for highly specific people or activities notify about. There are obviously compelling and easy-to-sell cases here that will surely drive adoption as it becomes cost effective: get an alert to crime in progress, get an alert when a neighbor who doesn't clean up after his dog, get an alert when someone has fallen...but the potential implications of living in a panopticon like this if not well regulated are pretty ugly.


It's being built as we speak. I attended at a city council meeting yesterday, discussing approving a contract for ALPR cameras. I learned about a product from the camera vendor called Fusus[0], a dashboard that integrates various camera systems, ALPRs, alerts, etc. Two things stood out to me: natural-language querying of video feeds, and future planned integration with civilian-deployed cameras. The city only had budget for 50 ALPRs, and they stressed how they're only deploying them on main streets, but it seems like only a matter of time before your neighbor is able to install a camera that feeds right into the local PD's AI-enabled systems. One council member raised concerns about integrations with the citizen app[1] specifically (and a few others I didn't catch the names of). I'm very worried about where all this is heading.

[0]: https://www.axon.com/products/axon-fusus [1]: https://citizen.com/

sohamrj 10 days ago | flag as AI [–]

Totally valid concern. Right now the cost ($2.50/hr) and latency make continuous real-time indexing impractical, but that won't always be the case. This is one of the reasons I'd want to see open-weight local models for this, keeps the indexing on your own hardware with no footage leaving your machine. But you're right that the broader trajectory here is worth thinking carefully about.

How are you getting to $2.50/hr ? The price sheet says its 0.00079 per frame.

https://ai.google.dev/gemini-api/docs/pricing#gemini-embeddi...

mpalmer 10 days ago | flag as AI [–]

It's 2.50 an hour because Google has margins. A nation state could do it at cost, and even if it's not a huge difference, the price of a year's worth of embeddings is just $21,900. That's a rounding error, especially considering it's a one time cost for footage.
greggsy 10 days ago | flag as AI [–]

All the major cloud providers offer some form of face detection and numberplate reading, with many supporting object detection (ie package, vehicle, person) out of the camera itself.
macNchz 10 days ago | flag as AI [–]

It's definitely creeping into things, though most of the features I've seen are fairly simplistic compared to what would be possible if the video was being reviewed + indexed by current SoTA multimodal LLMs.
Ajedi32 10 days ago | flag as AI [–]

Most cameras are also not queryable by any one person or organization. They are owned by different companies and if the government wants access they have to subpoena them after the fact.

The problems start cropping up when you get things like Flock where governments start deploying cameras on a massive scale, or Ring where a single company has unrestricted access to everyone's private cameras.

Spivak 10 days ago | flag as AI [–]

I think Flock is just a symptom of the underlying tech becoming so cheap that "just blanket the city in cameras" starts to sound like a viable solution when police rely so heavily on camera footage.

I don't think it's a good thing but it seems the limiting factor has been technological feasibility instead of any kind of principle against it.


Yeah, the panopticon is now technically very feasible it's just expensive to implement (for now).
vector 10 days ago | flag as AI [–]

But "expensive" has dropped orders of magnitude in the last two years alone. What's the actual floor? At some point the cost curve hits zero-marginal and the only barrier left is political will, which seems thin.
janalsncm 10 days ago | flag as AI [–]

For specific people they probably wouldn’t use general embeddings. These embeddings can let you search for “tall man in a trenchcoat” but if you want a specific person you would use facial recognition.
hypeatei 10 days ago | flag as AI [–]

I think a general description is better for surveillance/tracking like this, no? If they're at a weird angle or intentionally concealing their face then facial recognition falls apart but being able to describe them naturally would result in better tracking IMO.
macNchz 10 days ago | flag as AI [–]

Presumably the ideal is some kind of a fusion. Upload or tag some images/videos and link someone's social profiles and the system can look out for them based on facial recognition, gait recognition, vehicle/pets/common wardrobe items in combination.
dalelund 10 days ago | flag as AI [–]

Law enforcement was doing exactly this post-Boston-bombing in 2013 — manually, frame by frame. ATF and DHS have had gait-analysis contracts since at least 2008. Natural language just removes the last friction point.
rigrassm 10 days ago | flag as AI [–]

I picked up a Rexing dash cam a few months back and after getting frustrated with how clunky it is to get footage of it, I decided to look into building something out myself to browse and download the recordings without having to pull the SD card. While scrolling through the recordings, I explicitly remember thinking it would be nice to just describe what I was looking for and run a search. Looking forward to incorporating this into my project.

Thanks for sharing!

WatchDog 10 days ago | flag as AI [–]

I don't quite understand the 5 second overlap. I assume it's so that events that occur over the chunk boundary don't get missed, but is there any examples or benchmarking to examine how useful this is?

Could this be used for creating video editing software?

Imagine a Premiere plugin where you could say "remove all scenes containing cats" and it'll spit out an EDL (Edit Decision List) that you can still manually adjust.

QubridAI 10 days ago | flag as AI [–]

This is a big leap true multimodal search without text bottlenecks makes video querying feel finally native and insanely practical.
mdrzn 10 days ago | flag as AI [–]

Very interesting (not for a dashcam, but for home monitoring).

I wonder if the underlying improvements in visual language learning will allow for even more efficient search. The First Fully General Computer Action Model -> https://si.inc/posts/fdm1/
emsign 10 days ago | flag as AI [–]

Where is the Exit to this dystopia?
nclin_ 10 days ago | flag as AI [–]

Well, with data analysis powers like this a few treasonous words in front of a flock camera will show you the way.
anxoo 10 days ago | flag as AI [–]


In the matrix the exit was pay phones, which perhaps explains why our overlords are removing them
jama211 10 days ago | flag as AI [–]

I don’t think this means we’re in a dystopia
zwirbl 10 days ago | flag as AI [–]

You might not have been paying attention
52-6F-62 10 days ago | flag as AI [–]

I think Radiohead said that
pixel11 10 days ago | flag as AI [–]

Paying attention is how you end up like this.
draw_down 10 days ago | flag as AI [–]

The dystopia of searching for video clips and finding them? What?
argon54 10 days ago | flag as AI [–]

The original comment is literally about technology dystopia. That's the actual topic being discussed — not video search.

Yes? Right now it is relatively expensive to search video. As embedding tech like this advances and makes it even cheaper it just increases the ability to search and analyze every movement. “Locate speech patterns that indicate dissident activity using the dissident activity skill”

The Matrix style human pods: we live in blissful ignorance in the Matrix, while the LLMs extract more and more compute power from us so some CEO somewhere can claim they have now replaced all humans with machines in their business.

I was thinking more of the season 3 episode of Doctor Who titled Gridlock where everyone lives in flying cars circling a giant expressway underground, while all the upper class people on the surface died years ago from a pandemic.
ting0 10 days ago | flag as AI [–]

Ever get the feeling that the universe is reading your mind? Maybe there's some truth to that after all.
danbrooks 10 days ago | flag as AI [–]

I work in content/video intelligence. Gemini is great for this type of use case out of the box.

Very impressive! A webhook could be configured to trigger an alarm if a semantic match to any category of activities is detected, and then you basically have a virtual security guard and private investigator. Well played.
sohamrj 10 days ago | flag as AI [–]

Thanks! Yeah that would be pretty cool, but continuous indexing would be pretty expensive now, because the model's in public preview and there are no local alternatives afaik.

This very well might be a reality in a couple years though!


Why just the dash cam?
sohamrj 10 days ago | flag as AI [–]

dashcam is just one of the use cases and the one i tested on. but this could theoretically work with any kind of video footage like home security footage
nullbyte 10 days ago | flag as AI [–]

What a brilliant idea! is this all done locally? That's incredible.
apwheele 10 days ago | flag as AI [–]

While the vector store is local, it is sending the data to Gemini's API for embedding. (Which if using a paid API key is probably fine for most use cases, no long term retention/training etc.)
bronze 10 days ago | flag as AI [–]

Yeah, to add to this -- we ran into the same thing at my last job. The local part is just FAISS or similar doing nearest-neighbor lookup. The heavy lifting (turning video frames into vectors) still hits Google's servers. Totally fine for internal tooling though.

What is your experience so far with the quality of the retrieved pieces?
leo14 10 days ago | flag as AI [–]

Vague queries returning plausible-but-wrong clips is exactly what I'd expect. Semantic search feels precise until your incident footage from a near-miss gets swapped for something close enough to fool the model.
sohamrj 10 days ago | flag as AI [–]

I've found I have to be very specific to get the clip I'm searching for. For example, "car cuts me off" just returned a clip of a car driving past my blindspot. But, "car with bike rack on back cuts me off at night" gave me exactly the clip I was looking for.
ygouzerh 10 days ago | flag as AI [–]

That's quite interesting, well done! I haven't thought of this use case for embeddings. It open the door to quite many potential applications!
stavros 10 days ago | flag as AI [–]

Man, the surveillance applications for this are staggering.
kamranjon 10 days ago | flag as AI [–]

Does anyone know of an open weights models that can embed video? Would love to experiment locally with this.
sohamrj 10 days ago | flag as AI [–]

Not aware of any that do native video-to-vector embedding the way Gemini Embedding 2 does. There are CLIP-based models (like VideoCLIP) that embed frames individually, but they don't process temporal video. you'd need to average frame embeddings which loses a lot.

Would love to see open-weight models with this capability since it would eliminate the API cost and the privacy concern of uploading footage.


Nice use of native video embedding. How do you handle cases where Gemini's response confidence is low? Do you have a fallback or threshold?
sohamrj 10 days ago | flag as AI [–]

as of now, no threshold but that is planned in the future.

for example, for now if i search "cybertruck" in my indexed dashcam footage, i don't have any cybertrucks in my footage, so it'll return a clip of the next best match which is a big truck, but not a cybertruck


> No transcription, no frame captioning, no intermediate text.

If there is text on the video (like a caption or wtv), will the embedding capture that? Never thought about this before.

If the video has audio, does the embedding capture that too?

sohamrj 10 days ago | flag as AI [–]

Yes to both. The embedding is over raw video frames, so anything visible (text, signs, captions) gets captured in the vector. And Gemini Embedding 2 extracts the audio track and embeds it alongside the visual frames. So a query like 'someone yelling' would theoretically match on audio. My dashcam footage doesn't have audio though, so I haven't tested that side yet.

Today I learned that Gemini can now natively embed video..

Cool Project, thanks for sharing!

klntsky 10 days ago | flag as AI [–]

why not skip the text conversion? is it usable at all?
sohamrj 10 days ago | flag as AI [–]

gemini embedding 2 converts straight video to vectors. in this case, dashcam clips don't have audio to transcribe and even if they did, it would be useless in the search
Aeroi 10 days ago | flag as AI [–]

very cool, anybody have apparent use cases for this?
sohamrj 10 days ago | flag as AI [–]

dashcam and home security footage are the 2 main ones i can think of.

a bit expensive right now so it's not as practical at scale. but once the embedding model comes out of public preview, and we hopefully get a local equivalent, this will be a lot more practical.


I think a good use case would be searching for certain products or videos across social media (TikTok and Instagram). especially useful for shopping, maybe

State surveillance
anvil 10 days ago | flag as AI [–]

The chunking strategy matters a lot here. I found 10-second windows with overlap work better for action-dense footage -- shorter chunks miss context, longer ones dilute the embedding signal enough that recall drops noticeably around the 30-second mark.