gpt4 book ai didi

windows - ffmpeg 错误 : libnpp not found in windows

转载 作者:可可西里 更新时间:2023-11-01 13:50:56 29 4
gpt4 key购买 nike

我正在尝试使用 NVIDIA 库在 Windows 中编译 ffmpeg,以使用 MinGW/msys 进行硬件加速。尝试按照 nvidias website 上的说明进行操作(部分:使用 NVIDIA GPU 开始使用 FFmpeg/libav)。配置为 --enable-nonfree --disable-shared --enable-nvenc --enable-cuda --enable-cuvid --enable-libnpp --extra-cflags=-Ilocal/include --extra-cflags =-I../common/inc --extra-ldflags=-L../common/lib/x64 --prefix=ffmpeg 但在 “错误:找不到 libnpp”处停止。NVIDIA Video Codec SDK 下载common 文件夹但没有 npp 库或头文件。有什么解决办法吗?感谢您的建议。

最佳答案

我设法在 linux 下成功交叉编译 ffmpeg,目标是包含 --enable-libnpp 的 Windows 64 位。

我的环境是Ubuntu Server 16.10 64位。
全新安装后,我使用以下命令安装了 MinGW:

sudo apt-get install mingw-w64

首先,我按照 NVIDIA 开发网站上的说明成功编译了激活 --enable-libnpp 选项的 Linux 版本 Compile Ffmpeg with NVIDIA Video Codec SDK .
为此,您需要安装 CUDA Toolkit .只需按照说明进行操作,软件包安装程序就会创建符号链接(symbolic link)(我有 CUDA Toolkit 8.0):

/usr/local/cuda/include/ -> /usr/local/cuda-8.0/targets/x86_64-linux/include
/usr/local/cuda/lib64/ -> /usr/local/cuda-8.0/targets/x86_64-linux/lib

这应该为配置提供找到正确库和 header 的正确路径。
我用来编译 linux 版本的 ffmpeg 的命令行是:

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

您遇到的问题是,在使用交叉编译时,您需要提供配置 正确的路径,以找到 Windows 版本的 libnpp 库的 header 和库.
从上面提到的 CUDA 工具包下载页面,我只是下载了 Windows 包的 exe(local) 版本。
在我的工作文件夹的根目录下,我创建了一个名为 tmp 的文件夹,我在其中复制了我在 cuda_8.0.61_win10.exe npp_dev 下找到的子文件夹em>:

cuda_8.0.61_win10.exe\npp_dev\lib -> tmp/lib  
cuda_8.0.61_win10.exe\npp_dev\include -> tmp/include

作为最后一步,我使用以下参数再次启动了Configure:

./configure --arch=x86_64 --target-os=mingw32 --cross-prefix=x86_64-w64-mingw32- --pkg-config=pkg-config --enable-nonfree --disable-shared --enable-nvenc --enable-cuda --enable-cuvid --enable-libnpp --extra-cflags=-I/usr/local/include --extra-cflags=-I/usr/local/cuda/include/ --extra-ldflags=-L/usr/local/cuda/lib64/ --extra-cflags=-I../tmp/include/ --extra-ldflags=-L../tmp/lib/x64/

编译成功。当我将 ffmpeg.exe 文件复制到 Windows 并尝试执行它时,我收到一条错误消息,指出可执行文件缺少一些 npp_*.dll。
从包 cuda_8.0.61_win10.exe 中,我将文件夹 npp\bin 中包含的所有 dll 复制到我放置的同一目录中 ffmpeg.exe.
之后应用程序正常运行,并按预期完成了 4K 文件的简单转换。

关于windows - ffmpeg 错误 : libnpp not found in windows,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41870137/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com