From 49101a37e0f71f22fee25b811a54895f2f6f3e82 Mon Sep 17 00:00:00 2001 From: 648540858 <648540858@qq.com> Date: 星期五, 17 五月 2024 16:32:01 +0800 Subject: [PATCH] 兼容zlm-pro转码 --- 数据库/2.7.1/更新-mysql-2.7.1.sql | 2 ++ src/main/java/com/genersoft/iot/vmp/storager/dao/MediaServerMapper.java | 4 ++++ src/main/java/com/genersoft/iot/vmp/storager/impl/RedisCatchStorageImpl.java | 2 +- src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMServerConfig.java | 11 +++++++++++ src/main/java/com/genersoft/iot/vmp/service/impl/MediaServerServiceImpl.java | 2 +- src/main/java/com/genersoft/iot/vmp/service/impl/MediaServiceImpl.java | 5 ++++- src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/NotifyRequestForMobilePositionProcessor.java | 4 ++-- src/main/java/com/genersoft/iot/vmp/media/zlm/dto/MediaServerItem.java | 12 ++++++++++++ 数据库/2.7.1/更新-postgresql-kingbase-2.7.1.sql | 2 ++ 9 files changed, 39 insertions(+), 5 deletions(-) diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/NotifyRequestForMobilePositionProcessor.java b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/NotifyRequestForMobilePositionProcessor.java index 96e4eca..c811177 100755 --- a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/NotifyRequestForMobilePositionProcessor.java +++ b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/NotifyRequestForMobilePositionProcessor.java @@ -143,8 +143,8 @@ } } -// logger.info("[鏀跺埌绉诲姩浣嶇疆璁㈤槄閫氱煡]锛歿}/{}->{}.{}, 鏃堕棿锛� {}", mobilePosition.getDeviceId(), mobilePosition.getChannelId(), -// mobilePosition.getLongitude(), mobilePosition.getLatitude(), System.currentTimeMillis() - startTime); + logger.debug("[鏀跺埌绉诲姩浣嶇疆璁㈤槄閫氱煡]锛歿}/{}->{}.{}, 鏃堕棿锛� {}", mobilePosition.getDeviceId(), mobilePosition.getChannelId(), + mobilePosition.getLongitude(), mobilePosition.getLatitude(), System.currentTimeMillis() - startTime); mobilePosition.setReportSource("Mobile Position"); mobilePositionService.add(mobilePosition); diff --git a/src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMServerConfig.java b/src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMServerConfig.java index 80910c0..6d6dcf6 100755 --- a/src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMServerConfig.java +++ b/src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMServerConfig.java @@ -331,6 +331,9 @@ @JSONField(name = "shell.shell") private String shellPhell; + @JSONField(name = "transcode.suffix") + private String transcodeSuffix; + public String getHookIp() { return hookIp; @@ -1211,4 +1214,12 @@ public void setHookOnRtpServerTimeout(String hookOnRtpServerTimeout) { this.hookOnRtpServerTimeout = hookOnRtpServerTimeout; } + + public String getTranscodeSuffix() { + return transcodeSuffix; + } + + public void setTranscodeSuffix(String transcodeSuffix) { + this.transcodeSuffix = transcodeSuffix; + } } diff --git a/src/main/java/com/genersoft/iot/vmp/media/zlm/dto/MediaServerItem.java b/src/main/java/com/genersoft/iot/vmp/media/zlm/dto/MediaServerItem.java index cebfec3..d5a0f7f 100755 --- a/src/main/java/com/genersoft/iot/vmp/media/zlm/dto/MediaServerItem.java +++ b/src/main/java/com/genersoft/iot/vmp/media/zlm/dto/MediaServerItem.java @@ -86,6 +86,9 @@ @Schema(description = "褰曞儚瀛樺偍璺緞") private String recordPath; + @Schema(description = "杞爜鐨勫墠缂�") + private String transcodeSuffix; + public MediaServerItem() { } @@ -108,6 +111,7 @@ rtpEnable = false; // 榛樿浣跨敤鍗曠鍙�;鐩村埌鐢ㄦ埛鑷繁璁剧疆寮�鍚绔彛 rtpPortRange = zlmServerConfig.getPortRange().replace("_",","); // 榛樿浣跨敤30000,30500浣滀负绾ц仈鏃跺彂閫佹祦鐨勭鍙e彿 recordAssistPort = 0; // 榛樿鍏抽棴 + transcodeSuffix = zlmServerConfig.getTranscodeSuffix(); } @@ -318,4 +322,12 @@ public void setRecordPath(String recordPath) { this.recordPath = recordPath; } + + public String getTranscodeSuffix() { + return transcodeSuffix; + } + + public void setTranscodeSuffix(String transcodeSuffix) { + this.transcodeSuffix = transcodeSuffix; + } } diff --git a/src/main/java/com/genersoft/iot/vmp/service/impl/MediaServerServiceImpl.java b/src/main/java/com/genersoft/iot/vmp/service/impl/MediaServerServiceImpl.java index aeb0dc8..7620baa 100755 --- a/src/main/java/com/genersoft/iot/vmp/service/impl/MediaServerServiceImpl.java +++ b/src/main/java/com/genersoft/iot/vmp/service/impl/MediaServerServiceImpl.java @@ -410,6 +410,7 @@ if (serverItem.getRtpProxyPort() == 0) { serverItem.setRtpProxyPort(zlmServerConfig.getRtpProxyPort()); } + serverItem.setTranscodeSuffix(zlmServerConfig.getTranscodeSuffix()); serverItem.setStatus(true); if (ObjectUtils.isEmpty(serverItem.getId())) { @@ -423,7 +424,6 @@ } redisTemplate.opsForValue().set(key, serverItem); resetOnlineServerItem(serverItem); - if (serverItem.isAutoConfig()) { setZLMConfig(serverItem, "0".equals(zlmServerConfig.getHookEnable())); diff --git a/src/main/java/com/genersoft/iot/vmp/service/impl/MediaServiceImpl.java b/src/main/java/com/genersoft/iot/vmp/service/impl/MediaServiceImpl.java index 784f43f..f2eb754 100755 --- a/src/main/java/com/genersoft/iot/vmp/service/impl/MediaServiceImpl.java +++ b/src/main/java/com/genersoft/iot/vmp/service/impl/MediaServiceImpl.java @@ -1,6 +1,5 @@ package com.genersoft.iot.vmp.service.impl; -import com.alibaba.fastjson2.JSON; import com.alibaba.fastjson2.JSONArray; import com.alibaba.fastjson2.JSONObject; import com.genersoft.iot.vmp.common.StreamInfo; @@ -91,6 +90,10 @@ if (addr == null) { addr = mediaInfo.getStreamIp(); } + if (!"broadcast".equalsIgnoreCase(app) && !ObjectUtils.isEmpty(mediaInfo.getTranscodeSuffix()) && !"null".equalsIgnoreCase(mediaInfo.getTranscodeSuffix())) { + stream = stream + "_" + mediaInfo.getTranscodeSuffix(); + streamInfoResult.setStream(stream); + } streamInfoResult.setIp(addr); streamInfoResult.setMediaServerId(mediaInfo.getId()); diff --git a/src/main/java/com/genersoft/iot/vmp/storager/dao/MediaServerMapper.java b/src/main/java/com/genersoft/iot/vmp/storager/dao/MediaServerMapper.java index 4678591..da71212 100755 --- a/src/main/java/com/genersoft/iot/vmp/storager/dao/MediaServerMapper.java +++ b/src/main/java/com/genersoft/iot/vmp/storager/dao/MediaServerMapper.java @@ -36,6 +36,7 @@ "default_server,"+ "create_time,"+ "update_time,"+ + "transcode_suffix,"+ "hook_alive_interval"+ ") VALUES " + "(" + @@ -62,6 +63,7 @@ "#{defaultServer}, " + "#{createTime}, " + "#{updateTime}, " + + "#{transcodeSuffix}, " + "#{hookAliveInterval})") int add(MediaServerItem mediaServerItem); @@ -88,6 +90,7 @@ "<if test=\"hookAliveInterval != null\">, hook_alive_interval=#{hookAliveInterval}</if>" + "<if test=\"recordDay != null\">, record_day=#{recordDay}</if>" + "<if test=\"recordPath != null\">, record_path=#{recordPath}</if>" + + "<if test=\"transcodeSuffix != null\">, transcode_suffix=#{transcodeSuffix}</if>" + "WHERE id=#{id}"+ " </script>"}) int update(MediaServerItem mediaServerItem); @@ -113,6 +116,7 @@ "<if test=\"recordAssistPort != null\">, record_assist_port=#{recordAssistPort}</if>" + "<if test=\"recordDay != null\">, record_day=#{recordDay}</if>" + "<if test=\"recordPath != null\">, record_path=#{recordPath}</if>" + + "<if test=\"transcodeSuffix != null\">, transcode_suffix=#{transcodeSuffix}</if>" + "<if test=\"hookAliveInterval != null\">, hook_alive_interval=#{hookAliveInterval}</if>" + "WHERE ip=#{ip} and http_port=#{httpPort}"+ " </script>"}) diff --git a/src/main/java/com/genersoft/iot/vmp/storager/impl/RedisCatchStorageImpl.java b/src/main/java/com/genersoft/iot/vmp/storager/impl/RedisCatchStorageImpl.java index e42ea68..9a18c9a 100755 --- a/src/main/java/com/genersoft/iot/vmp/storager/impl/RedisCatchStorageImpl.java +++ b/src/main/java/com/genersoft/iot/vmp/storager/impl/RedisCatchStorageImpl.java @@ -570,7 +570,7 @@ @Override public void sendMobilePositionMsg(JSONObject jsonObject) { String key = VideoManagerConstants.VM_MSG_SUBSCRIBE_MOBILE_POSITION; - logger.info("[redis鍙戦�侀�氱煡] 鍙戦�� 绉诲姩浣嶇疆 {}: {}", key, jsonObject.toString()); + logger.debug("[redis鍙戦�侀�氱煡] 鍙戦�� 绉诲姩浣嶇疆 {}: {}", key, jsonObject.toString()); redisTemplate.convertAndSend(key, jsonObject); } diff --git "a/\346\225\260\346\215\256\345\272\223/2.7.1/\346\233\264\346\226\260-mysql-2.7.1.sql" "b/\346\225\260\346\215\256\345\272\223/2.7.1/\346\233\264\346\226\260-mysql-2.7.1.sql" new file mode 100644 index 0000000..86e8d0d --- /dev/null +++ "b/\346\225\260\346\215\256\345\272\223/2.7.1/\346\233\264\346\226\260-mysql-2.7.1.sql" @@ -0,0 +1,2 @@ +alter table wvp_media_server + add transcode_suffix character varying(255); \ No newline at end of file diff --git "a/\346\225\260\346\215\256\345\272\223/2.7.1/\346\233\264\346\226\260-postgresql-kingbase-2.7.1.sql" "b/\346\225\260\346\215\256\345\272\223/2.7.1/\346\233\264\346\226\260-postgresql-kingbase-2.7.1.sql" new file mode 100644 index 0000000..86e8d0d --- /dev/null +++ "b/\346\225\260\346\215\256\345\272\223/2.7.1/\346\233\264\346\226\260-postgresql-kingbase-2.7.1.sql" @@ -0,0 +1,2 @@ +alter table wvp_media_server + add transcode_suffix character varying(255); \ No newline at end of file -- Gitblit v1.8.0