From 764d04b497356ba6bcbb75fd42b51eca750f7223 Mon Sep 17 00:00:00 2001 From: 648540858 <648540858@qq.com> Date: 星期三, 29 五月 2024 15:02:51 +0800 Subject: [PATCH] 调整上级观看消息的发送 --- src/main/java/com/genersoft/iot/vmp/storager/IRedisCatchStorage.java | 203 +++++++++++++++++++++++++++----------------------- 1 files changed, 109 insertions(+), 94 deletions(-) diff --git a/src/main/java/com/genersoft/iot/vmp/storager/IRedisCatchStorage.java b/src/main/java/com/genersoft/iot/vmp/storager/IRedisCatchStorage.java old mode 100644 new mode 100755 index e669ab4..2347f50 --- a/src/main/java/com/genersoft/iot/vmp/storager/IRedisCatchStorage.java +++ b/src/main/java/com/genersoft/iot/vmp/storager/IRedisCatchStorage.java @@ -1,14 +1,16 @@ package com.genersoft.iot.vmp.storager; -import com.alibaba.fastjson.JSONObject; -import com.genersoft.iot.vmp.common.StreamInfo; +import com.alibaba.fastjson2.JSONObject; +import com.genersoft.iot.vmp.common.SystemAllInfo; import com.genersoft.iot.vmp.gb28181.bean.*; -import com.genersoft.iot.vmp.media.zlm.dto.MediaItem; -import com.genersoft.iot.vmp.media.zlm.dto.MediaServerItem; +import com.genersoft.iot.vmp.media.bean.MediaInfo; +import com.genersoft.iot.vmp.media.bean.MediaServer; +import com.genersoft.iot.vmp.media.event.media.MediaArrivalEvent; +import com.genersoft.iot.vmp.media.zlm.dto.StreamAuthorityInfo; import com.genersoft.iot.vmp.media.zlm.dto.StreamPushItem; import com.genersoft.iot.vmp.service.bean.GPSMsgInfo; -import com.genersoft.iot.vmp.service.bean.SSRCInfo; -import com.genersoft.iot.vmp.service.bean.ThirdPartyGB; +import com.genersoft.iot.vmp.service.bean.MessageForPushChannel; +import com.genersoft.iot.vmp.storager.dao.dto.PlatformRegisterInfo; import java.util.List; import java.util.Map; @@ -18,44 +20,9 @@ /** * 璁℃暟鍣ㄣ�備负cseq杩涜璁℃暟 * - * @param method sip 鏂规硶 * @return */ - Long getCSEQ(String method); - - /** - * 寮�濮嬫挱鏀炬椂灏嗘祦瀛樺叆 - * - * @param stream 娴佷俊鎭� - * @return - */ - boolean startPlay(StreamInfo stream); - - - /** - * 鍋滄鎾斁鏃跺垹闄� - * - * @return - */ - boolean stopPlay(StreamInfo streamInfo); - - /** - * 鏌ヨ鎾斁鍒楄〃 - * @return - */ - StreamInfo queryPlay(StreamInfo streamInfo); - - StreamInfo queryPlayByStreamId(String steamId); - - StreamInfo queryPlayByDevice(String deviceId, String channelId); - - Map<String, StreamInfo> queryPlayByDeviceId(String deviceId); - - boolean startPlayback(StreamInfo stream, String callId); - - boolean stopPlayback(String deviceId, String channelId, String stream, String callId); - - StreamInfo queryPlayback(String deviceId, String channelID, String stream, String callId); + Long getCSEQ(); void updatePlatformCatchInfo(ParentPlatformCatch parentPlatformCatch); @@ -63,23 +30,19 @@ void delPlatformCatchInfo(String platformGbId); - void updatePlatformKeepalive(ParentPlatform parentPlatform); - void delPlatformKeepalive(String platformGbId); - - void updatePlatformRegister(ParentPlatform parentPlatform); void delPlatformRegister(String platformGbId); - void updatePlatformRegisterInfo(String callId, String platformGbId); + void updatePlatformRegisterInfo(String callId, PlatformRegisterInfo platformRegisterInfo); - String queryPlatformRegisterInfo(String callId); + PlatformRegisterInfo queryPlatformRegisterInfo(String callId); void delPlatformRegisterInfo(String callId); - void cleanPlatformRegisterInfos(); - void updateSendRTPSever(SendRtpItem sendRtpItem); + + List<SendRtpItem> querySendRTPServer(String platformGbId, String channelId, String streamId); /** * 鏌ヨRTP鎺ㄩ�佷俊鎭紦瀛� @@ -105,29 +68,6 @@ boolean isChannelSendingRTP(String channelId); /** - * 娓呯┖鏌愪釜璁惧鐨勬墍鏈夌紦瀛� - * @param deviceId 璁惧ID - */ - void clearCatchByDeviceId(String deviceId); - - /** - * 鑾峰彇mediaServer鑺傜偣 - * @param mediaServerId - * @return - */ -// MediaServerItem getMediaInfo(String mediaServerId); - - /** - * 璁剧疆鎵�鏈夎澶囩绾� - */ - void outlineForAll(); - - /** - * 鑾峰彇鎵�鏈夊湪绾跨殑 - */ - List<String> getOnlineForAll(); - - /** * 鍦╮edis娣诲姞wvp鐨勪俊鎭� */ void updateWVPInfo(JSONObject jsonObject, int time); @@ -139,12 +79,18 @@ void sendStreamChangeMsg(String type, JSONObject jsonObject); /** + * 鍙戦�佹姤璀︽秷鎭� + * @param msg 娑堟伅鍐呭 + */ + void sendAlarmMsg(AlarmChannelMessage msg); + + /** * 娣诲姞娴佷俊鎭埌redis * @param mediaServerItem * @param app * @param streamId */ - void addStream(MediaServerItem mediaServerItem, String type, String app, String streamId, MediaItem item); + void addStream(MediaServer mediaServerItem, String type, String app, String streamId, MediaInfo item); /** * 绉婚櫎娴佷俊鎭粠redis @@ -161,24 +107,7 @@ */ void removeStream(String mediaServerId, String type); - /** - * 寮�濮嬩笅杞藉綍鍍忔椂瀛樺叆 - * @param streamInfo - */ - boolean startDownload(StreamInfo streamInfo, String callId); - - StreamInfo queryDownload(String deviceId, String channelId, String stream, String callId); - - boolean stopDownload(String deviceId, String channelId, String stream, String callId); - - /** - * 鏌ユ壘绗笁鏂圭郴缁熺暀涓嬬殑鍥芥爣棰勮鍊� - * @param queryKey - * @return - */ - ThirdPartyGB queryMemberNoGBId(String queryKey); - - List<MediaItem> getStreams(String mediaServerId, String pull); + List<MediaInfo> getStreams(String mediaServerId, String pull); /** * 灏哾evice淇℃伅鍐欏叆redis @@ -204,12 +133,98 @@ void resetAllSN(); - MediaItem getStreamInfo(String app, String streamId, String mediaServerId); + MediaInfo getStreamInfo(String app, String streamId, String mediaServerId); void addCpuInfo(double cpuInfo); void addMemInfo(double memInfo); - void addNetInfo(Map<String, String> networkInterfaces); + void addNetInfo(Map<String, Double> networkInterfaces); + void sendMobilePositionMsg(JSONObject jsonObject); + + void sendStreamPushRequestedMsg(MessageForPushChannel messageForPushChannel); + + /** + * 鍒ゆ柇璁惧鐘舵�� + * @param deviceId 璁惧ID + * @return + */ + public boolean deviceIsOnline(String deviceId); + + /** + * 瀛樺偍鎺ㄦ祦鐨勯壌鏉冧俊鎭� + * @param app 搴旂敤鍚� + * @param stream 娴� + * @param streamAuthorityInfo 閴存潈淇℃伅 + */ + void updateStreamAuthorityInfo(String app, String stream, StreamAuthorityInfo streamAuthorityInfo); + + /** + * 绉婚櫎鎺ㄦ祦鐨勯壌鏉冧俊鎭� + * @param app 搴旂敤鍚� + * @param streamId 娴� + */ + void removeStreamAuthorityInfo(String app, String streamId); + + /** + * 鑾峰彇鎺ㄦ祦鐨勯壌鏉冧俊鎭� + * @param app 搴旂敤鍚� + * @param stream 娴� + * @return + */ + StreamAuthorityInfo getStreamAuthorityInfo(String app, String stream); + + List<StreamAuthorityInfo> getAllStreamAuthorityInfo(); + + /** + * 鍙戦�乺edis娑堟伅 鏌ヨ鎵�鏈夋帹娴佽澶囩殑鐘舵�� + */ + void sendStreamPushRequestedMsgForStatus(); + + List<SendRtpItem> querySendRTPServerByChannelId(String channelId); + + List<SendRtpItem> querySendRTPServerByStream(String stream); + + SystemAllInfo getSystemInfo(); + + int getPushStreamCount(String id); + + int getProxyStreamCount(String id); + + int getGbSendCount(String id); + + void addDiskInfo(List<Map<String, Object>> diskInfo); + + void deleteSendRTPServer(SendRtpItem sendRtpItem); + + List<SendRtpItem> queryAllSendRTPServer(); + + List<Device> getAllDevices(); + + void removeAllDevice(); + + void sendDeviceOrChannelStatus(String deviceId, String channelId, boolean online); + + void sendChannelAddOrDelete(String deviceId, String channelId, boolean add); + + void sendPlatformStartPlayMsg(SendRtpItem sendRtpItem, ParentPlatform platform); + + void sendPlatformStopPlayMsg(SendRtpItem sendRtpItem, ParentPlatform platform); + + void addPushListItem(String app, String stream, MediaArrivalEvent param); + + StreamPushItem getPushListItem(String app, String stream); + + void removePushListItem(String app, String stream, String mediaServerId); + + void sendPushStreamClose(MessageForPushChannel messageForPushChannel); + + void addWaiteSendRtpItem(SendRtpItem sendRtpItem, int platformPlayTimeout); + + SendRtpItem getWaiteSendRtpItem(String app, String stream); + + void sendStartSendRtp(SendRtpItem sendRtpItem); + + void sendPushStreamOnline(SendRtpItem sendRtpItem); } -- Gitblit v1.8.0