编译ffmpeg 并支持 NVIDIA 硬解码

1.简述

所谓硬件解码就是利用专用的硬件(比如说nvenc)进行解码 区别与利用通用计算单元进行解码(CPU,cuda)

2.所需要的 sdk

  • cuda 11.1
  • nvcc
  • ffmpeg 5.1.2
  • nv-codec-header 11.1.5.2 下载位置

4.安装ffnvcodec

省略 安装cuda 和nvcc 的方法 显卡驱动 最好大于430.1.4

  • 安装 ffnvcodec
cd nv-codec-headers 
sudo make install

5.编译ffmpeg

  • 安装依赖
sudo apt update
sudo apt install build-essential yasm nasm cmake libx264-dev libx265-dev libvpx-dev libfdk-aac-dev libmp3lame-dev libopus-dev libass-dev libwebp-dev libssl-dev

  • 进入文件夹 并配置选项
cd ffmpeg_5.1.2
sudo ./configure --enable-gpl --enable-libx264 --enable-libx265 --enable-libvpx --enable-libfdk-aac --enable-libmp3lame --enable-libopus --enable-libass --enable-libwebp --enable-openssl --enable-nonfree  --enable-libnpp --extra-cflags=-I/usr/local/cuda/include --extra-ldflags=-L/usr/local/cuda/lib64 --disable-static --enable-shared --nvccflags="-gencode arch=compute_86,code=sm_86 -O2" --enable-cuda-nvcc --enable-cuvid --enable-nvenc --enable-shared

--enable-cuda-nvcc --enable-cuvid --enable-nvenc
其中这几个选项是重点 也最容易出错

sudo make - j 8
sudo make install

如果一切顺利已经完成。

6. 填坑

  • 进入到配置ffmpeg环节如果出现 failed checking for nvcc错误 首先进入 vim configue 修改
posted @ 2024-07-12 08:54  北流鱼  阅读(168)  评论(0编辑  收藏  举报