liusuyi
2026-05-14 9958bc1501d0daee954d9bba383475e55e24ebab
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
package com.ard.work.sdk.service;
 
import com.ard.common.core.exception.ServiceException;
import com.ard.common.core.web.domain.AjaxResult;
import com.ard.work.api.domian.*;
import com.ard.work.device.camera.domain.PtzParamDTO;
import com.ard.work.point.tower.domain.ArdTower;
import com.ard.work.sdk.model.DeviceCFG;
import com.ard.work.sdk.model.PtzScope;
 
import java.util.List;
import java.util.Map;
 
/**
 * 相机SDK策略接口
 * 刘苏义
 * 2023/11/7 10:48:52
 */
public interface CameraSDK {
 
    //登录
    void login(ArdCamera camera);
 
    //注销
    void logout(String cameraId);
 
    //在线状态
    Boolean isOnLine(CameraCmd cmd);
 
    //云台控制
    Boolean pTZControl(CameraCmd cmd);
 
    //设置聚焦值
    Boolean setFocusPos(CameraCmd cmd);
 
    //获取聚焦值
    Integer getFocusPos(CameraCmd cmd);
 
    //设置预置位
    Boolean setPreset(CameraCmd cmd);
 
    //调用预置位
    Boolean gotoPreset(CameraCmd cmd);
 
    //获取码流压缩参数
    VideoCompressionCfg getVideoCompressionCfg(CameraCmd cmd);
 
    //透雾
    Boolean controlDefog(CameraCmd cmd);
 
    Boolean isEnableDefog(CameraCmd cmd);
 
    //红外
    Boolean controlInfrared(CameraCmd cmd);
 
    Boolean isEnableInfrared(CameraCmd cmd);
 
    //聚焦模式
    Boolean controlFocusMode(CameraCmd cmd);
 
    //获取聚焦模式
    Boolean getFocusMode(CameraCmd cmd);
 
    //云台加热
    Boolean controlPTHeater(CameraCmd cmd);
 
    //镜头除冰
    Boolean controlCameraDeicing(CameraCmd cmd);
 
    //获取云台锁定信息
    Boolean getPTZLockInfo(CameraCmd cmd);
 
    //设置云台锁定信息
    Boolean setPTZLockInfo(CameraCmd cmd);
 
    //抓图
    byte[] localCapture(CameraCmd cmd);
 
    //抓图
    String picCutCate(CameraCmd cmd);
 
    //抓图
    String picCutCate(CameraCmd cmd, String bucketName, String objectName);
 
    //获取ptz
    PtzDto getPtz(CameraCmd cmd);
 
    //获取高精度PTZ
    PtzDto getPtzHigh(CameraCmd cmd);
 
    //获取ptz范围
    PtzScope getPtzScope(CameraCmd cmd);
 
    //设置ptz(不支持2通道的Z值设置和获取)
    Boolean setPtz(CameraCmd cmd);
 
    //设置ptz(高精度ptz设置)
    Boolean setPtzHigh(CameraCmd cmd);
 
    //设置ptz(高精度ptz透传设置)
    Boolean setPtzHighT(CameraCmd cmd);
 
    //设置零方位角
    Boolean setZeroPtz(CameraCmd cmd);
 
    //手动录像
    String record(CameraCmd cmd);
 
    //引导目标位置
    Boolean guideTargetPosition(CameraCmd cmd);
 
    //开始录像
    Boolean recordStart(CameraCmd cmd);
 
    //停止录像
    String recordStop(CameraCmd cmd);
 
    //获取GIS信息数据
    PtzParamDTO getGisInfo(CameraCmd cmd);
 
    //修正水平角
    Double correctPitch(CameraCmd cmd);
 
    //获取相机通道信息
    List<ArdChannel> getChannels(ArdCamera camera);
 
    //3D定位
    Boolean set3DPosition(CameraCmd cmd);
 
    //获取系统信息
    DeviceCFG getSystemInfo(CameraCmd cmd);
 
    List<Map<String, Object>> getCameraVideoLable( Long userId, CameraCmd cmd)throws ServiceException;
 
}