国标GB28181协议EasyGBS视频平台TCP主动模式拉流异常情况修复
EasyGBS是基于国标GB28181协议的视频平台,可支持视频直播、录像、云存储、检索与回放、云台控制、告警上报、语音对讲等功能。EasyGBS平台功能全面、综合性强、视频能力灵活,能够涵盖所有视频监控领域的需求,已经在大量的项目中落地应用,如明厨亮灶、平安乡村、雪亮工程等。
EasyGBS平台可以设置三种拉流模式,UDP、TCP主动、TCP被动。
1)UDP:
服务端监听UDP端口,通过INVITE信令告知设备端口,设备主动向服务端发起流传输。
2)TCP被动:
服务端监听TCP端口,通过INVITE信令告知设备端口,设备向服务端发起流传输。
3)TCP主动:
设备端告知服务端监听的TCP端口情况,服务端主动向设备拉流,但是此种场景较少。
在某用户的项目中,EasyGBS作为上级平台,下级设备拉流设置为TCP被动,那么相对应上级EasyGBS要设置TCP主动模式拉流,但是在用户现场,则是一直拉流超时报错,于是我们对此情况进行了排查。查看主动模式拉流代码是否存在问题。
TCP主动模式中,EasyGBS需要向设备端发送INVITE消息,等待收流前发送SYN消息与下级建立连接,而现场则在发送SYN的时候,一直报端口占用(如下图)错误,于是我们分析是在发送SYN之前,程序已经对本次的拉流端口进行监听了。
查看代码发现,在拉流的时候,判断主动模式未成功,进入了TCP被动模式中,所以一直无法使用TCP主动拉流,修改后如下图:
修改后,上述问题已经成功解决。
EasyGBS强大的视频能力既可以作为业务平台,也能作为视频能力平台进行调用。通过GB28181标准协议实现平台之间的级联,可实现与其他平台系统的数据共享共用,在应用场景中达到视频资源汇聚、协同监督、平台联动等目的,感兴趣的用户可以前往演示平台进行体验或部署测试。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 提示词工程——AI应用必不可少的技术
· 字符编码:从基础到乱码解决
· 地球OL攻略 —— 某应届生求职总结
2021-06-24 EasyGBS首页内容无法占满页面高度的优化
2021-06-24 视频结构化图像智能分析技术EasyGBS如何助力便利店视频监控建设?