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

运行ffmpeg时提示找不到libopencv_core.so.2.4,求助解决

解决FFmpeg找不到libopencv_core.so.2.4的问题

你的问题核心很明确:当前系统安装的是OpenCV 3.4.1,但你的FFmpeg是编译时链接到旧版OpenCV 2.4的库文件,运行时自然找不到已被替换的旧库。下面给你几个可行的解决方案,按推荐程度排序:

1. 重新编译FFmpeg,适配当前OpenCV 3.4.1

这是最稳妥的长期方案,让FFmpeg直接依赖你现在的OpenCV版本:

  • 先卸载现有FFmpeg:
    • 如果是通过包管理器安装的,执行 sudo apt remove --purge ffmpeg
    • 如果是源码编译安装的,进入FFmpeg源码目录执行 sudo make uninstall
  • 下载FFmpeg源码(可选择你需要的版本),配置编译参数时启用OpenCV支持:
    ./configure --enable-opencv [其他你需要的编译参数]
    make -j$(nproc)
    sudo make install
    
    配置过程中FFmpeg会自动检测系统中的OpenCV 3.4.1,编译完成后就能正常运行了。

2. 安装OpenCV 2.4与3.4.1共存

如果你不想重新编译FFmpeg,可以保留旧版OpenCV库:

  • 下载OpenCV 2.4.x的源码包,编译时指定单独的安装路径,避免覆盖现有3.4.1:
    mkdir build && cd build
    cmake -DCMAKE_INSTALL_PREFIX=/usr/local/opencv2.4 [其他编译参数] ..
    make -j$(nproc)
    sudo make install
    
  • 让系统能找到这个旧版库:
    • 临时生效:执行 export LD_LIBRARY_PATH=/usr/local/opencv2.4/lib:$LD_LIBRARY_PATH,之后运行FFmpeg即可
    • 永久生效:创建文件 /etc/ld.so.conf.d/opencv2.conf,写入 /usr/local/opencv2.4/lib,然后执行 sudo ldconfig

3. 应急方案:创建软链接(不推荐)

这个方法能快速解决问题,但可能引发其他依赖OpenCV的程序兼容性问题,仅作为临时应急:

  • 先找到OpenCV 3.4.1的核心库路径,执行 find /usr/local/lib -name "libopencv_core.so.3.4"
  • 假设找到路径是 /usr/local/lib/libopencv_core.so.3.4,创建软链接:
    sudo ln -s /usr/local/lib/libopencv_core.so.3.4 /usr/local/lib/libopencv_core.so.2.4
    
  • 执行 sudo ldconfig 更新库缓存,之后尝试运行FFmpeg

额外检查步骤

你可以先执行 ldd $(which ffmpeg),查看FFmpeg的依赖列表,确认是不是确实缺失libopencv_core.so.2.4,这能帮你更精准定位问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.29 07:47:19