1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
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.ParentPlatform;
import com.genersoft.iot.vmp.gb28181.bean.ParentPlatformCatch;
import com.genersoft.iot.vmp.gb28181.bean.SendRtpItem;
 
import java.util.List;
import java.util.Map;
 
public interface IRedisCatchStorage {
 
    /**
     * 开始播放时将流存入
     *
     * @param stream 流信息
     * @return
     */
    boolean startPlay(StreamInfo stream);
 
 
    /**
     * 停止播放时删除
     *
     * @return
     */
    boolean stopPlay(StreamInfo streamInfo);
 
    /**
     * 查询播放列表
     * @return
     */
    StreamInfo queryPlay(StreamInfo streamInfo);
 
    StreamInfo queryPlayByStreamId(String steamId);
 
    StreamInfo queryPlaybackByStreamId(String steamId);
 
    StreamInfo queryPlayByDevice(String deviceId, String channelId);
 
    Map<String, StreamInfo> queryPlayByDeviceId(String deviceId);
 
    boolean startPlayback(StreamInfo stream);
 
    boolean stopPlayback(StreamInfo streamInfo);
 
    StreamInfo queryPlaybackByDevice(String deviceId, String code);
 
    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);
 
    List<SendRtpItem> querySendRTPServer(String platformGbId);
 
    /**
     * 删除RTP推送信息缓存
     * @param platformGbId
     * @param channelId
     */
    void deleteSendRTPServer(String platformGbId, String channelId);
 
    /**
     * 查询某个通道是否存在上级点播(RTP推送)
     * @param channelId
     */
    boolean isChannelSendingRTP(String channelId);
 
    /**
     * 清空某个设备的所有缓存
     * @param deviceId 设备ID
     */
    void clearCatchByDeviceId(String deviceId);
 
    /**
     * 获取mediaServer节点
     * @param mediaServerId
     * @return
     */
//    MediaServerItem getMediaInfo(String mediaServerId);
 
    /**
     * 设置所有设备离线
     */
    void outlineForAll();
 
    /**
     * 在redis添加wvp的信息
     */
    void updateWVPInfo(JSONObject jsonObject);
}