aws-samples / amazon-rekognition-video-analyzer

A working prototype for capturing frames off of a live MJPEG video stream, identifying objects in near real-time using deep learning, and triggering actions based on an objects watch list.
Other
368 stars 158 forks source link

Can i run this on ec2 and get the input from a (webcam through internet )or kinesis video streams producer #32

Closed raghavk92 closed 6 years ago

raghavk92 commented 6 years ago

Hi, Had a few questions: 1)Can i run the prototype with a webcam on the internet when prototype is running on ec2. How do i make the system work without webcam being on local network?

2)how to i make the web UI work when the stream is originating from kinesis video stream producer made with https://docs.aws.amazon.com/kinesisvideostreams/latest/dg/producer-sdk-android.html ?

Thanks

moanany commented 6 years ago

Hello,

(1) Yes you can, here are the instructions (shared by a user):

HOW TO DEPLOY DEVELOPMENT ENVIRONMENT TO EC2 and USE PUBLIC IP CAMS

(a.) Install OpenCV on a Linux AMI: o sudo yum install git cmake gcc-c++ numpy python-devel o sudo pip install --upgrade pip o sudo ln -rs /usr/local/bin/pip /usr/bin/ o wget https://pypi.python.org/packages/18/eb/707897ab7c8ad15d0f3c53e971ed8dfb64897ece8d19c64c388f44895572/numpy-1.11.1-cp27-cp27mu-manylinux1_x86_64.whl o sudo pip install numpy-1.11.1-cp27-cp27mu-manylinux1_x86_64.whl o git clone https://github.com/Itseez/opencv.git o cd opencv o git checkout 3.1.0 o mkdir build o cd build o cmake .. -DBUILD_opencv_python2=ON o make -j4 o sudo make install o echo 'export PYTHONPATH=$PYTHONPATH:/usr/local/lib/python2.7/site-packages/:/usr/local/lib/python2.7/dist-packages/'>>~/.bashrc;. ~/.bashrc o python -c 'import cv2; print "cv2 imported"'

Reference: https://stackoverflow.com/questions/38775044/installing-opencv-python-on-amazon-linux-apache

(b.) Modify line 370 in build.py as follows: httpd = SocketServer.TCPServer(("0.0.0.0", port), Handler)

(c.) Camera Input: Using IP camera on laptop or elsewhere requires Security Group setting updates, or NAT’ing depending on whether the camera has public IP or not. An alternative is to use public IP Cameras from internet (precondition is MJPEG streaming). Following is a camera from an observatory in Spain that is verified to be working. http://iris.not.iac.es/axis-cgi/mjpg/video.cgi

(2) This is an AWS Lambda-based solution and is capable of processing video frames ingested through Kinesis Streams. Consuming Kinesis Video Streams in Lambda is currently not supported.

Hope that helps

moanany commented 6 years ago

Closing .. please re-open if you need further assistance .. thanks!

melgabay commented 1 year ago

Hey @moanany , after making all this installation I didn't succeed to use the camera of my laptop / RSTP camera on alphapose do you maybe know why I can't detect my camera? I'm using ASUS Zenbook UX331UA