首页 > 资讯 > > 正文

昇腾实战丨DVPP媒体数据处理视频解码问题案例-焦点报道

来源:博客园 2023-05-08 16:18:14
摘要:本期就分享几个关于DVPP视频解码问题的典型案例,并给出原因分析及解决方法

本文分享自华为云社区《DVPP媒体数据处理视频解码问题案例》,作者:昇腾CANN 。

DVPP(Digital Vision Pre-Processing)是昇腾AI处理器内置的图像处理单元,通过AscendCL媒体数据处理接口提供强大的媒体处理硬加速能力,主要功能包括图像编解码、视频编解码、图像抠图缩放等。


【资料图】

本期就分享几个关于DVPP视频解码问题的典型案例,并给出原因分析及解决方法:

  1. 视频解码进程卡死,无法退出
  2. retCode返回值设置错误,导致视频解码异常
  3. 视频解码无报错,但无解码结果数据,且CPU占用率高

01 视频解码进程卡死,无法退出

现象描述

用户进程卡死,无法退出。查看应用类日志,一直重复提示信息“fault kernel_name=DvppSendVdecFrame”、“Kernel task happen error, retCode=0x28, [aicpu timeout]”,表示AI CPU异常,无法处理视频解码任务,导致任务超时。

日志片段举例如下:

[ERROR] RUNTIME(pid,pName):DateTimeMS [task.cc:878]1827 PreCheckTaskErr:[DVPP][DEFAULT]Kernel task happen error, retCode=0x28, [aicpu timeout].[ERROR] RUNTIME(pid,pName):DateTimeMS [task.cc:676]1827 PrintAicpuErrorInfo:[DVPP][DEFAULT]Aicpu kernel execute failed, device_id=0, stream_id=177, task_id=4, fault so_name=libdvpp_kernels.so, fault kernel_name=DvppSendVdecFrame, fault op_name=, extend_info=.[ERROR] RUNTIME(pid,pName):DateTimeMS [task.cc:878]1831 PreCheckTaskErr:[DVPP][DEFAULT]Kernel task happen error, retCode=0x28, [aicpu timeout].[ERROR] RUNTIME(pid,pName):DateTimeMS [task.cc:676]1831 PrintAicpuErrorInfo:[DVPP][DEFAULT]Aicpu kernel execute failed, device_id=0, stream_id=170, task_id=8, fault so_name=libdvpp_kernels.so, fault kernel_name=DvppSendVdecFrame, fault op_name=, extend_info=.[ERROR] RUNTIME(pid,pName):DateTimeMS [engine.cc:960]1766 ReportExceptProc:[DVPP][DEFAULT]Task exception! device_id=0, stream_id=107, task_id=8, type=1, retCode=0x28.[ERROR] RUNTIME(pid,pName):DateTimeMS [engine.cc:960]1773 ReportExceptProc:[DVPP][DEFAULT]Task exception! device_id=0, stream_id=130, task_id=4, type=1, retCode=0x28.

可能原因

Device内存不足,AI CPU无法处理视频解码任务,导致任务超时。

处理步骤

1.在使用媒体数据处理V1版本的视频解码功能前,可参考性能指标说明页面中的“每路VDEC解码的内存消耗计算公式”,预估需使用的Device内存,并合理规划Device上的内存。您可以在页面左上侧切换版本,查看对应版本的性能指标说明。

2.优化应用程序的代码逻辑,增加异常处理机制,获取视频解码异常信息,强制退出进程。

在调用aclinit接口初始化之后、调用aclvdecSendFrame接口解码之前,定义异常回调函数,并调用aclrtSetExceptionInfoCallback接口设置异常回调函数,用于获取任务异常信息,以便在异常分支中根据任务异常信息来判断是否退出应用进程。

根据Stream ID、Task ID判断Device是否异常,若异常,则强制退出进程。

异常回调函数实现示例如下:

