From 5bf1fe84ec17bd0db3486a099b7c3513a0f5b57d Mon Sep 17 00:00:00 2001 From: 648540858 <648540858@qq.com> Date: Thu, 13 Oct 2022 22:25:46 +0800 Subject: [PATCH 1/4] =?UTF-8?q?=E8=BF=98=E5=8E=9F#640=E7=82=B9=E6=92=AD?= =?UTF-8?q?=E5=BC=80=E5=A7=8B=E5=90=8E=E7=9A=84=E6=88=AA=E5=9B=BE=E4=BB=BB?= =?UTF-8?q?=E5=8A=A1=EF=BC=8C=E5=88=A4=E6=96=AD=E5=90=AF=E7=94=A8https?= =?UTF-8?q?=E5=90=8E=E4=BD=BF=E7=94=A8https=5Ffmp4=E6=B5=81=E5=9C=B0?= =?UTF-8?q?=E5=9D=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/genersoft/iot/vmp/service/impl/PlayServiceImpl.java | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/src/main/java/com/genersoft/iot/vmp/service/impl/PlayServiceImpl.java b/src/main/java/com/genersoft/iot/vmp/service/impl/PlayServiceImpl.java index 1c8689baa..c57ee175c 100644 --- a/src/main/java/com/genersoft/iot/vmp/service/impl/PlayServiceImpl.java +++ b/src/main/java/com/genersoft/iot/vmp/service/impl/PlayServiceImpl.java @@ -113,9 +113,6 @@ public class PlayServiceImpl implements IPlayService { @Autowired private ThreadPoolTaskExecutor taskExecutor; - @Value("${server.ssl.enabled}") - private boolean sslEnabled; - @Override public PlayResult play(MediaServerItem mediaServerItem, String deviceId, String channelId, ZlmHttpHookSubscribe.Event hookEvent, SipSubscribe.Event errorEvent, @@ -149,7 +146,7 @@ public class PlayServiceImpl implements IPlayService { if (Objects.requireNonNull(wvpResult).getCode() == 0) { StreamInfo streamInfoForSuccess = (StreamInfo) wvpResult.getData(); MediaServerItem mediaInfo = mediaServerService.getOne(streamInfoForSuccess.getMediaServerId()); - String streamUrl = sslEnabled ? streamInfoForSuccess.getHttps_fmp4() : streamInfoForSuccess.getFmp4(); + String streamUrl = streamInfoForSuccess.getFmp4(); // 请求截图 logger.info("[请求截图]: " + fileName); From ad246bf9214b783ce86b725f5ac966e8c1667211 Mon Sep 17 00:00:00 2001 From: 648540858 <648540858@qq.com> Date: Fri, 14 Oct 2022 23:11:47 +0800 Subject: [PATCH 2/4] =?UTF-8?q?=E5=8E=BB=E9=99=A4ffmpeg=E6=A8=A1=E6=9D=BF?= =?UTF-8?q?=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../genersoft/iot/vmp/service/impl/MediaServerServiceImpl.java | 1 - 1 file changed, 1 deletion(-) 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 d00cb4215..afa2daadc 100644 --- a/src/main/java/com/genersoft/iot/vmp/service/impl/MediaServerServiceImpl.java +++ b/src/main/java/com/genersoft/iot/vmp/service/impl/MediaServerServiceImpl.java @@ -520,7 +520,6 @@ public class MediaServerServiceImpl implements IMediaServerService { Map param = new HashMap<>(); param.put("api.secret",mediaServerItem.getSecret()); // -profile:v Baseline - param.put("ffmpeg.cmd","%s -fflags nobuffer -i %s -c:a aac -strict -2 -ar 44100 -ab 48k -c:v libx264 -f flv %s"); param.put("hook.enable","1"); param.put("hook.on_flow_report",String.format("%s/on_flow_report", hookPrex)); param.put("hook.on_play",String.format("%s/on_play", hookPrex)); From dabee4ed7d503a06a78a7c12491416206a48eec1 Mon Sep 17 00:00:00 2001 From: XiaoQiTong <69035114+XiaoQiTong@users.noreply.github.com> Date: Sat, 15 Oct 2022 20:57:24 +0800 Subject: [PATCH 3/4] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E6=8C=87=E5=AE=9A?= =?UTF-8?q?=E6=B5=81=E5=AA=92=E4=BD=93=E6=94=B6=E6=B5=81=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sql/mysql.sql | 1 + .../iot/vmp/service/impl/PlayServiceImpl.java | 2 +- .../service/impl/StreamProxyServiceImpl.java | 2 +- .../iot/vmp/storager/dao/DeviceMapper.java | 1 + web_src/src/components/dialog/deviceEdit.vue | 22 +++++++++---------- 5 files changed, 15 insertions(+), 13 deletions(-) diff --git a/sql/mysql.sql b/sql/mysql.sql index 7b5d943aa..8c6c7b0ba 100644 --- a/sql/mysql.sql +++ b/sql/mysql.sql @@ -48,6 +48,7 @@ CREATE TABLE `device` ( `ssrcCheck` int DEFAULT '0', `geoCoordSys` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, `treeType` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + `mediaServerId` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT 'auto', PRIMARY KEY (`id`), UNIQUE KEY `device_deviceId_uindex` (`deviceId`) ) ENGINE=InnoDB AUTO_INCREMENT=36 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; diff --git a/src/main/java/com/genersoft/iot/vmp/service/impl/PlayServiceImpl.java b/src/main/java/com/genersoft/iot/vmp/service/impl/PlayServiceImpl.java index c57ee175c..9ce76ae0f 100644 --- a/src/main/java/com/genersoft/iot/vmp/service/impl/PlayServiceImpl.java +++ b/src/main/java/com/genersoft/iot/vmp/service/impl/PlayServiceImpl.java @@ -407,7 +407,7 @@ public class PlayServiceImpl implements IPlayService { } String mediaServerId = device.getMediaServerId(); MediaServerItem mediaServerItem; - if (mediaServerId == null) { + if (mediaServerId == null || "".equals(device.getMediaServerId()) || "auto".equals(device.getMediaServerId())) { mediaServerItem = mediaServerService.getMediaServerForMinimumLoad(); } else { mediaServerItem = mediaServerService.getOne(mediaServerId); diff --git a/src/main/java/com/genersoft/iot/vmp/service/impl/StreamProxyServiceImpl.java b/src/main/java/com/genersoft/iot/vmp/service/impl/StreamProxyServiceImpl.java index aa197efac..db527e28d 100644 --- a/src/main/java/com/genersoft/iot/vmp/service/impl/StreamProxyServiceImpl.java +++ b/src/main/java/com/genersoft/iot/vmp/service/impl/StreamProxyServiceImpl.java @@ -98,7 +98,7 @@ public class StreamProxyServiceImpl implements IStreamProxyService { @Override public StreamInfo save(StreamProxyItem param) { MediaServerItem mediaInfo; - if (param.getMediaServerId() == null || "auto".equals(param.getMediaServerId())){ + if (param.getMediaServerId() == null || "".equals(param.getMediaServerId()) || "auto".equals(param.getMediaServerId())){ mediaInfo = mediaServerService.getMediaServerForMinimumLoad(); }else { mediaInfo = mediaServerService.getOne(param.getMediaServerId()); diff --git a/src/main/java/com/genersoft/iot/vmp/storager/dao/DeviceMapper.java b/src/main/java/com/genersoft/iot/vmp/storager/dao/DeviceMapper.java index 7e8dd3c64..3f3301f62 100644 --- a/src/main/java/com/genersoft/iot/vmp/storager/dao/DeviceMapper.java +++ b/src/main/java/com/genersoft/iot/vmp/storager/dao/DeviceMapper.java @@ -93,6 +93,7 @@ public interface DeviceMapper { ", ssrcCheck=${ssrcCheck}" + ", geoCoordSys=#{geoCoordSys}" + ", treeType=#{treeType}" + + ", mediaServerId=#{mediaServerId}" + "WHERE deviceId='${deviceId}'"+ " "}) int update(Device device); diff --git a/web_src/src/components/dialog/deviceEdit.vue b/web_src/src/components/dialog/deviceEdit.vue index 12c0aa188..49322eb77 100644 --- a/web_src/src/components/dialog/deviceEdit.vue +++ b/web_src/src/components/dialog/deviceEdit.vue @@ -18,17 +18,17 @@ - - - - - - - - - - - + + + + + + + From c4fc4abf7cbaa621f7ca1946f67c786c6cd55b68 Mon Sep 17 00:00:00 2001 From: 648540858 <648540858@qq.com> Date: Mon, 17 Oct 2022 09:39:21 +0800 Subject: [PATCH 4/4] =?UTF-8?q?=E4=BC=98=E5=8C=96=E4=BB=A3=E7=A0=81?= =?UTF-8?q?=E7=A9=BA=E5=AD=97=E7=AC=A6=E4=B8=B2=E5=88=A4=E6=96=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../iot/vmp/service/impl/PlayServiceImpl.java | 7 ++-- .../service/impl/StreamProxyServiceImpl.java | 2 +- .../iot/vmp/utils/CollectionUtil.java | 12 ------ .../genersoft/iot/vmp/utils/ObjectUtils.java | 41 ------------------- 4 files changed, 5 insertions(+), 57 deletions(-) delete mode 100644 src/main/java/com/genersoft/iot/vmp/utils/CollectionUtil.java delete mode 100644 src/main/java/com/genersoft/iot/vmp/utils/ObjectUtils.java diff --git a/src/main/java/com/genersoft/iot/vmp/service/impl/PlayServiceImpl.java b/src/main/java/com/genersoft/iot/vmp/service/impl/PlayServiceImpl.java index 9ce76ae0f..667dacebf 100644 --- a/src/main/java/com/genersoft/iot/vmp/service/impl/PlayServiceImpl.java +++ b/src/main/java/com/genersoft/iot/vmp/service/impl/PlayServiceImpl.java @@ -24,6 +24,8 @@ import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.beans.factory.annotation.Value; import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor; import org.springframework.stereotype.Service; +import org.springframework.util.ObjectUtils; +import org.springframework.util.StringUtils; import org.springframework.web.context.request.async.DeferredResult; import com.alibaba.fastjson.JSON; @@ -405,12 +407,11 @@ public class PlayServiceImpl implements IPlayService { if (device == null) { return null; } - String mediaServerId = device.getMediaServerId(); MediaServerItem mediaServerItem; - if (mediaServerId == null || "".equals(device.getMediaServerId()) || "auto".equals(device.getMediaServerId())) { + if (ObjectUtils.isEmpty(device.getMediaServerId()) || "auto".equals(device.getMediaServerId())) { mediaServerItem = mediaServerService.getMediaServerForMinimumLoad(); } else { - mediaServerItem = mediaServerService.getOne(mediaServerId); + mediaServerItem = mediaServerService.getOne(device.getMediaServerId()); } if (mediaServerItem == null) { logger.warn("点播时未找到可使用的ZLM..."); diff --git a/src/main/java/com/genersoft/iot/vmp/service/impl/StreamProxyServiceImpl.java b/src/main/java/com/genersoft/iot/vmp/service/impl/StreamProxyServiceImpl.java index db527e28d..f54147e74 100644 --- a/src/main/java/com/genersoft/iot/vmp/service/impl/StreamProxyServiceImpl.java +++ b/src/main/java/com/genersoft/iot/vmp/service/impl/StreamProxyServiceImpl.java @@ -98,7 +98,7 @@ public class StreamProxyServiceImpl implements IStreamProxyService { @Override public StreamInfo save(StreamProxyItem param) { MediaServerItem mediaInfo; - if (param.getMediaServerId() == null || "".equals(param.getMediaServerId()) || "auto".equals(param.getMediaServerId())){ + if (ObjectUtils.isEmpty(param.getMediaServerId()) || "auto".equals(param.getMediaServerId())){ mediaInfo = mediaServerService.getMediaServerForMinimumLoad(); }else { mediaInfo = mediaServerService.getOne(param.getMediaServerId()); diff --git a/src/main/java/com/genersoft/iot/vmp/utils/CollectionUtil.java b/src/main/java/com/genersoft/iot/vmp/utils/CollectionUtil.java deleted file mode 100644 index 4f7ca1f33..000000000 --- a/src/main/java/com/genersoft/iot/vmp/utils/CollectionUtil.java +++ /dev/null @@ -1,12 +0,0 @@ -package com.genersoft.iot.vmp.utils; - -import java.util.Arrays; - -public class CollectionUtil { - - public static boolean contains(T[] array, final T element) { - return array != null && Arrays.stream(array).anyMatch((x) -> { - return ObjectUtils.nullSafeEquals(x, element); - }); - } -} diff --git a/src/main/java/com/genersoft/iot/vmp/utils/ObjectUtils.java b/src/main/java/com/genersoft/iot/vmp/utils/ObjectUtils.java deleted file mode 100644 index 1f429bc71..000000000 --- a/src/main/java/com/genersoft/iot/vmp/utils/ObjectUtils.java +++ /dev/null @@ -1,41 +0,0 @@ -package com.genersoft.iot.vmp.utils; - -import java.util.Arrays; - -public class ObjectUtils { - public static boolean nullSafeEquals(Object o1, Object o2) { - if (o1 == o2) { - return true; - } else if (o1 != null && o2 != null) { - if (o1.equals(o2)) { - return true; - } else { - return o1.getClass().isArray() && o2.getClass().isArray() && arrayEquals(o1, o2); - } - } else { - return false; - } - } - - private static boolean arrayEquals(Object o1, Object o2) { - if (o1 instanceof Object[] && o2 instanceof Object[]) { - return Arrays.equals((Object[])((Object[])o1), (Object[])((Object[])o2)); - } else if (o1 instanceof boolean[] && o2 instanceof boolean[]) { - return Arrays.equals((boolean[])((boolean[])o1), (boolean[])((boolean[])o2)); - } else if (o1 instanceof byte[] && o2 instanceof byte[]) { - return Arrays.equals((byte[])((byte[])o1), (byte[])((byte[])o2)); - } else if (o1 instanceof char[] && o2 instanceof char[]) { - return Arrays.equals((char[])((char[])o1), (char[])((char[])o2)); - } else if (o1 instanceof double[] && o2 instanceof double[]) { - return Arrays.equals((double[])((double[])o1), (double[])((double[])o2)); - } else if (o1 instanceof float[] && o2 instanceof float[]) { - return Arrays.equals((float[])((float[])o1), (float[])((float[])o2)); - } else if (o1 instanceof int[] && o2 instanceof int[]) { - return Arrays.equals((int[])((int[])o1), (int[])((int[])o2)); - } else if (o1 instanceof long[] && o2 instanceof long[]) { - return Arrays.equals((long[])((long[])o1), (long[])((long[])o2)); - } else { - return o1 instanceof short[] && o2 instanceof short[] && Arrays.equals((short[]) ((short[]) o1), (short[]) ((short[]) o2)); - } - } -}