From 9cc1e95b63fde336ebf4df413b3d1e79ece375f0 Mon Sep 17 00:00:00 2001
From: liusuyi <1951119284@qq.com>
Date: 星期二, 30 七月 2024 09:01:24 +0800
Subject: [PATCH] 修改:同步流媒体优化

---
 ard-work/src/main/java/com/ruoyi/media/service/impl/VtduServiceImpl.java |   21 ++++++++++++++-------
 1 files changed, 14 insertions(+), 7 deletions(-)

diff --git a/ard-work/src/main/java/com/ruoyi/media/service/impl/VtduServiceImpl.java b/ard-work/src/main/java/com/ruoyi/media/service/impl/VtduServiceImpl.java
index f0be3d3..4d345d4 100644
--- a/ard-work/src/main/java/com/ruoyi/media/service/impl/VtduServiceImpl.java
+++ b/ard-work/src/main/java/com/ruoyi/media/service/impl/VtduServiceImpl.java
@@ -40,6 +40,7 @@
     private CameraSDKFactory cameraSDKFactory;
     @Value("${mediamtx.host}")
     String mediamtxHost;
+
     /**
      * 鏌ヨ娴佸獟浣撶鐞�
      *
@@ -192,8 +193,10 @@
         //闇�瑕佹洿鏂扮殑鏁版嵁,鍙傛暟椤哄簭娉ㄦ剰
         sameList(vtdus, names).stream().forEach(vtdu -> {
             StreamInfo streamInfo = mediaService.getPathInfo(vtdu.getName());
-            if (!streamInfo.getRtspSource().equals(vtdu.getRtspSource())) {
-                mediaService.editPath(vtdu.getName(), vtdu.getRtspSource(), vtdu.getMode(), vtdu.getIsCode());
+            if (streamInfo != null) {
+                if (streamInfo.getRtspSource() != null && !streamInfo.getRtspSource().equals(vtdu.getRtspSource())) {
+                    mediaService.editPath(vtdu.getName(), vtdu.getRtspSource(), vtdu.getMode(), vtdu.getIsCode());
+                }
             }
         });
         //闇�瑕佸垹闄ょ殑鏁版嵁
@@ -205,14 +208,18 @@
             mediaService.addPath(vtdu.getName(), vtdu.getRtspSource(), vtdu.getMode(), vtdu.getIsCode());
         });
     }
+
     @Override
     public void addChanToVtdu(ArdCameras camera, ArdChannel channel) {
         String name = camera.getId() + "_" + channel.getChanNo();
-        String rtspSource="";
-        switch (camera.getFactory())
-        {
-            case "1": rtspSource = "rtsp://" + camera.getUsername() + ":" + camera.getPassword() + "@" + camera.getIp() + ":" + camera.getRtspPort() + "/h264/ch" + channel.getChanNo() + "/main/av_stream";break;
-            case "2": rtspSource = "rtsp://" + camera.getUsername() + ":" + camera.getPassword() + "@" + camera.getIp() + ":" + camera.getRtspPort() + "/cam/realmonitor?channel=" + channel.getChanNo() + "&subtype=0";break;
+        String rtspSource = "";
+        switch (camera.getFactory()) {
+            case "1":
+                rtspSource = "rtsp://" + camera.getUsername() + ":" + camera.getPassword() + "@" + camera.getIp() + ":" + camera.getRtspPort() + "/h264/ch" + channel.getChanNo() + "/main/av_stream";
+                break;
+            case "2":
+                rtspSource = "rtsp://" + camera.getUsername() + ":" + camera.getPassword() + "@" + camera.getIp() + ":" + camera.getRtspPort() + "/cam/realmonitor?channel=" + channel.getChanNo() + "&subtype=0";
+                break;
         }
 
         //鍒犻櫎娴佸獟浣�

--
Gitblit v1.9.3