648540858
2020-10-26 9361943e47a09ea46f76adf06fa0d24a07ac711d
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
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
package com.genersoft.iot.vmp.gb28181.transmit.cmd;
 
import com.genersoft.iot.vmp.common.StreamInfo;
import com.genersoft.iot.vmp.gb28181.bean.Device;
 
/**    
 * @Description:设备能力接口,用于定义设备的控制、查询能力   
 * @author: swwheihei
 * @date:   2020年5月3日 下午9:16:34     
 */
public interface ISIPCommander {
 
    /**
     * 云台方向放控制,使用配置文件中的默认镜头移动速度
     * 
     * @param device  控制设备
     * @param channelId  预览通道
     * @param leftRight  镜头左移右移 0:停止 1:左移 2:右移
     * @param upDown     镜头上移下移 0:停止 1:上移 2:下移
     * @param moveSpeed  镜头移动速度
     */
    public boolean ptzdirectCmd(Device device,String channelId,int leftRight, int upDown);
    
    /**
     * 云台方向放控制
     * 
     * @param device  控制设备
     * @param channelId  预览通道
     * @param leftRight  镜头左移右移 0:停止 1:左移 2:右移
     * @param upDown     镜头上移下移 0:停止 1:上移 2:下移
     * @param moveSpeed  镜头移动速度
     */
    public boolean ptzdirectCmd(Device device,String channelId,int leftRight, int upDown, int moveSpeed);
    
    /**
     * 云台缩放控制,使用配置文件中的默认镜头缩放速度
     * 
     * @param device  控制设备
     * @param channelId  预览通道
     * @param inOut      镜头放大缩小 0:停止 1:缩小 2:放大
     */
    public boolean ptzZoomCmd(Device device,String channelId,int inOut);
    
    /**
     * 云台缩放控制
     * 
     * @param device  控制设备
     * @param channelId  预览通道
     * @param inOut      镜头放大缩小 0:停止 1:缩小 2:放大
     * @param zoomSpeed  镜头缩放速度
     */
    public boolean ptzZoomCmd(Device device,String channelId,int inOut, int moveSpeed);
    
    /**
     * 云台控制,支持方向与缩放控制
     * 
     * @param device  控制设备
     * @param channelId  预览通道
     * @param leftRight  镜头左移右移 0:停止 1:左移 2:右移
     * @param upDown     镜头上移下移 0:停止 1:上移 2:下移
     * @param inOut      镜头放大缩小 0:停止 1:缩小 2:放大
     * @param moveSpeed  镜头移动速度
     * @param zoomSpeed  镜头缩放速度
     */
    public boolean ptzCmd(Device device,String channelId,int leftRight, int upDown, int inOut, int moveSpeed, int zoomSpeed);
    
    /**
     * 请求预览视频流
     * 
     * @param device  视频设备
     * @param channelId  预览通道
     */
    public StreamInfo playStreamCmd(Device device, String channelId);
    
    /**
     * 请求回放视频流
     * 
     * @param device  视频设备
     * @param channelId  预览通道
     * @param startTime 开始时间,格式要求:yyyy-MM-dd HH:mm:ss
     * @param endTime 结束时间,格式要求:yyyy-MM-dd HH:mm:ss
     */
    public StreamInfo playbackStreamCmd(Device device,String channelId, String startTime, String endTime);
    
    /**
     * 视频流停止
     * 
     * @param ssrc  ssrc
     */
    public void streamByeCmd(String ssrc);
    
    /**
     * 语音广播
     * 
     * @param device  视频设备
     * @param channelId  预览通道
     */
    public boolean audioBroadcastCmd(Device device,String channelId);
    
    /**
     * 音视频录像控制
     * 
     * @param device  视频设备
     * @param channelId  预览通道
     */
    public boolean recordCmd(Device device,String channelId);
    
    /**
     * 报警布防/撤防命令
     * 
     * @param device  视频设备
     */
    public boolean guardCmd(Device device);
    
    /**
     * 报警复位命令
     * 
     * @param device  视频设备
     */
    public boolean alarmCmd(Device device);
    
    /**
     * 强制关键帧命令,设备收到此命令应立刻发送一个IDR帧
     * 
     * @param device  视频设备
     * @param channelId  预览通道
     */
    public boolean iFameCmd(Device device,String channelId);
    
    /**
     * 看守位控制命令
     * 
     * @param device  视频设备
     */
    public boolean homePositionCmd(Device device);
    
    /**
     * 设备配置命令
     * 
     * @param device  视频设备
     */
    public boolean deviceConfigCmd(Device device);
    
    
    /**
     * 查询设备状态
     * 
     * @param device 视频设备
     */
    public boolean deviceStatusQuery(Device device);
    
    /**
     * 查询设备信息
     * 
     * @param device 视频设备
     * @return 
     */
    public boolean deviceInfoQuery(Device device);
    
    /**
     * 查询目录列表
     * 
     * @param device 视频设备
     */
    public boolean catalogQuery(Device device);
    
    /**
     * 查询录像信息
     * 
     * @param device 视频设备
     * @param startTime 开始时间,格式要求:yyyy-MM-dd HH:mm:ss
     * @param endTime 结束时间,格式要求:yyyy-MM-dd HH:mm:ss
     */
    public boolean recordInfoQuery(Device device, String channelId, String startTime, String endTime);
    
    /**
     * 查询报警信息
     * 
     * @param device 视频设备
     */
    public boolean alarmInfoQuery(Device device);
    
    /**
     * 查询设备配置
     * 
     * @param device 视频设备
     */
    public boolean configQuery(Device device);
    
    /**
     * 查询设备预置位置
     * 
     * @param device 视频设备
     */
    public boolean presetQuery(Device device);
    
    /**
     * 查询移动设备位置数据
     * 
     * @param device 视频设备
     */
    public boolean mobilePostitionQuery(Device device);
}