package com.ruoyi.device.camera.factory; 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); //云台控制 boolean pTZControl(CameraCmd cmd); //设置聚焦值 boolean setFocusPos(CameraCmd cmd); //获取聚焦值 int getFocusPos(CameraCmd cmd); //设置预置位 boolean setPreset(CameraCmd cmd); //调用预置位 boolean gotoPreset(CameraCmd cmd); //获取码流压缩参数 Map getVideoCompressionCfg(CameraCmd cmd); //透雾 boolean controlDefogcfg(CameraCmd cmd); //红外 boolean controlInfrarecfg(CameraCmd cmd); //聚焦模式 boolean controlFocusMode(CameraCmd cmd); //获取聚焦模式 String getFocusMode(CameraCmd cmd); //云台加热 boolean controlPTHeateRpwron(CameraCmd cmd); //镜头除冰 boolean controlCameraDeicing(CameraCmd cmd); //获取云台锁定信息 int getPTZLockInfo(CameraCmd cmd); //抓图-返给前端二进制流 String captureJPEGPicture(CameraCmd cmd); //抓图 String picCutCate(CameraCmd cmd); //ptz 三坐标 Map getPtz1(CameraCmd cmd); //ptz 三坐标 高精度PTZ Map getPtz(CameraCmd cmd); //获取ptz范围 Map getPtzScope(CameraCmd cmd); //设置ptz1(不支持2通道的Z值设置和获取) boolean setPtz1(CameraCmd cmd); //设置ptz(高精度ptz设置) boolean setPtz(CameraCmd cmd); //设置零方位角 boolean setZeroPtz(CameraCmd cmd); //手动录像 String record(CameraCmd cmd); //引导目标位置 boolean guideTargetPosition(CameraCmd cmd); //开始录像 boolean recordStart(CameraCmd cmd); //停止录像-上传minio-返回录像url String recordStopToMinio(CameraCmd cmd); //停止录像-不上传minio boolean recordStopNotToMinio(CameraCmd cmd); //获取相机通道信息 List getIPChannelInfo(ArdCameras camera); //获取GIS信息数据 Map getGisInfo(CameraCmd cmd); }