VSS 视频流服务对接开发接口文档

面向开发者的 VSS API 描述文档。适用于第三方系统、大视景数字孪生平台 (DTS)、实施交付和运维团队对接 VSS 视频源接入、设备管理、服务管理、视频播放与控制能力。

文档信息

字段 内容
关联产品 VSS 视频流服务
服务名称 VSS / Video Streaming Service
接口类型 混合接口:VSS 业务管理接口、服务节点管理接口、流媒体播放控制接口
协议类型 HTTP / WebSocket
当前版本 v1.3.2
发布日期 2026-05-28
最近修订 2026-06-17
维护人 BigViewCloud / VSS 产品与研发团队
适用对象 前端开发、后端开发、第三方集成商、客户开发团队、运维交付

服务接口简介

VSS 是大视景科技自主研发的视频流服务,核心职责是接入各类视频源(NVR、网络摄像机、平台 SDK、本地/网盘视频文件、流媒体协议等)、管理其子设备通道、分发音视频流并提供实时播放、历史回放和云台控制能力。

本文档面向需要通过接口对接 VSS 的开发者,重点覆盖以下能力:

  • 服务节点、后台进程和服务配置管理。
  • 首页运行记录、媒体服务图表和运行状态查询。
  • 视频源、设备、码流、快照、在线状态和组合设备管理。
  • 播放会话创建、视频源/设备列表读取、实时播放、历史回放、云台控制、抓图和码流解码信息回调。

本文档描述的是 VSS 对接开发接口,不替代现场部署手册、账号权限开通流程、设备厂家 SDK 文档或具体项目的网络开通说明。涉及实际地址、Token、设备账号、第三方平台密钥、节点 GUID 等信息时,应以交付环境配置为准。

使用环境

环境 HTTP Base URL WebSocket URL 说明
VSS 业务 API http://<VSS_Host>:38090 - 示例为 http://192.168.100.37:38090,用于业务管理、视频源、设备、节点等接口。
VSS 写入服务节点 http://<VSS_Host>:9105 - 用于对接媒体网关服务节点,示例节点为 http://192.168.100.235:9105。
流媒体播放服务 http://<streamServer.address>:<streamPort> ws://<streamServer.address>:<streamPort>/<SessionID> 通过 StdMedia/createSession 返回的 streamServer 信息确定实际播放地址。

接入准备

准备项 说明 获取方式
访问地址 IAM 网关、VSS 业务 API、写入服务节点、流媒体播放服务地址 由部署交付或运维提供
访问凭证 Bearer Token;部分设备或平台接入还需要设备账号、平台 apiKey/apiSecret、Token 或密码 用户认证标准 API 文档、平台授权或运维配置
服务节点 GUID 默认示例为 96EA-EF2647F2-64069F30-3E467FE12038 通过服务节点列表或部署配置获取
网络条件 调用方需能访问 IAM、VSS 业务 API、服务节点和流媒体端口;跨网段时需开通防火墙、VPN、专线或白名单 项目网络开通流程
设备与视频源前置条件 摄像机、NVR、国标平台、文件夹、RTSP/RTMP 地址等需在 VSS 可达网络内 现场设备清单、平台授权或视频源配置
示例工程或脚本 如需自动化验证,可参考项目内联调脚本和 VSS 测试脚本 由研发或交付团队提供

遵循的规范

项 规范
数据格式 JSON
字符编码 UTF-8
HTTP 方法 以 GET / POST 为主,具体以接口元信息为准
HTTP 状态码 遵循标准 HTTP 语义,业务错误通过响应体 code 和 message 说明
WebSocket 协议 ws / wss,播放地址由流媒体服务返回
时间格式 文档示例包含 yyyy-MM-dd、ISO 8601 和毫秒时间戳;具体字段按接口说明使用
命名风格 请求和响应字段以 camelCase 为主,部分历史字段保留既有命名
幂等策略 查询接口通常可重复调用;新增、删除、批量更新、服务控制、播放控制类接口不默认幂等
版本策略 当前接口未统一在 URL 中显式声明版本,文档版本用于描述接口集合和字段说明

认证与权限

VSS 业务接口统一采用 Authorization 请求头进行身份验证。客户端在调用需要权限的接口时,应在 HTTP 请求头中携带合法的 Bearer Token。

Authorization: Bearer <access_token>
Content-Type: application/json
项 说明
凭证获取方式 由用户认证标准 API 文档或统一认证平台/IAM 说明,本文档不重复定义登录、退出和用户信息接口
凭证有效期 以 IAM 或部署环境配置为准
刷新方式 Token 过期后重新登录或按 IAM 规则刷新
权限粒度 通常按用户、角色、资源、设备、播放权限和服务管理权限控制
常见失败 401 Unauthorized、403 Forbidden、Token 无效、资源无权限、设备播放无权限

[!IMPORTANT]

  1. 添加 Onvif、流媒体、本地/网盘视频文件、第三方平台等视频源时,摄像机密码、网盘连接密码、平台密钥、Token 等敏感信息不得在前端或日志中明文暴露。
  2. 部分写操作接口可能触发后台异步任务、服务配置刷新或服务重启,请勿在高并发流量下频繁调用。

公共请求头

Header 是否必填 示例 说明
Authorization 是 Bearer eyJhbGciOiJIUzI1NiIsIn... 访问凭证
Content-Type 是 application/json 请求体格式
Accept 否 application/json 期望响应格式
X-Request-Id 否 <uuid> 建议调用方生成,用于链路追踪和问题排查

公共响应格式

除数据导出等特殊接口外,本服务接口的标准返回体如下:

{
  "code": 0,
  "message": "操作成功",
  "data": {},
  "requestId": "7f3f2f7a-4d4a-4b2f-9c5c-000000000000"
}
字段 类型 说明
code Integer 业务状态码,0 表示成功,非 0 表示发生异常或失败
message String 响应消息或错误提示
data Object / Array / Null 具体业务返回数据,可以是对象、数组或分页结构
requestId String 链路追踪 ID;若服务端未返回,建议调用方自行记录请求侧 ID

兼容说明:不同部署环境中业务数据字段名称可能为 data 或 info。对接时请优先读取 data 字段,若为空可回退读取 info 字段。

分页、过滤与排序

分页查询接口中,data 字段通常返回以下分页包装结构:

{
  "currentPage": 1,
  "pageSize": 10,
  "totalPage": 5,
  "totalRow": 48,
  "list": []
}
参数/字段 类型 是否必填 默认值 说明
currentPage Long 查询时按接口要求 1 当前页码
pageSize Long 查询时按接口要求 10 每页返回记录数上限
totalPage Long 响应返回 - 总页数
totalRow Long 响应返回 - 满足查询条件的总记录数
list Array 响应返回 - 实际数据实体列表
sortColumn Integer / String 否 - 部分接口支持排序字段
sortType / sortOrder Integer / String 否 - 部分接口支持升序/降序

错误处理

通用错误码

错误码 HTTP 状态 含义 处理建议
0 200 成功 无
2500001 400 / 200 参数校验失败 检查请求参数、字段类型和必填项
2500000 500 / 200 未知错误 记录请求参数、响应内容和服务日志后联系维护人员
401 401 未认证或 Token 失效 重新登录或刷新凭证
403 403 无权限 检查用户、角色、设备、播放或服务管理授权
404 404 路径、服务节点、设备或资源不存在 检查 URL、Host、GUID、设备 ID 或服务状态
409 409 资源状态冲突 刷新资源状态后重试,避免重复提交
500 500 服务内部错误 记录现场信息并联系研发或运维

错误响应示例

{
  "code": 2500001,
  "message": "参数校验失败",
  "data": null,
  "requestId": "7f3f2f7a-4d4a-4b2f-9c5c-000000000000"
}

调用限制

限制项 默认值 说明
QPS 以现场部署和网关配置为准 文档未定义统一限流值,调用方应避免高频轮询和批量并发写入
最大请求体 以网关和服务配置为准 批量写入设备、码流或组合设备时应按现场能力拆批
最大分页数量 以接口和现场配置为准 大列表建议分页读取,避免一次性拉取全部设备或视频源
播放会话数量 以流媒体服务节点能力为准 并发播放能力受服务节点 CPU、网络、码流、转码和分发方式影响
写操作频率 不建议高频调用 服务配置、进程控制、视频源保存、设备发现等可能触发后台任务或服务状态变化
WebSocket 心跳间隔 以播放 SDK 或前端播放器实现为准 播放链路断开后应释放会话并按业务策略重建

接口列表

模块 接口名称 方法/消息类型 路径/Topic 协议 鉴权 说明
服务节点管理模块 获取服务节点列表 POST /serviceNode/findNodeList HTTP 是 查询 VSS 系统中注册的所有媒体网关服务节点列表。
服务节点管理模块 新增服务节点 POST /serviceNode/saveNode HTTP 是 注册并新增一台视频网关服务节点。
服务节点管理模块 修改服务节点 POST /serviceNode/updateNode HTTP 是 修改现有服务节点的信息。
服务节点管理模块 删除服务节点 POST /serviceNode/deleteNode HTTP 是 注销删除指定的服务节点。
首页模块 获取进程执行记录 POST /home/findExecuteRecord HTTP 是 获取进程执行记录
首页模块 获取媒体服务折线图数据 POST /home/findMediaServiceChart HTTP 是 获取媒体服务折线图数据
服务管理模块 获取服务列表 POST /process/findProcessList HTTP 是 获取服务列表
服务管理模块 添加服务 POST /process/saveProcess HTTP 是 添加服务
服务管理模块 编辑服务 POST /process/updateProcess HTTP 是 编辑服务
服务管理模块 删除服务 POST /process/deleteProcess HTTP 是 删除服务
服务管理模块 服务设置/进程控制 POST /process/processSetup HTTP 是 服务设置/进程控制
视频源管理模块 分页获取视频源列表 POST /mediaSource/findMediaSourcePage HTTP 是 分页获取视频源列表
视频源管理模块 添加/保存视频源 POST /mediaSource/saveMediaSource HTTP 是 添加/保存视频源
视频源管理模块 视频源添加分发服务 POST /mediaSource/saveMediaService HTTP 是 视频源添加分发服务
视频源管理模块 删除视频源 POST /mediaSource/deleteMediaSource HTTP 是 删除视频源
设备管理模块 分页获取设备列表 POST /mediaDevice/findMediaDevicePage HTTP 是 分页获取设备列表
设备管理模块 添加/修改设备 POST /mediaDevice/updateMediaDevice HTTP 是 添加/修改设备
设备管理模块 批量更新设备信息 POST /mediaDevice/batchUpdateMediaDevice HTTP 是 批量更新设备信息
设备管理模块 批量删除设备 POST /mediaDevice/deleteMediaDevices HTTP 是 批量删除设备
设备管理模块 批量更新设备快照 (获取/配置快照图像) POST /mediaDevice/batchUpdateDeviceSnapshot HTTP 是 批量更新设备快照 (获取/配置快照图像)
设备管理模块 批量更新设备状态 (检测状态/码流在线情况) POST /mediaDevice/batchUpdateDeviceStatus HTTP 是 批量更新设备状态 (检测状态/码流在线情况)
设备管理模块 获取设备媒体码流信息 POST /mediaDevice/findMediaStreamBrief HTTP 是 获取设备媒体码流信息
设备管理模块 批量编辑设备媒体码流信息 POST /mediaDevice/batchUpdateMediaStreamBrief HTTP 是 批量编辑设备媒体码流信息
设备合并模块 分页获取组合设备列表 POST /mediaCombinationDevice/findPage HTTP 是 分页获取组合设备列表
设备合并模块 自动合并设备操作 POST /mediaCombinationDevice/autoCombination HTTP 是 自动合并设备操作
设备合并模块 手动批量添加组合设备 POST /mediaCombinationDevice/batchAdd HTTP 是 手动批量添加组合设备
设备合并模块 批量解除组合设备 POST /mediaCombinationDevice/batchRescission HTTP 是 批量解除组合设备
视频播放与控制模块 创建播放会话 POST /scriptFunction/StdMedia/createSession HTTP 是 在标准媒体服务上为当前播放客户端建立与该服务节点的取流交互会话,并返回流媒体网络通信及取流参数配置。
视频播放与控制模块 销毁播放会话 POST /scriptFunction/StdMedia/destroySession HTTP 是 销毁指定的取流会话,断开其下所有视频通道的流连接并释放流媒体资源。
视频播放与控制模块 获取会话对应的视频源列表 POST /scriptFunction/StdMedia/getMediaSourceList HTTP 是 获取与该会话连通的所有激活的视频源信息。
视频播放与控制模块 获取视频源的下属设备通道 POST /scriptFunction/StdMedia/getDeviceList HTTP 是 查询该会话内指定视频源包含的子设备通道,常用于前端播放组件的通道资源展示与快速选定。
视频播放与控制模块 开启推流与获取流播放地址 POST /scriptFunction/WebSocketStream/startPlay HTTP 是 在特定会话下,向流媒体服务端请求开启对指定设备通道的拉流与推流分发,建立对应的实时/回放数据通道。
视频播放与控制模块 停止播放与推流 POST /scriptFunction/WebSocketStream/stopPlay HTTP 是 停止当前播放会话的流媒体数据传输并断开推流连接。
视频播放与控制模块 球机控制 - 开始云台控制 POST /scriptFunction/WebSocketStream/startPtz HTTP 是 对球机摄像机下发云台开始移动指令(如转动方向、变焦缩放、光圈对焦等)。
视频播放与控制模块 球机控制 - 停止云台控制 POST /scriptFunction/WebSocketStream/stopPtz HTTP 是 停止当前正在旋转或调整中的云台移动动作。
视频播放与控制模块 球机控制 - 获取云台绝对坐标 POST /scriptFunction/WebSocketStream/getPtzPos HTTP 是 查询球机当前的水平转角 (Pan)、垂直角 (Tilt) 及变焦倍数 (Zoom)。
视频播放与控制模块 球机控制 - 设置云台绝对坐标 POST /scriptFunction/WebSocketStream/setPtzPos HTTP 是 驱动球机直接定位并精准转动到指定的 PTZ 三维空间坐标位置。
视频播放与控制模块 视频回放控制 - 暂停与恢复历史回放 POST /scriptFunction/WebSocketStream/pausePlay (暂停) 或 /scriptFunction/WebSocketStream/resumePlay (恢复) HTTP 是 在视频历史录像回放模式下,控制当前数据传输流通道的暂停发送以及重新恢复启动,用以对接前端播放控制栏。
视频播放与控制模块 视频回放控制 - 跳转播放时间点 POST /scriptFunction/WebSocketStream/seekPlay HTTP 是 快速跳转回放到视频通道中的任意毫秒级历史时间点重新开始推流。
视频播放与控制模块 视频回放控制 - 历史回放倍速设定 POST /scriptFunction/WebSocketStream/setSpeed HTTP 是 改变历史回放时的推流传输倍速。
视频播放与控制模块 视频抓图 POST /scriptFunction/StdMedia/captureImage HTTP 是 对播放中的指定通道视频帧进行实时抓图,服务端完成截图保存后,返回该张快照图片的 HTTP 下载/访问地址。
视频播放与控制模块 播放码流解码信息回调 - - WebSocket / 回调消息 随播放会话 播放码流解码信息回调

