在 WSL2 Windows 上使用硬件加速运行 ffmpeg 时出现“无法加载 libcuda.so.1”

在 WSL2 Windows 上使用硬件加速运行 ffmpeg 时出现“无法加载 libcuda.so.1”

我正在关注NVIDIA 的文档,用于构建具有硬件加速功能的 ffmpeg。我还安装了相应的GeForce GPU 的驱动程序并且适用于 WSL2 的 CUDA 工具包设置。在像这样配置 ffmpeg 之后,我尝试特别运行以下命令:

配置(与文档的 Linux 部分相同)

./configure --enable-nonfree --enable-cuda-nvcc --enable-libnpp --extra-cflags=-I/usr/local/cuda/include --extra-ldflags=-L/usr/local/cuda/lib64 --disable-static --enable-shared

命令(与本节文档)

ffmpeg -y -vsync 0 -hwaccel cuda -hwaccel_output_format cuda -i input.mp4 -c:a copy -c:v h264_nvenc -preset p6 -tune ll -b:v 5M -bufsize 5M -maxrate 10M -qmin 0 -g 250 -bf 3 -b_ref_mode middle -temporal-aq 1 -rc-lookahead 20 -i_qfactor 0.75 -b_qfactor 1.1 output.mp4

问题:

问题

我是否遗漏了什么?我尝试运行,sudo find / -name libcuda.so.1但在 WSL 2 文件夹中找不到此 .so 文件,只能在 Windows/mnt文件夹中找到。我还下载了,但没有安装视频编解码SDK但我不确定它是否是必需的,因为我所关注的文档中没有提到它。

答案1

正确安装后libcuda.so.1应该位于/usr/lib/wsl/libwsl2 内部。

您需要做的就是添加路径,LD_LIBRARY_PATH以便可以动态加载,例如

echo 'export LD_LIBRARY_PATH=/usr/lib/wsl/lib${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}' >> ~/.bashrc

相关内容