python-onvif-zeep库-如何抓取帧?

python-onvif-zeep library - how to grab a frame?

我正在使用带有 python-onvif-zeephttps://github.com/FalkTannhaeuser/python-onvif-zeep 的 ONVIF IP 安全摄像头。谁能提供一个简短、简洁的示例来说明如何抓取帧?

自述文件和示例 https://github.com/FalkTannhaeuser/python-onvif-zeep/tree/zeep/examples 展示了如何设置相机属性和其他一些内容,但我找不到展示如何抓取帧的工作示例。

例如,这是最简单的 OpenCV 程序,它从第一个连接的网络摄像头抓取帧并显示它们:

import cv2

def main():

    vidCap = cv2.VideoCapture(0)

    while True:

        frameGrabSuccessful, openCvImage = vidCap.read()

        cv2.imshow('openCvImage', openCvImage)

        keyPress = cv2.waitKey(1)
        if keyPress == 27 or keyPress == ord('q'):
            break
        # end if
    # end while

# end function

if __name__ == '__main__':
    main()

有人可以提供 python-onvif-zeep 库的等效示例吗?即:

from onvif import ONVIFCamera

def main():

    camera = ONVIFCamera('192.168.1.100', 80, 'username', 'pass')

    # what goes here ??

    while True:

        # what goes here ??

    # end while

# end function

if __name__ == '__main__':
    main()

经进一步调查,似乎 python-onvif-zeep 不能用于抓取帧。有必要为此使用 RTSP,请参阅