648540858
2023-12-15 04a1bfa329a6de22f4f0983d86a50e291f6d80bf
src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMHttpHookListener.java
@@ -263,14 +263,18 @@
        }
        // 国标流
        if ("rtp".equals(param.getApp())) {
            String ssrc = String.format("%010d", Long.parseLong(param.getStream(), 16));
            InviteInfo inviteInfo = inviteStreamService.getInviteInfoBySSRC(ssrc);
        if ("rtp".equals(param.getApp()) ) {
            InviteInfo inviteInfo = inviteStreamService.getInviteInfoByStream(null, param.getStream());
            // 单端口模式下修改流 ID
            if (!mediaInfo.isRtpEnable() && inviteInfo != null) {
                result.setStream_replace(inviteInfo.getStream());
                logger.info("[ZLM HOOK]推流鉴权 stream: {} 替换为 {}", param.getStream(), inviteInfo.getStream());
            if (!mediaInfo.isRtpEnable() && inviteInfo == null) {
                String ssrc = String.format("%010d", Long.parseLong(param.getStream(), 16));
                inviteInfo = inviteStreamService.getInviteInfoBySSRC(ssrc);
                if (inviteInfo != null) {
                    result.setStream_replace(inviteInfo.getStream());
                    logger.info("[ZLM HOOK]推流鉴权 stream: {} 替换为 {}", param.getStream(), inviteInfo.getStream());
                }
            }
            // 设置音频信息及录制信息
@@ -599,7 +603,7 @@
            String deviceId = s[0];
            String channelId = s[1];
            Device device = redisCatchStorage.getDevice(deviceId);
            if (device == null) {
            if (device == null || !device.isOnLine()) {
                defaultResult.setResult(new HookResult(ErrorCode.ERROR404.getCode(), ErrorCode.ERROR404.getMsg()));
                return defaultResult;
            }