我需要使用我的树莓派 4 从 AXIS M1125 网络摄像机访问视频流。
我有一个可以在我的笔记本电脑和树莓派 3 上运行的代码。我使用的是用于 raspbian 的 openvino 发行版中的 opencv 4.1。
camera = cv2.VideoCapture('http://192.168.1.38/axis-cgi/jpg/image.cgi')
当我运行代码并调试 OPENCV_VIDEOCAPTURE_DEBUG 时,输出为:
[ WARN:0] VIDEOIO(FFMPEG): trying capture filename='http://192.168.1.38/mjpg/1/video.mjpg' ...
[ WARN:0] VIDEOIO(FFMPEG): backend is not available (plugin is missing, or can't be loaded due dependencies or it is not compatible)
[ WARN:0] VIDEOIO(GSTREAMER): trying capture filename='http://192.168.1.38/mjpg/1/video.mjpg' ...
(python3:6939): GStreamer-CRITICAL **: 14:32:38.521:
Trying to dispose element appsink0, but it is in READY instead of the NULL state.
You need to explicitly set elements to the NULL state before
dropping the final reference, to allow them to clean up.
This problem may also be caused by a refcounting bug in the
application or some element.
...
[ WARN:0] VIDEOIO(GSTREAMER): can't create capture
[ WARN:0] VIDEOIO(V4L2): trying capture filename='http://192.168.1.38/mjpg/1/video.mjpg' ...
[ WARN:0] VIDEOIO(V4L2): can't create capture
[ WARN:0] VIDEOIO(CV_IMAGES): trying capture filename='http://192.168.1.38/mjpg/1/video.mjpg' ...
[ WARN:0] VIDEOIO(CV_IMAGES): created, isOpened=0
[ WARN:0] VIDEOIO(CV_MJPEG): trying capture filename='http://192.168.1.38/mjpg/1/video.mjpg' ...
[ WARN:0] VIDEOIO(CV_MJPEG): can't create capture
cv2.getBuildInformation() 的输出:
Platform:
Timestamp: 2019-03-19T16:11:44Z
Host: Linux 4.13.0-45-generic x86_64
Target: Linux 1 arm
CMake: 3.7.2
CMake generator: Ninja
CMake build tool: /usr/bin/ninja
Configuration: Release
Video I/O:
FFMPEG: YES
avcodec: YES (57.64.101)
avformat: YES (57.56.101)
avutil: YES (55.34.101)
swscale: YES (4.2.100)
avresample: NO
GStreamer: YES (1.10.4)
v4l/v4l2: YES (linux/videodev2.h)