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

编译FFmpeg遇ERROR: SvtAv1Enc not found using pkg-config问题求助

解决FFmpeg编译时ERROR: SvtAv1Enc not found using pkg-config的问题

我之前在编译集成SVT-AV1的FFmpeg时也碰到过一模一样的问题,给你梳理几个亲测有效的解决方向:

1. 确认SVT-AV1的安装路径与pkg-config搜索范围

首先得确保SVT-AV1确实编译安装完成,且pkg-config能找到它的配置文件:

  • 编译完成的SVT-AV1通常会把SvtAv1Enc.pc文件放在/usr/local/lib/pkgconfig或/usr/lib/pkgconfig目录下,你可以先手动查找确认:
    find /usr/local /usr -name "SvtAv1Enc.pc"
    
  • 如果找到了该文件,但pkg-config仍识别不到,大概率是这个目录不在pkg-config的默认搜索路径里。你可以临时把路径加入环境变量,再重新运行FFmpeg的configure:
    export PKG_CONFIG_PATH=/path/to/the/pkgconfig/dir:$PKG_CONFIG_PATH
    ./configure --enable-libsvtav1
    

2. 务必启用SVT-AV1的共享库编译

很多人会忽略这个关键参数:FFmpeg需要动态链接的SVT-AV1库,如果你编译SVT-AV1时用了默认的静态编译,就算安装成功,pkg-config也识别不到对应的库配置:

  • 重新编译SVT-AV1时,记得加上-DBUILD_SHARED_LIBS=ON的CMake参数:
    cd SVT-AV1/build
    cmake -DBUILD_SHARED_LIBS=ON ..
    make -j$(nproc)
    sudo make install
    

3. Ubuntu 18.04 Docker容器的特殊处理

Ubuntu 18.04的pkg-config版本偏旧,系统库缓存也需要手动更新:

  • 安装完SVT-AV1后,先更新系统的库缓存:
    sudo ldconfig
    
  • 如果还是不行,可以直接给FFmpeg的configure指定头文件和库的绝对路径,绕开pkg-config的问题:
    ./configure --enable-libsvtav1 \
      --extra-cflags="-I/usr/local/include" \
      --extra-ldflags="-L/usr/local/lib -lSvtAv1Enc"
    

4. 检查FFmpeg与SVT-AV1的版本兼容性

虽然那个GitHub Issue已标记解决,但版本不匹配仍可能导致问题:

  • 建议拉取FFmpeg的最新Git版本,同时同步SVT-AV1的master分支重新编译,避免版本兼容问题。

最后查看config.log的细节

你提供的config.log里应该有更具体的报错信息,比如pkg-config查找SvtAv1Enc时的输出,重点关注类似这样的段落:

pkg-config --exists --print-errors "SvtAv1Enc >= x.x.x"

如果提示版本不足,就升级SVT-AV1;如果提示找不到文件,就回到前面的步骤检查路径和共享库配置。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.07 09:47:43