Cis.Application
Cb -> Camera base
Api 分组名
CbCameraNode Api 分组排序
CbCamera Api 分组排序
CbCameraParams Api 分组排序
数据库标识
CbCameraNode 表名
CbCameraNode 表描述
CbCamera 表名
CbCamera 表描述
CbCameraParams 表名
CbCameraParams 表描述
相机 BO
cbCameraId
cbCamera 实体类
cbCameraParams 实体类
相机表
名称
ip 地址
账号
密码
相机参数 Id
相机节点表
组标识
名称
相机 Id
父节点 Id
子节点列表
相机参数表
名称
相机厂商
sdk 端口
相机类型
FocusX
FocusY
zoom变化函数
相机节点服务
获取树
equal:ParentId(default:0);
相机参数服务
获取实体类
equal:manufactor,type,id,isDelete; like:name; between:[startTime,endTime];
批量获取实体类
equal:manufactor,type,isDelete; like:name; between:[startTime,endTime];
批量获取分页实体类
equal:manufactor,type,isDelete; like:name; between:[startTime,endTime];
index,size
相机服务
获取实体类
equal:cbCameraParamsId,id,isDelete; like:ip,name; between:[startTime,endTime];
批量获取实体类
equal:cbCameraParamsId,isDelete; like:ip,name; between:[startTime,endTime];
批量获取分页实体类
equal:cbCameraParamsId,isDelete; like:ip,name; between:[startTime,endTime];
index,size
获取实体类 BO
实体类 id
批量获取实体类 BO
equal:cbCameraParamsId,isDelete; like:ip,name; between:[startTime,endTime];
Cm -> Camera mark
Api 分组名
CmMarkGroup Api 分组排序
CmMarkLabel Api 分组排序
数据库标识
CmMarkGroup 表名
CmMarkGroup 表描述
CmMarkLabel 表名
CmMarkLabel 表描述
标记分组表
名称
排序
备注
标签表
相机 Id
标记组 Id
名称
Pan 坐标
Tilt 坐标
Zoom 坐标
视频宽度
视频高度
画布 left 距离比例
画布 top 距离比例
备注
标记分组服务
获取实体类
equal:id,isDelete; like:name; between:[startTime,endTime];
批量获取实体类
equal:isDelete; like:name; between:[startTime,endTime];
批量获取分页实体类
equal:isDelete; like:name; between:[startTime,endTime];
index,size
标签服务
添加实体类
实体类
添加实体类并返回 id
实体类
批量添加实体类
实体类列表
获取实体类
equal:cbCameraId,cmMarkGroupId,id,isDelete; like:name; between:[startTime,endTime];
批量获取实体类
equal:cbCameraId,cmMarkGroupId,isDelete; like:name; between:[startTime,endTime];
批量获取分页实体类
equal:cbCameraId,cmMarkGroupId,isDelete; like:name; between:[startTime,endTime];
index,size
{cameraId, List(MarkLabelCalcResult)}
初始化线程
刷新所有相机 ptz
有待改善,应设置超时计数机制
https://blog.csdn.net/qq_28368039/article/details/118597396
刷新相机 ptz
刷新所有 markSearcher
刷新 markSearcher
CameraId2Ip 字典
CameraIpCounts 字典
CameraPtzInfos 字典
Api 分组名
MarkSearch Api 分组排序
Onvif Api 分组排序
ZLMediaKit Api 分组排序
循环间隔,单位毫秒
超时时间,单位毫秒
相机 sdk 服务类
{ip, ICameraSDK}
相机 sdk 服务接口
注册相机
注销相机
是否存在相机
获取 ptz
获取 ptz
获取 ptz
获取 ptz
获取 ptz
相机计算参数
Camera Id
Ptz 信息
FocusX
FocusY
ZoomVaryExpr
视频宽度
视频高度
标签计算参数
MarkLabel Id
Ptz 信息
视频宽度
视频高度
画布 left 距离比例
画布 top 距离比例
标签计算结果
MarkLabel Id
true 显示(在当前视频画面里面)
false 不显示(不在当前视频画面里面)
画布 left 距离比例
画布 top 距离比例
追踪标签服务接口
激活相机进入运算
解除相机进入运算
是否存在相机进入运算
获取 Searcher
激活标签进入运算
解除标签进入运算
是否存在标签进入运算
获取标签计算结果列表
激活相机进入运算
解除相机进入运算
是否存在相机进入运算
获取 Searcher
激活标签进入运算
解除标签进入运算
是否存在标签进入运算
获取标签计算结果列表
追踪标签服务类
{cbCameraId, MarkSearcherBase}
MarkSearcherDict 原子操作锁
MarkSearcherDict 中 MarkLabel 原子操作锁
ActivateSearcher 原子操作
DeactivateSearcher 原子操作
ActivateMarkLabel 原子操作
DeactivateMarkLabel 原子操作
当前相机计算参数
相机当前位置的世界坐标转化为相机坐标矩阵
{markLabelId, MarkLabelCalcParams}
{markLabelId, MarkLabelCalcParams}
判断相机是否进行了转动,转动了则需要重新计算世界坐标到相机坐标的转换矩阵
此方法计算在球机zoom值最小的情况下成像矩阵中的 f 本质为获取像元大小
尝试方案1:通过计算的方式来获取
尝试方案2:通过张正友相机标定的方法来生成成像矩阵中的 f
获取将世界坐标系中的点转化为相机坐标系中的点的转换矩阵
获取将相机坐标系中的点转化为世界坐标系中的点的转换矩阵
计算标签位置过程
将Pan值转化为角度
将Tilt转化为角度
根据当前zoom值获取相机矩阵参数
将计算公式存储到数据库,实现动态计算公式
https://github.com/houlongchao/HLC.Expression
https://blog.csdn.net/cxb2011/article/details/100837168
https://github.com/zz1231118/Rabbit
更新相机计算参数
添加标签计算参数
删除标签计算参数
是否存在标签计算参数
更新相机计算参数
注册 onvifClient
注册 onvifClient(异步)
注销 onvifClient
是否存在 onvifClient
获取 onvifClient
获取 onvifClient
{cameraId, OnvifClient}
虚拟主机
应用名
流id
标签追踪服务
激活 Searcher
cbCameraId
解除 Searcher
cbCameraId
是否存在 Searcher
cbCameraId
激活标签
cbCameraId
cmMarkLabelId
解除标签
cbCameraId
cmMarkLabelId
是否存在标签
cbCameraId
cmMarkLabelId
获取标签计算结果列表
cbCameraId
onvif 服务
注册 onvifClient
cbCameraId
注销 onvifClient
cbCameraId
是否存在 onvifClient
cbCameraId
变焦绝对移动
cbCameraId
变焦移动绝对点:[-1,1]
变焦相对移动
cbCameraId
变焦移动相对点:[-1,1]
变焦持续移动
cbCameraId
持续移动方向:[-1,1]
停止变焦
cbCameraId
获取播放视频 URL
cbCameraId
获取抓图 URL
cbCameraId
获取抓图 Base64
cbCameraId
绝对移动
cbCameraId
水平方向移动绝对点:[-1,1]
垂直方向移动绝对点:[-1,1]
变倍绝对点:[-1,1]
可以理解为移动速度:[0,1],默认 0.1
相对移动
cbCameraId
水平方向移动相对点:[-1,1]
垂直方向移动相对点:[-1,1]
变倍相对点:[-1,1]
移动速度:[0,1],默认 0.1
持续移动
cbCameraId
水平方向移动方向:[-1,1]
垂直方向移动方向:[-1,1]
变倍移动方向:[-1,1]
超时时间,ms
停止移动
cbCameraId
zlmediakit 服务
添加码流拉流代理(只支持H264/H265/aac/G711负载)
cbCameraId
码流级别[0,2], default:0
关闭拉流代理
cbCameraId
码流级别[0,2], default:0
获取流列表
cbCameraId
码流级别[0,2], default:0
判断直播流是否在线
cbCameraId
码流级别[0,2], default:0
配置应用所需服务,在该方法中可以添加应用所需要的功能或服务
配置应用请求处理管道
Sys -> System
Api 分组名
SysDictType Api 分组排序
SysDictData Api 分组排序
数据库标识
SysDictType 表名
SysDictType 表描述
SysDataType 表名
SysDataType 表描述
sysDictTypeId
sysDictType 实体类
sysDictData 实体类列表
系统字典值表
字典类型Id
名称
编码
值
排序
备注
状态
系统字典类型表
名称
编码
排序
备注
状态
系统字典值服务
获取实体类
equal:sysDictTypeId,id,isDelete; like:name,code; between:[startTime,endTime];
批量获取实体类
equal:sysDictTypeId,isDelete; like:name,code; between:[startTime,endTime];
批量获取分页实体类
equal:sysDictTypeId,isDelete; like:name,code; between:[startTime,endTime];
index,size
系统字典类型服务
获取实体类
equal:code,id,isDelete; like:name; between:[startTime,endTime];
批量获取实体类
equal:code,isDelete; like:name; between:[startTime,endTime];
批量获取分页实体类
equal:code,isDelete; like:name; between:[startTime,endTime];
index,size
获取实体类 BO
sys_dict_type code