From cf68ba83554dcd7dceb147cc65ceb9d2e8c2296b Mon Sep 17 00:00:00 2001
From: liusuyi <1951119284@qq.com>
Date: Tue, 05 Nov 2024 09:52:43 +0800
Subject: [PATCH] 优化
---
ard-work/src/main/java/com/ard/tianyu/websocket/handler/TyStreamHandler.java | 35 +++++++++++++++++------------------
1 files changed, 17 insertions(+), 18 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..30b9272 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
@@ -28,9 +28,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 +48,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 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 +98,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 +116,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