You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

cv::VideoWriter::open()调用失败,Fedora仓库OpenCV库是否异常?

问题分析与解决

结论

不是Fedora仓库的OpenCV库本身存在异常,核心问题是FFmpeg插件缺失,加上GStreamer、MFX后端的依赖/配置问题,导致所有可用的视频写入后端都无法正常工作。

关键日志拆解

从运行输出里可以定位几个核心故障点:

  • FFmpeg插件未找到:日志明确显示Found 0 plugin(s) for FFMPEG,而FFmpeg是OpenCV优先级最高的视频写入后端,这是导致VideoWriter::open()失败的主要原因。Fedora将OpenCV的FFmpeg功能拆分到了单独的子包中,默认安装的主OpenCV包并不包含该插件。
  • GStreamer链路搭建失败:OpenCV | GStreamer warning: cannot link elements,说明GStreamer缺少MP4编码所需的插件,无法构建完整的视频编码链路。
  • MFX初始化失败:MFX: Can't initialize session,这是Intel硬件加速后端,无对应硬件或驱动支持时会触发该错误,属于次要问题。

解决办法

1. 安装OpenCV的FFmpeg插件包

执行以下命令安装缺失的FFmpeg插件:

sudo dnf install opencv-ffmpeg

安装完成后重新运行程序,FFmpeg后端即可正常加载,优先用于MP4视频写入。

2. 备选:修复GStreamer后端(若需使用该后端)

如果需要让GStreamer后端正常工作,需安装MP4编码所需的GStreamer插件:

sudo dnf install gstreamer1-plugins-good gstreamer1-plugins-ugly

这些包包含H.264等MP4常用编码的插件,可解决链路链接失败问题。

3. 验证修复效果

重新运行程序后,查看日志中的FFmpeg插件加载信息,若出现类似插件加载成功的提示,VideoWriter即可正常创建视频文件。

额外说明:你的代码本身无问题,使用的MP4V fourcc兼容MP4格式,只要后端正常就能正常工作。

内容的提问来源于stack exchange,提问作者min

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.19 20:45:41