Я использую Windows, используя python 3.6.4, установил opencv (3.4) через pip. Вот код, который я использую:
import numpy as np
import cv2
cap = cv2.VideoCapture('rtsp://192.168.15.116:554/onvif1')
while(cap.isOpened()):
ret, frame = cap.read()
gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
cv2.imshow('frame',gray)
if cv2.waitKey(1) & 0xFF == ord('q'):
break
cap.release()
cv2.destroyAllWindows()
Я получаю следующую ошибку:
[rtsp @ 03858a40] Nonmatching transport in server reply
warning: Error opening file (/build/opencv/modules/videoio/src/cap_ffmpeg_impl.hpp:808)
warning: rtsp://192.168.15.116:554/onvif1 (/build/opencv/modules/videoio/src/cap_ffmpeg_impl.hpp:809)
Я могу перейти в cmd и набрать «ffplay rtsp: //192.168.15.116/onvif1», и видео будет работать так же, как в VLC, с тем же адресом rtsp. Использование cv2.VideoCapture (0) также работает с моей веб-камерой.
Пытался скопировать файл opencv_ffmpeg340.dll во все папки пути, но безуспешно. Также проверена сборка, и все видео ввод / вывод отображаются с ДА, кроме gstreamer. У меня нет идей.