camera_control.md 24 KB

文档

default

摄像头控制 Controller

MVP API 接口:

  • GET /camera/list 获取摄像头列表
  • GET /camera/{id} 获取摄像头信息
  • POST /camera/switch 切换摄像头通道
  • GET /camera/current 获取当前通道

后台 PTZ 接口(可选):

  • POST /camera/{id}/ptz/start 开始 PTZ 控制
  • POST /camera/{id}/ptz/stop 停止 PTZ 控制

获取摄像头列表

维护人:TG Live

URL

描述:获取摄像头列表

ContentType:application/json

请求参数

Body Parameter
名称 类型 必填 最大长度 描述 示例值
machineId String - 机器 ID(可选) machine_001

请求示例

{
    "machineId": "machine_001"
}

响应参数

名称 类型 必填 最大长度 描述 示例值
success Boolean - 请求是否成功 true
errCode String - 错误码(失败时返回)
errMessage String - 错误信息(失败时返回)
data array 响应数据 (ActualType: List)
└ cameraId String - 摄像头 ID cam_001
└ name String - 摄像头名称 主摄像头
└ lssId String - 绑定的 LSS 节点 ID lss_001
└ model String - 摄像头型号 DS-2CD2143G2-IS
└ rtspUrl String - RTSP 推流地址 rtsp://admin:password@192.168.1.100:554/Streaming/Channels/101
└ channelNo String - 通道号 1
└ status String - 摄像头状态: online, offline, connecting, failed, error, unknown online
└ capability String - 摄像头能力: switch_only, ptz_enabled ptz_enabled
└ ptzSupported Boolean - 是否支持 PTZ true
└ remark String - 备注
└ enabled Boolean - 是否启用 true

响应示例

{
    "success": true,
    "errCode": "string",
    "errMessage": "string",
    "data": [
        {
            "cameraId": "cam_001",
            "name": "主摄像头",
            "lssId": "lss_001",
            "model": "DS-2CD2143G2-IS",
            "rtspUrl": "rtsp://admin:password@192.168.1.100:554/Streaming/Channels/101",
            "channelNo": "1",
            "status": "online",
            "capability": "ptz_enabled",
            "ptzSupported": true,
            "remark": "string",
            "enabled": true
        }
    ]
}

错误码

获取摄像头信息

维护人:TG Live

URL

描述:获取摄像头信息

ContentType:application/x-www-form-urlencoded;charset=UTF-8

Path 参数

名称 必填 描述 示例值
cameraId 摄像头 ID camera_001

请求参数

响应参数

名称 类型 必填 最大长度 描述 示例值
success Boolean - 请求是否成功 true
errCode String - 错误码(失败时返回)
errMessage String - 错误信息(失败时返回)
data object 响应数据 (ActualType: CameraDTO)
└ cameraId String - 摄像头 ID cam_001
└ name String - 摄像头名称 主摄像头
└ lssId String - 绑定的 LSS 节点 ID lss_001
└ model String - 摄像头型号 DS-2CD2143G2-IS
└ rtspUrl String - RTSP 推流地址 rtsp://admin:password@192.168.1.100:554/Streaming/Channels/101
└ channelNo String - 通道号 1
└ status String - 摄像头状态: online, offline, connecting, failed, error, unknown online
└ capability String - 摄像头能力: switch_only, ptz_enabled ptz_enabled
└ ptzSupported Boolean - 是否支持 PTZ true
└ remark String - 备注
└ enabled Boolean - 是否启用 true

响应示例

{
    "success": true,
    "errCode": "string",
    "errMessage": "string",
    "data": {
        "cameraId": "cam_001",
        "name": "主摄像头",
        "lssId": "lss_001",
        "model": "DS-2CD2143G2-IS",
        "rtspUrl": "rtsp://admin:password@192.168.1.100:554/Streaming/Channels/101",
        "channelNo": "1",
        "status": "online",
        "capability": "ptz_enabled",
        "ptzSupported": true,
        "remark": "string",
        "enabled": true
    }
}

错误码

切换摄像头通道(MVP 核心)

维护人:TG Live

URL

描述:切换摄像头通道(MVP 核心)

ContentType:application/json

请求参数

Body Parameter
名称 类型 必填 最大长度 描述 示例值
machineId String - 机器 ID machine_001
channelId String - 目标通道 ID ch_001

请求示例

{
    "machineId": "machine_001",
    "channelId": "ch_001"
}

响应参数

名称 类型 必填 最大长度 描述 示例值
success Boolean - 请求是否成功 true
errCode String - 错误码(失败时返回)
errMessage String - 错误信息(失败时返回)
data object 响应数据 (ActualType: ChannelDTO)
└ channelId String - 通道 ID ch_001
└ name String - 通道名称 主通道
└ rtspUrl String - RTSP 地址 rtsp://192.168.1.100:554/stream1
└ defaultView Boolean - 是否默认视角 true
└ status String - 通道状态: ONLINE, OFFLINE ONLINE
└ cameraId String - 所属摄像头 ID cam_001

