648540858
2022-11-08 cc4c4ac144600d08d53dcbb97d24fc2186c34a50
支持配置是否开去推流鉴权
3个文件已修改
16 ■■■■■ 已修改文件
src/main/java/com/genersoft/iot/vmp/conf/UserSetting.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMHttpHookListener.java 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/all-application.yml 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/genersoft/iot/vmp/conf/UserSetting.java
@@ -35,6 +35,8 @@
    private Boolean streamOnDemand = Boolean.TRUE;
    private Boolean pushAuthority = Boolean.TRUE;
    private String serverId = "000000";
    private String thirdPartyGBIdReg = "[\\s\\S]*";
@@ -156,4 +158,12 @@
    public void setStreamOnDemand(Boolean streamOnDemand) {
        this.streamOnDemand = streamOnDemand;
    }
    public Boolean getPushAuthority() {
        return pushAuthority;
    }
    public void setPushAuthority(Boolean pushAuthority) {
        this.pushAuthority = pushAuthority;
    }
}
src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMHttpHookListener.java
@@ -183,7 +183,9 @@
        JSONObject ret = new JSONObject();
        String mediaServerId = json.getString("mediaServerId");
        MediaServerItem mediaInfo = mediaServerService.getOne(mediaServerId);
        if (!"rtp".equals(param.getApp())) {
            if (userSetting.getPushAuthority()) {
            // 推流鉴权
            if (param.getParams() == null) {
                logger.info("推流鉴权失败: 缺少不要参数:sign=md5(user表的pushKey)");
@@ -220,13 +222,13 @@
                    assistRESTfulUtils.addStreamCallInfo(mediaInfo, param.getApp(), param.getStream(), callId, null);
                });
            }
            }
        }else {
            zlmMediaListManager.sendStreamEvent(param.getApp(),param.getStream(), param.getMediaServerId());
        }
        ret.put("code", 0);
        ret.put("msg", "success");
        ret.put("enable_hls", false);
        if (!"rtp".equals(param.getApp())) {
            ret.put("enable_audio", true);
src/main/resources/all-application.yml
@@ -190,6 +190,8 @@
    use-pushing-as-status: true
    # 按需拉流, true:有人观看拉流,无人观看释放, false:拉起后不自动释放
    stream-on-demand: true
    # 推流鉴权, 默认开启
    push-authority: true
# 关闭在线文档(生产环境建议关闭)
springdoc: