From b8b5a3895e741d5348ecdd39ad2e5cbd443f8e89 Mon Sep 17 00:00:00 2001
From: zhaowenyu <35589726@qq.com>
Date: Wed, 01 Apr 2026 12:17:04 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/dev' into dev

---
 ard-vtdu/src/main/java/com/ard/vtdu/service/impl/ArdArdMediaServiceImpl.java |   20 +++++++++++---------
 1 files changed, 11 insertions(+), 9 deletions(-)

diff --git a/ard-vtdu/src/main/java/com/ard/vtdu/service/impl/ArdArdMediaServiceImpl.java b/ard-vtdu/src/main/java/com/ard/vtdu/service/impl/ArdArdMediaServiceImpl.java
index 533f3bc..3aacf67 100644
--- a/ard-vtdu/src/main/java/com/ard/vtdu/service/impl/ArdArdMediaServiceImpl.java
+++ b/ard-vtdu/src/main/java/com/ard/vtdu/service/impl/ArdArdMediaServiceImpl.java
@@ -58,21 +58,23 @@
             String protocol = mediamtxConfig.isHttps() ? "https://" : "http://";
             String webrtcUrl =
                     protocol + mediamtxConfig.getPlayHost() + ":" + mediamtxConfig.getWebrtcPort() + "/" + ardVtdu.getName();
-
+            String source = ardVtdu.getRtspSource();
             Conf conf = new Conf();
-            conf.setSource(ardVtdu.getRtspSource());
-            if(!"publisher".equalsIgnoreCase(conf.getSource())) {
-                conf.setSourceOnDemand(true);
+            conf.setName(ardVtdu.getName());
+            conf.setSource(source);
+            // 如果是拉流则配置按需
+            if (!"publisher".equalsIgnoreCase(source)) {
+                conf.setSourceOnDemand(true); // 按需拉
+                conf.setRunOnDemandCloseAfter("5s"); // 无观众 5 秒断开
             }
-            conf.setRunOnDemandRestart(false);
-            conf.setRunOnDemandCloseAfter("5s");
             conf.setMaxReaders(100);
             conf.setSourceProtocol("tcp");
 
-            if (checkNameExist(ardVtdu.getName())) {
-                mediaClient.removePath(ardVtdu.getName());
+            if (!checkNameExist(ardVtdu.getName())) {
+                mediaClient.addPath(ardVtdu.getName(), conf);
+            } else {
+                mediaClient.editPath(ardVtdu.getName(), conf);
             }
-            mediaClient.addPath(ardVtdu.getName(), conf);
 
             ardVtdu.setCameraId(ardVtdu.getName().split("_")[0]);
             ardVtdu.setRtspUrl(rtspUrl);

--
Gitblit v1.9.3