FFmpeg编译with NVIDIA硬件加速

FFmpeg编译with NVIDIA硬件加速

安装NVIDIA显卡驱动

查看显卡型号

lspci | grep VGA
nvidia-smi

windows下可以在设备管理器中查看显示适配器

下载对应显卡型号驱动

https://www.nvidia.com/Download/index.aspx

卸载旧的驱动

sudo apt-get purge nvidia*

//禁用linux内核自带nouveau nvidia驱动

editor /etc/modprobe.d/blacklist-nouveau.conf

//在文件blacklist-nouveau.conf中添加以下内容:
blacklist nouveau
options nouveau modeset=0

// 更新初始化
update-initramfs -u

//修改后需要重启系统。确认下Nouveau是否已经被禁用,使用命令:
lsmod | grep nouveau

安装驱动

service lightdm stop
./NVIDIA-Linux-x86_64-375.26.run
service lightdm start

// 安装完成并重启后确认下驱动是否工作正常
cat /proc/driver/nvidia/version
nvidia-smi

// 解码库
sudo ld -lnvcuvid
// 编码库
sudo ld -lnvidia_encode

安装CUDA

https://docs.nvidia.com/cuda/cuda-toolkit-release-notes/index.html上有NVIDIA驱动和CUDA版本的兼容性
CUDA

https://developer.nvidia.com/cuda-toolkit-archive上可下载对应版本CUDA

安装完成后,在/usr/local/cuda目录下会生成include头文件和lib64库文件

// nvcc是CUDA编译器
$ nvcc -V

安装CUDNN

https://developer.nvidia.com/rdp/cudnn-archive

安装NVIDIA VIDEO CODEC SDK

https://developer.nvidia.com/video-codec-sdk-archive

// 编译sample
cd Sample
make

编译FFmpeg

// 安装yasm
sudo apt-get install yasm

// NVIDIA VIDEO CODEC SDK headers
git clone https://git.videolan.org/git/ffmpeg/nv-codec-headers.git
make
sudo make install

git clone https://git.ffmpeg.org/ffmpeg.git
./configure --enable-cuda --enable-cuvid --enable-nvenc --enable-nonfree --enable-libnpp --extra-cflags=-I/usr/local/cuda/include --extra-ldflags=-L/usr/local/cuda/lib64
make
sudo make install

// 查看硬解码器
ffmpeg -codecs | grep cuvid

// 查看硬编码器
ffmpeg -codecs | grep nvenc
  • 此外FFmpeg采用linux c编写,只提供了Makefile的生成方式,在Windows下编译需要先安装MinGW+MSYS环境

参考资料

最后附上百度网盘NVIDIA 驱动、CUDA、CUDNN分享地址

发布了130 篇原创文章 · 获赞 147 · 访问量 29万+
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 代码科技 设计师: Amelia_0503

分享到微信朋友圈

×

扫一扫,手机浏览