随笔 - 936  文章 - 0  评论 - 3  阅读 - 30万

EasyGBS级联时,上级平台重启导致推流失败、画面卡住该如何解决?

EasyGBS平台具有视频直播监控、云端录像、云存储、检索回放、智能告警、语音对讲等功能,其中平台级联能力是一项非常实用的功能,它可以实现平台之间的互联互通、资源共享、数据协同等等。基于国标GB28181协议,EasyGBS可以让下级平台(包含摄像机、支持GB28181的视频平台)级联到EasyGBS,也可以作为下级平台,通过GB28181方式级联到支持GB28181的上级平台。

 

有用户反馈,在现场使用过程中,下级EasyGBS存在一个问题:如果上级EasyGBS平台重启,下级往上级推流会失败,这样会出现上级EasyGBS平台的视频画面卡住(画面定格)。

因为上级EasyGBS平台重新启动,但是下级的视频画面并没有停止,会一直往上级EasyGBS平台推流,而上级重启时,会导致平台的端口连接暂时关闭,所以此时下级往上级推流是无效的,这样会存在以下两种情况,引起tcp或者udp连接发生变化。

1)如果是自身的ip,那么上级tcp或者udp连接断开时,需要将下级的tcp或udp同时断开。这样下次进行tcp或者udp连接时,就不会出现不推流的情况,会重新建立连接并推流。

2)另外一种情况,如果上级走的不是自身的ip,走的是负载均衡。那么就需要判断唯一键值是否还在发送流。如果还在发流且ip和端口改变,则需要将之前的tcp或者udp断开,并重新建立新的tcp或者udp连接,视频流依旧正常发送给上级即可。

上述两种情况均会导致上级EasyGBS平台播放画面卡住的现象。可通过以下两种方法进行解决:

1)如果是自身ip,则解决如下:

如果发送数据流失败,可将tcp和udp给个回调,并断开连接。参考代码如下:

2)如果是非自身ip,则解决如下:

非自身ip时,不会发送tcp和udp失败,这样就需要检测唯一键值进行判断。ip不一样,将之前的断开即可,并重新连接新的地址。参考代码如下:

 

EasyGBS平台功能全面、综合性强,既可以作为业务平台,也能作为视频能力平台进行调用。平台视频能力灵活,能够涵盖所有视频监控领域的需求,已经在大量的项目中落地应用,如明厨亮灶、平安乡村、雪亮工程等。感兴趣的用户可以前往演示平台进行体验或部署测试。

posted on   EasyGBS  阅读(64)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 提示词工程——AI应用必不可少的技术
· 字符编码:从基础到乱码解决
· 地球OL攻略 —— 某应届生求职总结
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示