我刚刚升级到 Kubuntu 22.10,除了 FFmpeg 之外,更新完全成功。
我尝试过的事情:
- 从 Ubuntu 源安装旧版 FFmpeg
- 从源代码安装主 FFmpeg
- 从源代码安装 FFmpeg 5.1.2
- 从源代码安装 FFmpeg 5.0.1
- 从 Ubuntu 源安装旧版 libav
- 从 Ubuntu 源重新安装当前 FFmpeg
libva2
从 Ubuntu 源重新安装- 重新安装
libva2
并libva-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