【问题标题】:Python Video Streaming - Stream ends prematurely at 0, should bePython 视频流 - 流在 0 处过早结束,应该是
【发布时间】: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


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-01-24
      • 2023-03-22
      • 1970-01-01
      • 1970-01-01
      • 2019-04-23
      • 1970-01-01
      相关资源
      最近更新 更多