LINUX下,ffmpeg增加NVIDIA硬件编解码的步骤及解决办法

  • 官方关于ffmepg的网页

https://developer.nvidia.com/FFmpeg

  • 下载驱动

https://www.nvidia.com/drivers

  • 下载CUDA

https://developer.nvidia.com/cuda-downloads

  • 下载ffmpeg

http://www.ffmpeg.org/download.html

  • 安装ffnvcodec
git clone https://git.videolan.org/git/ffmpeg/nv-codec-headers.git
cd nv-codec-headers
make && sudo make install
  • 编译ffmpeg 
cd ffmpeg-4.0.2

./configure --disable-asm --disable-x86asm \
 --enable-cuda --enable-cuvid --enable-nvenc \
 --enable-nonfree --enable-libnpp \
 --extra-cflags=-I/usr/local/cuda/include \
 --extra-cflags=-fPIC --extra-ldflags=-L/usr/local/cuda/lib64
# --enable-shared --enable-pic 

make -j8
sudo make install
  • 验证

退出当前终端,重新进入一个,输入命令:

ffmpeg -decoders | grep h264

输出的第一行,应该是:ffmpeg version 4.0.2

VFS..D h264                 H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10
V..... h264_v4l2m2m     V4L2 mem2mem H.264 decoder wrapper (codec h264)
V..... h264_cuvid           Nvidia CUVID H264 decoder (codec h264)

 

ffmpeg -encoders | grep nv

V..... h264_nvenc           NVIDIA NVENC H.264 encoder (codec h264)
V..... h264_v4l2m2m      V4L2 mem2mem H.264 encoder wrapper (codec h264)
V..... nvenc                     NVIDIA NVENC H.264 encoder (codec h264)
V..... nvenc_h264           NVIDIA NVENC H.264 encoder (codec h264)
 

  • 测试
ffmpeg -y -hwaccel cuvid -c:v h264_cuvid -vsync 0 -i 2018.MOV -vcodec h264_nvenc -preset slow -b:v 2000k 2017.h264

注意,这里的preset参数,有的不能用了。

 

  • 出错及解决办法
  1. 吾电脑提示要加上--disable-x86asm参数。
  2. configure时出错,提示:

ERROR: cuda requested, but not all dependencies are satisfied: ffnvcodec

解决办法:

git clone https://git.videolan.org/git/ffmpeg/nv-codec-headers.git

cd nv-codec-headers

make && sudo make install

 

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

柳鲲鹏

能给阁下一点帮助,非常荣幸

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值