648540858
2022-02-24 a42dda2bd3cc1cf8c20cc61e7ad9211eadecbaf3
src/main/java/com/genersoft/iot/vmp/storager/IRedisCatchStorage.java
@@ -1,17 +1,26 @@
package com.genersoft.iot.vmp.storager;
import com.alibaba.fastjson.JSONObject;
import com.genersoft.iot.vmp.common.RealVideo;
import com.genersoft.iot.vmp.common.StreamInfo;
import com.genersoft.iot.vmp.conf.MediaServerConfig;
import com.genersoft.iot.vmp.gb28181.bean.ParentPlatform;
import com.genersoft.iot.vmp.gb28181.bean.ParentPlatformCatch;
import com.genersoft.iot.vmp.gb28181.bean.SendRtpItem;
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.ThirdPartyGB;
import java.util.List;
import java.util.Map;
public interface IRedisCatchStorage {
    /**
     * 计数器。为cseq进行计数
     *
     * @param method sip 方法
     * @return
     */
    Long getCSEQ(String method);
    /**
     * 开始播放时将流存入
@@ -39,20 +48,7 @@
    StreamInfo queryPlaybackByStreamId(String steamId);
    StreamInfo queryPlayByDevice(String deviceId, String code);
    /**
     * 更新流媒体信息
     * @param mediaServerConfig
     * @return
     */
    boolean updateMediaInfo(MediaServerConfig mediaServerConfig);
    /**
     * 获取流媒体信息
     * @return
     */
    MediaServerConfig getMediaInfo();
    StreamInfo queryPlayByDevice(String deviceId, String channelId);
    Map<String, StreamInfo> queryPlayByDeviceId(String deviceId);
@@ -94,6 +90,8 @@
     */
    SendRtpItem querySendRTPServer(String platformGbId, String channelId);
    List<SendRtpItem> querySendRTPServer(String platformGbId);
    /**
     * 删除RTP推送信息缓存
     * @param platformGbId
@@ -108,14 +106,118 @@
    boolean isChannelSendingRTP(String channelId);
    /**
     * 更新媒体流列表
     * @param mediaList
     * 清空某个设备的所有缓存
     * @param deviceId 设备ID
     */
    void updateMediaList(List<RealVideo> mediaList);
    void clearCatchByDeviceId(String deviceId);
    /**
     * 获取当前媒体流列表
     * @return List<RealVideo>
     * 获取mediaServer节点
     * @param mediaServerId
     * @return
     */
    JSONObject getMediaList(int start, int end);
//    MediaServerItem getMediaInfo(String mediaServerId);
    /**
     * 设置所有设备离线
     */
    void outlineForAll();
    /**
     * 获取所有在线的
     */
    List<String> getOnlineForAll();
    /**
     * 在redis添加wvp的信息
     */
    void updateWVPInfo(JSONObject jsonObject, int time);
    /**
     * 发送推流生成与推流消失消息
     * @param jsonObject 消息内容
     */
    void sendStreamChangeMsg(String type, JSONObject jsonObject);
    /**
     * 添加流信息到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);
    StreamInfo queryDownloadByStreamId(String streamId);
    /**
     * 查找第三方系统留下的国标预设值
     * @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();
    void updateSubscribe(String key, SubscribeInfo subscribeInfo);
    SubscribeInfo getSubscribe(String key);
    void delSubscribe(String key);
    MediaItem getStreamInfo(String app, String streamId, String mediaServerId);
    List<SubscribeInfo> getAllSubscribe();
    List<String> getAllSubscribePlatform();
    void addCpuInfo(double cpuInfo);
    void addMemInfo(double memInfo);
    void addNetInfo(Map<String, String> networkInterfaces);
}