0. 官方教程
NVIDIA官方教程:链接,本篇内容主要参考2.2 Software Setup。
1. 安装显卡驱动
确保nvidia-smi能够正常使用:

2. 安装CUDA toolkit
注意要与显卡驱动版本对应,验证toolkit是否正确安装:

3. 安装ffnvcodec
- 下载地址
- 编译方法:解压进入文件夹后
sudo make install- 验证安装
pkg-config --modversion ffnvcodec显示版本号证明安装成功:

4. 编译安装FFmpeg
- 下载地址
- 配置方法: - 进入ffmpeg-x.x文件夹
- 调用./configure进行配置(注意配置正确的CUDA库路径)
 
./configure --enable-cuda --enable-cuvid --enable-nvenc --enable-nonfree --enable-libnpp --extra-cflags=-I/usr/local/cuda/include #CUDA头文件路径--extra-ldflags=-L/usr/local/cuda/lib64  #CUDA lib路径- 多线程编译
make -j -s- 验证硬件加速是否启用成功
./ffmpeg -hwaccels左下角显示CUDA即为配置成功:

- 安装到系统路径中
make install5. 测试效果
可以连接YUV格式的输入设备或者使用网上下载的.yuv文件进行测试,具体可以参考如下指令:
ffmpeg  -c:v rawvideo -pix_fmt yuv420p     # 输入视频格式为yuv420p-s <width>x<height>  # 输入视频分辨率-i <input_file>      # 输入视频文件路径或者设备号-c:v h264_nvenc      # 调用NVENC的H264编码器-preset fast         # 视频编码速度(影响质量)-b:v <bitrate>       # 设置比特率<output_file>        # 输出文件路径下面用我配置好的FFmpeg进行测试:

最终保存成H.264编码的mp4文件:

6. 总结
目前只是对FFmpeg工具的一个初步探索,具体的参数配置方面还没有深入去研究,接下来可能会去调研一下NVIDIA Video Codec SDK二次开发的内容。因为本人接触视频编码内容时间很短,了解也较为浅显,如有错误,希望指出,感谢阅读~