| package com.genersoft.iot.vmp.storager; | 
|   | 
| import com.alibaba.fastjson.JSONObject; | 
| import com.genersoft.iot.vmp.common.StreamInfo; | 
| 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.zlm.dto.StreamPushItem; | 
| import com.genersoft.iot.vmp.service.bean.GPSMsgInfo; | 
| import com.genersoft.iot.vmp.service.bean.MessageForPushChannel; | 
| import com.genersoft.iot.vmp.service.bean.SSRCInfo; | 
| import com.genersoft.iot.vmp.service.bean.ThirdPartyGB; | 
|   | 
| import java.util.List; | 
| import java.util.Map; | 
|   | 
| public interface IRedisCatchStorage { | 
|   | 
|     /** | 
|      * 计数器。为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); | 
|   | 
|     void updatePlatformCatchInfo(ParentPlatformCatch parentPlatformCatch); | 
|   | 
|     ParentPlatformCatch queryPlatformCatchInfo(String platformGbId); | 
|   | 
|     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); | 
|   | 
|     String queryPlatformRegisterInfo(String callId); | 
|   | 
|     void delPlatformRegisterInfo(String callId); | 
|   | 
|     void cleanPlatformRegisterInfos(); | 
|   | 
|     void updateSendRTPSever(SendRtpItem sendRtpItem); | 
|   | 
|     /** | 
|      * 查询RTP推送信息缓存 | 
|      * @param platformGbId | 
|      * @param channelId | 
|      * @return sendRtpItem | 
|      */ | 
|     SendRtpItem querySendRTPServer(String platformGbId, String channelId, String streamId, String callId); | 
|   | 
|     List<SendRtpItem> querySendRTPServer(String platformGbId); | 
|   | 
|     /** | 
|      * 删除RTP推送信息缓存 | 
|      * @param platformGbId | 
|      * @param channelId | 
|      */ | 
|     void deleteSendRTPServer(String platformGbId, String channelId, String callId, String streamId); | 
|   | 
|     /** | 
|      * 查询某个通道是否存在上级点播(RTP推送) | 
|      * @param channelId | 
|      */ | 
|     boolean isChannelSendingRTP(String channelId); | 
|   | 
|     /** | 
|      * 清空某个设备的所有缓存 | 
|      * @param deviceId 设备ID | 
|      */ | 
|     void clearCatchByDeviceId(String deviceId); | 
|   | 
|     /** | 
|      * 在redis添加wvp的信息 | 
|      */ | 
|     void updateWVPInfo(JSONObject jsonObject, int time); | 
|   | 
|     /** | 
|      * 发送推流生成与推流消失消息 | 
|      * @param jsonObject 消息内容 | 
|      */ | 
|     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); | 
|   | 
|     /** | 
|      * 移除流信息从redis | 
|      * @param mediaServerId | 
|      * @param app | 
|      * @param streamId | 
|      */ | 
|     void removeStream(String mediaServerId, String type, String app, String streamId); | 
|   | 
|   | 
|     /** | 
|      * 移除流信息从redis | 
|      * @param mediaServerId | 
|      */ | 
|     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); | 
|   | 
|     /** | 
|      * 将device信息写入redis | 
|      * @param device | 
|      */ | 
|     void updateDevice(Device device); | 
|   | 
|     void removeDevice(String deviceId); | 
|   | 
|     /** | 
|      * 获取Device | 
|      */ | 
|     Device getDevice(String deviceId); | 
|   | 
|     void resetAllCSEQ(); | 
|   | 
|     void updateGpsMsgInfo(GPSMsgInfo gpsMsgInfo); | 
|   | 
|     GPSMsgInfo getGpsMsgInfo(String gbId); | 
|     List<GPSMsgInfo> getAllGpsMsgInfo(); | 
|   | 
|     Long getSN(String method); | 
|   | 
|     void resetAllSN(); | 
|   | 
|     MediaItem getStreamInfo(String app, String streamId, String mediaServerId); | 
|   | 
|     void addCpuInfo(double cpuInfo); | 
|   | 
|     void addMemInfo(double memInfo); | 
|   | 
|     void addNetInfo(Map<String, String> networkInterfaces); | 
|   | 
|     void sendMobilePositionMsg(JSONObject jsonObject); | 
|   | 
|     void sendStreamPushRequestedMsg(MessageForPushChannel messageForPushChannel); | 
|   | 
|     /** | 
|      * 判断设备状态 | 
|      * @param deviceId 设备ID | 
|      * @return | 
|      */ | 
|     public boolean deviceIsOnline(String deviceId); | 
|   | 
| } |