IStreamPushService.java
2.99 KB
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
120
121
122
123
124
125
126
127
128
129
130
131
package com.genersoft.iot.vmp.service;
import com.genersoft.iot.vmp.gb28181.bean.GbStream;
import com.genersoft.iot.vmp.media.zlm.dto.hook.OnStreamChangedHookParam;
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.StreamPushItemFromRedis;
import com.genersoft.iot.vmp.vmanager.bean.ResourceBaseInfo;
import com.genersoft.iot.vmp.vmanager.jt1078.platform.domain.StreamSwitch;
import com.github.pagehelper.PageInfo;
import org.springframework.scheduling.annotation.Scheduled;
import java.util.List;
import java.util.Map;
/**
* @author lin
*/
public interface IStreamPushService {
List<StreamPushItem> handleJSON(String json, MediaServerItem mediaServerItem);
/**
* 将应用名和流ID加入国标关联
* @param stream
* @return
*/
boolean saveToGB(GbStream stream);
/**
* 将应用名和流ID移出国标关联
* @param stream
* @return
*/
boolean removeFromGB(GbStream stream);
/**
* 获取
*/
PageInfo<StreamPushItem> getPushList(Integer page, Integer count, String query, Boolean pushing, String mediaServerId);
List<StreamPushItem> getPushList(String mediaSererId);
StreamPushItem transform(OnStreamChangedHookParam item);
StreamPushItem getPush(String app, String streamId);
/**
* 停止一路推流
* @param app 应用名
* @param streamId 流ID
*/
boolean stop(String app, String streamId);
/**
* 新的节点加入
*/
void zlmServerOnline(String mediaServerId);
/**
* 节点离线
*/
void zlmServerOffline(String mediaServerId);
/**
* 清空
*/
void clean();
boolean saveToRandomGB();
/**
* 批量添加
*/
void batchAdd(List<StreamPushItem> streamPushExcelDtoList);
/**
* 中止多个推流
*/
boolean batchStop(List<GbStream> streamPushItems);
/**
* 导入时批量增加
*/
void batchAddForUpload(List<StreamPushItem> streamPushItems, Map<String, List<String[]>> streamPushItemsForAll);
/**
* 全部离线
*/
void allStreamOffline();
/**
* 推流离线
*/
void offline(List<StreamPushItemFromRedis> offlineStreams);
/**
* 推流上线
*/
void online(List<StreamPushItemFromRedis> onlineStreams);
/**
* 增加推流
*/
boolean add(StreamPushItem stream);
/**
* 获取全部的app+Streanm 用于判断推流列表是新增还是修改
* @return
*/
List<String> getAllAppAndStream();
/**
* 获取统计信息
* @return
*/
ResourceBaseInfo getOverview();
/**
* 获取全部的app+Streanm 用于判断推流列表是新增还是修改
* @return app+Streanm
*/
Map<String, StreamPushItem> getAllAppAndStreamMap();
/**
* 推流切换
* @param streamSwitch 切换信息
*/
void switchStream(StreamSwitch streamSwitch);
}