接入方式
CCAI 默认监听 127.0.0.1:18090,只面向本机回环调用设计。当前没有为公网访问提供远程鉴权,请不要直接绑定到公网网卡。
1. 创建分析任务
curl -X POST http://127.0.0.1:18090/v1/tasks \
-H "Content-Type: application/json" \
-d '{
"task_id": "gate-01",
"stream_id": "gate-01",
"stream_role": "auto",
"streams": {
"main": "rtsp://camera/main",
"sub": "rtsp://camera/sub"
},
"device": "auto",
"fps": 3,
"callback_url": "http://127.0.0.1:18091/v1/events",
"rules": [{
"type": "intrusion",
"zones": [[[0.1,0.2],[0.9,0.2],[0.9,0.9],[0.1,0.9]]],
"min_duration_ms": 1000,
"cooldown_ms": 30000,
"min_hits": 2
}]
}'
stream_role=auto 按 sub → main → custom 顺序选择可用码流。也可以在 streams.custom 中提供单独的分析流地址。
2. 接收事件
当 callback_url 被配置时,CCAI 会向该地址发送事件:
{
"task_id": "gate-01",
"stream_id": "gate-01",
"event_type": "intrusion",
"event_state": "started",
"label": "person",
"track_id": "track-18",
"started_at": 1793892000000,
"ended_at": 0,
"boxes": []
}
event_state=ended 表示事件结束。调用方应以 task_id + track_id + event_type + started_at 等字段建立稳定的业务关联。
3. 接收检测框
连接 WebSocket:
ws://127.0.0.1:18090/v1/streams/{stream_id}/detections
检测框使用 0~1 归一化坐标,可直接叠加到任意尺寸的播放器或画布。
4. 管理任务
| 方法 | 路径 | 用途 |
|---|---|---|
GET | /v1/health | 模型、进程和活动任务健康状态 |
GET | /v1/capabilities | 通道限制、硬件和功能能力 |
GET | /v1/metrics | 进程、推理和任务指标 |
GET | /v1/tasks | 查询活动任务 |
POST | /v1/tasks | 创建任务 |
PUT | /v1/tasks/{task_id} | 原子替换任务配置 |
DELETE | /v1/tasks/{task_id} | 停止并删除任务 |
完整的请求和响应定义见 OpenAPI 契约。
与 CCNVR 集成
CCNVR 已完成 CCAI 子进程托管、通道规则同步、事件与告警转换、快照和事件录像联动。对于希望直接获得完整 NVR 用户界面的场景,优先使用 CCNVR。