From 9bb5ef6522272a78dce43a85fa62336241f4db24 Mon Sep 17 00:00:00 2001 From: 648540858 <648540858@qq.com> Date: 星期三, 10 四月 2024 18:22:42 +0800 Subject: [PATCH] 修复多个wvp执行推流转发失败的BUG --- src/main/java/com/genersoft/iot/vmp/storager/impl/RedisCatchStorageImpl.java | 20 ++++++++++++++++---- 1 files changed, 16 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/genersoft/iot/vmp/storager/impl/RedisCatchStorageImpl.java b/src/main/java/com/genersoft/iot/vmp/storager/impl/RedisCatchStorageImpl.java index 2871d69..1eac4df 100755 --- a/src/main/java/com/genersoft/iot/vmp/storager/impl/RedisCatchStorageImpl.java +++ b/src/main/java/com/genersoft/iot/vmp/storager/impl/RedisCatchStorageImpl.java @@ -150,7 +150,7 @@ + sendRtpItem.getMediaServerId() + "_" + sendRtpItem.getPlatformId() + "_" + sendRtpItem.getChannelId() + "_" - + sendRtpItem.getStreamId() + "_" + + sendRtpItem.getStream() + "_" + sendRtpItem.getCallId(); redisTemplate.opsForValue().set(key, sendRtpItem); } @@ -184,7 +184,7 @@ } @Override - public List<SendRtpItem> querySendRTPServerByChnnelId(String channelId) { + public List<SendRtpItem> querySendRTPServerByChannelId(String channelId) { if (channelId == null) { return null; } @@ -609,14 +609,13 @@ @Override public void sendDeviceOrChannelStatus(String deviceId, String channelId, boolean online) { String key = VideoManagerConstants.VM_MSG_SUBSCRIBE_DEVICE_STATUS; - logger.info("[redis閫氱煡] 鍙戦�� 鎺ㄩ�佽澶�/閫氶亾鐘舵�侊紝 {}/{}-{}", deviceId, channelId, online); StringBuilder msg = new StringBuilder(); msg.append(deviceId); if (channelId != null) { msg.append(":").append(channelId); } msg.append(" ").append(online? "ON":"OFF"); - logger.info("[redis閫氱煡] 鎺ㄩ�佺姸鎬�-> {} ", msg); + logger.info("[redis閫氱煡] 鎺ㄩ�佽澶�/閫氶亾鐘舵��-> {} ", msg); // 浣跨敤 RedisTemplate<Object, Object> 鍙戦�佸瓧绗︿覆娑堟伅浼氬鑷村彂閫佺殑娑堟伅澶氬甫浜嗗弻寮曞彿 stringRedisTemplate.convertAndSend(key, msg.toString()); } @@ -658,6 +657,12 @@ } @Override + public OnStreamChangedHookParam getPushListItem(String app, String stream) { + String key = VideoManagerConstants.PUSH_STREAM_LIST + app + "_" + stream; + return (OnStreamChangedHookParam)redisTemplate.opsForValue().get(key); + } + + @Override public void removePushListItem(String app, String stream, String mediaServerId) { String key = VideoManagerConstants.PUSH_STREAM_LIST + app + "_" + stream; OnStreamChangedHookParam param = (OnStreamChangedHookParam)redisTemplate.opsForValue().get(key); @@ -666,4 +671,11 @@ } } + + @Override + public void sendPushStreamClose(MessageForPushChannel msg) { + String key = VideoManagerConstants.VM_MSG_STREAM_PUSH_CLOSE_REQUESTED; + logger.info("[redis鍙戦�侀�氱煡] 鍙戦�� 鍋滄鍚戜笂绾ф帹娴� {}: {}/{}->{}", key, msg.getApp(), msg.getStream(), msg.getPlatFormId()); + redisTemplate.convertAndSend(key, JSON.toJSON(msg)); + } } -- Gitblit v1.8.0