【ffmpeg+cuda实现硬编解码】

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

最近在搞一个项目,我需要向AI提供视频帧数,本来一开始摄像头是H.264的编码,我直接复制流推到AI层去推理,然后需要将事件回溯成30秒的视频截取。结果摄像头换成了HEVC编码,截取的视频不能在网页直接播放(需要JS实现调用硬解码)。一开始的方案是ffmpeg直接将HEVC转成H.264结果因为事务巨多CPU占用量过大,导致影响到了推理,因为本身选用的模型+杂七杂八的业务逻辑也要占用大量的CPU资源,所以经过研究把ffmpeg和nvcodec结合起来来平衡设备性能,算是解决了这个问题吧。


一、先安装CUDA+NVCODEC

这两个是前提条件,我在之前的文章里已经说明了具体步骤,有需要的请移步文章。
opencv+nvcodec实现视频硬解码

二、编译带NVCODEC的FFMPEG

这里使用的ffmpeg版本是4.4.2,之前也有尝试过编译5.0.1,本身没有什么错误,但是和我的opencv-4.5.1合并编译遇到了很多错误,可能是这个版本太新的缘故,所以就选择了4.4.2这个版本,实测没有任何问题,至少可以满足我的需求了。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值