From 35f1a08b31531d971169403978cddf3328accb26 Mon Sep 17 00:00:00 2001
From: liusuyi <1951119284@qq.com>
Date: Thu, 20 Feb 2025 16:01:06 +0800
Subject: [PATCH] 添加无人机控制权申请、处理、释放
---
ard-work/src/main/java/com/ard/tianyu/websocket/handler/TyStreamHandler.java | 38 +++++++++++++++++++-------------------
1 files changed, 19 insertions(+), 19 deletions(-)
diff --git a/ard-work/src/main/java/com/ard/tianyu/websocket/handler/TyStreamHandler.java b/ard-work/src/main/java/com/ard/tianyu/websocket/handler/TyStreamHandler.java
index 09565c8..e743676 100644
--- a/ard-work/src/main/java/com/ard/tianyu/websocket/handler/TyStreamHandler.java
+++ b/ard-work/src/main/java/com/ard/tianyu/websocket/handler/TyStreamHandler.java
@@ -11,6 +11,7 @@
import org.springframework.stereotype.Component;
import org.springframework.web.socket.CloseStatus;
import org.springframework.web.socket.TextMessage;
+import org.springframework.web.socket.WebSocketMessage;
import org.springframework.web.socket.WebSocketSession;
import org.springframework.web.socket.handler.TextWebSocketHandler;
@@ -28,9 +29,9 @@
@Resource
private IMediaService mediaService;
- //存储盒子的拉流地址
- private static final ConcurrentMap<String, String> BOX_STREAM_PULL_CACHE = new ConcurrentHashMap<>();
- //存储盒子的拉流用户集合
+ //盒子拉流地址缓存
+ private static final ConcurrentMap<String, String> BOX_STREAM_PULL_MAP = new ConcurrentHashMap<>();
+ //盒子拉流用户集合缓存
private static final ConcurrentMap<String, Set<String>> STREAM_USER_MAP = new ConcurrentHashMap<>();
@Override
@@ -48,29 +49,28 @@
}
}
- log.info("【stream】Received message: " + payload);
- log.info("【stream】size: " + WebSocketUtil.STREAM_ONLINE_USER_SESSIONS.size());
+ log.info("【stream】Received message: {}", payload);
+ log.info("【stream】size: {}", WebSocketUtil.STREAM_ONLINE_USER_SESSIONS.size());
}
//开始拉流
private void startPullStream(String boxSn, String userId) {
- //BOX_STREAM_USER_COUNT.merge(boxSn, 1, Integer::sum);
STREAM_USER_MAP.computeIfAbsent(boxSn, k -> ConcurrentHashMap.newKeySet()).add(userId);
String messageReply;
- if (BOX_STREAM_PULL_CACHE.containsKey(boxSn)) {
- String webrtcUrl = BOX_STREAM_PULL_CACHE.get(boxSn);
+ if (BOX_STREAM_PULL_MAP.containsKey(boxSn)) {
+ String webrtcUrl = BOX_STREAM_PULL_MAP.get(boxSn);
messageReply = webrtcUrl;
- log.warn("【stream】Already pulled stream: " + webrtcUrl);
+ log.warn("【stream】Already pulled stream: {}", webrtcUrl);
} else {
BoxStreamUrlReceiver boxLiveUrl = tyService.getBoxLiveUrl(boxSn);
if (boxLiveUrl != null) {
- ArdVtdu vtdu = ArdVtdu.builder().name(boxSn).mode(0).isCode(0).rtspSource(boxLiveUrl.getRtmp()).build();
+ ArdVtdu vtdu = ArdVtdu.builder().name(boxSn).mode(0).isCode(0).rtspSource(boxLiveUrl.getRtsp()).build();
ArdVtdu ardVtdu = mediaService.addPath(vtdu);
- BOX_STREAM_PULL_CACHE.put(boxSn, ardVtdu.getWebrtcUrl());
+ BOX_STREAM_PULL_MAP.put(boxSn, ardVtdu.getWebrtcUrl());
messageReply = ardVtdu.getWebrtcUrl();
- log.warn("【stream】First pulled stream: " + ardVtdu.getWebrtcUrl());
+ log.warn("【stream】First pulled stream: {}", ardVtdu.getWebrtcUrl());
} else {
- log.warn("【stream】Box stream not found: " + boxSn);
+ log.warn("【stream】Box stream not found: {}", boxSn);
messageReply = "【stream】Box stream not found: " + boxSn;
}
}
@@ -99,17 +99,17 @@
//关闭拉流
private void closeStream(String boxSn) {
mediaService.removePath(boxSn);
- BOX_STREAM_PULL_CACHE.remove(boxSn);
+ BOX_STREAM_PULL_MAP.remove(boxSn);
STREAM_USER_MAP.remove(boxSn);
- log.warn("【stream】Stream closed due to no active users: " + boxSn);
+ log.warn("【stream】Stream closed due to no active users: {}", boxSn);
}
@Override
public void afterConnectionEstablished(WebSocketSession session) {
String userId = (String) session.getAttributes().get("userId");
WebSocketUtil.STREAM_ONLINE_USER_SESSIONS.put(userId, session);
- log.info("【stream】Connected: " + session.getId());
- log.info("【stream】size: " + WebSocketUtil.STREAM_ONLINE_USER_SESSIONS.size());
+ log.info("【stream】Connected: {}", session.getId());
+ log.info("【stream】size: {}", WebSocketUtil.STREAM_ONLINE_USER_SESSIONS.size());
}
@Override
@@ -117,7 +117,7 @@
String userId = (String) session.getAttributes().get("userId");
WebSocketUtil.STREAM_ONLINE_USER_SESSIONS.remove(userId);
STREAM_USER_MAP.forEach((boxSn, users) -> stopPullStream(boxSn, userId));
- log.info("【stream】Disconnected: " + session.getId());
- log.info("【stream】size: " + WebSocketUtil.STREAM_ONLINE_USER_SESSIONS.size());
+ log.info("【stream】Disconnected: {}", session.getId());
+ log.info("【stream】size: {}", WebSocketUtil.STREAM_ONLINE_USER_SESSIONS.size());
}
}
\ No newline at end of file
--
Gitblit v1.9.3