国标GB28181协议EasyGBS向上级平台级联时,视频无法播放的原因分析及解决
EasyGBS是基于公安部推出的国标GB28181协议的视频平台,可实现视频监控直播、录像检索与回看、云台控制、语音对讲、告警上报、平台级联等视频能力,有着十分广泛的应用场景,如智慧工地、智慧园区、智慧工厂、明厨亮灶等等。
有用户反馈,在使用EasyGBS级联时,上级平台级联播放,视频流是H.264转国标,前端页面一直在加载中,视频播放不了,最后黑屏。
今天我们来分享一下排查过程与解决办法。
首先,我们进行抓包分析。从抓包的数据分析得知,Seq这个参数有重复,这表示包多发。
2)代码中有二次向上级级联平台发送数据。
第一处是将ts数据转成国标:
调试的过程中没有进此函数,所以不会导致发送数据。第二处是将H.264转国标直接发送。
所以目前只有此处发送数据。于是我们用EasyCVR级联到EasyGBS进行调试。在EasyCVR断点中得知,有个pts参数时间每次发送数据都需要加上40ms。
而在EasyGBS上则没有加上40ms,pts参数永远为0(会在抓包时导致数据重复)。
找到问题后解决起来比较简单了,只需要将pts每次发送数据增加40ms即可。
修改后视频已经可以正常播放了。
国标GB28181协议视频平台EasyGBS既可以作为业务平台,也能作为视频能力平台进行调用,是安防市场主流的视频监控平台。EasyGBS在去年也更换了新内核,新版本的平台性能更加稳定和流畅,同时也增加了不少的新功能。感兴趣的用户可以前往演示平台进行体验。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 提示词工程——AI应用必不可少的技术
· 字符编码:从基础到乱码解决
· 地球OL攻略 —— 某应届生求职总结