标签 昇腾 下的文章

“”

使用Atlas 推理系列产品时,视频解码性能问题
update:2025-3-20
问题现象描述
业务场景:DVPP
适用处理器:Atlas 推理系列产品
处理器形态:EP、RC
问题现象:

VDEC解码性能下降,小于VDEC对外发布的性能规格,导致发生卡顿等现象。

原因分析
分析VDEC性能下降导致的卡顿故障,可能原因有:

视频解码回调函数中耗时过长,影响解码性能。
输入码流中I帧比例过大,解码I帧耗时比解码P帧耗时长,影响解码性能。
输入码流中存在异常帧,影响解码性能。
解决措施
针对上述可能的故障原因,可以参考以下方式进行处理:

  1. 在回调函数中打点测试耗时,查看耗时是否过长(回调函数允许的最大耗时和帧率相关,计算公式为:最大耗时=1/帧率,例如帧率=30fps,则最大耗时=1/(30fps)=0.033s)。
  2. 使用第三方工具打开输入码流,查看I帧比例是否过大。一般GOP值为30(即I帧间隔为30),如果I帧比例过大,则需要替换成正常码流进行性能测试。
  3. 使用第三方工具打开输入码流,查看是否存在异常帧(如用第三方工具打开显示花屏或解码报错),如果存在异常帧,会造成不满足规格的现象。
    Referenced from:https://www.hiascend.com/document/caselibrary/detail/topic_0000001321265632

eseye u 视频工具全称是: Elecard StreamEye Tools
分析视频帧的工具: Elecard StreamEye Tools eseye_u.exe

在华为的昇腾经常会看到,如下:

检查输入的源码流是否有问题。
使用第三方工具(如:eseye u)对输入码流进行检查,查看码流是否异常。

