我正在关注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/lib
wsl2 内部。
您需要做的就是添加路径,LD_LIBRARY_PATH
以便可以动态加载,例如
echo 'export LD_LIBRARY_PATH=/usr/lib/wsl/lib${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}' >> ~/.bashrc