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

Windows下Aubio(aubioonset.exe)无法找到FFmpeg库的求助

Windows下Aubio调用FFmpeg库失败的解决方案

一、预编译Aubio二进制运行报错问题

运行aubioonset.exe时出现如下错误:

C:/Peter/aubio/aubio/aubio-0.4.6-win64-ffmpeg/bin/aubioonset.exe: error while loading shared libraries: ?: cannot open shared object file: No such file or directory

确实是FFmpeg依赖库找不到导致的,解决步骤:

  • 下载64位FFmpeg开发包(注意是带头文件和库文件的dev包,不是普通的bin运行包),版本尽量和Aubio预编译包适配
  • 解压后进入bin目录,找到avcodec-*.dll、avformat-*.dll、avutil-*.dll这三个核心DLL文件
  • 把这几个DLL复制到Aubio的bin目录(也就是C:/Peter/aubio/aubio/aubio-0.4.6-win64-ffmpeg/bin/),直接覆盖原有文件(如果有)
  • 重新运行aubioonset.exe即可正常使用

二、自行编译Aubio时无法检测到FFmpeg的问题

从你的./waf configure输出看,核心问题是没找到pkg-config,导致无法自动检测FFmpeg路径。以下是具体解决步骤:

1. 准备FFmpeg开发环境

  • 下载64位FFmpeg开发包(ffmpeg-*-win64-dev.zip),解压到固定路径,比如C:\ffmpeg-win64-dev,这个目录下会有include(头文件)和lib(静态/动态库)两个子目录

2. 设置环境变量

  • 打开系统环境变量设置,添加两个系统变量:
    • FFMPEG_INCLUDE_DIR:值设为C:\ffmpeg-win64-dev\include
    • FFMPEG_LIB_DIR:值设为C:\ffmpeg-win64-dev\lib
  • 或者在编译前的命令行里临时设置(仅当前会话有效):
    set FFMPEG_INCLUDE_DIR=C:\ffmpeg-win64-dev\include
    set FFMPEG_LIB_DIR=C:\ffmpeg-win64-dev\lib
    

3. 修改Aubio的waf配置文件

因为Windows下没有pkg-config,需要手动指定FFmpeg路径:

  • 进入Aubio源码目录,打开wscript文件
  • 搜索libav或ffmpeg找到检测FFmpeg的代码块,把原来依赖pkg-config的检测代码替换成手动指定路径的逻辑:
    # 替换原有check_cfg的代码
    conf.check_cxx(includes=os.environ.get('FFMPEG_INCLUDE_DIR', ''),
                   libpath=os.environ.get('FFMPEG_LIB_DIR', ''),
                   libs=['avcodec', 'avformat', 'avutil'],
                   uselib_store='LIBAV',
                   mandatory=False)
    
  • 保存修改后的wscript

4. 重新编译Aubio

  • 打开VS2017的x64 Native Tools Command Prompt(必须用这个,保证编译环境是64位MSVC)
  • 进入Aubio源码目录,依次执行:
    ./waf configure --with-ffmpeg
    ./waf build
    ./waf install
    
  • 此时configure步骤应该能成功检测到FFmpeg库,编译完成后的Aubio就会带有FFmpeg支持

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.17 14:20:16