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]
- 添加 Onvif、流媒体、本地/网盘视频文件、第三方平台等视频源时,摄像机密码、网盘连接密码、平台密钥、Token 等敏感信息不得在前端或日志中明文暴露。
- 部分写操作接口可能触发后台异步任务、服务配置刷新或服务重启,请勿在高并发流量下频繁调用。
公共请求头
| 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
响应示例
{
"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