From 98d12ecd6bdc49e6bed86eda4f55ab75e940ca36 Mon Sep 17 00:00:00 2001 From: 648540858 <648540858@qq.com> Date: 星期五, 11 三月 2022 09:49:48 +0800 Subject: [PATCH] Merge pull request #388 from AbnerSC/wvp-28181-2.0 --- src/main/java/com/genersoft/iot/vmp/conf/SipPlatformRunner.java | 18 +++++++++++++++++- 1 files changed, 17 insertions(+), 1 deletions(-) diff --git a/src/main/java/com/genersoft/iot/vmp/conf/SipPlatformRunner.java b/src/main/java/com/genersoft/iot/vmp/conf/SipPlatformRunner.java index 106b3cf..4ebaf0b 100644 --- a/src/main/java/com/genersoft/iot/vmp/conf/SipPlatformRunner.java +++ b/src/main/java/com/genersoft/iot/vmp/conf/SipPlatformRunner.java @@ -4,6 +4,7 @@ import com.genersoft.iot.vmp.gb28181.bean.ParentPlatformCatch; import com.genersoft.iot.vmp.gb28181.event.EventPublisher; import com.genersoft.iot.vmp.gb28181.transmit.cmd.ISIPCommanderForPlatform; +import com.genersoft.iot.vmp.media.zlm.ZLMRTPServerFactory; import com.genersoft.iot.vmp.storager.IRedisCatchStorage; import com.genersoft.iot.vmp.storager.IVideoManagerStorager; import org.springframework.beans.factory.annotation.Autowired; @@ -29,15 +30,24 @@ @Autowired private EventPublisher publisher; + @Autowired + private ISIPCommanderForPlatform sipCommanderForPlatform; + + @Override public void run(String... args) throws Exception { // 璁剧疆鎵�鏈夊钩鍙扮绾� storager.outlineForAllParentPlatform(); + // 娓呯悊鎵�鏈夊钩鍙版敞鍐岀紦瀛� + redisCatchStorage.cleanPlatformRegisterInfos(); + + // 鍋滄鎵�鏈夋帹娴� +// zlmrtpServerFactory.closeAllSendRtpStream(); + List<ParentPlatform> parentPlatforms = storager.queryEnableParentPlatformList(true); for (ParentPlatform parentPlatform : parentPlatforms) { - redisCatchStorage.updatePlatformRegister(parentPlatform); redisCatchStorage.updatePlatformKeepalive(parentPlatform); @@ -48,6 +58,12 @@ parentPlatformCatch.setId(parentPlatform.getServerGBId()); redisCatchStorage.updatePlatformCatchInfo(parentPlatformCatch); + // 鍙栨秷璁㈤槄 + sipCommanderForPlatform.unregister(parentPlatform, null, (eventResult)->{ + ParentPlatform platform = storager.queryParentPlatByServerGBId(parentPlatform.getServerGBId()); + sipCommanderForPlatform.register(platform, null, null); + }); + // 鍙戦�佸钩鍙版湭娉ㄥ唽娑堟伅 publisher.platformNotRegisterEventPublish(parentPlatform.getServerGBId()); } -- Gitblit v1.8.0