RTSP 流不适用于 python,但适用于 VLC。为什么?
RTSP stream doesn't work on python, But does on VLC. why?
我正在尝试让我的 PTZ 摄像机使用 python 3 和 openCV 进行流式传输。
我在代码中使用的 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
这是和海康云台摄像机。
我可以得到任何关于如何让她直播的提示吗?
提前TNX。
一个小改动,从 cv2.VideoCapture() 方法中删除 src=。
它应该看起来像,
cap = cv2.VideoCapture("rtsp://USER:PASS@XX.XXX.XXX.XXX:XXX/Streaming/Channels/101/")
这在海康威视相机中对我有用。避免在密码中使用特殊字母。
import cv2
cap = cv2.VideoCapture('rtsp://username:password@10.199.27.123:554')
while True:
ret, img = cap.read()
cv2.imshow('video output', img)
k = cv2.waitKey(10)& 0xff
if k == 27:
break
cap.release()
cv2.destroyAllWindows()
我正在尝试让我的 PTZ 摄像机使用 python 3 和 openCV 进行流式传输。 我在代码中使用的 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
这是和海康云台摄像机。 我可以得到任何关于如何让她直播的提示吗?
提前TNX。
一个小改动,从 cv2.VideoCapture() 方法中删除 src=。 它应该看起来像,
cap = cv2.VideoCapture("rtsp://USER:PASS@XX.XXX.XXX.XXX:XXX/Streaming/Channels/101/")
这在海康威视相机中对我有用。避免在密码中使用特殊字母。
import cv2
cap = cv2.VideoCapture('rtsp://username:password@10.199.27.123:554')
while True:
ret, img = cap.read()
cv2.imshow('video output', img)
k = cv2.waitKey(10)& 0xff
if k == 27:
break
cap.release()
cv2.destroyAllWindows()