| package com.ruoyi.device.camera.factory; | 
|   | 
| import com.ruoyi.common.core.domain.AjaxResult; | 
| import com.ruoyi.device.camera.domain.ArdCameras; | 
| import com.ruoyi.device.camera.domain.CameraCmd; | 
| import com.ruoyi.device.channel.domain.ArdChannel; | 
| import java.util.List; | 
| import java.util.Map; | 
|   | 
| /** | 
|  *  相机SDK策略接口 | 
|  * 刘苏义 | 
|  * 2023/11/7 10:48:52 | 
|  */ | 
| public interface CameraSDK { | 
|   | 
|     //同步登录 | 
|     boolean login(ArdCameras cameras); | 
|   | 
|     //异步登录 | 
|     void asyncLogin(ArdCameras cameras); | 
|   | 
|     //注销 | 
|     boolean logout(String cameraId); | 
|   | 
|     //在线状态 | 
|     boolean isOnLine(CameraCmd cmd); | 
|   | 
|     //云台控制 | 
|     AjaxResult pTZControl(CameraCmd cmd); | 
|   | 
|     //设置聚焦值 | 
|     AjaxResult setFocusPos(CameraCmd cmd); | 
|   | 
|     //获取聚焦值 | 
|     AjaxResult getFocusPos(CameraCmd cmd); | 
|   | 
|     //设置预置位 | 
|     AjaxResult setPreset(CameraCmd cmd); | 
|   | 
|     //调用预置位 | 
|     AjaxResult gotoPreset(CameraCmd cmd); | 
|   | 
|     //获取码流压缩参数 | 
|     Map<String, Object> getVideoCompressionCfg(CameraCmd cmd); | 
|   | 
|     //透雾 | 
|     AjaxResult controlDefogcfg(CameraCmd cmd); | 
|   | 
|     //红外 | 
|     AjaxResult controlInfrarecfg(CameraCmd cmd); | 
|   | 
|     //聚焦模式 | 
|     AjaxResult controlFocusMode(CameraCmd cmd); | 
|   | 
|     //获取聚焦模式 | 
|     AjaxResult getFocusMode(CameraCmd cmd); | 
|   | 
|     //云台加热 | 
|     AjaxResult controlPTHeateRpwron(CameraCmd cmd); | 
|   | 
|     //镜头除冰 | 
|     AjaxResult controlCameraDeicing(CameraCmd cmd); | 
|   | 
|     //获取云台锁定信息 | 
|     AjaxResult getPTZLockInfo(CameraCmd cmd); | 
|   | 
|     //抓图-返给前端二进制流 | 
|     AjaxResult captureJPEGPicture(CameraCmd cmd); | 
|   | 
|     //抓图 | 
|     String picCutCate(CameraCmd cmd); | 
|     //获取ptz | 
|     AjaxResult getPtz(CameraCmd cmd); | 
|   | 
|     //获取高精度PTZ | 
|     AjaxResult getPtzHigh(CameraCmd cmd); | 
|   | 
|     //获取ptz范围 | 
|     AjaxResult getPtzScope(CameraCmd cmd); | 
|   | 
|     //设置ptz(不支持2通道的Z值设置和获取) | 
|     AjaxResult setPtz(CameraCmd cmd); | 
|   | 
|     //设置ptz(高精度ptz设置) | 
|     AjaxResult setPtzHigh(CameraCmd cmd); | 
|   | 
|     //设置零方位角 | 
|     AjaxResult setZeroPtz(CameraCmd cmd); | 
|   | 
|     //手动录像 | 
|     String record(CameraCmd cmd); | 
|   | 
|     //引导目标位置 | 
|     AjaxResult guideTargetPosition(CameraCmd cmd); | 
|   | 
|     //开始录像 | 
|     boolean recordStart(CameraCmd cmd); | 
|   | 
|     //停止录像-上传minio-返回录像url | 
|     String recordStopToMinio(CameraCmd cmd); | 
|   | 
|     //停止录像-不上传minio | 
|     boolean recordStopNotToMinio(CameraCmd cmd); | 
|   | 
|     //获取相机通道信息 | 
|     List<ArdChannel> getIPChannelInfo(ArdCameras camera); | 
|   | 
|     //获取GIS信息数据 | 
|     AjaxResult getGisInfo(CameraCmd cmd); | 
| } |