Pārlūkot izejas kodu

支持把推流的额外参数加入redis缓存

648540858 1 gadu atpakaļ
vecāks
revīzija
1efabbe4cc

+ 4 - 7
src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMHttpHookListener.java

@@ -457,15 +457,12 @@ public class ZLMHttpHookListener {
                     if (!"rtp".equals(param.getApp())) {
                         String type = OriginType.values()[param.getOriginType()].getType();
                         if (param.isRegist()) {
-                            StreamAuthorityInfo streamAuthorityInfo = redisCatchStorage.getStreamAuthorityInfo(
-                                    param.getApp(), param.getStream());
-                            String callId = null;
-                            if (streamAuthorityInfo != null) {
-                                callId = streamAuthorityInfo.getCallId();
-                            }
+                            Map<String, String> params = MediaServerUtils.urlParamToMap(param.getParams());
+                            param.setParamMap(params);
                             StreamInfo streamInfoByAppAndStream = mediaService.getStreamInfoByAppAndStream(mediaInfo,
-                                    param.getApp(), param.getStream(), tracks, callId);
+                                    param.getApp(), param.getStream(), tracks, params.get("callId"));
                             param.setStreamInfo(new StreamContent(streamInfoByAppAndStream));
+
                             redisCatchStorage.addStream(mediaInfo, type, param.getApp(), param.getStream(), param);
                             if (param.getOriginType() == OriginType.RTSP_PUSH.ordinal()
                                     || param.getOriginType() == OriginType.RTMP_PUSH.ordinal()

+ 28 - 0
src/main/java/com/genersoft/iot/vmp/media/zlm/dto/hook/OnStreamChangedHookParam.java

@@ -3,6 +3,7 @@ package com.genersoft.iot.vmp.media.zlm.dto.hook;
 import com.genersoft.iot.vmp.vmanager.bean.StreamContent;
 
 import java.util.List;
+import java.util.Map;
 
 /**
  * @author lin
@@ -98,6 +99,16 @@ public class OnStreamChangedHookParam extends HookParam{
      */
     private String vhost;
 
+    /**
+     * 额外的参数字符串
+     */
+    private String params;
+
+    /**
+     * 额外的参数
+     */
+    private Map<String, String> paramMap;
+
     public boolean isRegist() {
         return regist;
     }
@@ -496,6 +507,23 @@ public class OnStreamChangedHookParam extends HookParam{
         this.callId = callId;
     }
 
+
+    public Map<String, String> getParamMap() {
+        return paramMap;
+    }
+
+    public void setParamMap(Map<String, String> paramMap) {
+        this.paramMap = paramMap;
+    }
+
+    public String getParams() {
+        return params;
+    }
+
+    public void setParams(String params) {
+        this.params = params;
+    }
+
     @Override
     public String toString() {
         return "OnStreamChangedHookParam{" +