我想使用FFMPEG作为OpenCV的后端,但我不能让它工作。使用的操作系统是CentOS8。OpenCV和FFMPEG版本分别为3.4.5和2.8.17。
OpenCV构建信息显示了FFMPEG=ON,因此OpenCV似乎能够识别FFMPEG库。
这是OpenCV构建信息的视频I/O部分。
Video I/O:
DC1394: NO
FFMPEG: YES
avcodec: YES (58.91.100)
avformat: YES (58.45.100)
avutil: YES (56.51.100)
swscale: YES (5.7.100)
avresample: NO
GStreamer: NO
v4l/v4l2: YES (linux/videodev2.h)
但是,在运行时显示的Info消息显示
[ INFO:0] VIDEOIO: Enabled backends(6, sorted by priority): GSTREAMER(1000); V4L2(990); CV_IMAGES(980); CV_MJPEG(970); FIREWIRE(960); UNICAP(950)
OpenCV | GStreamer warning: your gstreamer installation is missing a required plugin(/builddir/build/BUILD/opencv-3.4.6/modules/videoio/src/cap_gstreamer.cpp:1823)
OpenCV | GStreamer warning: GStreamer: unable to start pipeline(/builddir/build/BUILD/opencv-3.4.6/modules/videoio/src/cap_gstreamer.cpp:872)
我也不明白为什么在构建信息中没有启用Gstreamer时还要使用它。
可能的原因是什么?如果你知道更多,请告诉我。
发布于 2021-11-11 22:37:57
即使您将FFMPEG=ON设置为首选项,也不能保证在opencv构建过程中会打开FFMPEG。因为OpenCV将检查所有依赖项。请安装所有依赖项,并尝试安装缺少的部分,例如GStreamer。
https://stackoverflow.com/questions/69938799
复制相似问题