void dvpp_callback(aclrtExceptionInfo * exception_info){    uint32_t taskId = aclrtGetTaskIdFromExceptionInfo(exception_info);    uint32_t streamId = aclrtGetStreamIdFromExceptionInfo(exception_info);    uint32_t deviceId = aclrtGetDeviceIdFromExceptionInfo(exception_info); if(taskId == 0xffffffff) || (streamId == 0xffffffff) { //Device异常,强制退出进程 } else { //任务异常,如果频繁出现(例如,统计1秒内触发异常回调函数的次数),进程退出 } return;}

3.调用aclrtSetExceptionInfoCallback接口设置异常回调函数。

02 retCode返回值设置错误,导致视频解码异常

现象描述

调用aclvdecSendFrame接口发送一帧码流后,继续复用输出图片描述信息,进行后续帧码流的解码操作,结果反复出现解码不成功、解码异常的情况。

日志片段举例如下:

Channel[0]: success to aclvdecSendFrame, loop=1, count=7get frame success, totalCount=7packet.size is 26084.Channel[0]: begin to send frame, loop=1, count=8acldvppGetPicDescRetCode, retCode: 2.Vdec ERROR!!!!!!!!!!!!!!!!errCount is 3. total count is 3.!!!!!!!!!!!!!!!!!!acldvppGetPicDescRetCode, retCode: 2.right_count:0,fail_count:3,total_count:3Channel[0]: success to aclvdecSendFrame, loop=1, count=8get frame success, totalCount=8packet.size is 27927.Channel[0]: begin to send frame, loop=1, count=9acldvppGetPicDescRetCode, retCode: 2.Vdec ERROR!!!!!!!!!!!!!!!!errCount is 4. total count is 4.!!!!!!!!!!!!!!!!!!acldvppGetPicDescRetCode, retCode: 2.right_count:0,fail_count:4,total_count:4

可能原因

根据日志中的提示,通过acldvppGetPicDescRetCode接口获取到的retCode为2,retCode为非0值时,表示解码异常。

再查看代码逻辑时,发现由于前一帧码流解码失败,retCode被置为2,在复用输出图片描述信息时,retCode也继承了前一帧解码失败的状态值2,导致AscendCL在解码后续帧时,获取到retCode值为2,就一直判断解码是失败。

处理步骤

如果存在复用输出图片描述信息的场景,需先调用acldvppSetPicDescRetCode设置为0,防止前一帧解码异常的状态影响后续解码。

03 视频解码无报错,但无解码结果数据、CPU占用率高

现象描述

查看应用类日志,无ERROR报错、无解码结果数据输出,另外,在运行应用程序的Linux服务器上执行top命令,该应用进程的CPU占用率持续升高。

可能原因

1. 无ERROR、无解码结果数据输出,初步判断可能是因为解码发帧接口aclvdecSendFrame调用正常,但未触发回调函数,无法获取解码结果数据。

2. 检查触发回调函数的代码逻辑。

按照视频解码的接口调用逻辑:由用户提前创建一个单独的线程,并自定义线程函数,在线程函数内调用aclrtProcessReport接口,通过该接口配置超时时间,等待指定的超时时间后,触发回调函数,获取解码结果数据。

Channel[0]: success to aclvdecSendFrame, loop=1, count=7get frame success, totalCount=7void *ThreadFunc(aclrtContext sharedContext){ if (sharedContext == nullptr) { ERROR_LOG("sharedContext can not be nullptr"); return ((void*)(-1)); } INFO_LOG("use shared context for this thread"); aclError ret = aclrtSetCurrentContext(sharedContext); if (ret != ACL_SUCCESS) { ERROR_LOG("aclrtSetCurrentContext failed, errorCode = %d", static_cast(ret)); return ((void*)(-1)); } INFO_LOG("thread start "); while (runFlag) { // Notice: timeout 1000ms (void)aclrtProcessReport(1000); } return (void*)0;}

3. 如果触发回调函数的接口调用逻辑正确,则在aclrtProcessReport接口处增加日志打印,判断应用运行过程中线程是否成功调用了aclrtProcessReport接口,只有成功调用aclrtProcessReport接口,才会触发回调函数。

示例代码如下:

while (runFlag) { // Notice: timeout 1000ms aclError ret = aclrtProcessReport(1000); printf("aclrtProcessReport failed, ret=%d.\n", ret);}

4. 修改代码后,重新编译运行应用。

在终端屏幕重复出现以下打印信息,表示调用aclrtProcessReport接口失败:

aclrtProcessReport failed, ret = 107012

查阅该接口的返回值说明,107012表示线程未订阅或重复订阅。

5. 检查代码逻辑,检查是否调用aclvdecSetChannelDescThreadId接口绑定用户新建的线程,按照VDEC视频解码的接口调用逻辑,只有调用该接口绑定用户线程,才可以触发调用aclrtProcessReport接口,进而触发回调函数。

6. 修改代码后,重新编译运行应用,视频解码正常,正常输出解码结果数据,同时CPU占用率下降。

处理步骤

参见视频解码的接口调用流程页面或者参考VDEC功能样例开发视频解码功能。您可以在页面左上侧切换版本,查看对应版本的接口调用流程。

其中,需关注以下注意点:

04 更多介绍

[1]昇腾文档中心

[2]昇腾社区在线课程

[3]昇腾论坛

点击关注,第一时间了解华为云新鲜技术~

x
推荐阅读

昇腾实战丨DVPP媒体数据处理视频解码问题案例-焦点报道

2023-05-08 16:18:14

当前看点!医疗“组团式”帮扶助力册亨县人民医院发展

2023-05-08 15:33:07

台湾安徽同乡联谊总会赴阜阳考察_当前视点

2023-05-08 15:22:27

福建终止防暴雨Ⅳ应急响应 天天聚看点

2023-05-08 14:42:45

热推荐:移远通信全球总部在上海松江泗泾开工建设

2023-05-08 14:09:13

【天天聚看点】小区多处路灯杆倒地 玉景湾社区及时修复

2023-05-08 13:23:55

华凯易佰:AIGC应用于公司的智能刊登、智能调价、智能广告等业务环节-滚动

2023-05-08 12:50:11

国际篮联三人篮球女子系列赛:中国队夺冠

2023-05-08 12:23:03

今日播报!中特估概念走势活跃!中国银行、中国银河等涨停 中国海油等拉升

2023-05-08 11:52:18

焦点报道:聚焦智慧电网技术,天正举办博士后项目开题报告会

2023-05-08 11:29:23
相关新闻

昇腾实战丨DVPP媒体数据处理视频解码问题案例-焦点报道

2023-05-08 16:18:14

当前看点!医疗“组团式”帮扶助力册亨县人民医院发展

2023-05-08 15:33:07

台湾安徽同乡联谊总会赴阜阳考察_当前视点

2023-05-08 15:22:27

福建终止防暴雨Ⅳ应急响应 天天聚看点

2023-05-08 14:42:45

热推荐:移远通信全球总部在上海松江泗泾开工建设

2023-05-08 14:09:13

【天天聚看点】小区多处路灯杆倒地 玉景湾社区及时修复

2023-05-08 13:23:55

华凯易佰:AIGC应用于公司的智能刊登、智能调价、智能广告等业务环节-滚动

2023-05-08 12:50:11

国际篮联三人篮球女子系列赛:中国队夺冠

2023-05-08 12:23:03

今日播报!中特估概念走势活跃!中国银行、中国银河等涨停 中国海油等拉升

2023-05-08 11:52:18

焦点报道:聚焦智慧电网技术,天正举办博士后项目开题报告会

2023-05-08 11:29:23

全球新资讯:一文详解登帝谁是头牌:哈登再爆发救主 4因素却决定更适合二当家

2023-05-08 10:53:23

当前滚动:利物浦尚未与布莱顿就麦卡利斯特转会联系 布莱顿也不期待

2023-05-08 10:15:51

航运板块集体拉升

2023-05-08 09:57:22

山西:这两类考生高考可享加分政策

2023-05-08 09:31:54

这才是最适合夏季的通勤单品,搭配简单不挑人,时尚又显气质 环球今头条

2023-05-08 08:56:24

甘肃酒泉:立夏飞雪 时讯

2023-05-08 08:16:52

专家:本轮强降雨范围广强度大,时间较常年明显偏早-天天亮点

2023-05-08 07:46:58

快讯:搭激光雷达 问界M7智驾版曝光

2023-05-08 06:59:57

金湖县黎城街道:打好监督“组合拳” 提升营商“软实力”

2023-05-08 05:09:53

世界通讯!里弗斯:率先进入比赛状态的队能赢球 有考虑过摆小阵容

2023-05-08 03:03:11

所得税季报弥补以前年度亏损怎么填_所得税季报可以弥补以前年度亏损

2023-05-08 00:51:05

全球消息!首个国产二价HPV疫苗最新头对头研究数据公布

2023-05-07 22:10:24

【国际漫评】“是TA给了我安全感!”

2023-05-07 21:10:08

期待回归首球!博格巴第64分钟替补登场,健硕肌肉清晰可见

2023-05-07 20:16:21

华安县气象台发布暴雨黄色预警信号【2023-05-07】_每日焦点

2023-05-07 19:23:09

美国突发!已致 9 人死亡!

2023-05-07 18:02:45

叙利亚代表团恢复参加阿盟会议资格 环球热讯

2023-05-07 17:05:52

全球微动态丨将小女友送给大佬陪酒换资源?女方被曝怀孕逼婚未遂,陈思诚又犯老毛病了?

2023-05-07 16:13:30

南京女大学生被害案主犯洪峤被执行死刑-天天观察

2023-05-07 15:33:25

焦点快报!深圳光明科学城迎来一新智能制造基地

2023-05-07 14:33:08

天天观天下!骑士老板儿子去世年仅26岁,曾代表球队抽中状元签

2023-05-07 13:43:24

富国天利基金值得买吗

2023-05-07 12:07:29

世界报道:白玉兰戏剧奖 | 范雅婷:蹲下来了解孩子,用心、用情创造好每一个角色

2023-05-07 11:12:20

【世界时快讯】2000人通宵鏖战5小时!广汕高铁新塘站普速场顺利开通

2023-05-07 10:35:54

此管理单元不能用于这一版本的windows10怎么解决_windows10能玩罪恶都市吗 如果不能 怎么解决

2023-05-07 10:02:22

肛门括约肌紧张型便秘_肛门括约肌-今日视点

2023-05-07 08:54:14

主动防护网A遵义主动护坡防护网A主动边坡防护网厂家

2023-05-07 08:08:24

亚洲之王!浦和红钻2-1利雅得新月 3夺亚冠超越恒大-当前热闻

2023-05-07 06:28:40

世界看点:国语对白精选_国语对白

2023-05-07 04:53:53

新消息丨求佛dj原版_求佛

2023-05-07 01:55:33

普通话等级证书查询 普通话等级查询官网_每日聚焦

2023-05-06 23:13:23

视点!诗画山东丨云绕山峦 风光无限 熊耳山现云海景观

2023-05-06 22:06:14

全球新动态:“猛虎杯”暨MLB CUP青少年棒球公开赛·春季赛北京站收官

2023-05-06 21:15:43

关注:第一局高光时刻:River蔚高效Gank GG轻松碾压R7

2023-05-06 20:34:20

星火成炬 | 飞扬吧 青春

2023-05-06 19:50:57

杭州自驾游去三亚(杭州自驾游三亚途经城市)

2023-05-06 19:04:17

唐嫣中戏同学聚会上热搜 20多人回母校相聚

2023-05-06 18:17:10

昆明优化调整103路公交运营线路|世界热讯

2023-05-06 17:40:06

耳目一新下一句是什么_耳目一新 世界时快讯

2023-05-06 17:20:51

全球新资讯:提高额度、放宽面积......我市住房公积金政策有变!

2023-05-06 16:16:54

网红绝对计划攻略特工试镜_网红绝对计划攻略_快播

2023-05-06 15:54:13

环球今热点:国际金价创历史新高!金银珠宝未来市场规模料超90万亿,龙头股价强势翻倍

2023-05-06 15:13:11

世界时讯:南方电网首个风储一体化调频项目成功投运

2023-05-06 14:59:43

视点!员工无投顾资格提供服务,四川大决策证券被责令改正

2023-05-06 14:09:48

含羞草有毒吗 含羞草,见过吧!有毒_全球热闻

2023-05-06 13:18:44

全球热文:沈抚改革创新示范区原党工委委员于扬福接受审查调查

2023-05-06 12:33:28

唐毅教授:认知数字疗法在神经内科领域应用

2023-05-06 12:03:11

中俄特使接连表态,阿塔想要的,中国给不了,塔利班应该反省自身

2023-05-06 10:52:13

环球视讯!家校合力,锦里小学“诸葛家长学堂”开学第一课开讲了!

2023-05-06 10:33:49

天天热文:零营收药企密集IPO 估值成关注点

2023-05-06 10:00:15

邮报:哈兰德邀请青训球队Bryne的工作人员去现...

2023-05-06 09:10:54

全国初夏地图出炉,看哪里夏日已至_最新消息

2023-05-06 08:10:22

豆腐王内酯使用比例?

2023-05-06 07:52:05

万丈红尘三杯酒千秋大业一壶茶是什么意思?_万丈红尘三杯酒 千秋大业一壶茶

2023-05-06 06:54:04

“五一”档票房回春,突破660万元

2023-05-06 05:58:33

世界新消息丨农业农村部:研究创设一批支撑农业强国建设的长期性、关键性支持保护政策

2023-05-06 04:52:01

全球讯息:kpi和okr的区别ppt(kpi和okr的区别)

2023-05-06 02:23:46

股票行情快报:*ST方科(600601)5月5日主力资金净卖出92.57万元

2023-05-06 00:11:21

南航集团“五一”假期运输承运旅客超300万人次

2023-05-05 22:59:12

自制葡萄酒要泡多久才好?-全球速看

2023-05-05 21:59:25

前沿热点:“五一”假期消费投诉情况出炉:服务类、商品类纠纷占多数

2023-05-05 20:58:08

来,数一数图中共有几个铁路桥洞

2023-05-05 20:15:28

云南全省收榨糖厂47家 全省共产糖200.03万吨-全球头条

2023-05-05 19:47:56

焦点滚动:一起感知沸腾的“五一”具体详细内容是什么

2023-05-05 19:04:38

深度观察:营收创新高转型见成效 赛托生物投资价值凸显

2023-05-05 18:22:57

通讯!比较好的网名_比较好的网名大全

2023-05-05 17:48:57

世界看热讯:紫牛拍咖|你笑起来真好看

2023-05-05 17:16:26

现货黄金维持日内小幅跌势 金价需要突破上述阻力

2023-05-05 17:03:05

天天热讯:南京联通成功实现5G+无人机近百公里长江连续巡航

2023-05-05 16:40:53

花园种花是什么歌词

2023-05-05 15:59:03

厦门机场通报摆渡车撞进航站楼:无旅客受伤

2023-05-05 15:38:29

世界新资讯:深圳楼市:这些区域正在套人,不要去接盘!

2023-05-05 15:28:59

每日热议!青春中国丨当青春划过蓝天

2023-05-05 14:54:40

抖音推出“超便宜的小店”,试水低价电商-天天热头条

2023-05-05 14:09:19

天天滚动:浓眉:我的出手选择与G1相同只是投丢了 我会打得更好的

2023-05-05 13:23:55

当前滚动:除了《灌篮高手》,最近受年轻人追捧的还有它!

2023-05-05 12:40:09

实时:洋河股份着力打造梦想文化 成为中国文化自信代表符号之一

2023-05-05 12:24:05

期货公司观点汇总一张图:5月5日有色系(铜、锌、铝、镍、锡等)|速看料

2023-05-05 12:02:14

天天速读:吸引人的标题短句_吸引人的标题

2023-05-05 11:14:59

新股前瞻|德翔海运:运费下降、竞争加剧,大力扩充船队也“茫然”?_世界观热点

2023-05-05 11:03:49

环球快看:株洲西站“五一”假期运输圆满收官

2023-05-05 10:42:09

全球最新:剑侠2攻略(剑侠2考试)

2023-05-05 10:04:42

台湾大学大陆招生条件2020知乎 台湾大学大陆招生 今日热闻

2023-05-05 09:39:33

科创板两融余额1052.37亿元 较上一日环比减少4.64亿元

2023-05-05 09:22:06

今日热闻!“五一”假期:香港各行各业“火起来”

2023-05-05 09:18:17

观焦点:*ST泛海:公司股票存在可能因股价低于面值被终止上市

2023-05-05 08:46:49

世界球精选!“夫妻同属相,日子变了样”啥意思?夫妻同一属相,到底好不好?

2023-05-05 07:55:29

“撸串儿顺便买套房”,淄博楼市也火了?

2023-05-05 07:21:01

环球时讯:德泽尔比:我们配得上获胜 正在为欧战目标而战

2023-05-05 06:02:34

当前速递!阜矿集团总医院_阜矿集团

2023-05-05 04:49:27