ffmpeg总结

背景:服务器上已安装CUDA 10.0,配备2080Ti显卡,驱动是410.78。想要看能不能用GPU加速截帧,所以尝试编译ffmpeg的gpu版本,参考教程如下面的references中的一到五。第一次安装遇到了驱动版本低导致nv-codec-headers有问题。后更换nv-codec-headers重新编译,成功,成果如下:

对视频进行转码,可以看到确实使用了GPU,命令:ffmpeg -i 6.mp4 -c:v h264_nvenc -c:a aac output.mp4

 

但是对视频截帧,只用到了CPU没有用到GPU,命令:ffmpeg -i /root/test_ffmpeg/6.mp4 -r 1 -q:v 2 -f image2 /root/test_ffmpeg/imgs/pic-%03d.jpeg。依然会跑满CPU,但是内存增加的不多(原本内存就永了23G)

新建终端之后,找不到ffmpeg,需将命令改成:/root/ffmpeg_sources/ffmpeg-3.3.8/ffmpeg -i /root/test_ffmpeg/6.mp4 -r 1 -q:v 2 -f image2 /root/test_ffmpeg/imgs/pic-%03d.jpeg。之后新增环境变量:PATH="$HOME/bin:$PATH",之前的命令可恢复使用。

中间的参数 400k是目标码率

2020/10/21

郁闷了,忘记装在那台服务器上了。。。。。

241服务器上

使用CPU进行视频转码,使用libx264编码器,限制码率:

ffmpeg -i 1.mp4 -vcodec h264 -pix_fmt yuv420p -vb 200k -acodec copy oo.mp4 

可以看到CPU的速度在250fps,GPU的速度在650fps。

如果一段一分钟的视频,帧率为30,那么CPU转码需要30*600/250=72s,GPU转码需要30*600/650=28s

另外,看到一个视频转码的很好的视频,https://www.bilibili.com/video/av40429258/

 

 

references:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值