响应示例

{
    "success": true,
    "errCode": "string",
    "errMessage": "string",
    "data": {
        "channelId": "ch_001",
        "name": "主通道",
        "rtspUrl": "rtsp://192.168.1.100:554/stream1",
        "defaultView": true,
        "status": "ONLINE",
        "cameraId": "cam_001"
    }
}

错误码

获取当前活动通道

维护人:TG Live

URL

描述:获取当前活动通道

ContentType:application/x-www-form-urlencoded;charset=UTF-8

请求参数

Query Parameter
名称 类型 必填 最大长度 描述 示例值
machineId string - 机器 ID machine_001

响应参数

名称 类型 必填 最大长度 描述 示例值
success Boolean - 请求是否成功 true
errCode String - 错误码(失败时返回)
errMessage String - 错误信息(失败时返回)
data object 响应数据 (ActualType: ChannelDTO)
└ channelId String - 通道 ID ch_001
└ name String - 通道名称 主通道
└ rtspUrl String - RTSP 地址 rtsp://192.168.1.100:554/stream1
└ defaultView Boolean - 是否默认视角 true
└ status String - 通道状态: ONLINE, OFFLINE ONLINE
└ cameraId String - 所属摄像头 ID cam_001

响应示例

{
    "success": true,
    "errCode": "string",
    "errMessage": "string",
    "data": {
        "channelId": "ch_001",
        "name": "主通道",
        "rtspUrl": "rtsp://192.168.1.100:554/stream1",
        "defaultView": true,
        "status": "ONLINE",
        "cameraId": "cam_001"
    }
}

错误码

开始 PTZ 控制(后台专用)

维护人:TG Live

URL

描述:开始 PTZ 控制(后台专用)

ContentType:application/x-www-form-urlencoded;charset=UTF-8

Path 参数

名称 必填 描述 示例值
cameraId 摄像头 ID hikvision_ptz

请求参数

Query Parameter
名称 类型 必填 最大长度 描述 示例值
action string - PTZ 动作 up
speed int32 - 速度(1-100) 50

响应参数

名称 类型 必填 最大长度 描述 示例值
success Boolean - 请求是否成功 true
errCode String - 错误码(失败时返回)
errMessage String - 错误信息(失败时返回)
data object - 响应数据 (ActualType: Void)

响应示例

{
    "success": true,
    "errCode": "string",
    "errMessage": "string",
    "data": {}
}

错误码

停止 PTZ 控制(后台专用)

维护人:TG Live

URL

描述:停止 PTZ 控制(后台专用)

ContentType:application/x-www-form-urlencoded;charset=UTF-8

Path 参数

名称 必填 描述 示例值
cameraId 摄像头 ID hikvision_ptz

请求参数

响应参数

名称 类型 必填 最大长度 描述 示例值
success Boolean - 请求是否成功 true
errCode String - 错误码(失败时返回)
errMessage String - 错误信息(失败时返回)
data object - 响应数据 (ActualType: Void)

响应示例

{
    "success": true,
    "errCode": "string",
    "errMessage": "string",
    "data": {}
}

错误码

PTZ 直接控制(兼容前端 pan/tilt/zoom 方式)

与前端海康调试接口一致:直接传 pan/tilt/zoom 值

维护人:TG Live

URL

描述:PTZ 直接控制(兼容前端 pan/tilt/zoom 方式)

与前端海康调试接口一致:直接传 pan/tilt/zoom 值

ContentType:application/json

Path 参数

名称 必填 描述 示例值
cameraId 摄像头 ID hikvision_ptz

请求参数

Body Parameter
名称 类型 必填 最大长度 描述 示例值
pan Integer 100 水平移动速度
负值向左,正值向右
范围: -100 ~ 100
0
tilt Integer 100 垂直移动速度
负值向下,正值向上
范围: -100 ~ 100
0
zoom Integer 100 缩放速度
负值缩小,正值放大
范围: -100 ~ 100
0
channel Integer - 通道号(可选,默认 1) 0

请求示例

{
    "pan": 0,
    "tilt": 0,
    "zoom": 0,
    "channel": 0
}

响应参数

名称 类型 必填 最大长度 描述 示例值
success Boolean - 请求是否成功 true
errCode String - 错误码(失败时返回)
errMessage String - 错误信息(失败时返回)
data object - 响应数据 (ActualType: Void)

响应示例

{
    "success": true,
    "errCode": "string",
    "errMessage": "string",
    "data": {}
}

错误码

获取预置位列表

异步获取摄像头的预置位列表,结果通过 Ably 推送返回。

预置位是摄像头保存的固定位置点,可快速跳转到该位置。

维护人:TG Live

URL

描述:获取预置位列表

异步获取摄像头的预置位列表,结果通过 Ably 推送返回。

预置位是摄像头保存的固定位置点,可快速跳转到该位置。

ContentType:application/x-www-form-urlencoded;charset=UTF-8

