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<String, Object> 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<String, Object> getPtz(CameraCmd cmd);
|
|
//获取ptz范围
|
Map<String, Object> 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<ArdChannel> getIPChannelInfo(ArdCameras camera);
|
|
//获取GIS信息数据
|
Map<String, Object> getGisInfo(CameraCmd cmd);
|
}
|