zhaowenyu
2025-10-20 fc365c426e431a73d116e5d51deaec667f4864de
ard-work/src/main/java/com/ard/work/component/websocket/handler/UavStreamManager.java
@@ -42,14 +42,15 @@
    public void subscribe(String boxSn, Long userId) {
        STREAM_USER_MAP.computeIfAbsent(boxSn, k -> ConcurrentHashMap.newKeySet()).add(userId);
        String webrtcUrl = getWebrtcUrl(boxSn);
        BoxStreamUrlReceiver streamReceiver = getWebrtcUrl(boxSn);
        String webrtcUrl = streamReceiver.getRtc();
        if (Objects.equals(webrtcUrl, "")) {
            log.warn("{}{}{}", STREAM_LOG_PREFIX, STREAM_NOT_FOUND_MSG, boxSn);
            BaseMessage<String> baseMessage = new BaseMessage<>("stream", STREAM_NOT_FOUND_MSG + boxSn);
            sendMessageToUser(userId, JSON.toJSONString(baseMessage));
        }
        BOX_STREAM_PULL_MAP.put(boxSn, webrtcUrl);
        BaseMessage<String> baseMessage = new BaseMessage<>("stream", webrtcUrl);
        BaseMessage<BoxStreamUrlReceiver> baseMessage = new BaseMessage<>("stream", streamReceiver);
        sendMessageToUser(userId, JSON.toJSONString(baseMessage));
    }
@@ -117,15 +118,9 @@
     * @param boxSn 盒子编号
     * @return String webrtcUrl
     */
    private String getWebrtcUrl(String boxSn) {
        try {
            BoxStreamUrlReceiver boxLiveUrl = tyService.getBoxLiveUrl(boxSn);
            if (boxLiveUrl != null) {
                return boxLiveUrl.getRtc();
            }
        } catch (Exception e) {
            log.error("获取媒体地址异常:{}", e.getMessage());
        }
        return "";
    private BoxStreamUrlReceiver getWebrtcUrl(String boxSn) {
        BoxStreamUrlReceiver boxLiveUrl = tyService.getBoxLiveUrl(boxSn);
        boxLiveUrl.setBoxSn(boxSn);
        return boxLiveUrl;
    }
}