使用ffmpeg 进行抽帧,利用NPU反而cpu负载上升
收藏回复举报
使用ffmpeg 进行抽帧,利用NPU反而cpu负载上升
发表于2025-09-23 17:20:04
0 查看

1.背景 CANN版本:24.1.rc2,npu:310P3, ffmpeg安装参考:链接

2.复现步骤:使用ffmpeg命令对视频进行抽帧,为了降低cpu负载,想要利用npu的编解码功能,安装好带补丁的ffmpeg后,分别直接使用cpu抽帧和利用npu抽帧,两次命令分别是

## 不使用NPU

./ffmpeg -y -use_wallclock_as_timestamps 1 -rtsp_transport tcp -i "rtsp://xxxx/cam/realmonitor?channel=1&subtype=0" -f image2 -strftime 1 -r 1/3 -q:v 10 -y "/u01/output/camera1/camera1_%Y%m%d_%H%M%S.jpg"

## 使用NPU的

./ffmpeg -y -hwaccel ascend  -c:v h264_ascend -use_wallclock_as_timestamps 1 -rtsp_transport tcp -i "rtsp://xxxx/cam/realmonitor?channel=1&subtype=0" -f image2 -strftime 1 -r 1/3 -q:v 10 -y "/u01/output/camera1/camera1_%Y%m%d_%H%M%S.jpg"

3.问题:使用NPU的 cpu负载反而高,见下图,图1可见未调用到npu,cpu利用率在45%以下,图二可见,ffmpeg进程调用了npu,占用内存350M,但是cpu利用率在75%左右

cke_18484.pngcke_32360.png

本帖最后由 匿名用户 于 2025/10/09 10:18:00 编辑

我要发帖子