Pro*_*wer 5 python opencv ffmpeg rtsp onvif
我在使用python 3.6.4的Windows上,通过pip安装了opencv(3.4)。这是我正在使用的代码:
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()
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
[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)
Run Code Online (Sandbox Code Playgroud)
我可以转到cmd并键入“ ffplay rtsp://192.168.15.116/onvif1”,视频将使用相同的rtsp地址在VLC中正常运行。使用cv2.VideoCapture(0)也可以与我的网络摄像头一起使用。
尝试将文件opencv_ffmpeg340.dll复制到所有路径文件夹,但仍然无济于事。还检查了构建,除gstreamer之外,所有视频I / O均显示为YES。我没主意了。
我使用 Microsoft 的 VCPKG 将 OPENCV 安装到 Windows 10 上。之后,OPENCV 工作正常 - 但它无法打开视频文件。
但没有成功,我尝试了很多建议。最后,对我有用的方法非常简单。我将 opencv 的 BIN 文件夹作为 PATH 包含在 Windows 环境系统变量中。就是这样。现在,视频文件可以正常打开和播放了。