ffmpeg编译支持cuda编解码

今天在ffmpeg4.1下成功编译出支持cuda编码的版本,记录一下编译过程。

编译增加选项--enable-cuda --enable-cuvid --enable-nvenc

如果遇到提示错误

ERROR: cuda requested, but not all dependencies are satisfied: ffnvcodec

说明需要下载nvenc的头文件。

git clone https://git.videolan.org/git/ffmpeg/nv-codec-headers.git
cd nv-codec-headers
make
sudo make install

安装后重新编译,仍然提示找不到ffnvcodec,这时需要把ffnvcodec.pc的路径加入环境变量中。

export PKG_CONFIG_PATH="/usr/local/lib/pkgconfig"

重新编译,遇到新的报错:

[nvenc_hevc @ 0x3f928c0] Driver does not support the required nvenc API version. Required: 9.1 Found: 8.1
[nvenc_hevc @ 0x3f928c0] The minimum required Nvidia driver for nvenc is 390.25 or newer

猜测原因可能是nv-codec-headers的版本是9.1,但是Nvidia driver版本只支持8.1。查看nv-codec-headers的所有tag,checkout到8.1版本,重新编译ffmpeg成功。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章