242

I indexed 669 GB of my GoPro videos using my M1 Max computer and local ML models

TLDR: I had 2,207 GoPro videos, and I need to rewatch them to find interesting moments from my cycling journey. I built a project to index them locally on my M1 Max using open-source ML models, search for those moments, and send the best clips straight to my DaVinci Resolve timeline. I indexed 628 videos (668.68 GB, 15h 13m 18s of footage duration), more details in the metrics table in the last section of this article.

Full article: https://iliashaddad.com/blog/i-indexed-669-gb-of-my-gopro-videos-using-my-m1-max-computer

Funny this is almost EXACTLY what I did a few days ago on the same machine using very similar techniques and was on the front-page of HN as well:

https://news.ycombinator.com/item?id=48222733 https://blog.simbastack.com/indexed-a-year-of-video-locally/

I wasn't familiar with your project though, interesting stuff.

I'm trying to add more photography related features to Framedex but yeah there's so much we can do locally, exciting times.

5 hours agoasenna

That's great, I checked your article when it was in front page because someone mentioned my project in the comments.

Good job for the article and the project. That's great, yes local models are getting better and better

an hour agoiliashad

Something I've enjoyed more than I expected is Google and Apple photos sending me photo memories and compilations of various things in my life and my kids lives over the last decade.

I'm really bullish on taking more video of my kids, with the thought that it will become easier and easier for AI to put them into little compilations I can enjoy later.

2 hours agojustinram11

do you use android and ios, or is there another benefit to having personal media with both?

26 minutes agoJMiao

Can you please elaborate more?

23 minutes agoiliashad

DaVinci 21 has indexing built-in (AI IntelliSearch). Not to diminish the work you did, but this is now available to many users (probably only Studio users since it has AI in the name)

5 hours agorobrain

Yes, I didn’t look at it. But does it upload your videos to the cloud or process them locally? And does it allow to provide custom faces data to help labeling faces in your videos ?

I think Adobe premiere pro have it as well but cloud processed

5 hours agoiliashad

The AI features in DaVinci Resolve are all processed locally. It does not currently have face tagging.

5 hours agoteovall

That’s great to know, thank you!

4 hours agoiliashad

> Then, run the frame analysis pipeline, which will divide the video into separate video scenes (1s each, or 1fps) > (…) > Frames analyzed 57,537

Aha, it makes total sense. This number sounds much more reasonable than “669 GB”, since the actual total size of processed frames would be like 10-30 GB.

(Not downplaying anything. Doing-at-home always requires some math on practicality)

> Total compute time 67h 40m 42s

I’m just curious tho — is there any paying options that can accelerate this kind of process? Just spin up GPU instances?

an hour agoesjeon

> Aha, it makes total sense. This number sounds much more reasonable than “669 GB”, since the actual total size of processed frames would be like 10-30 GB.

The reason why is “669 GB” is the total raw footage size when I'm doing the video processing, I downscaled each frame to 720p to make the video processing much faster and I don't need full original quality in order to get accurate results (as far as I know and experiment with).

> I’m just curious tho — is there any paying options that can accelerate this kind of process? Just spin up GPU instances?

For now, I found that NVIDIA GPU for example RTX 3060 with 12GB Vram was much faster than my M1 Max. (still working on optimizing for speed and accuracy).

an hour agoiliashad

this is really cool. was looking to do something similar on mbp 64gb

3 minutes agoPreownedPlaid

Does it work for porn collections too?

7 hours agoBeijinger

You'll need a lora for this, porn content rejection is heavy. Or you'll need a abliterated model, not sure if vision also works.

You might want to add something like yolo finetune to detect scenes + face recognition too.

7 hours agopduggishetti

For GP's purpose, can face recognition techniques be repurposed for, um, other body parts recognition? Sometimes the actresses are facing away from camera. There are exposed lips, if that helps.

3 hours agodotancohen

Vision still works perfectly fine in abliterated models.

5 hours agovorticalbox

Never tried any of this for porn, just speaking out how I would go about it tbh!

4 hours agopduggishetti

Why it’s always the same question? Hahah. I posted my project over Reddit and I got the same one hahah

5 hours agoiliashad
[deleted]
5 hours ago

Last time I tried whisper, it hallucinated an elaborate conversation from sounds of slapping and moaning and it took minutes to spit every single line of it.

7 hours agolifestyleguru

Parakeet has been trained to detect non-voice sounds and exclude that from identification, so you might have better luck with that family.

5 hours ago3eb7988a1663

