ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

EasyCVR对接大华SDK,视频回放无法播放的排查过程及解决方法

2022-01-19 10:32:31  阅读:238  来源: 互联网

标签:视频 回放 C++ 排查 EasyCVR 大华 SDK


EasyCVR 视频融合云平台不仅支持多协议(标准协议与私有协议)、多类型设备的接入,而且还具备优秀的视频转码、播放、录像、回看、级联等能力,在很多实际场景中均有落地项目应用,如智慧工地、智慧安防、智慧工厂、智慧园区等。

去年我们研发团队已经完成EasyCVR对大华SDK的接入,用户可以通过 EasyCVR 对接大华设备实现视频直播、录像、回放、云台控制等操作。

近期,我们接到用户的反馈,使用 EasyCVR 添加大华 SDK 用来播放视频回放,播放出来等一段时间还是黑屏,并且前端页面提示“视频加载错误”。

 

本文我们就针对该问题分享一下排查及解决过程。

首先我们分析问题出现的原因,视频录像回放加载不出来,分析流程要分为如下2步:

1、分析 C++ 是否回放成功,数据是否回调。

排查该用户的 C++ 回放接口与调用,如图:

 

该段代码里有个数据回调 PlaybackDataCallBackCB,查看数据回调是否进去。在测试的过程中,C++ 的回调函数有数据,并且使用 ffplay 指令可以播放。这样则说明 C++ 没问题,那么接下来排查 Go 层的问题。

2、分析前端调用 Go 或者 Go 调用 C++ 是否有出现问题。

1)首先,需要找到回放的接口定义;

 

2)然后,在进入函数并打断点是否启动 C++ 回放接口调用;

 

排查发现在程序打断点的是 devObj.DeviceHandle,显示的是永远小于或者等于0。而这样设置则会导致程序回放失败。

3)再接着查看 devObj 的结构体的值,DeviceHandle 和 DahuaDeviceHandle 都是设备的句柄值。

因此针对上述问题,我们可以这样解决:

用户使用的是大华设备回放失败问题,则只需要判断大华设备的句柄值即可。

代码修改如下:

 

我们将不定期在文章中分享关于EasyCVR的功能开发与优化、代码技巧、FAQ疑难问题解决、场景方案等内容,欢迎关注我们的更新。

 

标签:视频,回放,C++,排查,EasyCVR,大华,SDK
来源: https://www.cnblogs.com/easycvr/p/15821184.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有