我正在尝试使用python 3和openCV使我的PTZ摄像机流式传输。
我在代码中使用的URL适用于VLC流,但不适用于代码。
import cv2
import numpy as np
cap = cv2.VideoCapture(src="rtsp://USER:PASS@XX.XXX.XXX.XXX:XXX/Streaming/Channels/101/")
FRAME_WIDTH = int(cap.get(cv2.CAP_PROP_FRAME_WIDTH))
FRAME_HIGTH = int(cap.get(cv2.CAP_PROP_FRAME_HEIGHT))
print('Frame Size: ', FRAME_WIDTH, 'x', FRAME_HIGTH)
if cap.isOpened():
ret, frame = cap.read()
else:
ret = False
while ret:
ret, frame = cap.read()
cv2.imshow('Camera', frame)
if cv2.waitKey(1) & 0xFF == ord('q'):
break
cap.release()
cv2.destroyAllWindows()
当我运行它时,我得到下一个错误:
Traceback (most recent call last): File "C:/Users/.../CameraTest/TEST.py", line 4, in <module>
cap = cv2.VideoCapture(src="rtsp://.../Streaming/Channels/101/") TypeError: Required argument 'index' (pos 1) not found
这是和HIKVISON PTZ摄像机。
请问如何让她直播的任何提示。
提前TNX。
最佳答案
一个小的更改,从cv2.VideoCapture()方法中删除 src = 。
它看起来应该像
cap = cv2.VideoCapture("rtsp://USER:PASS@XX.XXX.XXX.XXX:XXX/Streaming/Channels/101/")
关于python - RTSP流不适用于python,但适用于VLC。为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60992133/