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

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

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

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

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

 

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

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

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

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

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

 

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

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

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

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

 

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

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

 

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

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

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

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

代码修改如下:

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

 

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

 

原文链接: https://www.cnblogs.com/easycvr/p/15821184.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍

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

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/186687

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年2月12日 上午11:10
下一篇 2023年2月12日 上午11:10

相关推荐