简单小程序
import cv2
cap = cv2.VideoCapture("rtsp://192.168.1.***:***/1") #rtsp://admin:123456@192.168.1.64:554/2用户名:admin,密码:123456
fourcc = cv2.VideoWriter_fourcc(*'XVID')
out = cv2.VideoWriter('web.mp4', fourcc, 30.0, (int(cap.get(3)),int(cap.get(4))), 1)
while True:
ret,frame = cap.read()
key = cv2.waitKey(1)
if key == 27: # 用户按下ESC(ASCII码为27),则跳出循环
break
out.write(frame)
# show a frame
cv2.imshow("capture", frame)
if cv2.waitKey(1) & 0xFF == ord('q'):
break
cap.release()
out.release()
cv2.destroyAllWindows()
1.写入视频,对延时有较大影响,延时影响大时,注释掉写入。
2.waitKey()函数详解
waitKey()函数是在一个给定的时间内(单位ms)等待用户按键触发;如果用户没有按下 键,则接续等待(循环),设置waitKey(0),则表示程序会无限制的等待用户的按键事件
如下所示: while(1){ if(waitKey(100)==27)break; } 在这个程序中,我们告诉OpenCv等待用户触发事件,等待时间为100ms,如果在这个时间段内, 用户按下ESC(ASCII码为27),则跳出循环,否则,则跳出循环