What you are working on :
Cambackup an app to monitor and record your live security cameras in the cloud with computer vision sauce.
What problem(s) you had, and which solutions you considered before
cambackup started back in 2011 and I wanted to come with a niche camera recording and monitor solution that a normal consumer can pay and don't have vendor lock ins, I wanted to include some sort of artificial intelligence.
The real problems I wanted to solve were :
that it need to be real cv no actual humans classifying the footages .
privacy and security.
I tried some services before with other projects :
Opencv with imagesets/datasets training, Cloudvision, Microsoft
I don't want to mention but here it is cloudsight (Don't use this if you are dealing with private user footage)
What your stack and image workflow is, upstream and downstream of
AWS => load balancer, S3, elastic cache, EC2, RDS, Cloudformation, route53, ssl manager
Server Orch. => Ansible, fabric
Python, Django, nginx-rtmp, mjpeg-tools, Rust, C++, opencv, Redis, Memcached, Celery
upstream/ downstream (I don't know if I understand this good, how I process my footage tags with clarifai?)
I get an frame from the camera I upload it to s3 and send the link to clarifai ( why I make links instead of simply upload it? I will improve it but..because I use a lot of ephemeral workers and I give exactly one job at a time when I schedule the task I will reserve it with a redis key so other workers don't repeat the same task like camera:xxx:recognize expire=60)
My worker will block (his own process of course) until I get the tags I then store/update it in a redis key for my application to use however he wants. I repeat this task depending on the use case eg. I do it 2X for frame compare, 1X every 60 minutes or 60 * 12 to update the user dashboard.
What we can do to better serve you
infrared/grayscale images vs color images different results.