How do I access my IP Camera stream?
Code for displaying a standard webcam stream is
import cv2 import numpy as np cap = cv2.VideoCapture(0) while(True): ret, frame = cap.read() cv2.imshow('frame',frame) if cv2.waitKey(1) & 0xFF == ord('q'): break cap.release() cv2.destroyAllWindows()
How do I do the same exact thing but with the IP Camera?
My system:
You can use video capture Object as
camera = cv2.VideoCapture("IP:PORT/video")
Answer #1: An IP camera can be accessed in opencv by providing the streaming URL of the camera in the constructor of cv2. VideoCapture . Usually, RTSP or HTTP protocol is used by the camera to stream video.
An IP camera can be accessed in opencv by providing the streaming URL of the camera in the constructor of cv2.VideoCapture
.
Usually, RTSP or HTTP protocol is used by the camera to stream video. An example of IP camera streaming URL is as follows:
rtsp://192.168.1.64/1
It can be opened with OpenCV like this:
capture = cv2.VideoCapture('rtsp://192.168.1.64/1')
Most of the IP cameras have a username and password to access the video. In such case, the credentials have to be provided in the streaming URL as follows:
capture = cv2.VideoCapture('rtsp://username:[email protected]/1')
This works with my IP camera:
import cv2 #print("Before URL") cap = cv2.VideoCapture('rtsp://admin:[email protected]/H264?ch=1&subtype=0') #print("After URL") while True: #print('About to start the Read command') ret, frame = cap.read() #print('About to show frame of Video.') cv2.imshow("Capturing",frame) #print('Running..') if cv2.waitKey(1) & 0xFF == ord('q'): break cap.release() cv2.destroyAllWindows()
I found the Stream URL in the Camera's Setup screen:
Note that I added the Username (admin) and Password (123456) of the camera and ended it with an @ symbol before the IP address in the URL (admin:123456@)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With