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%左右


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%左右