Python视频流-流过早结束于0,应为

时间:2019-07-04 15:33:05

标签: python opencv raspberry-pi video-streaming

我正在使用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相机流式传输到另一台PC”

1 个答案:

答案 0 :(得分:0)

我得到了这个错误。我认为,请检查您的htop以查看RAM存储空间。也许您的设备没有足够的RAM。我通过这种方式解决了我的问题。希望它有用。