centos7 ffmpeg gpu 编译安装

本文详细介绍了如何通过安装必要的库(如x264、nv-codec-headers和ffmpeg),配置环境并链接动态库,解决cuda版本兼容问题,实现ffmpeg的GPU硬编码和解码功能。同时,指导读者监控GPU状态以确保编码过程顺利进行。
摘要由CSDN通过智能技术生成

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命令详解 - 简书

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值