尊敬的开发者您好
请注意,mp4属于封装格式,您只是从码流h264封装成mp4格式,不涉及编码同时也不涉及解码,因此不会有npu调用,显示占用是因为使用ffmpeg后会进行初始化,初始化会将卡占用。


尊敬的开发者您好
请注意,mp4属于封装格式,您只是从码流h264封装成mp4格式,不涉及编码同时也不涉及解码,因此不会有npu调用,显示占用是因为使用ffmpeg后会进行初始化,初始化会将卡占用。
可是我输出是h264也是这样的打屏显示,码流的转换都是在CPU处理的吗?都不在npu?


尊敬的开发者您好
如果不涉及到裸码流的编解码是不会占用npu的,您提到的输出h264也是不涉及到编解码的,因为您输入的码流本身就是h264格式的,不存在编解码操作。其次,npu-smi info属于计算瞬时占用率,对于短暂的编解码操作可能不会有提示,同时编解码底层属于dvpp操作,ai core利用率并不能很好反应dvpp使用情况


尊敬的开发者您好
如果不涉及到裸码流的编解码是不会占用npu的,您提到的输出h264也是不涉及到编解码的,因为您输入的码流本身就是h264格式的,不存在编解码操作。其次,npu-smi info属于计算瞬时占用率,对于短暂的编解码操作可能不会有提示,同时编解码底层属于dvpp操作,ai core利用率并不能很好反应dvpp使用情况
将输入文件 test.264 通过 Ascend 硬件解码与编码,最终输出为 out.264
./ffmpeg -hwaccel ascend -c:v h264_ascend -i test.264 -c:v h264_ascend out.264
这里的举例不是说有编解码吗,为什么又是不涉及编解码操作呢,有点懵了,而且这里我是有个疑问,这个通过Ascend硬件编码与解码是使用的npu的算力吗?



我使用X86设备进行测试,报错设置device失败,可是可以查到卡信息,这是因为什么?还需要怎么排查,目前做过的操作如下:




尊敬的开发者您好
ffmpeg参考样例是基于官方ffmpeg实现的,有关是否涉及编解码操作的内容建议您查阅ffmpeg官方相关命令,参考样例中提供的命令是包含了编解码操作的,但如下命令则仅涉及拷贝操作不涉及编解码
./ffmpeg -i test.264 -c copy out.264
同时,编解码操作均在dvpp侧进行,因此ai core的利用率无法正确反应是否正在使用
有关您x86机器的问题,建议您指定device 1尝试。


尊敬的开发者您好
ffmpeg参考样例是基于官方ffmpeg实现的,有关是否涉及编解码操作的内容建议您查阅ffmpeg官方相关命令,参考样例中提供的命令是包含了编解码操作的,但如下命令则仅涉及拷贝操作不涉及编解码
./ffmpeg -i test.264 -c copy out.264
同时,编解码操作均在dvpp侧进行,因此ai core的利用率无法正确反应是否正在使用有关您x86机器的问题,建议您指定device 1尝试。
device_id 1我设置了他还是走默认的0,这个也很奇怪,无论是x86还是arm都是设置了1还是走默认的0

./ffmpeg -hwaccel ascend -c:v h264_ascend -i test.264 -c:v h264_ascend out.264 -device_id 1 ,我使用这个命令就是有编解码存在的对吧,是咱们readme里的举例


尊敬的开发者您好,
建议您尝试ffmpeg -hwaccel ascend -c:v h264_ascend -device_id 1 -i test.264 -c:v h264_ascend -device_id 1 out.264


尊敬的开发者您好,
建议您尝试ffmpeg -hwaccel ascend -c:v h264_ascend -device_id 1 -i test.264 -c:v h264_ascend -device_id 1 out.264
@dailydeath
这个也是不行的,麻烦再给看看呢



尊敬的开发者您好
我们在后台尝试复现了一下,暂未复现您所说的情况,这边需要您尝试使用直接使用底层接口查看是否能够直接占卡,
import acl ret = acl.rt.set_device(0)
请您查看ret的值,若ret不为0则说明当前环境上CANN与驱动出现问题,建议重新安装。
正常情况应为如下截图



当前Issue标记为resolved且有一段时间未进一步更新,因此我们将其标记为'stale'(闲置)状态。若你认为这是误操作,可通过添加任意评论来去除'stale'标签。标记为stale的Issue在4天内无更新活动将自动关闭。


根据readme进行操作,过程无报错,但是最后验证阶段比较疑惑,有两个问题


1.明明设置了device_id为1,但是显示仍未0
2.显示使用npu硬解,编,但是未监测到
具体如下图: