瀏覽代碼

修复推流时存入推流数据的问题

648540858 1 年之前
父節點
當前提交
050882d6a6
共有 1 個文件被更改,包括 14 次插入10 次删除
  1. 14 10
      src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMHttpHookListener.java

+ 14 - 10
src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMHttpHookListener.java

@@ -376,17 +376,21 @@ public class ZLMHttpHookListener {
                     }
                     redisCatchStorage.updateStreamAuthorityInfo(param.getApp(), param.getStream(), streamAuthorityInfo);
 
-                    Map<String, String> params = MediaServerUtils.urlParamToMap(param.getParams());
-                    param.setParamMap(params);
-                    StreamInfo streamInfoByAppAndStream = mediaService.getStreamInfoByAppAndStream(mediaInfo,
-                            param.getApp(), param.getStream(), tracks, params.get("callId"));
-                    param.setStreamInfo(new StreamContent(streamInfoByAppAndStream));
-
-                    param.setSeverId(userSetting.getServerId());
-                    streamPushService.updatePush(param);
-                    // 冗余数据,自己系统中自用
-                    redisCatchStorage.addPushListItem(param.getApp(), param.getStream(), param);
+                    if (!"broadcast".equals(param.getApp()) && !"talk".equals(param.getApp())) {
+                        Map<String, String> params = MediaServerUtils.urlParamToMap(param.getParams());
+                        param.setParamMap(params);
+                        StreamInfo streamInfoByAppAndStream = mediaService.getStreamInfoByAppAndStream(mediaInfo,
+                                param.getApp(), param.getStream(), tracks, params.get("callId"));
+                        param.setStreamInfo(new StreamContent(streamInfoByAppAndStream));
+
+                        param.setSeverId(userSetting.getServerId());
+                        streamPushService.updatePush(param);
+                        // 冗余数据,自己系统中自用
+                        redisCatchStorage.addPushListItem(param.getApp(), param.getStream(), param);
+                    }
                 }
+            }else {
+                redisCatchStorage.removePushListItem(param.getApp(), param.getStream(), param.getMediaServerId());
             }
             // TODO 修改为第一个为准 后续不再处理
             if ("rtsp".equals(param.getSchema())) {