python -onvif-zeep library - как захватить фрейм? - PullRequest
0 голосов
/ 05 августа 2020

Я использую IP-камеру безопасности ONVIF с библиотекой python-onvif-zeep https://github.com/FalkTannhaeuser/python-onvif-zeep. Кто-нибудь может предоставить короткий, простой и лаконичный пример, показывающий, как захватить кадр?

Readme и примеры https://github.com/FalkTannhaeuser/python-onvif-zeep/tree/zeep/examples показывают, как установить свойства камеры и некоторые другие вещи , но я не могу найти рабочий пример, который показывает, как захватить кадр.

Например, это простейшая из возможных программ OpenCV, которая захватывает кадры с 1-й подключенной веб-камеры и показывает их:

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()

1 Ответ

0 голосов
/ 05 августа 2020

При дальнейшем исследовании выяснилось, что python-onvif-zeep нельзя использовать для захвата кадров. Для этого необходимо использовать RTSP, см. Доступ к IP-камере в Python OpenCV

...