3 ms·
You suggest these features (people detection, timeline scrubbing etc.) are possible with a locally hosted solution - are you aware of any such alternatives? An
by victorhooi 10y ago
You suggest these features (people detection, timeline scrubbing etc.) are possible with a locally hosted solution - are you aware of any such alternatives?
And please don't mention things like Motion or ZoneMinder unless you've actually tried them. And if you have tried them, well, why are you still arguing with me =). It's sad, and I wish it were otherwise, but there are not very many good OSS solutions I'm aware of in this space.
There are commercial solutions (e.g. Ubiquiti's Unifi Video line, or Blue Iris) that handle the NVR side well, but don't really do the extra stuff well.
I suspect you are under-estimating both the infrastructure required to do this well, or the engineering effort.
It's like say, a search engine. Yes, you could write a web crawler in your basement, and host it on a few commodity servers. It would return results when you put in search terms. It might just take a while to react to updates on pages. Or it might only crawl a subset of the internet. But you could argue that there's no need for a remote "cloud" service to do it, when you can do it yourself on-premise. However, my argument is that there's a difference between doing something well and just doing it.
Or take Netflix - yes, you could transcode video yourself into various formats, and serve that up from your home server. However, if you wanted to share this with somebody in another country, unless you also had geo-proximate caches in those countries that mirrored your home server, you might find some issues there. It's workable, just not very good.
> It shouldn't need to. Detecting people on video streams is something your smartphone camera now does on-chip. At most it requires a DSP unit.
There's a difference between detecting a face in a photograph (and even that can be tricky sometimes), and identifying people (versus say, large animals etc.) in arbitrary video footage in realtime with a reasonable degree of certainty.
Or are you aware of phones that already do this kind of thing? (If so, I apologise, because I'm unaware of this).
> That's just a video player with some added precalc on the video stream.
It's actually not..lol. There's a public blog post which I admit is a bit market-y
https://nest.com/blog/2016/09/08/we-ve-changed-the-game/ https://nest.com/blog/2016/09/08/we-ve-changed-the-game/
But essentially, they use ML to figure out the most "representative" shot for each block, thus distill several hours of footage into several hundred key frames, and allowing you to scrub through them quickly. The blog post has an animated GIF that shows the UI in action:
https://d2qxwxxauf5yxr.cloudfront.net/blog/images/2016-09-08/sightline-3d44325a09.gif https://d2qxwxxauf5yxr.cloudfront.net/blog/images/2016-09-08...
The trick isn't serving up the image stream - it's figuring out what to put into it.
(I admit I'm slightly biased here, because I watched a presentation from some of the engineers involved, talking about how they implemented it, and the effort that went into it).