If I remember correctly, the whisper documentation actually recommends to trim non-speech portions as the models halucinate heavily during those portions.

3 hours agodotancohen

Not sure if you’re being sarcastic but I think this is an interesting question. Would deep seek be useful here since it is local?

7 hours agosupertroop

just because it is local does not mean it wouldn't reject explicit content. you can definitely try and find abilated models and can attempt to use unsloth or something similar to tune it properly.

3 hours agofibers

Depends how deep you wanna go.

3 hours agookr

I was surprised to learn that the

    M1 Max CPU is an ARM/SoC, comparable to an 11th gen Intel i9
Do I have it right? Would Windows ARM performance be similar for those cpu?

ref: https://www.cpubenchmark.net/compare/4585vs4245/Apple-M1-Max...

6 hours agoWarOnPrivacy

It's also a bit apples (heh) to oranges for a handful of reasons, but most impactful

- "unified" ram makes all the system ram available as VRAM - dedicated ai coaccelerator thingy

Both of these reasons allow the apple silicon chips to crush conventional cpus in these kind of AI model workload stuffs

No idea about what the windows arm stuff is capable of. I know they use Qualcomm snapdragon chips though.

5 hours agopachouli-please

“Comparable” is maybe true if we are talking about single core performance, but for memory bandwidth, the M1 Max is about 8 times faster. Wider bus, lower latency, not even close.

5 hours agoowldown

To your question, I can’t deny or confirm that because I didn’t tried it this project over a Windows machine yet or a machine with this config

5 hours agoiliashad

I have an RTX 5090 card but it only has 32 GB RAM, can something like this work on my machine?

2 hours agocake-rusk

Yes, and it’ll result in much faster results than the ones that I did with my computer

an hour agoiliashad

if anyone is interested in searching large video collections local and offline I suggest taking a look at Jumper https://docs.getjumper.io

comes with some nifty features like NLE- integrations, people search, MCP, API etc

Disclaimer: one of the co-founders

3 hours agotontonius

The link just timed out for me. I'm in Israel, connecting via residential WiFi. All other sites that I regularly use connect just fine.

2 hours agodotancohen

it is possible to use apple gpu with containers. either with podman + runkit + recent mesa or with recent vllm-metal from docker https://www.docker.com/blog/docker-model-runner-vllm-metal-m...

6 hours agofl0id

I was looking for a solution for this issue of running docker containers over MPS and utilizing their GPU power. I think this project will be the solution for it, I’ll try it very soon and add support for it. Thank you, much appreciated

5 hours agoiliashad

I’d like to see embedding of actual video clips become practical in this type of workflow.

Frame level embedding it covering a lot, but can miss out on a lot of action related searches.

4 hours agoWhitneyLand

Sure, I'm using (https://huggingface.co/collections/Qwen/qwen25-vl) which can help me understand action like falling down, because I can provide for example 5 frames (down scaled to 720p) to understand what is happening in this part of the video

40 minutes agoiliashad

This would fit most best as a “Show HN:” post :)

7 hours agorho138

The title should link to the "full article". I wonder if OP's domain name is banned or something and they're doing this to get around it

7 hours agoculi

I tried to edit it and add Show HN, but it doesn't show the edited version. Thank you!

6 hours agoiliashad

I would love your feedback and suggestions for new improvements or features you wanna have, either in the source available version, the desktop app or blog post itself?

6 hours agoiliashad
[deleted]
5 hours ago

Grab frames, lower res, classify, combine meta data. Write to sql

5 hours agom3kw9

Not really. Grab frames, lower res, classify, combine metadata, transcribe the audio, convert those data (text, visual and audio) to embedding, save them over a vector DB and SQL DB. Which helped me to do semantic search, RAG, search using a screenshot of the video to find the exact the moment in the video plus search using an audio file as well. And other features unlocked with vector DB

5 hours agoiliashad

Really cool work and workflow. strongly prefer this kind of local, open pipeline that i control over a dependency on Adobe tools and lock ins.

3 hours agoingvay7

I agree with that, thank you for your feedback. Also, maybe you're not a video editor and you just wanna search your videos. The video editing integrations are optional and you have full control. You can switch between Adobe Premiere Pro, Final cut Pro or Davinci Resolve

38 minutes agoiliashad

Now this ^^ is an awesome use case!

4 hours agonyxtom

Thank you, would like to know your use case for this kind of project and which prompt you want to genearte ?

39 minutes agoiliashad

[flagged]

4 hours agoknightops_dev

[flagged]