使用NVIDIA GPU FFmpeg转码 YUV to H264(成功)

本文详细指导了如何在NVIDIA系统上安装显卡驱动、CUDAtoolkit、ffnvcodec和FFmpeg,包括编译步骤和硬件加速测试,以及初步的FFmpeg配置,为视频编码初学者提供了一个入门教程。
摘要由CSDN通过智能技术生成

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 install

5. 测试效果

可以连接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二次开发的内容。因为本人接触视频编码内容时间很短,了解也较为浅显,如有错误,希望指出,感谢阅读~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值