1. 先安装工具包
yum install -y nasm libvpx libx265 freetype-devel
2. 先安装x264库
git clone https://git.videolan.org/git/x264.git
cd x264 && ./configure --prefix=/usr/local/x264 --enable-static --enable-shared
make && make install
3. 链接so动态库
echo "/usr/local/x264/lib" >> /etc/ld.so.conf
ldconfig
4. 当出现以下错误提示时, 通过find / -name "libcuda.so.1" 查找当前文件目录
执行导入环境变量: export LD_LIBRARY_PATH=/usr/local/nvidia/lib64:$LD_LIBRARY_PATH
/usr/local/nvidia/lib64 是libcuda.so.1文件的目录文件夹;
LD_LIBRARY_PATH 动态库的查找路径
5. 下载 cuda 对应版本的nv-codec-headers 驱动库
git clone https://git.videolan.org/git/ffmpeg/nv-codec-headers.git (默认是最新版本的。需要根据cuda版本下载,不然ffmpeg 转码时会报错, 版本不兼容;错误提示信息:ffmpeg driver does not support the required nvenc api version. required: 11.)
cd nv-codec-headers && sudo make install
6. 下载ffmpeg进行编译
git clone https://git.ffmpeg.org/ffmpeg.git ffmpeg/
PKG_CONFIG_PATH="/usr/local/lib/pkgconfig" ./configure --prefix=/usr/local/ffmpeg --enable-ffplay --enable-cuda --enable-cuvid --enable-nvenc --enable-gpl --enable-libfreetype --enable-libx264 --enable-nonfree --extra-cflags=-I/usr/local/nvida/include --extra-ldflags=-L/usr/local/nvida/lib64
make && make install
7. 编译安装成功后,限制ffmpeg是否支持gpu命令如下:
ffmpeg -hwaccels, 当出现cuda时,标识当前的ffmpeg version 已支持gpu硬编码;
Hardware acceleration methods:
cuda (硬编码需要)
cuvid (硬解码需要)
8. 可以转码的同时查看gpu的变化。 监控命令如下:
/usr/local/lib/nvidia/bin/nvidia-smi (不同地址路径不一样,可以通过nvidia-smi 查找到对应的文件夹)
具体使用内容可以查看如下cdn地址: GPU之nvidia-smi命令详解 - 简书