到目前为止,我已经使用OpenCV从Raspberry pi + pi摄像机流化ip摄像机。我想使用编解码器H.264从ip摄像机保存视频,但无法正常工作。我从这篇帖子https://github.com/skvark/opencv-python/issues/100中发现,该帖子告诉我只有手动构建的opencv库才能支持H264编解码器。 因此,我按照此链接手动构建了opencv https://www.learnopencv.com/install-opencv3-on-ubuntu/,并成功了。 但是当我使用手动构建的opencv时,我无法再访问我的IP摄像机, cap.open()始终返回None。这是我的代码:
import cv2
cap = cv2.VideoCapture("http://10.10.1.240:8081/")
while True:
ret, frame = cap.read()
frame2 = cv2.flip(frame, 1)
cv2.imshow("frame2", frame)
key = cv2.waitKey(25)
if key == 27:
break
cap.release()
cv2.destroyAllWindows()
在上面的代码中, ret始终为False 。 我被困在这里两天了,没有真正的解决方案和解释。任何帮助都将得到帮助,谢谢!
答案 0 :(得分:0)
但是当我使用手动构建的opencv时,我无法再访问我的IP摄像机,cap.open()始终不返回任何内容。
您是否尝试过从源代码构建opencv后检查您的IP摄像机是否正常工作并出现在网络上?从源代码关闭opencv后,您是否尝试使用任何媒体播放器从相机中播放视频?
就您的代码而言,请为cv2.VideoCapture尝试以下格式
cap = cv2.VideoCapture()
cap.open("rtsp://yourusername:yourpassword@172.16.30.248:555/Streaming/channels/2/")
您的IP摄像机的用户名-用户名。 给定用户名的yourpassword-password。
您也可以尝试以下方法。
cv2.VideoCapture("rstp://admin:PASSWORD@192.168.1.64/doc/page/previw.asp")
谢谢。
答案 1 :(得分:0)
确保计算机和摄像机的IP地址在同一子网掩码中。