DVPP媒体数据处理视频解码问题案例(https://www.hiascend.com/forum/thread-0281137042944264034-1-1.html)

StreamEye: 这是Elecard公司的一款产品,用于分析和调试视频压缩算法。它可以分析各种不同的视频流格式,包括H.264/AVC, MPEG-2, VP9等。它的官网地址是 https://www.elecard.com/zh/products/video-analysis/streameye

lecard StreamEye Tools是一个强大的视频序列或码流分析软件,YUV分析,264文件分析软件,H.264视频编解码学习必备的东西,Elecard StreamEye Suite是一套用于专业视频压缩领域的功能强大的工具 ,能够帮助用户进行有效的对于视频序列的深入分析。感觉STREAM EYE的界面更加亲民,而且他的视频窗口可缩放,比较好操作,但是功能上面还是不如VISA强大,不过初学的话也是可以接受了。编码视频的可视化表现,流结构分析,这些流可以是MPEG-1/2/4 or AVC/H.264 VES(视频基本流)、SS(MPEG1的系统流)、,PS(MPEG2的程序流)、TS(mpeg2的传输流)。

破解方法,复制以下两个文件到C:Program FilesCommon FilesElecard文件夹下,覆盖原来的LC.dll,然后运行Registrator.exe,选中Elecard StreamEye Tools点击Activate,提示Enter Serial number,什么都不用填,直接OK即可.

eseye u 下载地址:http://www.rsdown.cn/down/164892.html

ls -lh Ascend-cann-*
-rwxrwxrwx 1 hesy hesy 698M  3月 28 17:23 Ascend-cann-kernels-310b_8.1.RC1.alpha001_linux-aarch64.run
-rwxrwxrwx 1 hesy hesy  490  3月 28 17:17 Ascend-cann-kernels-310b_8.1.RC1.alpha001_linux-aarch64.run.asc
-rwxrwxrwx 1 hesy hesy 8.5K  3月 28 17:17 Ascend-cann-kernels-310b_8.1.RC1.alpha001_linux-aarch64.run.p7s
-rwxrwxrwx 1 hesy hesy 2.2G  3月 28 17:39 Ascend-cann-toolkit_8.1.RC1.alpha001_linux-aarch64.run
-rwxrwxrwx 1 hesy hesy  490  3月 28 17:17 Ascend-cann-toolkit_8.1.RC1.alpha001_linux-aarch64.run.asc
-rwxrwxrwx 1 hesy hesy 8.5K  3月 28 17:17 Ascend-cann-toolkit_8.1.RC1.alpha001_linux-aarch64.run.p7s

gpg --verify Ascend-cann-kernels-310b_8.1.RC1.alpha001_linux-aarch64.run.asc 

gpg:
假定被签名的数据在‘Ascend-cann-kernels-310b_8.1.RC1.alpha001_linux-aarch64.run’
gpg: 签名建立于 2025年03月14日 星期五 18时02分40秒 CST gpg: 使用 RSA 密钥
99AD81DF27A74824 gpg: 无法检查签名:缺少公钥

gpg --keyserver hkp://keyserver.ubuntu.com --recv-keys 99AD81DF27A74824

gpg: 密钥 99AD81DF27A74824:公钥 “OpenPGP signature key for Huawei software (created on 30th Dec,2013) <support@huawei.com>” 已导入
gpg: 处理的总数:1
gpg: 已导入:1

gpg --verify Ascend-cann-kernels-310b_8.1.RC1.alpha001_linux-aarch64.run.asc 

gpg: 假定被签名的数据在‘Ascend-cann-kernels-310b_8.1.RC1.alpha001_linux-aarch64.run’
gpg: 签名建立于 2025年03月14日 星期五 18时02分40秒 CST
gpg: 使用 RSA 密钥 99AD81DF27A74824
gpg: 完好的签名,来自于 “OpenPGP signature key for Huawei software (created on 30th Dec,2013) <support@huawei.com>” [未知]
gpg: 警告:此密钥未被受信任签名认证!
gpg: 没有证据表明此签名属于其声称的所有者。
主密钥指纹: B100 0AC3 8C41 525A 19BD C087 99AD 81DF 27A7 4824

gpg --verify Ascend-cann-toolkit_8.1.RC1.alpha001_linux-aarch64.run.asc 

gpg: 假定被签名的数据在‘Ascend-cann-toolkit_8.1.RC1.alpha001_linux-aarch64.run’
gpg: 签名建立于 2025年03月14日 星期五 18时04分50秒 CST
gpg: 使用 RSA 密钥 99AD81DF27A74824
gpg: 完好的签名,来自于 “OpenPGP signature key for Huawei software (created on 30th Dec,2013) <support@huawei.com>” [未知]
gpg: 警告:此密钥未被受信任签名认证!
gpg: 没有证据表明此签名属于其声称的所有者。
主密钥指纹: B100 0AC3 8C41 525A 19BD C087 99AD 81DF 27A7 4824

列出本地的所有 Key
执行 gpg --list-keys 列出本地所有的密钥

gpg --list-keys

/home/hesy/.gnupg/pubring.kbx
pub rsa2048 2013-12-30 [SC]

  B1000AC38C41525A19BDC08799AD81DF27A74824

uid [ 未知 ] OpenPGP signature key for Huawei software (created on 30th Dec,2013) <support@huawei.com>

导出公钥

gpg --output rsa_pub.pgp --armor --export B1000AC38C41525A19BDC08799AD81DF27A74824

armor参数的意思是以ASCII导出,默认是二进制格式导出.

cat rsa_pub.pgp 

-----BEGIN PGP PUBLIC KEY BLOCK-----

mQENBFLBPjsBCACtQyXqecsm1a3GvRoPHpfrB9ITrYeN0vfSFlJeL4esOgQuA5l3
ILTS9bdGH9OsLuWnryVcGVRVHrpmjhuqSJycYPn/3VXtUWMm27zVSHrKhOTmm3z2
rIeuOdJzaKpgwtkwRzeuutDPW8GqpwRQaGEOGLNcMv+FRYdjmtVru6SKcC7zjhfY
2/TIj4nGGVCP+ebjQGoLBMjC2o9fJi+UV5IxHnB896YpcRKs+JTaV5KSnQ8fG23D
lDofBgwrl9icaNXm17bPx2WYRutaURS6HKh17Vffv4T4t3BoaKj0xE/cF761FPrD
NIFxSpRqQ3As4kS3UOUFg1/5NUBkev4MI5ifABEBAAG0WU9wZW5QR1Agc2lnbmF0
dXJlIGtleSBmb3IgSHVhd2VpIHNvZnR3YXJlIChjcmVhdGVkIG9uIDMwdGggRGVj
LDIwMTMpIDxzdXBwb3J0QGh1YXdlaS5jb20+iQE3BBMBAgAhBQJSwT47AhsDBgsJ
CAcDAgYVCAIJCgsDFgIBAh4BAheAAAoJEJmtgd8np0gk0GQIAIJKdFLMivJdxlS8
INxZHejGaqToh9GqK1u6HQ3Hp59OKRPINBgd61NFuuOwcO0WqBArXfGLLQpBSWLa
5cIOHrEi+Pq2XkdxL3hZhnw/G/GHIHJTjIHNamTikalCz4B+BcsQ0UnFVKZDTkBA
F9a9Md21dJsgzEaAyqpozd1MKsed4Jcj7gY75L/DSWDdPEfeJCQ1j5RQpxbDn4sg
KiZU314DCz8+Iiz30c3l+WHryYC+g1gMeRWKYlS1waltoqpKJeb5b6VEarJKDJXm
LkV3kCmB8AMq8yS0y92uBR58WNlxw37o01grXaQMvTl7GkBQ20xLFHvIdU9UUzVX
86Xyy7A=
=0zUT
-----END PGP PUBLIC KEY BLOCK-----

普及一个数字签名的基本公式: signature = privkey_encrypt(hash_alg(content))

openssl pkcs7 -inform DER -in Ascend-cann-kernels-310b_8.1.RC1.alpha001_linux-aarch64.run.p7s -out Ascend-cann-kernels-310b_8.1.RC1.alpha001_linux-aarch64.run.pkcs7
cat Ascend-cann-kernels-310b_8.1.RC1.alpha001_linux-aarch64.run.pkcs7 

-----BEGIN PKCS7-----
...
-----END PKCS7-----

openssl pkcs7 -print_certs -in Ascend-cann-kernels-310b_8.1.RC1.alpha001_linux-aarch64.run.pkcs7 -out Ascend-cann-kernels-310b_8.1.RC1.alpha001_linux-aarch64.run.pkcs7.cert

cat Ascend-cann-kernels-310b_8.1.RC1.alpha001_linux-aarch64.run.pkcs7.cert 

subject=C = CN, O = Huawei Technologies, OU = Huawei Trust Service, CN = Huawei Release-Signing Authority 1 - G2
issuer=C = CN, O = Huawei Technologies, OU = Huawei Certification Authority, CN = Huawei Integrity CA 1 - G2
-----BEGIN CERTIFICATE-----
...