Path 参数

名称 必填 描述 示例值
cameraId 摄像头 ID hikvision_ptz

请求参数

Query Parameter
名称 类型 必填 最大长度 描述 示例值
channel int32 - 通道号(可选,默认使用摄像头配置的通道) 1

响应参数

名称 类型 必填 最大长度 描述 示例值
success Boolean - 请求是否成功 true
errCode String - 错误码(失败时返回)
errMessage String - 错误信息(失败时返回)
data string - 响应数据 (ActualType: String)

响应示例

{
    "success": true,
    "errCode": "string",
    "errMessage": "string",
    "data": "string"
}

错误码

跳转到预置位

控制摄像头快速移动到指定的预置位位置。

预置位编号从 1 开始,需确保该预置位已存在。

维护人:TG Live

URL

描述:跳转到预置位

控制摄像头快速移动到指定的预置位位置。

预置位编号从 1 开始,需确保该预置位已存在。

ContentType:application/json

Path 参数

名称 必填 描述 示例值
cameraId 摄像头 ID hikvision_ptz

请求参数

Body Parameter
名称 类型 必填 最大长度 描述 示例值
presetIndex Integer - 预置位编号 1

请求示例

{
    "presetIndex": 1
}

响应参数

名称 类型 必填 最大长度 描述 示例值
success Boolean - 请求是否成功 true
errCode String - 错误码(失败时返回)
errMessage String - 错误信息(失败时返回)
data string - 响应数据 (ActualType: String)

响应示例

{
    "success": true,
    "errCode": "string",
    "errMessage": "string",
    "data": "string"
}

错误码

设置预置位(保存当前位置)

将摄像头当前的 PTZ 位置保存为预置位。

如果指定的预置位编号已存在,将覆盖原有设置。

维护人:TG Live

URL

描述:设置预置位(保存当前位置)

将摄像头当前的 PTZ 位置保存为预置位。

如果指定的预置位编号已存在,将覆盖原有设置。

ContentType:application/json

Path 参数

名称 必填 描述 示例值
cameraId 摄像头 ID hikvision_ptz

请求参数

Body Parameter
名称 类型 必填 最大长度 描述 示例值
presetIndex Integer - 预置位编号 1
presetName String 50 预置位名称(可选)
Validate[max: 50; ]
位置 1

请求示例

{
    "presetIndex": 1,
    "presetName": "位置1"
}

响应参数

名称 类型 必填 最大长度 描述 示例值
success Boolean - 请求是否成功 true
errCode String - 错误码(失败时返回)
errMessage String - 错误信息(失败时返回)
data string - 响应数据 (ActualType: String)

响应示例

{
    "success": true,
    "errCode": "string",
    "errMessage": "string",
    "data": "string"
}

错误码

删除预置位

删除摄像头的指定预置位。

删除后该预置位编号将不可用,直到重新设置。

维护人:TG Live

URL

描述:删除预置位

删除摄像头的指定预置位。

删除后该预置位编号将不可用,直到重新设置。

ContentType:application/json

Path 参数

名称 必填 描述 示例值
cameraId 摄像头 ID hikvision_ptz

请求参数

Body Parameter
名称 类型 必填 最大长度 描述 示例值
presetIndex Integer - 预置位编号 1

请求示例

{
    "presetIndex": 1
}

响应参数

名称 类型 必填 最大长度 描述 示例值
success Boolean - 请求是否成功 true
errCode String - 错误码(失败时返回)
errMessage String - 错误信息(失败时返回)
data string - 响应数据 (ActualType: String)

响应示例

{
    "success": true,
    "errCode": "string",
    "errMessage": "string",
    "data": "string"
}

错误码

回放记忆路线(前端用户接口)

触发指定摄像头的记忆路线回放,摄像头将按录制顺序自动执行所有 PTZ 动作。

维护人:TG Live

URL

描述:回放记忆路线(前端用户接口)

触发指定摄像头的记忆路线回放,摄像头将按录制顺序自动执行所有 PTZ 动作。

ContentType:application/json

Path 参数

名称 必填 描述 示例值
cameraId 摄像头 ID cam_001

请求参数

Body Parameter
名称 类型 必填 最大长度 描述 示例值
tourId String - 轨迹 ID tour_001
loopEnabled Boolean - 覆盖循环设置:是否循环执行(可选,不传则使用轨迹配置) true
loopCount Integer - 覆盖循环设置:循环次数(可选,不传则使用轨迹配置) 3

请求示例

{
    "tourId": "tour_001",
    "loopEnabled": true,
    "loopCount": 3
}

响应参数

名称 类型 必填 最大长度 描述 示例值
success Boolean - 请求是否成功 true
errCode String - 错误码(失败时返回)
errMessage String - 错误信息(失败时返回)
data string - 响应数据 (ActualType: String)

响应示例

{
    "success": true,
    "errCode": "string",
    "errMessage": "string",
    "data": "string"
}

错误码