648540858
2024-08-07 c88681c7ad06391fa8cce0b910f45cf4f479889d
合并分支
2个文件已修改
29 ■■■■■ 已修改文件
src/main/java/com/genersoft/iot/vmp/media/event/media/MediaArrivalEvent.java 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMHttpHookListener.java 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/genersoft/iot/vmp/media/event/media/MediaArrivalEvent.java
@@ -5,6 +5,8 @@
import com.genersoft.iot.vmp.media.zlm.dto.hook.OnStreamChangedHookParam;
import com.genersoft.iot.vmp.vmanager.bean.StreamContent;
import java.util.Map;
/**
 * 流到来事件
 */
@@ -22,6 +24,7 @@
        mediaArrivalEvent.setSchema(hookParam.getSchema());
        mediaArrivalEvent.setSchema(hookParam.getSchema());
        mediaArrivalEvent.setHookParam(hookParam);
        mediaArrivalEvent.setParamMap(hookParam.getParamMap());
        return mediaArrivalEvent;
    }
@@ -32,6 +35,8 @@
    private OnStreamChangedHookParam hookParam;
    private StreamContent streamInfo;
    private Map<String, String> paramMap;
    public MediaInfo getMediaInfo() {
        return mediaInfo;
@@ -65,4 +70,13 @@
    public void setStreamInfo(StreamContent streamInfo) {
        this.streamInfo = streamInfo;
    }
    public Map<String, String> getParamMap() {
        return paramMap;
    }
    public void setParamMap(Map<String, String> paramMap) {
        this.paramMap = paramMap;
    }
}
src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMHttpHookListener.java
@@ -36,6 +36,9 @@
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.HashMap;
import java.util.Map;
/**
@@ -218,6 +221,18 @@
        if (param.getSchema().equalsIgnoreCase("rtsp")) {
            if (param.isRegist()) {
                logger.info("[ZLM HOOK] 流注册, {}->{}->{}/{}", param.getMediaServerId(), param.getSchema(), param.getApp(), param.getStream());
                String queryParams = param.getParams();
                if (queryParams == null) {
                    try {
                        URL url = new URL("http" + param.getOriginUrl().substring(4));
                        queryParams = url.getQuery();
                    }catch (MalformedURLException ignored) {}
                }
                if (queryParams != null) {
                    param.setParamMap(MediaServerUtils.urlParamToMap(queryParams));
                }else {
                    param.setParamMap(new HashMap<>());
                }
                MediaArrivalEvent mediaArrivalEvent = MediaArrivalEvent.getInstance(this, param, mediaServer);
                applicationEventPublisher.publishEvent(mediaArrivalEvent);
            } else {