libavcodec:未定义符号 vaSyncBuffer

libavcodec:未定义符号 vaSyncBuffer

我刚刚升级到 Kubuntu 22.10,除了 FFmpeg 之外,更新完全成功。

我尝试过的事情:

  • 从 Ubuntu 源安装旧版 FFmpeg
  • 从源代码安装主 FFmpeg
  • 从源代码安装 FFmpeg 5.1.2
  • 从源代码安装 FFmpeg 5.0.1
  • 从 Ubuntu 源安装旧版 libav
  • 从 Ubuntu 源重新安装当前 FFmpeg
  • libva2从 Ubuntu 源重新安装
  • 重新安装libva2libva-utils从 GitHub(按照这个帖子

这总是会导致同样的事情:
ffmpeg: symbol lookup error: /lib/x86_64-linux-gnu/libavcodec.so.59: undefined symbol: vaSyncBuffer
FFmpeg 的其他依赖项似乎正在调用 libavcodec59,并且出现了问题

我不能做的事情:

  • 卸载libva2,因为它将卸载我的桌面环境
  • 恢复到libva2=2.14.0-1与我的 DE 相同的依赖关系问题

据我所知,这似乎是 libva 的问题,FFmpeg 的一些依赖项需要 libva>=2.16,但 Ubuntu 源代码还没有该版本,而且该依赖项没有说明该要求

我确实安装了一些 amdgpu 驱动程序,因此如果您需要了解更多信息,请告诉我。

更新

我做了一些搜索,这是输出vainfo

libva info: VA-API version 1.8.0
libva info: Trying to open /opt/amdgpu/lib/x86_64-linux-gnu/dri/iHD_drv_video.so
libva info: va_openDriver() returns -1
libva info: Trying to open /opt/amdgpu/lib/x86_64-linux-gnu/dri/i965_drv_video.so
libva info: va_openDriver() returns -1
vaInitialize failed with error code -1 (unknown libva error),exit

因此,我将对 amdgpu 驱动程序进行更多研究,因为我之前遇到过这些问题

版本:

Ubuntu - 22.10 Kinetic Kudu (Kubuntu)
kernel - 5.19.0-23-generic
libva2 - 2.15.0-1 (Ubuntu source)
FFmpeg - 5.1.1-1ubuntu1 (irrelevant in this case)
libva2 - 2.16 (GitHub, possible installation failure)
FFmpeg - 5.1.2 (git, no change)
FFmpeg - 5.0.2 (git, no change)
FFmpeg - 4.4.2-0ubuntu0.22.04.1 (Ubuntu sources, no change)

重新安装各种libav东西也没有改变任何东西

答案1

注意

除非你的输出vainfo如下所示:

libva info: VA-API version 1.8.0
libva info: Trying to open /opt/amdgpu/lib/x86_64-linux-gnu/dri/iHD_drv_video.so
libva info: va_openDriver() returns -1
libva info: Trying to open /opt/amdgpu/lib/x86_64-linux-gnu/dri/i965_drv_video.so
libva info: va_openDriver() returns -1
vaInitialize failed with error code -1 (unknown libva error),exit

libva 正在尝试加载英特尔来自的司机图形处理器驱动程序位置,此解决方案可能不适合您。我重复一遍,我发现这个解决方案只是因为应该/opt/amdgpu/lib/x86_64-linux-gnu/阅读/lib/x86_64-linux-gnu//usr/lib/x86_64-linux-gnu/

解决方案

卸载所有 amdgpu。驱动程序、核心、mesa、va、dkms,一切。

我更愿意使用 GPU 来编码 x265 视频,但与使用 CPU 相比,生成的文件大小非常大,所以我不需要 amdgpu 驱动程序。更不用说在安装 amdgpu 后我的 fps 从 60 降到了 5

相关内容