【发布时间】:2019-07-04 15:33:05
【问题描述】:
我正在 Windows 中使用 python OpenCV 开发一个车牌识别软件,我需要从 Raspberry Pi 相机获取流。
我准备好 Raspberry Pi 以流式传输视频帧相机并使用我的软件获取它。但通常我得到错误并且我的流已经结束。发生该错误时,我尝试自动重新连接。然后,如果一开始就发生错误,则软件在错误后可以正常工作。如果在软件运行期间发生错误,我的软件的 CPU 使用率会很高并且没有响应。可以肯定的是,我尝试使用 VLC 播放器进行流式传输。有时,我无法得到它。如果我能得到流,就不会发生错误。在我的一些研究中,我发现错误是因为 Raspberry Pi 停止流式传输而发生的。但我确保 Raspberry Pi 继续流式传输。
import time
import cv2
from imutils.video import videostream
cap = videostream.VideoStream(src='http://192.168.xxx.xxx:8160', framerate=2).start()
time.sleep(0.1)
while True:
try:
frame = cap.read()
if frame is None:
cap.stop()
cap = videostream.VideoStream(src='http://192.168.xxx.xxx:8160', framerate=2).start()
time.sleep(0.5)
continue
cv2.imshow('frame', frame)
except:
cap.stop()
cap = videostream.VideoStream(src='http://192.168.xxx.xxx:8160', framerate=2).start()
time.sleep(0.5)
continue
if cv2.waitKey(100) & 0xFF == ord('q'):
break
cv2.destroyAllWindows()
我需要在没有任何错误的情况下获取流。我的错误就像
[http @ 000001c46ff47040] 流在 0 处提前结束,应该是 18446744073709551615
警告:打开文件时出错 (/build/opencv/modules/videoio/src/cap_ffmpeg_impl.hpp:856)
警告:http://192.168.xxx.xxx:8160 (/build/opencv/modules/videoio/src/cap_ffmpeg_impl.hpp:857)
如何摆脱这个错误?
编辑: 我从here 学习了“如何将 Raspberry Pi 相机流式传输到另一台电脑”
【问题讨论】:
标签: python opencv raspberry-pi video-streaming