一、全局配置
1.请求body 规定
使用JSON 发送,需要在请求header 中设置content-type 为 application/json
响应格式为 {"code":0,"msg":"","data":{}},下面接口的返回值都是data 里面的内容
2.接口HOST
http://10.25.10.70:9988
3.版本
1.0.1.debug_2024-01-11
4.请求鉴权
在header 的authorization 中固定token: pwiylfta-iw3c-57kn-g9ss-stqqzsrjvjuc
二、功能接口
1. 请求测试
GET/POST /api
返回:
@string app_version 当前管理中间件的版本
@dict docker docker 组件的详情
@dict payload post 到本接口的所有数据
@string user_agent 当前客户端的user_agent
@string authorization 当前客户端的authorization
2.JSON 票据管理
1. 设置JSON 票据信息
POST /api/json
请求参数:
@int timeout 过期时间,default:60
@string payload JSON 字符串
返回:
@string token 请求的token
@int timeout 票据过期时间
2. 使用票据查询JSON 配置
GET /api/json/{token}
返回:
@string token 请求的token
@string payload JSON 字符串
3.OPENCV 视频处理
1.列出可用于测试的视频流
GET /api/opencv/stream
请求参数:
无
返回:
@list
@int id 视频流的id
@string name 视频流的名字
@string stream_url 流媒体地址
2.截取一帧视频实时画面信息
POST /api/opencv/capture
请求参数:
@string stream_url 视频流的url 地址
返回:
@string img_path 图片的物理地址
@list size 图片大小 长,高
@int stream_url 流媒体地址
@int using_time 花费的时间,单位毫秒
@int current_time 毫秒级时间戳
3.在图片上绘制多边形
POST /api/opencv/draw
请求参数:
@string img_path 图片的物理地址
@list points_pos 点坐标,整数,支持多个框选区域
格式如下:
[
[[90,800],[500,800],[500,100],[90,100]]
]
@list rgb_color 绘图时线条颜色
@int size 绘图时线条粗细
返回:
@string img_path 图片的访问地址
@list size 图片大小 长,高
@int using_time 花费的时间,单位毫秒
@int current_time 毫秒级时间戳
4.DOCKER 镜像
1. 查询可用容器镜像列表
GET /api/docker/image
请求参数:
无
返回:
@list
@string author 镜像的作者
@string create_time 镜像创建时间
@string description 镜像的描述信息
@string tags 镜像的tags
@string id 镜像的唯一id
@int size 镜像的大小
5.DOCKER 容器
1. 查询容器列表
GET /api/docker/container
参数:
无
返回:
@list
@string id 容器的唯一id
@string image 容器的镜像的tags
@string name 容器的名称
@string status 容器的状态信息
@string root_path 容器在宿主机中的根目录
@string ip 容器的ip
@string mac 容器的mac 地址
@string hostname 容器的主机名称
@list env 容器的环境变量
@string create_time 容器的创建时间
2. 查询指定的容器的详情
GET /api/docker/container/{container_id}
参数:
@string container_id 容器的唯一id
返回:
@string id 容器的唯一id
@string image 容器的镜像的tags
@string name 容器的名称
@string status 容器的状态信息
@string root_path 容器在宿主机中的根目录
@string ip 容器的ip
@string mac 容器的mac 地址
@string hostname 容器的主机名称
@list env 容器的环境变量
@string create_time 容器的创建时间
3.停用/启用容器
PATCH /api/docker/container/{container_id}
参数:
@string container_id 容器的唯一id
返回:
@string id 容器的唯一id
@string status 容器当前的运行状态信息
4.停止并释放容器
DELETE /container/
参数:
@string container_id 容器的唯一id
返回:
@string status 状态 success / error
@string msg 描述信息
5.部署自定义容器
POST /api/docker/container
参数:
@string image_name 镜像的tag
@string name 容器的名字
@string command 容器初始化后执行的指令 不传默认 /bin/bash
@string env 容器初始化时的环境变量
@list[int] gpu 容器运行时时使用的GPU id, 不传不激活GPU
返回:
@string status 部署状态 success/error
@string msg 部署状态的描述信息
@string container_id 容器的唯一id
6.自动化部署 点位分析项目
POST /container/auto/point_prediction
参数:
@string point_json 点位json json编码后的字符
@string model_url 模型文件的下载地址
@string influxdb_host influxdb 的地址
@int influxdb_port influxdb 的端口号
@string influxdb_username influxdb 的用户名
@string influxdb_password influxdb 的密码
@string influxdb_database influxdb 的数据库名字
@string influxdb_from_table 数据来源的表名 default:opc
@string influxdb_to_table 目标表 default:expect
返回:
@string status 部署状态 success / error
@string msg 部署描述信息
@string container_id 容器id , 部署成功的时候返回
6.视频分析管理
1.查询支持的算法列表
GET /api/aivideo/algorithm
参数:
无
返回:
@int id 算法的唯一id
@string name 算法的名称
@string msg 算法的报警的消息
@list params 算法所需要的额外参数
@string name 参数的名称
@string type 参数的类型
@string desc 参数的描述信息
2.部署视频分析实例
配置项即消息队列见配置项和消息队列说明
POST /api/aivideo
请求参数:
@string algorithm_global_config 全局配置项 JSON
@string algorithm_extend_config 拓展配置项 JSON
@int algorithm_id 算法 id
@string stream_id 流媒体的资源id
@string stream_url 流媒体的视频地址 URL
@string model_id 模型的id
@string model_url 模型的访问地址
@string kafka_host kafka 的服务器地址
@int kafka_port kafka 的端口
@string kafka_topic kafka 的主题的TOPIC 信息
warning 报警的topic
cancel 取消报警的topic
record 视频录制成功的topic
返回:
@string id 实例的id
@int pid 实例在本地的进程号
3.列出视频分析实例
GET /api/aivideo
请求参数:
无
返回参数:
@list
@string id 实例的id
@int pid 实例的进程号
4.获取视频分析实例详情
GET /api/aivideo/{id}
请求参数:
@string id 视频分析实例的id
返回参数:
@list
@dist algorithm_global_config 实例的全局配置信息
@dist algorithm_extend_config 实例的拓展配置信息
@int algorith_id 算法id
@string id 实例的id
@string kafka_host kafka 服务器host
@int kafka_port kafka 服务器的port
@dist kafka_topic kafka 的topic
@string media_url 流媒体播放地址
@string model_id 模型id
@string model_url 模型的下载地址
@int pid 当前分析实例的进程pid
@string stream_id 视频的id
@string stream_url 视频的流媒体地址
5.删除视频分析实例
GET /api/aivideo/{id}
DELETE /api/aivideo
请求参数:
@string id 视频分析实例的id
返回:
@id string 实例的id
@pid int 实例在本地的进程号