HTTP 接口说明

服务节点管理模块

获取服务节点列表

查询 VSS 系统中注册的所有媒体网关服务节点列表。

项 内容
方法 POST
路径 /serviceNode/findNodeList
Host http://192.168.100.37:38090
协议 HTTP
接口类型 VSS 业务管理接口 / 流媒体服务接口
是否鉴权 是
幂等性 是
超时时间建议 查询类接口建议 5s;播放、发现、批量写入类接口建议按现场网络和设备数量放宽到 30s 以上

请求参数说明

无

请求示例

POST /serviceNode/findNodeList

响应状态

200 OK

响应参数说明 (data 内部字段)

参数名 类型 参数说明 示例值
[] Array 服务节点数组 -
[].guid String 服务节点唯一标识 GUID 96EA-EF2647F2-64069F30-3E467FE12038
[].name String 节点显示名称 默认服务节点
[].uri String 服务网关的 HTTP 访问地址 (格式: http://ip:port) http://192.168.100.235:9105

响应示例

{
  "code": 0,
  "message": "获取节点列表成功",
  "data": [
    {
      "guid": "96EA-EF2647F2-64069F30-3E467FE12038",
      "name": "默认服务节点",
      "uri": "http://192.168.100.235:9105"
    }
  ]
}

备注

  • 写操作可能触发后台服务配置刷新、设备发现、进程控制或流媒体会话变化;生产环境调用前应确认执行窗口和影响范围。
  • 涉及密码、密钥、Token、上游播放地址等敏感信息时,应由服务端加密或代理处理,不应在前端或日志中明文暴露。

新增服务节点

注册并新增一台视频网关服务节点。

项 内容
方法 POST
路径 /serviceNode/saveNode
Host http://192.168.100.37:38090
协议 HTTP
接口类型 VSS 业务管理接口 / 流媒体服务接口
是否鉴权 是
幂等性 否
超时时间建议 查询类接口建议 5s;播放、发现、批量写入类接口建议按现场网络和设备数量放宽到 30s 以上

请求参数说明 (WatchdogServiceNode对象数组)

参数名 类型 是否必传 参数说明 示例值
[] Array 是 待新增服务节点列表 -
[].name String 是 节点显示名称 新服务节点-02
[].uri String 是 服务网关的 HTTP 访问地址 (格式: http://ip:port) http://192.168.100.236:9105

响应状态

200 OK

响应参数说明 (data 内部字段)

成功返回空值或操作提示。

请求示例

[
  {
    "name": "新服务节点-02",
    "uri": "http://192.168.100.236:9105"
  }
]

响应示例

{
  "code": 0,
  "message": "服务节点保存成功",
  "data": null
}

备注

  • 写操作可能触发后台服务配置刷新、设备发现、进程控制或流媒体会话变化;生产环境调用前应确认执行窗口和影响范围。
  • 涉及密码、密钥、Token、上游播放地址等敏感信息时,应由服务端加密或代理处理,不应在前端或日志中明文暴露。

修改服务节点

修改现有服务节点的信息。

项 内容
方法 POST
路径 /serviceNode/updateNode
Host http://192.168.100.37:38090
协议 HTTP
接口类型 VSS 业务管理接口 / 流媒体服务接口
是否鉴权 是
幂等性 否
超时时间建议 查询类接口建议 5s;播放、发现、批量写入类接口建议按现场网络和设备数量放宽到 30s 以上

请求参数说明 (WatchdogServiceNode对象数组)

参数名 类型 是否必传 参数说明 示例值
[] Array 是 待修改服务节点列表 -
[].guid String 是 待修改服务节点的唯一 GUID 96EA-EF2647F2-64069F30-3E467FE12039
[].name String 是 节点名称 新服务节点-02-已修改
[].uri String 是 服务网关的 HTTP 访问地址 (格式: http://ip:port) http://192.168.100.236:9105

响应状态

200 OK

请求示例

[
  {
    "guid": "96EA-EF2647F2-64069F30-3E467FE12039",
    "name": "新服务节点-02-已修改",
    "uri": "http://192.168.100.236:9105"
  }
]

响应示例

{
  "code": 0,
  "message": "服务节点修改成功",
  "data": null
}

备注

  • 写操作可能触发后台服务配置刷新、设备发现、进程控制或流媒体会话变化;生产环境调用前应确认执行窗口和影响范围。
  • 涉及密码、密钥、Token、上游播放地址等敏感信息时,应由服务端加密或代理处理,不应在前端或日志中明文暴露。

删除服务节点

注销删除指定的服务节点。

项 内容
方法 POST
路径 /serviceNode/deleteNode
Host http://192.168.100.37:38090
协议 HTTP
接口类型 VSS 业务管理接口 / 流媒体服务接口
是否鉴权 是
幂等性 否
超时时间建议 查询类接口建议 5s;播放、发现、批量写入类接口建议按现场网络和设备数量放宽到 30s 以上

输入参数 (Query 参数)

参数名 类型 是否必传 参数说明 示例值
guids String 是 待删除的节点 GUID 列表,多个用英文逗号拼接 96EA-EF2647F2-64069F30-3E467FE12039

响应状态

200 OK

请求示例

POST /serviceNode/deleteNode?guids=96EA-EF2647F2-64069F30-3E467FE12039

响应示例

{
  "code": 0,
  "message": "服务节点删除成功",
  "data": null
}

备注

  • 写操作可能触发后台服务配置刷新、设备发现、进程控制或流媒体会话变化;生产环境调用前应确认执行窗口和影响范围。
  • 涉及密码、密钥、Token、上游播放地址等敏感信息时,应由服务端加密或代理处理,不应在前端或日志中明文暴露。

首页模块

获取进程执行记录

项 内容
方法 POST
路径 /home/findExecuteRecord
Host http://192.168.100.37:38090
协议 HTTP
接口类型 VSS 业务管理接口 / 流媒体服务接口
是否鉴权 是
幂等性 是
超时时间建议 查询类接口建议 5s;播放、发现、批量写入类接口建议按现场网络和设备数量放宽到 30s 以上

请求参数说明 (GetExecuteRecordDTO)

参数名 类型 是否必传 参数说明 示例值
date String 是 查询目标日期(格式:yyyy-MM-dd) 2026-05-28
nodeGuid String 是 VSS 服务节点唯一编号 96EA-EF2647F2-64069F30-3E467FE12038
statusType String 否 运行状态类型过滤 running

响应状态

200 OK

响应参数说明 (data 内部字段)

参数名 类型 参数说明 示例值
[] Array 运行执行记录列表 -
[].guid Long 执行记录唯一编号 1298481
[].nodeGuid String 所属节点编号 96EA-EF2647F2-64069F30-3E467FE12038
[].processGuid String 关联进程编号 FD296E9D-47C2-4B9B-BFC6-78739C351AFF
[].instanceId String 运行进程实例 ID proc_inst_901
[].statusType String 运行状态类型 running
[].executeRecord Object 具体执行明细上下文键值对 {}
[].addTime String 记录添加时间 2026-05-28T09:00:00.000Z

请求示例

{
  "date": "2026-05-28",
  "nodeGuid": "96EA-EF2647F2-64069F30-3E467FE12038",
  "statusType": "running"
}

响应示例

{
  "code": 0,
  "message": "获取执行记录成功",
  "data": [
    {
      "guid": 1298481,
      "nodeGuid": "96EA-EF2647F2-64069F30-3E467FE12038",
      "processGuid": "FD296E9D-47C2-4B9B-BFC6-78739C351AFF",
      "instanceId": "proc_inst_901",
      "statusType": "running",
      "executeRecord": {},
      "addTime": "2026-05-28T09:00:00.000Z"
    }
  ]
}

备注

  • 写操作可能触发后台服务配置刷新、设备发现、进程控制或流媒体会话变化;生产环境调用前应确认执行窗口和影响范围。
  • 涉及密码、密钥、Token、上游播放地址等敏感信息时,应由服务端加密或代理处理,不应在前端或日志中明文暴露。

获取媒体服务折线图数据

项 内容
方法 POST
路径 /home/findMediaServiceChart
Host http://192.168.100.37:38090
协议 HTTP
接口类型 VSS 业务管理接口 / 流媒体服务接口
是否鉴权 是
幂等性 是
超时时间建议 查询类接口建议 5s;播放、发现、批量写入类接口建议按现场网络和设备数量放宽到 30s 以上

请求参数说明 (GetMediaServiceChartDTO)

参数名 类型 是否必传 参数说明 示例值
date String 是 查询目标日期(格式:yyyy-MM-dd) 2026-05-28
interval Integer 否 采样聚合时间间隔(单位:分钟),默认5分钟 5
nodeGuid String 是 VSS 服务节点唯一编号 96EA-EF2647F2-64069F30-3E467FE12038

请求示例

{
  "date": "2026-05-28",
  "interval": 5,
  "nodeGuid": "96EA-EF2647F2-64069F30-3E467FE12038"
}

响应状态

200 OK

响应示例

{
  "code": 0,
  "message": "获取折线图数据成功",
  "data": [
    {
      "guid": 1298482,
      "nodeGuid": "96EA-EF2647F2-64069F30-3E467FE12038",
      "processGuid": "FD296E9D-47C2-4B9B-BFC6-78739C351AFF",
      "instanceId": "proc_inst_chart_01",
      "statusType": "active",
      "executeRecord": {
        "cpuUsage": "12.5%",
        "memoryUsage": "256MB",
        "streamRequestCount": 15,
        "streamDistributeCount": 42
      },
      "addTime": "2026-05-28T09:05:00.000Z"
    }
  ]
}

备注

  • 写操作可能触发后台服务配置刷新、设备发现、进程控制或流媒体会话变化;生产环境调用前应确认执行窗口和影响范围。
  • 涉及密码、密钥、Token、上游播放地址等敏感信息时,应由服务端加密或代理处理,不应在前端或日志中明文暴露。

服务管理模块

获取服务列表

项 内容
方法 POST
路径 /process/findProcessList
Host http://192.168.100.37:38090
协议 HTTP
接口类型 VSS 业务管理接口 / 流媒体服务接口
是否鉴权 是
幂等性 是
超时时间建议 查询类接口建议 5s;播放、发现、批量写入类接口建议按现场网络和设备数量放宽到 30s 以上

请求参数说明 (GetProcessListDTO)

参数名 类型 是否必传 参数说明 示例值
nodeGuid String 是 服务节点唯一编号 96EA-EF2647F2-64069F30-3E467FE12038
softwareGuid String 否 服务软件 GUID soft-zlm-01
usage Integer 否 程序用途,0x00普通程序 0x01服务 0x02工具 0x10分组 0x100必备 1

请求示例

{
  "nodeGuid": "96EA-EF2647F2-64069F30-3E467FE12038",
  "softwareGuid": "soft-zlm-01",
  "usage": 1
}

响应状态

200 OK

响应示例

{
  "code": 0,
  "message": "获取服务列表成功",
  "data": [
    {
      "guid": "5B7BE8B7-82E9-FB4B-BC17-02691BAEAD2D",
      "name": "ZLM流媒体服务网关",
      "status": 1,
      "usage": 1,
      "nodeGuid": "96EA-EF2647F2-64069F30-3E467FE12038"
    }
  ]
}

备注

  • 写操作可能触发后台服务配置刷新、设备发现、进程控制或流媒体会话变化;生产环境调用前应确认执行窗口和影响范围。
  • 涉及密码、密钥、Token、上游播放地址等敏感信息时,应由服务端加密或代理处理,不应在前端或日志中明文暴露。

添加服务

项 内容
方法 POST
路径 /process/saveProcess
Host http://192.168.100.37:38090
协议 HTTP
接口类型 VSS 业务管理接口 / 流媒体服务接口
是否鉴权 是
幂等性 否
超时时间建议 查询类接口建议 5s;播放、发现、批量写入类接口建议按现场网络和设备数量放宽到 30s 以上

请求参数说明 (WatchdogProcess对象)

参数名 类型 是否必传 参数说明 示例值
name String 是 服务进程名称 ZLM流媒体转发测试
nodeGuid String 是 服务节点唯一 GUID 96EA-EF2647F2-64069F30-3E467FE12038
softwareGuid String 是 配置模块或应用模板编号 soft-zlm-01
startTypes Integer 是 启动模式与属性控制码(如0x01后台、0x02自启、0x04保活等) 6
instanceNums Integer 否 服务实例数目,默认为 1 1
keepAliveDelaySeconds Integer 否 崩溃重启保活延迟秒数,默认 3 3
options String 否 程序可选启动命令行参数参数 --port 8080
tag String 否 进程分组 Tag 标识 zlm-stream

响应状态

200 OK

响应参数说明

data 返回新添加服务的 guid 标识。

请求示例

{
  "name": "ZLM流媒体转发测试",
  "nodeGuid": "96EA-EF2647F2-64069F30-3E467FE12038",
  "softwareGuid": "soft-zlm-01",
  "startTypes": 6,
  "instanceNums": 1,
  "keepAliveDelaySeconds": 3,
  "options": "--port 8080",
  "tag": "zlm-stream"
}

响应示例

{
  "code": 0,
  "message": "服务添加成功",
  "data": "5B7BE8B7-82E9-FB4B-BC17-02691BAEAD2D"
}

备注

  • 写操作可能触发后台服务配置刷新、设备发现、进程控制或流媒体会话变化;生产环境调用前应确认执行窗口和影响范围。
  • 涉及密码、密钥、Token、上游播放地址等敏感信息时,应由服务端加密或代理处理,不应在前端或日志中明文暴露。

编辑服务

项 内容
方法 POST
路径 /process/updateProcess
Host http://192.168.100.37:38090
协议 HTTP
接口类型 VSS 业务管理接口 / 流媒体服务接口
是否鉴权 是
幂等性 否
超时时间建议 查询类接口建议 5s;播放、发现、批量写入类接口建议按现场网络和设备数量放宽到 30s 以上

请求参数说明 (WatchdogProcess对象)

包含字段与 添加服务 接口一致,但必须提供服务的 guid 标识。

参数名 类型 是否必传 参数说明 示例值
guid String 是 服务进程唯一编号 GUID 5B7BE8B7-82E9-FB4B-BC17-02691BAEAD2D
name String 是 服务进程名称 ZLM流媒体转发测试-修改
nodeGuid String 是 服务节点唯一 GUID 96EA-EF2647F2-64069F30-3E467FE12038
startTypes Integer 是 启动模式与属性控制码 6
options String 否 程序可选启动参数 --port 8081

请求示例

{
  "guid": "5B7BE8B7-82E9-FB4B-BC17-02691BAEAD2D",
  "name": "ZLM流媒体转发测试-修改",
  "nodeGuid": "96EA-EF2647F2-64069F30-3E467FE12038",
  "startTypes": 6,
  "options": "--port 8081"
}

响应状态

200 OK

响应示例

{
  "code": 0,
  "message": "服务编辑修改成功",
  "data": null
}

备注

  • 写操作可能触发后台服务配置刷新、设备发现、进程控制或流媒体会话变化;生产环境调用前应确认执行窗口和影响范围。
  • 涉及密码、密钥、Token、上游播放地址等敏感信息时,应由服务端加密或代理处理,不应在前端或日志中明文暴露。

删除服务

项 内容
方法 POST
路径 /process/deleteProcess
Host http://192.168.100.37:38090
协议 HTTP
接口类型 VSS 业务管理接口 / 流媒体服务接口
是否鉴权 是
幂等性 否
超时时间建议 查询类接口建议 5s;播放、发现、批量写入类接口建议按现场网络和设备数量放宽到 30s 以上

输入参数 (Query 参数)

参数名 类型 是否必传 参数说明 示例值
processGuid String 是 待删除的服务进程唯一 GUID 5B7BE8B7-82E9-FB4B-BC17-02691BAEAD2D

响应状态

200 OK

请求示例

POST /process/deleteProcess?processGuid=5B7BE8B7-82E9-FB4B-BC17-02691BAEAD2D

响应示例

{
  "code": 0,
  "message": "服务删除成功",
  "data": null
}

备注

  • 写操作可能触发后台服务配置刷新、设备发现、进程控制或流媒体会话变化;生产环境调用前应确认执行窗口和影响范围。
  • 涉及密码、密钥、Token、上游播放地址等敏感信息时,应由服务端加密或代理处理,不应在前端或日志中明文暴露。

服务设置/进程控制

项 内容
方法 POST
路径 /process/processSetup
Host http://192.168.100.37:38090
协议 HTTP
接口类型 VSS 业务管理接口 / 流媒体服务接口
是否鉴权 是
幂等性 否
超时时间建议 查询类接口建议 5s;播放、发现、批量写入类接口建议按现场网络和设备数量放宽到 30s 以上

请求参数说明

传入 ProcessSetupDTO 数组。

参数名 类型 是否必传 参数说明 示例值
[] Array 是 服务配置修改或控制参数数组 -
[].guid String 否 待操作进程编号。新增操作不传,修改/控制操作必须传入 5B7BE8B7-82E9-FB4B-BC17-02691BAEAD2D
[].contextGuid String 是 服务节点唯一编号 96EA-EF2647F2-64069F30-3E467FE12038
[].configGuid String 否 所属配置模板编号 config-zlm-template
[].data Object 否 控制载荷数据(包含操作指令如 { "action": "restart" }) { "action": "start" }

请求示例

[
  {
    "guid": "5B7BE8B7-82E9-FB4B-BC17-02691BAEAD2D",
    "contextGuid": "96EA-EF2647F2-64069F30-3E467FE12038",
    "configGuid": "config-zlm-template",
    "data": {
      "action": "restart"
    }
  }
]

响应状态

200 OK

响应示例

{
  "code": 0,
  "message": "服务设置已成功下发并执行",
  "data": null
}

备注

  • 写操作可能触发后台服务配置刷新、设备发现、进程控制或流媒体会话变化;生产环境调用前应确认执行窗口和影响范围。
  • 涉及密码、密钥、Token、上游播放地址等敏感信息时,应由服务端加密或代理处理,不应在前端或日志中明文暴露。

视频源管理模块

分页获取视频源列表

项 内容
方法 POST
路径 /mediaSource/findMediaSourcePage
Host http://192.168.100.37:38090
协议 HTTP
接口类型 VSS 业务管理接口 / 流媒体服务接口
是否鉴权 是
幂等性 是
超时时间建议 查询类接口建议 5s;播放、发现、批量写入类接口建议按现场网络和设备数量放宽到 30s 以上

请求参数说明 (GetMediaSourcePageDTO)

参数名 类型 是否必传 参数说明 示例值
currentPage Long 是 当前页码,默认 1 1
pageSize Long 是 每页条数上限,默认 10 10
nodeGuid String 是 服务节点唯一编号 96EA-EF2647F2-64069F30-3E467FE12038
name String 否 视频源名称关键字模糊过滤 海康
driver String 否 接入驱动协议过滤(如 hk、onvif、gbt28181、local、netdisk) onvif
sortColumn Integer 否 排序字段:0 服务名称,1 设备数量,2 创建时间 2
sortOrder Integer 否 排序顺序:0 升序,1 降序 1

请求示例

{
  "currentPage": 1,
  "pageSize": 10,
  "nodeGuid": "96EA-EF2647F2-64069F30-3E467FE12038",
  "driver": "onvif"
}

响应状态

200 OK

响应参数说明 (list[] 内部 MediaSourceBrief对象 关键字段)

参数名 类型 参数说明 示例值
guid String 视频源唯一标识 GUID 0362659D-81CE-4A0D-A5FA-825C8D92FF4F
name String 视频源名称 海康NVR接入
driver String 驱动类型(如 hk、onvif、network 等) onvif
uri String 视频源连接 URI(密码部分已加密/脱敏) ?combination=true
deviceCount Integer 该视频源下属关联的子设备通道总数 24
processCount Integer 该视频源开启的后台拉流分发进程数 2
status Integer 运行状态 1
context String 所属节点编号 96EA-EF2647F2-64069F30-3E467FE12038
extendData String 驱动参数配置信息 &accessMode=combination
addTime String 视频源创建时间 2026-05-28T09:10:00.000Z

响应示例

{
  "code": 0,
  "message": "获取视频源列表成功",
  "data": {
    "currentPage": 1,
    "pageSize": 10,
    "totalPage": 1,
    "totalRow": 1,
    "list": [
      {
        "guid": "0362659D-81CE-4A0D-A5FA-825C8D92FF4F",
        "name": "自然语言测试_ONVIF_192_168_100_80",
        "driver": "onvif",
        "uri": "?combination=true",
        "deviceCount": 2,
        "processCount": 1,
        "status": 1,
        "context": "96EA-EF2647F2-64069F30-3E467FE12038",
        "extendData": "&accessMode=combination",
        "addTime": "2026-05-28T09:10:00.000Z",
        "updateTime": "2026-05-28T09:12:00.000Z"
      }
    ]
  }
}

备注

  • 写操作可能触发后台服务配置刷新、设备发现、进程控制或流媒体会话变化;生产环境调用前应确认执行窗口和影响范围。
  • 涉及密码、密钥、Token、上游播放地址等敏感信息时,应由服务端加密或代理处理,不应在前端或日志中明文暴露。

添加/保存视频源

项 内容
方法 POST
路径 /mediaSource/saveMediaSource
Host http://192.168.100.37:38090
协议 HTTP
接口类型 VSS 业务管理接口 / 流媒体服务接口
是否鉴权 是
幂等性 否
超时时间建议 查询类接口建议 5s;播放、发现、批量写入类接口建议按现场网络和设备数量放宽到 30s 以上

请求参数说明

传入 MediaSourceBrief对象 数组。

参数名 类型 是否必传 参数说明 示例值
[] Array 是 视频源对象列表 -
[].guid String 是 视频源唯一标识 GUID(可由客户端生成 UUID) 0362659D-81CE-4A0D-A5FA-825C8D92FF4F
[].name String 是 视频源名称 本地视频源
[].driver String 是 视频源驱动类别,如 local, netdisk, onvif, gbt28181, hk local
[].uri String 是 视频源路径或连接连接串(涉及密码参数建议提前加密) /www/wwwroot
[].context String 是 服务节点唯一 GUID 96EA-EF2647F2-64069F30-3E467FE12038
[].extendData String 否 自定义拉流或协议扩展控制串 freeKeepInterval=-1&accessMode=direct
[].sourceTag String 是 源标记类型(如 local, onvif, network, gbt28181) local
[].resourceType Integer 是 资源类型,一般填 1 1

响应状态

200 OK

请求示例

[
  {
    "guid": "0362659D-81CE-4A0D-A5FA-825C8D92FF4F",
    "name": "自然语言测试_本地视频文件夹_www_wwwroot",
    "driver": "local",
    "uri": "/www/wwwroot",
    "context": "96EA-EF2647F2-64069F30-3E467FE12038",
    "extendData": "freeKeepInterval=-1&accessMode=direct",
    "sourceTag": "local",
    "resourceType": 1
  }
]

响应示例

{
  "code": 0,
  "message": "视频源保存成功",
  "data": null
}

备注

  • 写操作可能触发后台服务配置刷新、设备发现、进程控制或流媒体会话变化;生产环境调用前应确认执行窗口和影响范围。
  • 涉及密码、密钥、Token、上游播放地址等敏感信息时,应由服务端加密或代理处理,不应在前端或日志中明文暴露。

视频源添加分发服务

项 内容
方法 POST
路径 /mediaSource/saveMediaService
Host http://192.168.100.37:38090
协议 HTTP
接口类型 VSS 业务管理接口 / 流媒体服务接口
是否鉴权 是
幂等性 否
超时时间建议 查询类接口建议 5s;播放、发现、批量写入类接口建议按现场网络和设备数量放宽到 30s 以上

请求参数说明 (SaveMediaServiceDTO)

参数名 类型 是否必传 参数说明 示例值
mediaSourceGuid String 是 关联的视频源唯一 GUID 0362659D-81CE-4A0D-A5FA-825C8D92FF4F
nodeGuid String 是 分发目标服务节点的唯一 GUID 96EA-EF2647F2-64069F30-3E467FE12038

响应状态

200 OK

响应参数说明

data 返回新创建的分发任务进程 ID 字符串。

请求示例

{
  "mediaSourceGuid": "0362659D-81CE-4A0D-A5FA-825C8D92FF4F",
  "nodeGuid": "96EA-EF2647F2-64069F30-3E467FE12038"
}

响应示例

{
  "code": 0,
  "message": "视频源分发服务添加成功",
  "data": "proc-dist-zlm-01"
}

备注

  • 写操作可能触发后台服务配置刷新、设备发现、进程控制或流媒体会话变化;生产环境调用前应确认执行窗口和影响范围。
  • 涉及密码、密钥、Token、上游播放地址等敏感信息时,应由服务端加密或代理处理,不应在前端或日志中明文暴露。

删除视频源

项 内容
方法 POST
路径 /mediaSource/deleteMediaSource
Host http://192.168.100.37:38090
协议 HTTP
接口类型 VSS 业务管理接口 / 流媒体服务接口
是否鉴权 是
幂等性 否
超时时间建议 查询类接口建议 5s;播放、发现、批量写入类接口建议按现场网络和设备数量放宽到 30s 以上

输入参数 (Query 参数)

参数名 类型 是否必传 参数说明 示例值
guids String 是 待删除的视频源 GUID 列表,多个使用英文逗号拼接 0362659D-81CE-4A0D-A5FA-825C8D92FF4F,ADBCE8A3-64AC-EB42-BD50-0F7C3808FDC7

响应状态

200 OK

请求示例

POST /mediaSource/deleteMediaSource?guids=0362659D-81CE-4A0D-A5FA-825C8D92FF4F

响应示例

{
  "code": 0,
  "message": "视频源已成功删除,关联的发现任务已完全注销",
  "data": null
}

备注

  • 写操作可能触发后台服务配置刷新、设备发现、进程控制或流媒体会话变化;生产环境调用前应确认执行窗口和影响范围。
  • 涉及密码、密钥、Token、上游播放地址等敏感信息时,应由服务端加密或代理处理,不应在前端或日志中明文暴露。

设备管理模块

分页获取设备列表

项 内容
方法 POST
路径 /mediaDevice/findMediaDevicePage
Host http://192.168.100.37:38090
协议 HTTP
接口类型 VSS 业务管理接口 / 流媒体服务接口
是否鉴权 是
幂等性 是
超时时间建议 查询类接口建议 5s;播放、发现、批量写入类接口建议按现场网络和设备数量放宽到 30s 以上

请求参数说明 (GetMediaDevicePageDTO)

参数名 类型 是否必传 参数说明 示例值
currentPage Long 是 当前页码 1
pageSize Long 是 每页条数上限 10
mediaSourceGuid String 否 限制仅查询特定视频源 GUID 下挂载的设备 0362659D-81CE-4A0D-A5FA-825C8D92FF4F
name String 否 设备名称关键字过滤 大门
type Integer 否 设备摄像机类型:0 未知,1 枪机,2 球机,3 鱼眼,4 其他 1
status Integer 否 设备运行状态:0 未知,1 在线,65536 离线,131072 锁定,262144 忙碌,524288 服务不可用,1048576 不存在 1
synchronizerGroupGuid String 否 分组 Tag ID group-twin-01
sortColumn Integer 否 排序字段:0 出厂编号,1 设备名称,2 快照,3 设备资源标识,4 默认名,5 更新时间 5
sortOrder Integer 否 排序顺序:0 升序,1 降序 1

请求示例

{
  "currentPage": 1,
  "pageSize": 10,
  "mediaSourceGuid": "0362659D-81CE-4A0D-A5FA-825C8D92FF4F"
}

响应状态

200 OK

响应参数说明 (list[] 内部 MediaDeviceBrief对象 关键字段)

参数名 类型 参数说明 示例值
guid String 设备全局唯一编号 dev_onvif_80_01
viewName String 人工编辑的设备展示名称 北京大门入口球机
name String 设备原始获取名(系统拉取,只读) dome_camera_ch1
deviceType Integer 设备类型(如 1 枪机 2 球机 3 鱼眼) 2
uri String 播放拉流寻址地址或控制串 192.168.100.80?username=admin&port=80
status Integer 状态编码 1
sourceGuid String 关联视频源 Guid 0362659D-81CE-4A0D-A5FA-825C8D92FF4F
extendData String 扩展快照和分组等参数 &snapshotPath=/images/snap1.jpg
addTime String 记录添加时间 2026-05-28T09:12:00.000Z

响应示例

{
  "code": 0,
  "message": "获取设备列表成功",
  "data": {
    "currentPage": 1,
    "pageSize": 10,
    "totalPage": 1,
    "totalRow": 1,
    "list": [
      {
        "guid": "dev_onvif_80_01",
        "viewName": "北京大门入口球机(大门入口球机)",
        "name": "dome_camera_ch1",
        "deviceType": 2,
        "uri": "192.168.100.80?username=admin&port=80",
        "status": 1,
        "sourceGuid": "0362659D-81CE-4A0D-A5FA-825C8D92FF4F",
        "extendData": "NetworkState=1&ClientDeviceTag=client-uuid-01",
        "addTime": "2026-05-28T09:12:00.000Z"
      }
    ]
  }
}

备注

  • 写操作可能触发后台服务配置刷新、设备发现、进程控制或流媒体会话变化;生产环境调用前应确认执行窗口和影响范围。
  • 涉及密码、密钥、Token、上游播放地址等敏感信息时,应由服务端加密或代理处理,不应在前端或日志中明文暴露。

添加/修改设备

项 内容
方法 POST
路径 /mediaDevice/updateMediaDevice
Host http://192.168.100.37:38090
协议 HTTP
接口类型 VSS 业务管理接口 / 流媒体服务接口
是否鉴权 是
幂等性 否
超时时间建议 查询类接口建议 5s;播放、发现、批量写入类接口建议按现场网络和设备数量放宽到 30s 以上

请求参数说明 (UpdateMediaDeviceDTO)

参数名 类型 是否必传 参数说明 示例值
guid String 否 设备全局编号 GUID。新增设备时不传(系统自动生成),修改设备时必传 dev_onvif_80_01
viewName String 是 设备自定义展示名称 大门外枪机-01
deviceType Integer 是 设备类型:0 未知,1 枪机,2 球机,3 鱼眼,4 其他 1
deviceModel String 否 摄像机物理硬件型号 DS-2CD2T26FD
serialNumber String 否 设备的物理唯一出厂序列号 SN-HK988120381
factoryGuid String 否 出厂编号/设备ID FAC-DEV-109
spacePosition String 否 设备地理空间位置描述或三维坐标值 116.397,39.908
extendData String 否 额外扩展属性(包括快照或分组,如 &snapshotPath=/snap/pic.jpg&SynchronizerGroupGuid=group01) &snapshotPath=/snaps/dev_01.jpg

响应状态

200 OK

  • 请求示例 (新增设备):
    {
      "viewName": "办公区通道摄像机",
      "deviceType": 1,
      "deviceModel": "DH-IPC-HFW1230S",
      "serialNumber": "SN-DH88901238",
      "spacePosition": "116.402,39.912",
      "extendData": "&SynchronizerGroupGuid=group-twin-01"
    }
    

响应示例

{
  "code": 0,
  "message": "设备保存成功",
  "data": null
}

备注

  • 写操作可能触发后台服务配置刷新、设备发现、进程控制或流媒体会话变化;生产环境调用前应确认执行窗口和影响范围。
  • 涉及密码、密钥、Token、上游播放地址等敏感信息时,应由服务端加密或代理处理,不应在前端或日志中明文暴露。

批量更新设备信息

项 内容
方法 POST
路径 /mediaDevice/batchUpdateMediaDevice
Host http://192.168.100.37:38090
协议 HTTP
接口类型 VSS 业务管理接口 / 流媒体服务接口
是否鉴权 是
幂等性 否
超时时间建议 查询类接口建议 5s;播放、发现、批量写入类接口建议按现场网络和设备数量放宽到 30s 以上

请求参数说明

传入 BatchUpdateMediaDeviceDTO 数组。

参数名 类型 是否必传 参数说明 示例值
[] Array 是 待批量更新的设备实体列表 -
[].guid String 是 设备唯一编号 GUID dev_onvif_80_01
[].factoryGuid String 是 出厂唯一设备编号或通道标识 FAC-DEV-109
[].viewName String 否 修改后的摄像机设备显示名称 大门外球机-修改
[].deviceType Integer 否 修改后的摄像机形态类别,1 枪机,2 球机 2
[].sourceGuid String 是 设备所属视频源 GUID 0362659D-81CE-4A0D-A5FA-825C8D92FF4F
[].extendData String 否 更新快照与分组信息。格式:&snapshotPath=<path>&SynchronizerGroupGuid=<id> &snapshotPath=/images/snap1.jpg

响应状态

200 OK

请求示例

[
  {
    "guid": "dev_onvif_80_01",
    "factoryGuid": "FAC-DEV-109",
    "viewName": "大门外球机-修改",
    "deviceType": 2,
    "sourceGuid": "0362659D-81CE-4A0D-A5FA-825C8D92FF4F",
    "extendData": "NetworkState=1&ClientDeviceTag=client-uuid-01"
  }
]

响应示例

{
  "code": 0,
  "message": "批量更新设备属性成功",
  "data": null
}

备注

  • 写操作可能触发后台服务配置刷新、设备发现、进程控制或流媒体会话变化;生产环境调用前应确认执行窗口和影响范围。
  • 涉及密码、密钥、Token、上游播放地址等敏感信息时,应由服务端加密或代理处理,不应在前端或日志中明文暴露。

批量删除设备

项 内容
方法 POST
路径 /mediaDevice/deleteMediaDevices
Host http://192.168.100.37:38090
协议 HTTP
接口类型 VSS 业务管理接口 / 流媒体服务接口
是否鉴权 是
幂等性 否
超时时间建议 查询类接口建议 5s;播放、发现、批量写入类接口建议按现场网络和设备数量放宽到 30s 以上

输入参数 (Query 参数)

参数名 类型 是否必传 参数说明 示例值
guids String 是 待删除的设备 GUID 列表,多个使用英文逗号分隔 dev_onvif_80_01,dev_hk_99_02

响应状态

200 OK

请求示例

POST /mediaDevice/deleteMediaDevices?guids=dev_onvif_80_01,dev_hk_99_02

响应示例

{
  "code": 0,
  "message": "所选设备已批量删除成功",
  "data": null
}

备注

  • 写操作可能触发后台服务配置刷新、设备发现、进程控制或流媒体会话变化;生产环境调用前应确认执行窗口和影响范围。
  • 涉及密码、密钥、Token、上游播放地址等敏感信息时,应由服务端加密或代理处理,不应在前端或日志中明文暴露。

批量更新设备快照 (获取/配置快照图像)

项 内容
方法 POST
路径 /mediaDevice/batchUpdateDeviceSnapshot
Host http://192.168.100.37:38090
协议 HTTP
接口类型 VSS 业务管理接口 / 流媒体服务接口
是否鉴权 是
幂等性 是
超时时间建议 查询类接口建议 5s;播放、发现、批量写入类接口建议按现场网络和设备数量放宽到 30s 以上

请求参数说明

传入 BatchUpdateDeviceSnapshotDTO 数组。

参数名 类型 是否必传 参数说明 示例值
[] Array 是 待更新快照的设备及快照地址列表 -
[].deviceGuid String 是 设备唯一编号 GUID dev_onvif_80_01
[].snapshotUri String 是 新获取的快照图片访问 URL/URI 路径 /snapshots/snap_80_01.jpg

响应状态

200 OK

请求示例

[
  {
    "deviceGuid": "dev_onvif_80_01",
    "snapshotUri": "/snapshots/snap_80_01.jpg"
  }
]

响应示例

{
  "code": 0,
  "message": "批量更新设备快照成功",
  "data": null
}

备注

  • 写操作可能触发后台服务配置刷新、设备发现、进程控制或流媒体会话变化;生产环境调用前应确认执行窗口和影响范围。
  • 涉及密码、密钥、Token、上游播放地址等敏感信息时,应由服务端加密或代理处理,不应在前端或日志中明文暴露。

批量更新设备状态 (检测状态/码流在线情况)

项 内容
方法 POST
路径 /mediaDevice/batchUpdateDeviceStatus
Host http://192.168.100.37:38090
协议 HTTP
接口类型 VSS 业务管理接口 / 流媒体服务接口
是否鉴权 是
幂等性 否
超时时间建议 查询类接口建议 5s;播放、发现、批量写入类接口建议按现场网络和设备数量放宽到 30s 以上

请求参数说明 (BatchUpdateDeviceStatusDTO)

参数名 类型 是否必传 参数说明 示例值
sourceGuid String 是 所属视频源唯一 GUID 0362659D-81CE-4A0D-A5FA-825C8D92FF4F
deviceInfos Array 是 设备在线状态反馈列表 -
deviceInfos[].deviceGuid String 是 设备唯一编号 GUID dev_onvif_80_01
deviceInfos[].state Integer 是 检测后上报的设备状态类型(0:离线,1:在线) 1

响应状态

200 OK

请求示例

{
  "sourceGuid": "0362659D-81CE-4A0D-A5FA-825C8D92FF4F",
  "deviceInfos": [
    {
      "deviceGuid": "dev_onvif_80_01",
      "state": 1
    }
  ]
}

响应示例

{
  "code": 0,
  "message": "状态检测及更新更新成功",
  "data": null
}

备注

  • 写操作可能触发后台服务配置刷新、设备发现、进程控制或流媒体会话变化;生产环境调用前应确认执行窗口和影响范围。
  • 涉及密码、密钥、Token、上游播放地址等敏感信息时,应由服务端加密或代理处理,不应在前端或日志中明文暴露。

获取设备媒体码流信息

项 内容
方法 POST
路径 /mediaDevice/findMediaStreamBrief
Host http://192.168.100.37:38090
协议 HTTP
接口类型 VSS 业务管理接口 / 流媒体服务接口
是否鉴权 是
幂等性 是
超时时间建议 查询类接口建议 5s;播放、发现、批量写入类接口建议按现场网络和设备数量放宽到 30s 以上

输入参数 (Query 参数)

参数名 类型 是否必传 参数说明 示例值
guid String 是 设备唯一编号 GUID dev_onvif_80_01

响应状态

200 OK

响应参数说明 (data 内部 MediaStreamBrief对象 关键字段)

参数名 类型 参数说明 示例值
[] Array 媒体码流记录列表 -
[].guid String 码流条目唯一 ID stream_01_main
[].deviceGuid String 所属设备唯一 GUID dev_onvif_80_01
[].sourceGuid String 视频源 GUID 0362659D-81CE-4A0D-A5FA-825C8D92FF4F
[].name String 码流通道显示名称(如主码流、子码流) 主码流
[].uri String 拉流取流 RTSP/RTMP 播放地址 rtsp://192.168.100.80:554/h264/ch1/main/av_stream
[].streamHint Integer 码流级别:0未知 1主码流 2辅码流 3三码流 1
[].videoCodecId Integer 视频编码 ID(如 28:H.264,174:H.265) 28
[].videoWidth Integer 视频像素宽度 1920
[].videoHeight Integer 视频像素高度 1080
[].videoFrameRate Long 视频推流帧率上限 25
[].playType Integer 播放类型:1 实时流,2 回放流 1
[].audioCodecId Integer 音频编码 ID,0表示无音频轨 0

请求示例

POST /mediaDevice/findMediaStreamBrief?guid=dev_onvif_80_01

响应示例

{
  "code": 0,
  "message": "获取媒体流信息成功",
  "data": [
    {
      "guid": "stream_01_main",
      "deviceGuid": "dev_onvif_80_01",
      "sourceGuid": "0362659D-81CE-4A0D-A5FA-825C8D92FF4F",
      "name": "主码流",
      "uri": "rtsp://192.168.100.80:554/h264/ch1/main/av_stream",
      "streamHint": 1,
      "videoCodecId": 28,
      "videoWidth": 1920,
      "videoHeight": 1080,
      "videoFrameRate": 25,
      "playType": 1,
      "audioCodecId": 0
    }
  ]
}

备注

  • 写操作可能触发后台服务配置刷新、设备发现、进程控制或流媒体会话变化;生产环境调用前应确认执行窗口和影响范围。
  • 涉及密码、密钥、Token、上游播放地址等敏感信息时,应由服务端加密或代理处理,不应在前端或日志中明文暴露。

批量编辑设备媒体码流信息

项 内容
方法 POST
路径 /mediaDevice/batchUpdateMediaStreamBrief
Host http://192.168.100.37:38090
协议 HTTP
接口类型 VSS 业务管理接口 / 流媒体服务接口
是否鉴权 是
幂等性 否
超时时间建议 查询类接口建议 5s;播放、发现、批量写入类接口建议按现场网络和设备数量放宽到 30s 以上

请求参数说明 (BatchUpdateMediaStreamBriefDTO)

参数名 类型 是否必传 参数说明 示例值
sourceGuid String 是 设备所属视频源唯一 GUID 0362659D-81CE-4A0D-A5FA-825C8D92FF4F
deviceGuids Array 是 需要批量编辑更新码流的一组设备 GUID 字符串列表 ["dev_onvif_80_01"]
mediaStreamBriefInfos Array 是 替换覆盖后的最新媒体码流具体参数配置(数组内为 MediaStreamBrief对象) -

响应状态

200 OK

请求示例

{
  "sourceGuid": "0362659D-81CE-4A0D-A5FA-825C8D92FF4F",
  "deviceGuids": [
    "dev_onvif_80_01"
  ],
  "mediaStreamBriefInfos": [
    {
      "name": "主码流-修改",
      "streamHint": 1,
      "uri": "rtsp://192.168.100.80:554/modified_stream",
      "videoCodecId": 174,
      "videoWidth": 1920,
      "videoHeight": 1080,
      "videoFrameRate": 30,
      "playType": 1
    }
  ]
}

响应示例

{
  "code": 0,
  "message": "批量编辑码流成功",
  "data": null
}

备注

  • 写操作可能触发后台服务配置刷新、设备发现、进程控制或流媒体会话变化;生产环境调用前应确认执行窗口和影响范围。
  • 涉及密码、密钥、Token、上游播放地址等敏感信息时,应由服务端加密或代理处理,不应在前端或日志中明文暴露。

设备合并模块

分页获取组合设备列表

项 内容
方法 POST
路径 /mediaCombinationDevice/findPage
Host http://192.168.100.37:38090
协议 HTTP
接口类型 VSS 业务管理接口 / 流媒体服务接口
是否鉴权 是
幂等性 是
超时时间建议 查询类接口建议 5s;播放、发现、批量写入类接口建议按现场网络和设备数量放宽到 30s 以上

请求参数说明 (GetMediaCombinationDevicePageDTO)

参数名 类型 是否必传 参数说明 示例值
currentPage Long 是 当前页码 1
pageSize Long 是 每页条数上限 10
nodeGuid String 是 服务节点唯一编号 96EA-EF2647F2-64069F30-3E467FE12038
mediaSourceGuid String 否 视频源过滤 0362659D-81CE-4A0D-A5FA-825C8D92FF4F
name String 否 组合设备名称模糊检索 环岛监控
type Integer 否 设备类型过滤 1

请求示例

{
  "currentPage": 1,
  "pageSize": 10,
  "nodeGuid": "96EA-EF2647F2-64069F30-3E467FE12038"
}

响应状态

200 OK

响应参数说明 (list[] 内部 MediaCombinationDeviceBrief对象 关键字段)

参数名 类型 参数说明 示例值
guid String 组合设备(合并后)主实体 GUID comb_dev_001
viewName String 合并后的组合设备显示名称 环岛公路十字路口综合监控
subMediaDeviceBriefs Array 合并到该主实体下的辅设备通道集合 -
subMediaDeviceBriefs[].guid String 辅设备唯一标识 dev_hk_99_02
subMediaDeviceBriefs[].viewName String 辅设备通道名称 南门向东枪机

响应示例

{
  "code": 0,
  "message": "获取组合设备成功",
  "data": {
    "currentPage": 1,
    "pageSize": 10,
    "totalPage": 1,
    "totalRow": 1,
    "list": [
      {
        "guid": "comb_dev_001",
        "viewName": "环岛公路十字路口综合监控",
        "deviceType": 1,
        "sourceGuid": "0362659D-81CE-4A0D-A5FA-825C8D92FF4F",
        "subMediaDeviceBriefs": [
          {
            "guid": "dev_hk_99_02",
            "viewName": "南门向东枪机",
            "status": 1,
            "sourceGuid": "ADBCE8A3-64AC-EB42-BD50-0F7C3808FDC7"
          }
        ]
      }
    ]
  }
}

备注

  • 写操作可能触发后台服务配置刷新、设备发现、进程控制或流媒体会话变化;生产环境调用前应确认执行窗口和影响范围。
  • 涉及密码、密钥、Token、上游播放地址等敏感信息时,应由服务端加密或代理处理,不应在前端或日志中明文暴露。

自动合并设备操作

项 内容
方法 POST
路径 /mediaCombinationDevice/autoCombination
Host http://192.168.100.37:38090
协议 HTTP
接口类型 VSS 业务管理接口 / 流媒体服务接口
是否鉴权 是
幂等性 否
超时时间建议 查询类接口建议 5s;播放、发现、批量写入类接口建议按现场网络和设备数量放宽到 30s 以上

请求参数说明 (AutoCombinationDTO)

参数名 类型 是否必传 参数说明 示例值
mainGuid String 是 用于作为“合并主实体”基准的视频源 GUID 0362659D-81CE-4A0D-A5FA-825C8D92FF4F
subGuids Array 是 参与对比并合并的子视频源 GUID 数组 ["ADBCE8A3-64AC-EB42-BD50-0F7C3808FDC7"]

请求示例

{
  "mainGuid": "0362659D-81CE-4A0D-A5FA-825C8D92FF4F",
  "subGuids": [
    "ADBCE8A3-64AC-EB42-BD50-0F7C3808FDC7"
  ]
}

响应状态

200 OK

响应示例

{
  "code": 0,
  "message": "自动合并分析与写入成功",
  "data": null
}

备注

  • 写操作可能触发后台服务配置刷新、设备发现、进程控制或流媒体会话变化;生产环境调用前应确认执行窗口和影响范围。
  • 涉及密码、密钥、Token、上游播放地址等敏感信息时,应由服务端加密或代理处理,不应在前端或日志中明文暴露。

手动批量添加组合设备

项 内容
方法 POST
路径 /mediaCombinationDevice/batchAdd
Host http://192.168.100.37:38090
协议 HTTP
接口类型 VSS 业务管理接口 / 流媒体服务接口
是否鉴权 是
幂等性 否
超时时间建议 查询类接口建议 5s;播放、发现、批量写入类接口建议按现场网络和设备数量放宽到 30s 以上

请求参数说明

传入 AddMediaCombinationDeviceDTO 数组。

参数名 类型 是否必传 参数说明 示例值
[] Array 是 设备绑定关联关系列表 -
[].mainGuid String 是 主设备全局编号 GUID comb_dev_001
[].subGuids Array 是 要强行作为子设备合并挂载的摄像机 GUID 数组 ["dev_hk_99_02"]

响应状态

200 OK

请求示例

[
  {
    "mainGuid": "comb_dev_001",
    "subGuids": [
      "dev_hk_99_02"
    ]
  }
]

响应示例

{
  "code": 0,
  "message": "组合绑定配置保存成功",
  "data": null
}

备注

  • 写操作可能触发后台服务配置刷新、设备发现、进程控制或流媒体会话变化;生产环境调用前应确认执行窗口和影响范围。
  • 涉及密码、密钥、Token、上游播放地址等敏感信息时,应由服务端加密或代理处理,不应在前端或日志中明文暴露。

批量解除组合设备

项 内容
方法 POST
路径 /mediaCombinationDevice/batchRescission
Host http://192.168.100.37:38090
协议 HTTP
接口类型 VSS 业务管理接口 / 流媒体服务接口
是否鉴权 是
幂等性 否
超时时间建议 查询类接口建议 5s;播放、发现、批量写入类接口建议按现场网络和设备数量放宽到 30s 以上

请求参数说明

传入需要解除组合的主设备 GUID 数组。

参数名 类型 是否必传 参数说明 示例值
[] Array 是 待解绑释放的主组合设备 GUID 数组 ["comb_dev_001"]

响应状态

200 OK

请求示例

[
  "comb_dev_001"
]

响应示例

{
  "code": 0,
  "message": "所选设备的组合合并关系已完全解除",
  "data": null
}

备注

  • 写操作可能触发后台服务配置刷新、设备发现、进程控制或流媒体会话变化;生产环境调用前应确认执行窗口和影响范围。
  • 涉及密码、密钥、Token、上游播放地址等敏感信息时,应由服务端加密或代理处理,不应在前端或日志中明文暴露。

视频播放与控制模块

创建播放会话

在标准媒体服务上为当前播放客户端建立与该服务节点的取流交互会话,并返回流媒体网络通信及取流参数配置。

项 内容
方法 POST
路径 /scriptFunction/StdMedia/createSession
Host 见取流服务 Http 地址 (示例: http://192.168.100.47:9305)
协议 HTTP
接口类型 VSS 业务管理接口 / 流媒体服务接口
是否鉴权 是
幂等性 否
超时时间建议 查询类接口建议 5s;播放、发现、批量写入类接口建议按现场网络和设备数量放宽到 30s 以上

请求参数说明 (CreateSessionDTO)

参数名 类型 是否必传 参数说明 示例值
sessionID String 是 播放窗格或会话 ID,建议由客户端生成 UUID c76e2730-8a58-47e1-8888-de882b3d30b2

响应状态

200 OK

响应参数说明 (ReturnValue 内部字段)

参数名 类型 参数说明 示例值
streamServer Object 流媒体服务器配置信息 -
streamServer.protocols Array 支持的协议列表 ["ws"]
streamServer.address String 流媒体服务 IP 地址 192.168.100.47
streamServer.streamPort Integer 媒体取流服务网络端口 9305

请求示例

{
  "sessionID": "c76e2730-8a58-47e1-8888-de882b3d30b2"
}

响应示例

{
  "Result": 0,
  "Message": "Success",
  "ReturnValue": {
    "streamServer": {
      "protocols": [
        "ws"
      ],
      "address": "192.168.100.47",
      "streamPort": 9305
    }
  }
}

备注

  • 写操作可能触发后台服务配置刷新、设备发现、进程控制或流媒体会话变化;生产环境调用前应确认执行窗口和影响范围。
  • 涉及密码、密钥、Token、上游播放地址等敏感信息时,应由服务端加密或代理处理,不应在前端或日志中明文暴露。

销毁播放会话

销毁指定的取流会话,断开其下所有视频通道的流连接并释放流媒体资源。

项 内容
方法 POST
路径 /scriptFunction/StdMedia/destroySession
Host 见取流服务 Http 地址 (示例: http://192.168.100.47:9305)
协议 HTTP
接口类型 VSS 业务管理接口 / 流媒体服务接口
是否鉴权 是
幂等性 否
超时时间建议 查询类接口建议 5s;播放、发现、批量写入类接口建议按现场网络和设备数量放宽到 30s 以上

请求参数说明 (DestroySessionDTO)

参数名 类型 是否必传 参数说明 示例值
sessionID String 是 播放窗格或会话 ID c76e2730-8a58-47e1-8888-de882b3d30b2

响应状态

200 OK

请求示例

{
  "sessionID": "c76e2730-8a58-47e1-8888-de882b3d30b2"
}

响应示例

{
  "Result": 0,
  "Message": "Success",
  "ReturnValue": null
}

备注

  • 写操作可能触发后台服务配置刷新、设备发现、进程控制或流媒体会话变化;生产环境调用前应确认执行窗口和影响范围。
  • 涉及密码、密钥、Token、上游播放地址等敏感信息时,应由服务端加密或代理处理,不应在前端或日志中明文暴露。

获取会话对应的视频源列表

获取与该会话连通的所有激活的视频源信息。

项 内容
方法 POST
路径 /scriptFunction/StdMedia/getMediaSourceList
Host 见取流服务 Http 地址 (示例: http://192.168.100.47:9305)
协议 HTTP
接口类型 VSS 业务管理接口 / 流媒体服务接口
是否鉴权 是
幂等性 是
超时时间建议 查询类接口建议 5s;播放、发现、批量写入类接口建议按现场网络和设备数量放宽到 30s 以上

请求参数说明 (GetSessionMediaSourceDTO)

参数名 类型 是否必传 参数说明 示例值
sessionID String 是 播放会话唯一 ID c76e2730-8a58-47e1-8888-de882b3d30b2

响应状态

200 OK

响应参数说明 (ReturnValue.mediaSourceList[] 内部字段)

参数名 类型 参数说明 示例值
mediaSourceName String 视频源名称 本地视频源
mediaSourceGuid String 视频源唯一 GUID 5B7BE8B7-82E9-FB4B-BC17-02691BAEAD2D

请求示例

{
  "sessionID": "c76e2730-8a58-47e1-8888-de882b3d30b2"
}

响应示例

{
  "Result": 0,
  "Message": "Success",
  "ReturnValue": {
    "mediaSourceList": [
      {
        "mediaSourceName": "本地视频源",
        "mediaSourceGuid": "5B7BE8B7-82E9-FB4B-BC17-02691BAEAD2D"
      }
    ]
  }
}

备注

  • 写操作可能触发后台服务配置刷新、设备发现、进程控制或流媒体会话变化;生产环境调用前应确认执行窗口和影响范围。
  • 涉及密码、密钥、Token、上游播放地址等敏感信息时,应由服务端加密或代理处理,不应在前端或日志中明文暴露。

获取视频源的下属设备通道

查询该会话内指定视频源包含的子设备通道,常用于前端播放组件的通道资源展示与快速选定。

项 内容
方法 POST
路径 /scriptFunction/StdMedia/getDeviceList
Host 见取流服务 Http 地址 (示例: http://192.168.100.47:9305)
协议 HTTP
接口类型 VSS 业务管理接口 / 流媒体服务接口
是否鉴权 是
幂等性 是
超时时间建议 查询类接口建议 5s;播放、发现、批量写入类接口建议按现场网络和设备数量放宽到 30s 以上

请求参数说明 (GetSessionDeviceListDTO)

参数名 类型 是否必传 参数说明 示例值
sessionID String 是 播放会话唯一 ID c76e2730-8a58-47e1-8888-de882b3d30b2
sourceGuid String 是 视频源唯一 GUID 5B7BE8B7-82E9-FB4B-BC17-02691BAEAD2D
pageNo Integer 否 分页页码,从0开始 0
pageSize Integer 否 每页返回的记录数上限,默认 1000 1000

响应状态

200 OK

响应参数说明 (ReturnValue.mediaDeviceList[] 内部字段)

参数名 类型 参数说明 示例值
deviceGuid String 设备唯一 GUID dev_local_001
deviceName String 设备物理文件名/出厂通道原始名 新东门外枪机.mp4
viewName String 系统分配的展示名称 新东门外枪机
deviceType Integer 摄像机硬件类别:1 枪机,2 球机 1

请求示例

{
  "sessionID": "c76e2730-8a58-47e1-8888-de882b3d30b2",
  "sourceGuid": "5B7BE8B7-82E9-FB4B-BC17-02691BAEAD2D",
  "pageNo": 0,
  "pageSize": 1000
}

响应示例

{
  "Result": 0,
  "Message": "Success",
  "ReturnValue": {
    "mediaDeviceList": [
      {
        "deviceGuid": "dev_local_001",
        "deviceName": "新东门外枪机.mp4",
        "viewName": "新东门外枪机",
        "deviceType": 1
      }
    ]
  }
}

备注

  • 写操作可能触发后台服务配置刷新、设备发现、进程控制或流媒体会话变化;生产环境调用前应确认执行窗口和影响范围。
  • 涉及密码、密钥、Token、上游播放地址等敏感信息时,应由服务端加密或代理处理,不应在前端或日志中明文暴露。

开启推流与获取流播放地址

在特定会话下,向流媒体服务端请求开启对指定设备通道的拉流与推流分发,建立对应的实时/回放数据通道。

项 内容
方法 POST
路径 /scriptFunction/WebSocketStream/startPlay
Host 见取流服务 Http 地址 (示例: http://192.168.100.47:9305)
协议 HTTP
接口类型 VSS 业务管理接口 / 流媒体服务接口
是否鉴权 是
幂等性 是
超时时间建议 查询类接口建议 5s;播放、发现、批量写入类接口建议按现场网络和设备数量放宽到 30s 以上

请求参数说明 (StartPlayDTO)

参数名 类型 是否必传 参数说明 示例值
sessionID String 是 播放窗格独立会话唯一 ID(注:由于每个窗口播放独立视频,故此处对应每一个播放器实例的 sessionID) player-session-001
sourceGuid String 是 设备所属的视频源唯一 GUID 5B7BE8B7-82E9-FB4B-BC17-02691BAEAD2D
deviceGuid String 是 设备通道唯一 GUID dev_local_001
streamHint String 是 码流级别:1 主码流,2 辅码流 1
playType Integer 是 播放模式:1 实时流,2 历史回放 1
timeout Integer 否 建立连接超时时长 (单位:毫秒),默认 30000 30000
  • 流地址寻址与传输说明:
    • 调用本接口成功在流媒体端启动推流任务后,播放端可通过 WebSocket 协议直连建立二进制播放连接: ws://<streamServer.address>:<streamServer.streamPort>/<sessionID> (例如 ws://192.168.100.47:9305/player-session-001)。
    • 连接建立成功后,流媒体服务会将该通道解析出的原始 H.264/H.265/AAC 编码流以 ArrayBuffer 形式向 WebSocket 客户端实时持续推送,无需客户端另行轮询拉取。

响应状态

200 OK

请求示例

{
  "sessionID": "player-session-001",
  "sourceGuid": "5B7BE8B7-82E9-FB4B-BC17-02691BAEAD2D",
  "deviceGuid": "dev_local_001",
  "streamHint": "1",
  "playType": 1,
  "timeout": 30000
}

响应示例

{
  "Result": 0,
  "Message": "Success",
  "ReturnValue": null
}

备注

  • 写操作可能触发后台服务配置刷新、设备发现、进程控制或流媒体会话变化;生产环境调用前应确认执行窗口和影响范围。
  • 涉及密码、密钥、Token、上游播放地址等敏感信息时,应由服务端加密或代理处理,不应在前端或日志中明文暴露。

停止播放与推流

停止当前播放会话的流媒体数据传输并断开推流连接。

项 内容
方法 POST
路径 /scriptFunction/WebSocketStream/stopPlay
Host 见取流服务 Http 地址 (示例: http://192.168.100.47:9305)
协议 HTTP
接口类型 VSS 业务管理接口 / 流媒体服务接口
是否鉴权 是
幂等性 否
超时时间建议 查询类接口建议 5s;播放、发现、批量写入类接口建议按现场网络和设备数量放宽到 30s 以上

请求参数说明 (StopPlayDTO)

参数名 类型 是否必传 参数说明 示例值
sessionID String 是 播放窗格独立会话 ID player-session-001

响应状态

200 OK

请求示例

{
  "sessionID": "player-session-001"
}

响应示例

{
  "Result": 0,
  "Message": "Success",
  "ReturnValue": null
}

备注

  • 写操作可能触发后台服务配置刷新、设备发现、进程控制或流媒体会话变化;生产环境调用前应确认执行窗口和影响范围。
  • 涉及密码、密钥、Token、上游播放地址等敏感信息时,应由服务端加密或代理处理,不应在前端或日志中明文暴露。

球机控制 - 开始云台控制

对球机摄像机下发云台开始移动指令(如转动方向、变焦缩放、光圈对焦等)。

项 内容
方法 POST
路径 /scriptFunction/WebSocketStream/startPtz
Host 见取流服务 Http 地址 (示例: http://192.168.100.47:9305)
协议 HTTP
接口类型 VSS 业务管理接口 / 流媒体服务接口
是否鉴权 是
幂等性 否
超时时间建议 查询类接口建议 5s;播放、发现、批量写入类接口建议按现场网络和设备数量放宽到 30s 以上

请求参数说明 (StartPtzDTO)

参数名 类型 是否必传 参数说明 示例值
sessionID String 是 播放窗格独立会话 ID player-session-001
ptzCmd Integer 是 云台移动控制命令码(可组合)。1:上(Up), 2:右(Right), 4:下(Down), 8:左(Left), 16:变焦缩小(ZoomOut), 32:变焦放大(ZoomIn), 64:聚焦远, 128:聚焦近等。例如右上方向转动:1 + 2 = 3 1
ptzSpeed Integer 否 云台移动旋转速度,取值范围 1 至 7,默认值为 4 4
ptzPriority Integer 否 云台控制抢占优先级码 1
ptzLockTimeout Integer 否 控制权独占锁定时长限制 (单位:秒) 5

响应状态

200 OK

请求示例

{
  "sessionID": "player-session-001",
  "ptzCmd": 1,
  "ptzSpeed": 4,
  "ptzPriority": 1,
  "ptzLockTimeout": 5
}

响应示例

{
  "Result": 0,
  "Message": "Success",
  "ReturnValue": null
}

备注

  • 写操作可能触发后台服务配置刷新、设备发现、进程控制或流媒体会话变化;生产环境调用前应确认执行窗口和影响范围。
  • 涉及密码、密钥、Token、上游播放地址等敏感信息时,应由服务端加密或代理处理,不应在前端或日志中明文暴露。

球机控制 - 停止云台控制

停止当前正在旋转或调整中的云台移动动作。

项 内容
方法 POST
路径 /scriptFunction/WebSocketStream/stopPtz
Host 见取流服务 Http 地址 (示例: http://192.168.100.47:9305)
协议 HTTP
接口类型 VSS 业务管理接口 / 流媒体服务接口
是否鉴权 是
幂等性 否
超时时间建议 查询类接口建议 5s;播放、发现、批量写入类接口建议按现场网络和设备数量放宽到 30s 以上

请求参数说明 (StopPtzDTO)

参数名 类型 是否必传 参数说明 示例值
sessionID String 是 播放窗格独立会话 ID player-session-001
ptzCmd Integer 是 对应开始移动时发送的控制动作命令码 1
ptzPriority Integer 否 云台控制优先级码 1

响应状态

200 OK

请求示例

{
  "sessionID": "player-session-001",
  "ptzCmd": 1,
  "ptzPriority": 1
}

响应示例

{
  "Result": 0,
  "Message": "Success",
  "ReturnValue": null
}

备注

  • 写操作可能触发后台服务配置刷新、设备发现、进程控制或流媒体会话变化;生产环境调用前应确认执行窗口和影响范围。
  • 涉及密码、密钥、Token、上游播放地址等敏感信息时,应由服务端加密或代理处理,不应在前端或日志中明文暴露。

球机控制 - 获取云台绝对坐标

查询球机当前的水平转角 (Pan)、垂直角 (Tilt) 及变焦倍数 (Zoom)。

项 内容
方法 POST
路径 /scriptFunction/WebSocketStream/getPtzPos
Host 见取流服务 Http 地址 (示例: http://192.168.100.47:9305)
协议 HTTP
接口类型 VSS 业务管理接口 / 流媒体服务接口
是否鉴权 是
幂等性 是
超时时间建议 查询类接口建议 5s;播放、发现、批量写入类接口建议按现场网络和设备数量放宽到 30s 以上

请求参数说明 (GetPtzPosDTO)

参数名 类型 是否必传 参数说明 示例值
sessionID String 是 播放窗格独立会话 ID player-session-001

响应状态

200 OK

响应参数说明 (ReturnValue 内部字段)

参数名 类型 参数说明 示例值
ReturnValue String 绝对坐标格式字符串。形如:"Pan角度 Tilt角度 Zoom倍数" 120.5 45.2 2.0

请求示例

{
  "sessionID": "player-session-001"
}

响应示例

{
  "Result": 0,
  "Message": "Success",
  "ReturnValue": "120.5 45.2 2.0"
}

备注

  • 写操作可能触发后台服务配置刷新、设备发现、进程控制或流媒体会话变化;生产环境调用前应确认执行窗口和影响范围。
  • 涉及密码、密钥、Token、上游播放地址等敏感信息时,应由服务端加密或代理处理,不应在前端或日志中明文暴露。

球机控制 - 设置云台绝对坐标

驱动球机直接定位并精准转动到指定的 PTZ 三维空间坐标位置。

项 内容
方法 POST
路径 /scriptFunction/WebSocketStream/setPtzPos
Host 见取流服务 Http 地址 (示例: http://192.168.100.47:9305)
协议 HTTP
接口类型 VSS 业务管理接口 / 流媒体服务接口
是否鉴权 是
幂等性 否
超时时间建议 查询类接口建议 5s;播放、发现、批量写入类接口建议按现场网络和设备数量放宽到 30s 以上

请求参数说明 (SetPtzPosDTO)

参数名 类型 是否必传 参数说明 示例值
sessionID String 是 播放窗格独立会话 ID player-session-001
ptzPos String 是 空间绝对坐标位置描述串。格式:"Pan角度 Tilt角度 Zoom倍数" 120.5 45.2 2.0
ptzSpeed Integer 否 定位转动速度限制,取值范围 1 至 7,默认值为 4 4
ptzPriority Integer 否 控制优先级 1
ptzLockTimeout Integer 否 云台锁定时长(单位:秒) 5

响应状态

200 OK

请求示例

{
  "sessionID": "player-session-001",
  "ptzPos": "120.5 45.2 2.0",
  "ptzSpeed": 4,
  "ptzPriority": 1,
  "ptzLockTimeout": 5
}

响应示例

{
  "Result": 0,
  "Message": "Success",
  "ReturnValue": null
}

备注

  • 写操作可能触发后台服务配置刷新、设备发现、进程控制或流媒体会话变化;生产环境调用前应确认执行窗口和影响范围。
  • 涉及密码、密钥、Token、上游播放地址等敏感信息时,应由服务端加密或代理处理,不应在前端或日志中明文暴露。

视频回放控制 - 暂停与恢复历史回放

在视频历史录像回放模式下,控制当前数据传输流通道的暂停发送以及重新恢复启动,用以对接前端播放控制栏。

项 内容
方法 POST
路径 /scriptFunction/WebSocketStream/pausePlay (暂停) 或 /scriptFunction/WebSocketStream/resumePlay (恢复)
Host 见取流服务 Http 地址 (示例: http://192.168.100.47:9305)
协议 HTTP
接口类型 VSS 业务管理接口 / 流媒体服务接口
是否鉴权 是
幂等性 否
超时时间建议 查询类接口建议 5s;播放、发现、批量写入类接口建议按现场网络和设备数量放宽到 30s 以上

请求参数说明 (PlaybackControlDTO)

参数名 类型 是否必传 参数说明 示例值
sessionID String 是 播放窗格独立会话 ID player-session-001

响应状态

200 OK

  • 请求示例 (暂停回放):
    {
      "sessionID": "player-session-001"
    }
    

响应示例

{
  "Result": 0,
  "Message": "Success",
  "ReturnValue": null
}

备注

  • 写操作可能触发后台服务配置刷新、设备发现、进程控制或流媒体会话变化;生产环境调用前应确认执行窗口和影响范围。
  • 涉及密码、密钥、Token、上游播放地址等敏感信息时,应由服务端加密或代理处理,不应在前端或日志中明文暴露。

视频回放控制 - 跳转播放时间点

快速跳转回放到视频通道中的任意毫秒级历史时间点重新开始推流。

项 内容
方法 POST
路径 /scriptFunction/WebSocketStream/seekPlay
Host 见取流服务 Http 地址 (示例: http://192.168.100.47:9305)
协议 HTTP
接口类型 VSS 业务管理接口 / 流媒体服务接口
是否鉴权 是
幂等性 否
超时时间建议 查询类接口建议 5s;播放、发现、批量写入类接口建议按现场网络和设备数量放宽到 30s 以上

请求参数说明 (SeekPlayDTO)

参数名 类型 是否必传 参数说明 示例值
sessionID String 是 播放窗格独立会话 ID player-session-001
time Long 是 目标跳转历史绝对时间戳(单位:毫秒) 1716912000000

响应状态

200 OK

请求示例

{
  "sessionID": "player-session-001",
  "time": 1716912000000
}

响应示例

{
  "Result": 0,
  "Message": "Success",
  "ReturnValue": null
}

备注

  • 写操作可能触发后台服务配置刷新、设备发现、进程控制或流媒体会话变化;生产环境调用前应确认执行窗口和影响范围。
  • 涉及密码、密钥、Token、上游播放地址等敏感信息时,应由服务端加密或代理处理,不应在前端或日志中明文暴露。

视频回放控制 - 历史回放倍速设定

改变历史回放时的推流传输倍速。

项 内容
方法 POST
路径 /scriptFunction/WebSocketStream/setSpeed
Host 见取流服务 Http 地址 (示例: http://192.168.100.47:9305)
协议 HTTP
接口类型 VSS 业务管理接口 / 流媒体服务接口
是否鉴权 是
幂等性 否
超时时间建议 查询类接口建议 5s;播放、发现、批量写入类接口建议按现场网络和设备数量放宽到 30s 以上

请求参数说明 (SetSpeedDTO)

参数名 类型 是否必传 参数说明 示例值
sessionID String 是 播放窗格独立会话 ID player-session-001
speed Double 是 播放倍率速度(支持 0.5, 1.0, 2.0, 4.0 等) 2.0

响应状态

200 OK

请求示例

{
  "sessionID": "player-session-001",
  "speed": 2.0
}

响应示例

{
  "Result": 0,
  "Message": "Success",
  "ReturnValue": null
}

备注

  • 写操作可能触发后台服务配置刷新、设备发现、进程控制或流媒体会话变化;生产环境调用前应确认执行窗口和影响范围。
  • 涉及密码、密钥、Token、上游播放地址等敏感信息时,应由服务端加密或代理处理,不应在前端或日志中明文暴露。

视频抓图

对播放中的指定通道视频帧进行实时抓图,服务端完成截图保存后,返回该张快照图片的 HTTP 下载/访问地址。

项 内容
方法 POST
路径 /scriptFunction/StdMedia/captureImage
Host 见取流服务 Http 地址 (示例: http://192.168.100.47:9305)
协议 HTTP
接口类型 VSS 业务管理接口 / 流媒体服务接口
是否鉴权 是
幂等性 否
超时时间建议 查询类接口建议 5s;播放、发现、批量写入类接口建议按现场网络和设备数量放宽到 30s 以上

请求参数说明 (CaptureImageDTO)

参数名 类型 是否必传 参数说明 示例值
sessionID String 是 播放会话唯一 ID c76e2730-8a58-47e1-8888-de882b3d30b2
sourceGuid String 是 设备所属的视频源唯一 GUID 5B7BE8B7-82E9-FB4B-BC17-02691BAEAD2D
deviceGuid String 是 设备通道唯一 GUID dev_local_001
streamHint String 是 码流级别:1 主码流,2 辅码流 1

响应状态

200 OK

响应参数说明 (ReturnValue 内部字段)

参数名 类型 参数说明 示例值
ReturnValue String 服务端生成的快照图像可直接访问/下载的 HTTP URL 地址 http://192.168.100.47:9305/snapshot/capture_dev_local_001.jpg

请求示例

{
  "sessionID": "c76e2730-8a58-47e1-8888-de882b3d30b2",
  "sourceGuid": "5B7BE8B7-82E9-FB4B-BC17-02691BAEAD2D",
  "deviceGuid": "dev_local_001",
  "streamHint": "1"
}

响应示例

{
  "Result": 0,
  "Message": "Success",
  "ReturnValue": "http://192.168.100.47:9305/snapshot/capture_dev_local_001.jpg"
}

备注

  • 写操作可能触发后台服务配置刷新、设备发现、进程控制或流媒体会话变化;生产环境调用前应确认执行窗口和影响范围。
  • 涉及密码、密钥、Token、上游播放地址等敏感信息时,应由服务端加密或代理处理,不应在前端或日志中明文暴露。

播放码流解码信息回调

项 内容
方法 -
路径 -
Host 按部署环境配置
协议 WebSocket / 回调消息
接口类型 VSS 业务管理接口 / 流媒体服务接口
是否鉴权 随播放会话
幂等性 不适用
超时时间建议 查询类接口建议 5s;播放、发现、批量写入类接口建议按现场网络和设备数量放宽到 30s 以上
  • 事件名称: 播放码流解码属性上报消息事件 (CmdReportDecodeMediaParams)
  • 触发时机: 当客户端播放器加载取流成功、启动 Wasm 解码并解析出音视频的首帧元数据时,解码器模块(bigview_decoder.js Web Worker)将以事件消息向前端应用发送当前播放的音视频详细封装与码流规格。
  • 消息参数详情 (CmdReportDecodeMediaParams):
参数名 类型 描述 示例值
cmd Integer 固定的回调消息控制码,此处为 128 128
params Object 回调携带的媒体属性内容 -
params.video Object 视频流轨道的参数特征 -
params.video.index Integer 视频轨道的索引 ID 0
params.video.codecID Integer 视频编码格式代码(如 28:H.264,174:H.265) 174
params.video.width Integer 视频画面分辨率宽度像素值 1920
params.video.height Integer 视频画面分辨率高度像素值 1080
params.video.frameRate Integer 视频轨道帧率上限 25
params.audio Object 音频流轨道的参数特征(若包含音频轨道) -
params.audio.index Integer 音频轨道的索引 ID 1
params.audio.codecID Integer 音频编码格式代码(如 86017:AAC) 86017
params.audio.channels Integer 音频轨道的声道数(如 1:单声道,2:立体声) 2
params.audio.sampleRate Integer 音频轨道的采样率(单位:Hz) 44100

消息示例

{
  "cmd": 128,
  "params": {
    "video": {
      "index": 0,
      "codecID": 174,
      "width": 1920,
      "height": 1080,
      "decodePixelFormat": 0,
      "frameRate": 25
    },
    "audio": {
      "index": 1,
      "codecID": 86017,
      "sampleFormat": 0,
      "channels": 2,
      "sampleRate": 44100
    }
  }
}

备注

  • 写操作可能触发后台服务配置刷新、设备发现、进程控制或流媒体会话变化;生产环境调用前应确认执行窗口和影响范围。
  • 涉及密码、密钥、Token、上游播放地址等敏感信息时,应由服务端加密或代理处理,不应在前端或日志中明文暴露。

WebSocket 与回调消息

VSS 播放链路中,HTTP 接口负责创建会话、获取视频源和设备列表、启动/停止播放、控制云台和历史回放;实际媒体数据通常由流媒体服务通过 WebSocket 或其他播放协议分发。

项 内容
连接地址 ws://<streamServer.address>:<streamPort>/<SessionID>
会话来源 StdMedia/createSession 返回的 streamServer 信息和客户端生成的 sessionID
方向 Client -> Server / Server -> Client
是否鉴权 依赖播放会话和 VSS 侧播放授权
典型消息 码流解码信息回调、播放状态变化、媒体参数上报

播放码流解码信息回调

播放过程中,流媒体服务可能上报码流解码参数,例如视频编码、分辨率、帧率、音频采样率等。字段说明见“播放码流解码信息回调”接口条目。

数据模型

CommonResponse

字段 类型 是否必填 说明 示例
code Integer 是 业务状态码,0 表示成功 0
message String 是 响应消息 操作成功
data Object / Array / Null 否 业务数据 {}
requestId String 否 请求追踪 ID 7f3f2f7a-4d4a-4b2f-9c5c-000000000000

PageVO

字段 类型 是否必填 说明 示例
currentPage Long 是 当前页码 1
pageSize Long 是 每页数量 10
totalPage Long 是 总页数 5
totalRow Long 是 总记录数 48
list Array 是 数据列表 []

ServiceNode

字段 类型 是否必填 说明 示例
guid String 是 服务节点唯一标识 96EA-EF2647F2-64069F30-3E467FE12038
name String 是 节点显示名称 默认服务节点
uri String 是 服务网关 HTTP 地址 http://192.168.100.235:9105

MediaSource

字段 类型 是否必填 说明 示例
guid String 是 视频源唯一标识 5B7BE8B7-82E9-FB4B-BC17-02691BAEAD2D
name String 是 视频源名称 本地视频源
driver String 是 接入驱动协议 hk、onvif、gbt28181、local、netdisk
nodeGuid String 是 所属服务节点 96EA-EF2647F2-64069F30-3E467FE12038
uri String / Object 是 视频源连接信息,敏感字段需加密或服务端处理 http://ip:port

MediaDevice

字段 类型 是否必填 说明 示例
guid / deviceGuid String 是 设备或通道唯一标识 dev_local_001
sourceGuid String 是 所属视频源唯一标识 5B7BE8B7-82E9-FB4B-BC17-02691BAEAD2D
deviceName / name String 是 设备名称或原始通道名称 新东门外枪机.mp4
deviceType Integer 否 摄像机硬件类别 1
streamHint String 否 码流级别,1 主码流,2 辅码流 1

PlaybackSession

字段 类型 是否必填 说明 示例
sessionID String 是 播放窗格或播放器实例的会话 ID c76e2730-8a58-47e1-8888-de882b3d30b2
streamServer.address String 是 流媒体服务地址 192.168.100.235
streamServer.streamPort Integer 是 流媒体服务端口 9305
streamServer.protocols Array 否 支持协议列表 ["ws"]

典型调用流程

管理类接口调用流程

sequenceDiagram
  participant Client as 调用方
  participant IAM as IAM 认证网关
  participant VSS as VSS 业务 API
  Client->>IAM: 登录并获取 Bearer Token
  IAM-->>Client: 返回 Token
  Client->>VSS: 携带 Authorization 调用业务接口
  VSS-->>Client: 返回 CommonResponse / PageVO

视频源接入与设备发现流程

sequenceDiagram
  participant Client as 调用方
  participant VSS as VSS 业务 API
  participant Node as 服务节点 MediaManager
  Client->>VSS: 查询服务节点
  Client->>Node: createSession 创建媒体源会话
  Client->>Node: quickDiscoveryDevice / checkMediaDiscoveryTask
  Node-->>Client: 返回发现到的设备或资源
  Client->>VSS: saveMediaSource 保存视频源
  Client->>VSS: batchUpdateMediaDevice 写入设备列表
  Client->>VSS: findMediaDevicePage 验证设备结果

视频播放流程

sequenceDiagram
  participant Client as 播放端
  participant VSS as 播放控制接口
  participant Media as 流媒体服务
  Client->>VSS: StdMedia/createSession
  VSS-->>Client: 返回 streamServer 信息
  Client->>VSS: 获取视频源和设备列表
  Client->>VSS: StdMedia/startPlay
  VSS-->>Client: 返回播放地址或会话状态
  Client->>Media: 建立 WebSocket 播放连接
  Media-->>Client: 推送码流与解码信息回调
  Client->>VSS: stopPlay / destroySession

版本变更

日期 版本 变更内容 兼容性说明 维护人
2026-05-28 v1.0.0 首次发布,建立 VSS 基本模块的 REST API 接口定义。 初版 Antigravity AI
2026-05-28 v1.1.0 补充服务管理、视频源分发服务绑定、设备管理、快照、在线状态检测、码流批量编辑等接口。 向后兼容 Antigravity AI
2026-05-28 v1.2.0 新增用户认证、服务节点管理、视频播放与控制模块。 向后兼容 Antigravity AI
2026-05-28 v1.3.0 三阶段验证修正:字段、Host、接口方法和 data/info 兼容说明。 修正文档描述,不改变接口协议 Antigravity AI
2026-06-17 v1.3.1 按统一 API 接口模板重构文档结构,补充文档信息、使用环境、接入准备、规范、错误处理、调用限制、接口总表和数据模型章节。 文档结构调整,接口路径、参数和示例保持原有口径 Codex
2026-06-17 v1.3.2 移除用户登录、退出登录、当前用户信息等用户相关接口说明,改为引用统一用户认证标准 API 文档。 删除重复文档内容,不影响 VSS 业务接口定义 Codex

Tags: #handbook #api #开发接口 #接口文档 #VSS #视频流服务

作者:北京-产品-yff  创建时间:2026-06-16 09:50
最后编辑:北京-产品-yff  更新时间:2026-06-17 14:58