Code:
from imutils.video import VideoStream
import cv2
# Read rtsp stream
rtsp = u"rtsp://admin:[email protected] /cdn-cgi/l/email-protection:554/1/h264major"
#vs = VideoStream(src=0).start() # for capturing from webcam
vs = VideoStream(src=rtsp).start()
while True:
frame = vs.read()
# show the output frame
cv2.imshow("Frame", frame)
key = cv2.waitKey(1) & 0xFF
# if the `q` key was pressed, break from the loop
if key == ord("q"):
break
# do a bit of cleanup
cv2.destroyAllWindows()
vs.stop()
- 我在使用 opencv 的 VideoCapture 时遇到了同样的问题 [ cap.isOpened() returns False ]
- 在两种情况下,即 cv2.VideoCapture(0) 或 VideoStream(src=0).start() 从网络摄像头捕获时,独立可执行文件工作正常
- 当脚本在 python 中运行时,rtsp 流捕获在这两种情况下都可以正常工作,即无需将其转换为独立的可执行文件。
- rtsp 流在 VLC 播放器上进行了测试,工作正常。
- 我正在使用Python 3.6.2 | OpenCV 3.2.0 |视窗
这是否是由于 RTSP 链接的 utf-8 等编码问题造成的?还有其他选择吗?
Solved:在我的可执行文件旁边包含 opencv_ffmpeg320_64.dll。
在我的可执行文件旁边包含 opencv_ffmpeg320_64.dll。
或者,将该 dll 文件复制到 python 目录中的 DLLs 文件夹中
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)