前言

非常感谢您使用我们公司的产品，我们将竭诚为您提供最好最优质的服务。

本手册可能包含技术上不准确的地方或文字错误。

本手册的内容将做定期的更新，恕不另行通知；更新的内容将会在本手册的新版本中加入。

本手册截取的界面图仅当说明示例，各版本界面存在差异，请以实际界面为准。

我们有专业的支持团队为您答疑解惑。谢谢您的支持。


版本更新说明

版本 | 日期 | 描述
r14 | 2022/05/31 | r14版本更新


接口描述

内容概述

本文档的接口采用了RESTful架构, RESTful 接口是基于HTTP 的简单的无状态的协议， 所有的请求采取GET方法，HTTP返回都采用JSON格式. 调试的时候可以使用HTTP，在实际的生产环境中建议使用HTTPS。为了方便后续的例子都是用HTTP，如果换HTTPS，只需要把对应的http 换成https即可。


常用术语

源: RTSP RTMP ONVIF等单通道视频源，或者是添加设备后自动产生的通道也称为源，源和监控点是等同的。

设备:摄像机 NVR或者第三方平台等通过各厂家设备SDK或者协议添加设备，添加设备后会产生一个或多个源，源对应不同的通道。


协议格式

大部分的请求都采用HTTP GET， 返回采用JSON格式，具体返回的JSON格式根据不同的命令而不同，下表是基本的格式和例子，为了让大家更容易理解，有些命令介绍中直接使用代表性的值。少数采用HTTP POST方法的请求和返回也采用JSON格式。

格式

Request : http://server/api/v1/<resources>?para=xxx

&<…>=<…>

Response:

{

"bStatus": true/false,

"strCode": "xxxxxx"

}

\r\n

<…>=<…>代表多个请求参数.

例子

Request : http://localhost:8080/api/v1/AddSrcONVIF? name=name1&token=token4&user=admin&password=12345&ip=192.168.0.234&port=80&onvifaddr=/onvif/device_service&session=c1782caf-b670-42d8-ba90-2244d0b0ee83

Response:

{

"bStatus": true,

"strCode": "Add successfully"

}

\r\n

简单返回格式

简单返回格式主要是描述简单的API返回结果。

字段 | 数据类型 | 描述
bStatus | boolean | API成功或者失败，true表示成功，false表示失败
strCode | string | API成功或者失败的具体描述


API调试

Postman调试

API提供了Postman调试工程，可以下载对应的工程和环境，首先下载Postman 工具，以下参考图基于Postman 9.21.1，如果使用的是新的版本，可能会有所不同，可以参考新版本的导入工程和环境的方法。

下载Postman工程

API的Postman工程在 https://gitee.com/linkingvision/api 的h5s目录，可以点击下载按钮下载整个目录，其中H5S VIDEO PLATFORM r*.postman_collection.json为工程文件，H5STREAM ENV HTTP.postman_environment.json和H5STREAM ENV HTTPS.postman_environment.json环境

导入工程

在Collections下点击Import，然后选择H5S VIDEO PLATFORM r*.postman_collection.json，就可以导入到Postman中，参考下图：

导入环境

在Environments下点击Import，然后选择H5STREAM ENV HTTP.postman_environment.json，就可以导入到Postman中，参考下图：

同样的方法选择H5STREAM ENV HTTPS.postman_environment.json。

测试

在导入后就可以选择对应的API并修改H5STREAM ENV HTTP的IP和端口，然后就可以测试了。

可以把Login获取的session填到环境中的h5_session字段，这样后续测试可以使用该session。

由于Login获取的session是有有效期的，把有效的session填到环境中的h5_session字段后，可以使用Runner功能定期保活。


API认证机制

视频平台采用基于session管理机制，如果使用Login API获取session，然后所有的API调用都使用该session，session是有超时时间的，可以使用Keepalive保活该session，这样session就不会超时，session默认的超时时间是600秒，使用方法参考下图:


系统(System)

系统API包含登录和其他系统相关的API。


用户登录

接口描述

登录系统接口。其他接口依赖Login返回的session，具体机制参考 接口描述-》API认证机制

使用说明

请求方法 | GET
请求URL | /api/v1/Login
请求数据 | 无

请求参数

字段 | 数据类型 | 参数要求 | 描述
user | string | 必须 | 用户名
password | string | 必须 | MD5过的密码 发布包中www/tool.html 可以生成对应的MD5

响应参数

字段 | 数据类型 | 描述
bStatus | boolean | 成功或者失败，true表示成功，false表示失败
strSession | string | 成功时获取的session
nTimeout | int | session超时时间
nFaultTimes | int | 登录错误次数
tLockTimeResidue | int | 锁定剩余时间，单位是秒
bWeakPassword | boolean | 密码是否为弱密码，如果是弱密码，建议参考管理界面的要求修改为强密码

使用示例

http://192.168.100.145:8080/api/v1/Login?user=admin&password=ddc2f0ff1aab61a5a34a83514e47ed83

{

  "bStatus": true,

  "strSession": "b1b73ced-18a2-4898-b300-db0ed12d523a",

  "nTimeout": 600,

  "nFaultTimes": 0,

  "tLockTimeResidue": 0,

  "bWeakPassword": true

}


用户登录_2

接口描述

保活登录获取的session，保活需要在session超时之前调用，每调用一次，session会多出nTimeout的时间，具体机制参考 接口描述-》API认证机制

使用说明

请求方法 | GET
请求URL | /api/v1/Keepalive
请求数据 | 无

请求参数

字段 | 数据类型 | 参数要求 | 描述
session | string | 必须 | Login获取的session

响应参数

字段 | 数据类型 | 描述
bStatus | boolean | 成功或者失败，true表示成功，false表示失败
strCode | string | 成功或者失败的原因描述

使用示例

'http://192.168.100.145:8080/api/v1/Keepalive?session=c1782caf-b670-42d8-ba90-2244d0b0ee83'

{

  "bStatus": true,

  "strCode": "Keepalive successfully"


用户登录_2_2

接口描述

注销登录获取的session，具体机制参考 接口描述-》API认证机制

使用说明

请求方法 | GET
请求URL | /api/v1/Logout
请求数据 | 无

请求参数

字段 | 数据类型 | 参数要求 | 描述
session | string | 必须 | Login获取的session

响应参数

字段 | 数据类型 | 描述
bStatus | boolean | 成功或者失败，true表示成功，false表示失败
strCode | string | 成功或者失败的原因描述

使用示例

'http://192.168.100.145:8080/api/v1/Logout?session=99cbeea8-5b4a-4e9b-8684-87ea99518bde'

{

  "bStatus": true,

  "strCode": "Logout successfully"


用户登录_2_2_2

接口描述

获取系统信息

使用说明

请求方法 | GET
请求URL | /api/v1/GetSystemInfo
请求数据 | 无

请求参数

字段 | 数据类型 | 参数要求 | 描述
session | string | 必须 | Login获取的session

响应参数

字段 | 数据类型 | 描述
strVersion | boolean | 版本
strHostId | string | 软件运行的主机号
strLicenseType | string | 软件许可类型
strLicenseFull | string | 固定为 ******
strChannelLimit | string | 最大通道数
strEndtime | string | 软件许可结束时间
bDeviceSDK | boolean | 软件许可是否支持设备SDK接入
bDeviceSDKPb | boolean | 软件许可是否支持设备SDK回放
bGB28181 | boolean | 软件许可是否支持GB28181
bTranscoding | boolean | 软件许可是否支持转码
bCluster | boolean | 软件许可是否支持集群
bPlatform | boolean | 软件许可是否支持平台接入
bLingvideo | boolean | 软件许可是否支持lingvideo浏览器
bDocker | boolean | 软件许可是否支持Docker

使用示例

'http://192.168.100.145:8080/api/v1/GetSystemInfo?session=99cbeea8-5b4a-4e9b-8684-87ea99518bde'

{

  "strVersion": "r15.4.0614.22",

  "strHostId": "NjE4YzA4YzRjOWRhMTg1Yjc0NzM0NjgxNTFiNTQyZWM=",

  "strLicenseType": "Customization",

  "strLicenseFull": "******",

  "strChannelLimit": "10000",

  "strEndtime": "2023/05/18 11:35:04",

  "bDeviceSDK": true,

  "bDeviceSDKPb": true,

  "bGB28181": true,

  "bTranscoding": true,

  "bCluster": true,

  "bPlatform": true,

  "bLingvideo": true,

  "bDocker": true


用户登录_2_2_2_2

接口描述

获取软件许可结束时间

使用说明

请求方法 | GET
请求URL | /api/v1/GetLicEndTime
请求数据 | 无

请求参数

字段 | 数据类型 | 参数要求 | 描述
无 |  |  |

响应参数

字段 | 数据类型 | 描述
strEndtime | string | 授权许可结束时间

使用示例

'http://192.168.100.145:8080/api/v1/GetLicEndTime'

{

  "strEndtime": "2023/05/18 11:35:04"


用户登录_2_2_3

接口描述

获取编解码器信息

使用说明

请求方法 | GET
请求URL | /api/v1/GetCodecInfo
请求数据 | 无

请求参数

字段 | 数据类型 | 参数要求 | 描述
session | string | 必须 | Login获取的session

响应参数

字段 | 数据类型 | 描述
strCPUModel | string | 软件运行的CPU型号
nCPU | int | 物理CPU个数
nCPUCore | int | 逻辑CPU个数
strHWEncoders | string | 硬件编码器列表
strHWDecoders | string | 硬件解码器列表
strSWEncoders | string | 软件编码器列表
strSWDecoders | string | 软件解码器列表

使用示例

'http://192.168.100.145:8080/api/v1/GetCodecInfo?session=99cbeea8-5b4a-4e9b-8684-87ea99518bde'

{

  "strCPUModel": "11th Gen Intel(R) Core(TM) i7-1165G7 @ 2.80GHz",

  "nCPU": 1,

  "nCPUCore": 4,

  "strHWEncoders": "H264 H265 VP9",

  "strHWDecoders": "H264 H265",

  "strSWEncoders": "H264 AV1",

  "strSWDecoders": "H264 H265"


用户登录_2_2_3_2

接口描述

获取运行信息

使用说明

请求方法 | GET
请求URL | /api/v1/GetRunInfo
请求数据 | 无

请求参数

字段 | 数据类型 | 参数要求 | 描述
session | string | 必须 | Login获取的session

响应参数

字段 | 数据类型 | 描述
strRunTime | string | 系统运行时间，字符串形式
strCPU | string | CPU利用率，字符串形式
strMemory | string | 内存利用率，字符串形式
strNetworkIn | string | 操作系统网络进流量，字符串形式
strNetworkOut | string | 操作系统网络出流量，字符串形式
strTotalSpace | string | 软件运行目录空间总大小，字符串形式
strFreeSpace | string | 软件运行目录剩余空间大小，字符串形式
strRecordTotalSpace | string | 录像目录空间总大小，字符串形式
strRecordFreeSpace | string | 录像目录剩余空间大小，字符串形式
nRunTimeSec | int | 系统运行时间，单位是秒
nCPUUsage | int | CPU利用率，0到100
nMemoryUsage | int | 内存利用率，0到100
nTotalMemoryByte | int | 总内存大小，单位是Byte
nNetworkInK | int | 操作系统网络进流量，单位是kbps
nNetworkOutK | int | 操作系统网络出流量，单位是kbps
nTotalSpaceByte | int | 软件运行目录空间总大小，单位是Byte
nFreeSpaceByte | int | 软件运行目录剩余空间大小，单位是Byte
nRecordTotalSpaceByte | int | 录像目录空间总大小，单位是Byte
nRecordFreeSpaceByte | int | 录像目录剩余空间大小，单位是Byte

使用示例

'http://192.168.100.145:8080/api/v1/GetRunInfo?session=99cbeea8-5b4a-4e9b-8684-87ea99518bde'

{

  "strRunTime": "1H 2MIN",

  "strCPU": "20%",

  "strMemory": "95%",

  "strNetworkIn": "153Kbps",

  "strNetworkOut": "190Kbps",

  "strTotalSpace": "952Gbytes",

  "strFreeSpace": "94Gbytes",

  "strRecordTotalSpace": "952Gbytes",

  "strRecordFreeSpace": "94Gbytes",

  "nRunTimeSec": "3735",

  "nCPUUsage": "20",

  "nMemoryUsage": "95",

  "nTotalMemoryByte": "16885276672",

  "nNetworkInK": "153",

  "nNetworkOutK": "190",

  "nTotalSpaceByte": "1022870155264",

  "nFreeSpaceByte": "101328769024",

  "nRecordTotalSpaceByte": "1022870155264",

  "nRecordFreeSpaceByte": "101328769024"


用户登录_2_2_3_2_2

接口描述

获取接入设备信息

使用说明

请求方法 | GET
请求URL | /api/v1/GetDeviceSummary
请求数据 | 无

请求参数

字段 | 数据类型 | 参数要求 | 描述
session | string | 必须 | Login获取的session

响应参数

字段 | 数据类型 | 描述
nCameraTotal | int | 接入通道总数
nCameraOnline | int | 在线通道数
nHikDevTotal | int | 海康SDK设备接入总数
nHikDevOnline | int | 海康SDK设备接入在线数
nDhDevTotal | int | 大华SDK设备接入总数
nDhDevOnline | int | 大华SDK设备额接入在线数
nHikIscDevTotal | int | 海康ISC平台接入总数
nHikIscDevOnline | int | 海康ISC平台接入在线数
nTdDevTotal | int | 天地SDK设备接入总数
nTdDevOnline | int | 天地SDK设备接入在线数
nGbDevTotal | int | GB28181设备接入总数
nGbDevOnline | int | GB28181设备接入在线数
nUnvDevTotal | int | 宇视SDK设备接入总数
nUnvDevOnline | int | 宇视SDK设备接入在线数
nDssDevTotal | int | 大华DSS平台接入总数
nDssDevOnline | int | 大华DSS平台接入在线数
nIvsDevTotal | int | 华为IVS设备接入总数
nIvsDevOnline | int | 华为IVS设备接入在线数
nCloudTotal | int | 云级联接入总数
nCloudOnline | int | 云级联接入在线数
nRTSPRTMPTotal | int | RTSP RTMP接入总数
nRTSPRTMPOnline | int | RTSP RTMP接入在线数
nONVIFTotal | int | ONVIF接入总数
nONVIFOnline | int | ONVIF接入在线数
nRTMPPushTotal | int | RTMP推流接入总数
nRTMPPushOnline | int | RTMP推流接入在线数

使用示例

'http://192.168.100.145:8080/api/v1/GetDeviceSummary?session=99cbeea8-5b4a-4e9b-8684-87ea99518bde

{

  "nCameraTotal": "3",

  "nCameraOnline": "1",

  "nHikDevTotal": "1",

  "nHikDevOnline": "1",

  "nDhDevTotal": "1",

  "nDhDevOnline": "0",

  "nHikIscDevTotal": "0",

  "nHikIscDevOnline": "0",

  "nTdDevTotal": "0",

  "nTdDevOnline": "0",

  "nGbDevTotal": "0",

  "nGbDevOnline": "0",

  "nUnvDevTotal": "0",

  "nUnvDevOnline": "0",

  "nDssDevTotal": "0",

  "nDssDevOnline": "0",

  "nIvsDevTotal": "0",

  "nIvsDevOnline": "0",

  "nCloudTotal": "0",

  "nCloudOnline": "0",

  "nRTSPRTMPTotal": "1",

  "nRTSPRTMPOnline": "0",

  "nONVIFTotal": "0",

  "nONVIFOnline": "0",

  "nRTMPPushTotal": "0",

  "nRTMPPushOnline": "0"


用户登录_2_2_3_2_2_2

接口描述

获取操作系统文件系统列表

使用说明

请求方法 | GET
请求URL | /api/v1/GetVolumes
请求数据 | 无

请求参数

字段 | 数据类型 | 参数要求 | 描述
session | string | 必须 | Login获取的session

响应参数

字段 | 数据类型 | 描述
vol | array | 文件系统列表
strDevice | string | 设备名称
strPath | string | 挂载路径
nTotal | int | 总空间大小，单位是M Byte
nFree | int | 剩余空间大小，单位是M Byte
bReadOnly | boolean | 是否只读

使用示例

'http://192.168.100.145:8080/api/v1/GetVolumes?session=99cbeea8-5b4a-4e9b-8684-87ea99518bde'

{

  "vol": [

       {

          "strDevice": "C:\\",

          "strPath": "C:\\",

          "nTotal": "939291",

          "nFree": "600257",

          "bReadOnly": false

       },

       {

          "strDevice": "D:\\",

          "strPath": "D:\\",

          "nTotal": "488368",

          "nFree": "41349",

          "bReadOnly": false

       }

   ]


用户登录_2_2_3_2_2_2_2

接口描述

获取WS连接数

使用说明

请求方法 | GET
请求URL | /api/v1/h5swsapi/Status
请求数据 | 无

请求参数

字段 | 数据类型 | 参数要求 | 描述
session | string | 必须 | Login获取的session

响应参数

字段 | 数据类型 | 描述
nConnectCount | int | 连接数

使用示例

'http://192.168.100.145:8080/api/v1/h5swsapi/Status?session=99cbeea8-5b4a-4e9b-8684-87ea99518bde'

{

  "nConnectCount": 1


用户登录_2_2_3_2_2_2_2_2

接口描述

获取RTC连接数

使用说明

请求方法 | GET
请求URL | /api/v1/h5srtcapi/Status
请求数据 | 无

请求参数

字段 | 数据类型 | 参数要求 | 描述
session | string | 必须 | Login获取的session

响应参数

字段 | 数据类型 | 描述
nConnectCount | int | 连接数

使用示例

'http://192.168.100.145:8080/api/v1/h5srtcapi/status?session=99cbeea8-5b4a-4e9b-8684-87ea99518bde'

{

  "nConnectCount": 1


用户登录_2_2_3_2_2_2_2_2_2

接口描述

获取匿名浏览

使用说明

请求方法 | GET
请求URL | /api/v1/GetAnonymousView
请求数据 | 无

请求参数

字段 | 数据类型 | 参数要求 | 描述
session | string | 必须 | Login获取的session

响应参数

字段 | 数据类型 | 描述
bAnonymousView | boolean | 匿名浏览开启或者关闭

使用示例

'http://192.168.100.145:8080/api/v1/GetAnonymousView?session=99cbeea8-5b4a-4e9b-8684-87ea99518bde'

{

  "bAnonymousView": true


用户登录_2_2_3_2_2_2_2_2_2_2

接口描述

设置匿名浏览，重启服务生效

使用说明

请求方法 | GET
请求URL | /api/v1/SetAnonymousView
请求数据 | 无

请求参数

字段 | 数据类型 | 参数要求 | 描述
session | string | 必须 | Login获取的session
enable | boolean | 必须 | 匿名浏览开启或者关闭

响应参数

字段 | 数据类型 | 描述
bStatus | boolean | API成功或者失败，true表示成功，false表示失败
strCode | string | API成功或者失败的具体描述

使用示例

'http://192.168.100.145:8080/api/v1/SetAnonymousView?enable=true&session=99cbeea8-5b4a-4e9b-8684-87ea99518bde'

{

  "bStatus": true,

  "strCode": "SetAnonymousView successfully"


用户登录_2_2_3_2_2_2_2_2_2_3

接口描述

获取非法登录锁定设置

使用说明

请求方法 | GET
请求URL | /api/v1/GetLoginLockStatus
请求数据 | 无

请求参数

字段 | 数据类型 | 参数要求 | 描述
session | string | 必须 | Login获取的session

响应参数

字段 | 数据类型 | 描述
bAnonymousView | boolean | 非法登录锁定开启或者关闭

使用示例

'http://192.168.100.145:8080/api/v1/GetLoginLockStatus?session=821b5946-504c-47f7-925b-e4f2cf6d6d88'

{

  "bLoginLockStatus": true


用户登录_2_2_3_2_2_2_2_2_2_2_2

接口描述

设置非法登录锁定，重启服务生效

使用说明

请求方法 | GET
请求URL | /api/v1/SetLoginLockStatus
请求数据 | 无

请求参数

字段 | 数据类型 | 参数要求 | 描述
session | string | 必须 | Login获取的session
enable | boolean | 必须 | 非法登录锁定开启或者关闭

响应参数

字段 | 数据类型 | 描述
bStatus | boolean | API成功或者失败，true表示成功，false表示失败
strCode | string | API成功或者失败的具体描述

使用示例

'http://192.168.100.145:8080/api/v1/SetLoginLockStatus?enable=true&session=821b5946-504c-47f7-925b-e4f2cf6d6d88'

{

  "bStatus": true,

  "strCode": "SetLoginLockStatus successfully"


用户登录_2_2_3_2_2_2_2_2_2_3_2

接口描述

重启服务

使用说明

请求方法 | GET
请求URL | /api/v1/Restart
请求数据 | 无

请求参数

字段 | 数据类型 | 参数要求 | 描述
session | string | 必须 | Login获取的session

响应参数

字段 | 数据类型 | 描述
bStatus | boolean | API成功或者失败，true表示成功，false表示失败
strCode | string | API成功或者失败的具体描述

使用示例

'http://192.168.100.145:8080/api/v1/Restart?session=821b5946-504c-47f7-925b-e4f2cf6d6d88'

{

  "bStatus": true,

  "strCode": "restart successfully"


用户登录_2_2_3_2_2_2_2_2_2_3_2_2

接口描述

创建配置快照

使用说明

请求方法 | GET
请求URL | /api/v1/CreateSnapshot
请求数据 | 无

请求参数

字段 | 数据类型 | 参数要求 | 描述
session | string | 必须 | Login获取的session

响应参数

字段 | 数据类型 | 描述
bStatus | boolean | API成功或者失败，true表示成功，false表示失败
strCode | string | API成功或者失败的具体描述

使用示例

'http://192.168.100.145:8080/api/v1/CreateSnapshot?session=9288fbfc-95a7-4cca-92fe-c6b60ecf7e84'

{

  "bStatus": true,

  "strCode": "Create Snapshot successfully"


用户登录_2_2_3_2_2_2_2_2_2_3_2_2_2

接口描述

获取配置快照列表

使用说明

请求方法 | GET
请求URL | /api/v1/GetSnapshotList
请求数据 | 无

请求参数

字段 | 数据类型 | 参数要求 | 描述
session | string | 必须 | Login获取的session

响应参数

字段 | 数据类型 | 描述
strName | array | 配置快照文件列表

使用示例

'http://192.168.100.145:8080/api/v1/GetSnapshotList?session=9288fbfc-95a7-4cca-92fe-c6b60ecf7e84'

{

  "strName": [

      "snapshot.20220616101351.conf",

      "snapshot.latest.conf"

   ]


用户登录_2_2_3_2_2_2_2_2_2_3_3

接口描述

获取日志循环覆盖设置

使用说明

请求方法 | GET
请求URL | /api/v1/GetRotatingLog
请求数据 | 无

请求参数

字段 | 数据类型 | 参数要求 | 描述
session | string | 必须 | Login获取的session

响应参数

字段 | 数据类型 | 描述
enable | boolean | 循环覆盖开启或者关闭

使用示例

'http://192.168.100.145:8080/api/v1/GetRotatingLog?session=9288fbfc-95a7-4cca-92fe-c6b60ecf7e84'

{

  "enable": false


用户登录_2_2_3_2_2_2_2_2_2_2_2_2

接口描述

设置日志循环覆盖，重启服务生效

使用说明

请求方法 | GET
请求URL | /api/v1/SetRotatingLog
请求数据 | 无

请求参数

字段 | 数据类型 | 参数要求 | 描述
session | string | 必须 | Login获取的session
enable | boolean | 必须 | 开启或者关闭

响应参数

字段 | 数据类型 | 描述
bStatus | boolean | API成功或者失败，true表示成功，false表示失败
strCode | string | API成功或者失败的具体描述

使用示例

'http://192.168.100.145:8080/api/v1/SetRotatingLog?enable=false&session=9288fbfc-95a7-4cca-92fe-c6b60ecf7e84'

{

  "bStatus": true,

  "strCode": "Set Rotating Log successfully"


用户登录_2_2_3_2_2_2_2_2_2_3_3_2

接口描述

获取日志级别

使用说明

请求方法 | GET
请求URL | /api/v1/GetLogLevel
请求数据 | 无

请求参数

字段 | 数据类型 | 参数要求 | 描述
session | string | 必须 | Login获取的session

响应参数

字段 | 数据类型 | 描述
strLevelLog | boolean | H5_LOG_DEBUG/H5_LOG_INFO /H5_LOG_WARNING/H5_LOG_ERROR

使用示例

'http://192.168.100.145:8080/api/v1/GetLogLevel?enable=true&session=9288fbfc-95a7-4cca-92fe-c6b60ecf7e84'

{

  "strLevelLog": "H5_LOG_WARNING"


用户登录_2_2_3_2_2_2_2_2_2_2_2_2_2

接口描述

设置日志级别，重启服务生效

使用说明

请求方法 | GET
请求URL | /api/v1/SetLogLevel
请求数据 | 无

请求参数

字段 | 数据类型 | 参数要求 | 描述
session | string | 必须 | Login获取的session
level | string | 必须 | H5_LOG_DEBUG/H5_LOG_INFO /H5_LOG_WARNING/H5_LOG_ERROR

响应参数

字段 | 数据类型 | 描述
bStatus | boolean | API成功或者失败，true表示成功，false表示失败
strCode | string | API成功或者失败的具体描述

使用示例

'http://192.168.100.145:8080/api/v1/SetLogLevel?session=9288fbfc-95a7-4cca-92fe-c6b60ecf7e84&level=H5_LOG_WARNING'

{

  "bStatus": true,

  "strCode": "Set Log Level successfully"


用户登录_2_2_3_2_2_2_2_2_2_3_3_2_2

接口描述

获取HTTP配置

使用说明

请求方法 | GET
请求URL | /api/v1/GetHTTPConf
请求数据 | 无

请求参数

字段 | 数据类型 | 参数要求 | 描述
session | string | 必须 | Login获取的session

响应参数

字段 | 数据类型 | 描述
nHTTPPort | int | HTTP端口，0表示关闭HTTP
nHTTPSPort | int | HTTPS端口，0表示关闭HTTPS
strSSLCertificateFile | string | HTTPS证书文件名，文件在版本包 certificate/ 目录
strDocumentRoot | string | web服务站点路径
bForceHTTPS | boolean | 是否开启强制HTTPS
bEnableDomain | boolean | 过时字段

使用示例

'http://192.168.100.145:8080/api/v1/GetHTTPConf?session=9288fbfc-95a7-4cca-92fe-c6b60ecf7e84'

{

  "nHTTPPort": 8080,

  "nHTTPSPort": 8443,

  "strSSLCertificateFile": "server.pem",

  "strDocumentRoot": "www/",

  "bForceHTTPS": false,

  "bEnableDomain": false


用户登录_2_2_3_2_2_2_2_2_2_2_2_2_2_2

接口描述

设置HTTP配置，重启服务生效

使用说明

请求方法 | GET
请求URL | /api/v1/SetRotatingLog
请求数据 | 无

请求参数

字段 | 数据类型 | 参数要求 | 描述
session | string | 必须 | Login获取的session
http | int | 必须 | HTTP端口，0表示关闭HTTP
https | int | 必须 | HTTPS端口，0表示关闭HTTPS
sslcertificatefile | string | 必须 | HTTPS证书文件名，文件在版本包 certificate/ 目录
documentroot | string | 必须 | web服务站点路径
forcehttps | boolean | 必须 | 是否开启强制HTTPS
enabledomain | boolean | 必须 | 过时字段

响应参数

字段 | 数据类型 | 描述
bStatus | boolean | API成功或者失败，true表示成功，false表示失败
strCode | string | API成功或者失败的具体描述

使用示例

'http://192.168.100.145:8080/api/v1/SetHTTPConf?session=9288fbfc-95a7-4cca-92fe-c6b60ecf7e84&http=8080&https=8443&sslcertificatefile=server.pem&documentroot=www/&forcehttps=false&enabledomain=false'

{

  "bStatus": true,

  "strCode": "Set http conf successfully."


视频源()

视频源管理(Src)

视频源管理API包含视频源管理相关功能。


用户登录_2_2_3_2_2_2_2_2_2_3_3_2_3_2

视频源数据格式

视频源也可以称为监控点，单个视频源数据是json数据格式，nType表示视频源的类型，类型可以参考如下表格

类型 | 描述
H5_FILE | 文件模拟源，该源会循环读文件
H5_STREAM | RTSP RTMP 流视频源
H5_ONVIF | ONVIF设备视频源
H5_CLOUD | 云级联模式产生的源
H5_RTMP_PUSH | RTMP推流视频源
H5_CH_DEV | 设备SDK动态产生的视频源
H5_CH_GB | GB28181注册产生的视频源

视频源json数据格式含义可以参考如下表格：

字段 | 数据类型 | 描述
nType | string | 视频源类型
strName | string | 视频源名称
strToken | string | 视频源token，是视频源的唯一标识
strUrl | string | 内部字段
strUser | string | 内部字段
strPasswd | string | 内部字段
bPasswdEncrypt | boolean | 内部字段
bEnableAudio | boolean | 内部字段
nConnectType | int | 内部字段
nRTSPType | int | 内部字段
strSrcIpAddress | string | 内部字段
strSrcPort | string | 内部字段
nChannelNumber | int | 内部字段
bEnableUrlSub | boolean | 内部字段
strUrlSub | string | 内部字段
bOnvifProfileAuto | boolean | 内部字段
strOnvifAddr | string | 内部字段
strOnvifProfileMain | string | 内部字段
strOnvifProfileSub | string | 内部字段
bRTSPPlayback | boolean | 内部字段
nRTSPPlaybackSpeed | int | 内部字段
bOnline | boolean | 视频源是否在线
strSnapshotUrl | string | 内部字段
bRec | boolean | 是否开启了录像
strPushUrl | string | 内部字段
strServerToken | string | 内部字段
strOriginalToken | string | 内部字段
strServerUuid | string | 内部字段
nOriginalType | int | 内部字段
strDeviceId | string | 内部字段
strDeviceName | string | 内部字段
bDisable | boolean | 视频源是否被禁用, true表示禁用，false表示正常
bIdle | boolean | 视频源是否是空闲通道

示例

       {

          "nType": "H5_CH_DEV",

          "strName": "——上（）海@市",

          "strToken": "89d7--36",

          "strUrl": "invalid",

          "strUser": "invalid",

          "strPasswd": "invalid",

          "bPasswdEncrypt": false,

          "bEnableAudio": false,

          "nConnectType": "H5_AUTO",

          "nRTSPType": "H5_RTSP_AUTO",

          "strSrcIpAddress": "invalid",

          "strSrcPort": "invalid",

          "nChannelNumber": 0,

          "bEnableUrlSub": false,

          "strUrlSub": "",

          "bOnvifProfileAuto": true,

          "strOnvifAddr": "invalid",

          "strOnvifProfileMain": "invalid",

          "strOnvifProfileSub": "invalid",

          "bRTSPPlayback": false,

          "nRTSPPlaybackSpeed": 1,

          "bOnline": true,

          "strSnapshotUrl": "/api/v1/GetImage?token=89d7--36",

          "bRec": false,

          "strPushUrl": "none",

          "strServerToken": "",

          "strOriginalToken": "",

          "strServerUuid": "",

          "nOriginalType": "H5_ZERO",

          "strDeviceId": "",

          "strDeviceName": "",

          "bDisable": false,

          "bIdle": false

       }

       {

          "nType": "H5_ONVIF",

          "strName": "Cam1",

          "strToken": "a11a",

          "strUrl": "rtsp://192.168.0.1/stream",

          "strUser": "admin",

          "strPasswd": "dmin12345",

          "bPasswdEncrypt": false,

          "bEnableAudio": false,

          "nConnectType": "H5_AUTO",

          "nRTSPType": "H5_RTSP_AUTO",

          "strSrcIpAddress": "192.168.100.103",

          "strSrcPort": "80",

          "nChannelNumber": 1,

          "bEnableUrlSub": false,

          "strUrlSub": "rtsp://192.168.0.1/stream",

          "bOnvifProfileAuto": true,

          "strOnvifAddr": "/onvif/device_service",

          "strOnvifProfileMain": "Profile_1",

          "strOnvifProfileSub": "Profile_2",

          "bRTSPPlayback": false,

          "nRTSPPlaybackSpeed": 1,

          "bOnline": true,

          "strSnapshotUrl": "/api/v1/GetImage?token=a11a",

          "bRec": false,

          "strPushUrl": "none",

          "strServerToken": "",

          "strOriginalToken": "",

          "strServerUuid": "",

          "nOriginalType": "H5_ZERO",

          "strDeviceId": "",

          "strDeviceName": "",

          "bDisable": false,

          "bIdle": false


用户登录_2_2_3_2_2_2_2_2_2_3_3_2_3

接口描述

获取视频源列表

使用说明

请求方法 | GET
请求URL | /api/v1/GetSrc
请求数据 | 无

请求参数

字段 | 数据类型 | 参数要求 | 描述
session | string | 必须 | Login获取的session
token | string | 可选 | 获取指定token的视频源
getonline | boolean | 可选 | 是否获取视频源的在线状态，默认是获取，该参数不是只获取在线的视频源
type | string | 可选 | 获取指定类型的视频源，默认是全部H5_STREAM/H5_FILE/H5_CLOUD/H5_ONVIF/H5_RTMP_PUSH/H5_CH_DEV/H5_CH_GB

响应参数

字段 | 数据类型 | 描述
src | array | 参考视频源管理 -》视频源数据格式

使用示例

'http://192.168.100.145:8080/api/v1/GetSrc?getonline=true&session=9288fbfc-95a7-4cca-92fe-c6b60ecf7e84'

{

  "src": [

       {

          "nType": "H5_ONVIF",

          "strName": "Cam1",

          "strToken": "a11a",

          "strUrl": "rtsp://192.168.0.1/stream",

          "strUser": "admin",

          "strPasswd": "dmin12345",

          "bPasswdEncrypt": false,

          "bEnableAudio": false,

          "nConnectType": "H5_AUTO",

          "nRTSPType": "H5_RTSP_AUTO",

          "strSrcIpAddress": "192.168.100.103",

          "strSrcPort": "80",

          "nChannelNumber": 1,

          "bEnableUrlSub": false,

          "strUrlSub": "rtsp://192.168.0.1/stream",

          "bOnvifProfileAuto": true,

          "strOnvifAddr": "/onvif/device_service",

          "strOnvifProfileMain": "Profile_1",

          "strOnvifProfileSub": "Profile_2",

          "bRTSPPlayback": false,

          "nRTSPPlaybackSpeed": 1,

          "bOnline": true,

          "strSnapshotUrl": "/api/v1/GetImage?token=a11a",

          "bRec": false,

          "strPushUrl": "none",

          "strServerToken": "",

          "strOriginalToken": "",

          "strServerUuid": "",

          "nOriginalType": "H5_ZERO",

          "strDeviceId": "",

          "strDeviceName": "",

          "bDisable": false,

          "bIdle": false

       }

   ]


用户登录_2_2_3_2_2_2_2_2_2_3_3_2_3_3_2

接口描述

获取除了设备SDK产生的视频源列表

使用说明

请求方法 | GET
请求URL | /api/v1/GetSrcWithoutDevice
请求数据 | 无

请求参数

字段 | 数据类型 | 参数要求 | 描述
session | string | 必须 | Login获取的session

响应参数

字段 | 数据类型 | 描述
src | array | 参考视频源管理 -》视频源数据格式

使用示例

'http://192.168.100.145:8080/api/v1/GetSrcWithoutDevice?session=9288fbfc-95a7-4cca-92fe-c6b60ecf7e84'

{

  "src": [

       {

          "nType": "H5_ONVIF",

          "strName": "Cam1",

          "strToken": "a11a",

          "strUrl": "rtsp://192.168.0.1/stream",

          "strUser": "admin",

          "strPasswd": "dmin12345",

          "bPasswdEncrypt": false,

          "bEnableAudio": false,

          "nConnectType": "H5_AUTO",

          "nRTSPType": "H5_RTSP_AUTO",

          "strSrcIpAddress": "192.168.100.103",

          "strSrcPort": "80",

          "nChannelNumber": 1,

          "bEnableUrlSub": false,

          "strUrlSub": "rtsp://192.168.0.1/stream",

          "bOnvifProfileAuto": true,

          "strOnvifAddr": "/onvif/device_service",

          "strOnvifProfileMain": "Profile_1",

          "strOnvifProfileSub": "Profile_2",

          "bRTSPPlayback": false,

          "nRTSPPlaybackSpeed": 1,

          "bOnline": true,

          "strSnapshotUrl": "/api/v1/GetImage?token=a11a",

          "bRec": false,

          "strPushUrl": "none",

          "strServerToken": "",

          "strOriginalToken": "",

          "strServerUuid": "",

          "nOriginalType": "H5_ZERO",

          "strDeviceId": "",

          "strDeviceName": "",

          "bDisable": false,

          "bIdle": false

       }

   ]


用户登录_2_2_3_2_2_2_2_2_2_3_3_2_3_3

接口描述

获取RTSP/RTMP/ONVIF视频源列表

使用说明

请求方法 | GET
请求URL | /api/v1/GetSrcCamera
请求数据 | 无

请求参数

字段 | 数据类型 | 参数要求 | 描述
session | string | 必须 | Login获取的session

响应参数

字段 | 数据类型 | 描述
src | array | 参考视频源管理 -》视频源数据格式

使用示例

'http://192.168.100.145:8080/api/v1/GetSrcCamera?session=9288fbfc-95a7-4cca-92fe-c6b60ecf7e84'

{

  "src": [

       {

          "nType": "H5_ONVIF",

          "strName": "Cam1",

          "strToken": "a11a",

          "strUrl": "rtsp://192.168.0.1/stream",

          "strUser": "admin",

          "strPasswd": "dmin12345",

          "bPasswdEncrypt": false,

          "bEnableAudio": false,

          "nConnectType": "H5_AUTO",

          "nRTSPType": "H5_RTSP_AUTO",

          "strSrcIpAddress": "192.168.100.103",

          "strSrcPort": "80",

          "nChannelNumber": 1,

          "bEnableUrlSub": false,

          "strUrlSub": "rtsp://192.168.0.1/stream",

          "bOnvifProfileAuto": true,

          "strOnvifAddr": "/onvif/device_service",

          "strOnvifProfileMain": "Profile_1",

          "strOnvifProfileSub": "Profile_2",

          "bRTSPPlayback": false,

          "nRTSPPlaybackSpeed": 1,

          "bOnline": true,

          "strSnapshotUrl": "/api/v1/GetImage?token=a11a",

          "bRec": false,

          "strPushUrl": "none",

          "strServerToken": "",

          "strOriginalToken": "",

          "strServerUuid": "",

          "nOriginalType": "H5_ZERO",

          "strDeviceId": "",

          "strDeviceName": "",

          "bDisable": false,

          "bIdle": false

       }

   ]


用户登录_2_2_3_2_2_2_2_2_2_3_3_2_3_3_3

接口描述

获取视频源缓存数据帧，返回Content-Type类型为image/jpeg

使用说明

请求方法 | GET
请求URL | /api/v1/GetImage
请求数据 | 无

请求参数

字段 | 数据类型 | 参数要求 | 描述
session | string | 必须 | Login获取的session
token | string | 必须 | 视频源token

响应参数

字段 | 数据类型 | 描述
 | 图片 |

使用示例

'http://192.168.100.145:8080/api/v1/GetImage?token=a11a&session=9288fbfc-95a7-4cca-92fe-c6b60ecf7e84'

返回内容为图片


用户登录_2_2_3_2_2_2_2_2_2_3_3_2_3_3_3_2

接口描述

获取视频播放前加载的图片，返回Content-Type类型为image/jpeg

使用说明

请求方法 | GET
请求URL | /api/v1/GetLoadingImage
请求数据 | 无

请求参数

字段 | 数据类型 | 参数要求 | 描述
session | string | 必须 | Login获取的session

响应参数

字段 | 数据类型 | 描述
 | 图片 |

使用示例

'http://192.168.100.145:8080/api/v1/GetLoadingImage?token=950b--331&session=9288fbfc-95a7-4cca-92fe-c6b60ecf7e84'

返回内容为图片


用户登录_2_2_3_2_2_2_2_2_2_2_2_2_2_3

接口描述

文件源是可以使用录像文件作为测试视频源的一种方法，目前只支持H5S录像的MP4文件，Linkingvision官方网站提供了测试视频源https://linkingvision.cn/download/h5stream/video/ 中的h5ssample.mp4和h5ssamplesub.mp4，可以下载到本地，两个文件分别对应主码流和辅码流。 如果从Windows资源管理器拷贝的路径名，需要使用\\替换\ 。

使用说明

请求方法 | GET
请求URL | /api/v1/AddSrcFile
请求数据 | 无

请求参数

字段 | 数据类型 | 参数要求 | 描述
session | string | 必须 | Login获取的session
token | string | 必须 | 添加源的token, token不能重复，请参考FAQ token规则
name | string | 必须 | 该源的名字
url | string | 必须 | 该源的路径，需要绝对路径，路径需要Encode, 可以参考www/tool.html
audio | boolean | 可选 | 是否开启音频，true 或者false, 默认是false

响应参数

字段 | 数据类型 | 描述
bStatus | boolean | API成功或者失败，true表示成功，false表示失败
strCode | string | API成功或者失败的具体描述

使用示例

'http://192.168.100.145:8080/api/v1/AddSrcFile?name=file&token=token2&url=c%3A%5C%5Ch5ssample.mp4&session=9288fbfc-95a7-4cca-92fe-c6b60ecf7e84&audio=true'

{

  "bStatus": true,

  "strCode": "Add successfully"


用户登录_2_2_3_2_2_2_2_2_2_2_2_2_2_3_2

接口描述

添加RTSP/RTMP源，该类型不支持云台控制。

使用说明

请求方法 | GET
请求URL | /api/v1/AddSrcRTSP
请求数据 | 无

请求参数

字段 | 数据类型 | 参数要求 | 描述
session | string | 必须 | Login获取的session
token | string | 必须 | 添加源的token, token不能重复，请参考FAQ token规则
name | string | 必须 | 该源的名字
user | string | 必须 | 用户名
password | string | 必须 | 密码
url | string | 必须 | 主码流RTSP/RTMP地址，用户名和密码填到对应的字段中，URL里面的用户名和密码去掉，地址需要Encode, 可以参考www/tool.html
audio | boolean | 可选 | 是否开启音频，true 或者false, 默认是false
enablesub | boolean | 可选 | 是否开启辅码流，默认不开启
suburl | string | 可选 | 辅码流RTSP/RTMP地址，用户名和密码填到对应的字段中，URL里面的用户名和密码去掉，地址需要Encode, 可以参考www/tool.html

响应参数

字段 | 数据类型 | 描述
bStatus | boolean | API成功或者失败，true表示成功，false表示失败
strCode | string | API成功或者失败的具体描述

使用示例

'http://192.168.100.145:8080/api/v1/AddSrcRTSP?name=RTSP&token=token2&user=admin&password=admin12345&url=rtsp%3a%2f%2f192.168.0.23%3a554%2fStreaming%2fChannels%2f101%3ftransportmode%3dunicast%26profile%3dProfile_1&session=9288fbfc-95a7-4cca-92fe-c6b60ecf7e84&audio=true'

{

  "bStatus": true,

  "strCode": "Add successfully"


用户登录_2_2_3_2_2_2_2_2_2_2_2_2_2_3_2_2

接口描述

添加ONIVF源，ONVIF源只支持ONVIF摄像机接入，不支持ONVIF NVR接入。

使用说明

请求方法 | GET
请求URL | /api/v1/AddSrcONVIF
请求数据 | 无

请求参数

字段 | 数据类型 | 参数要求 | 描述
session | string | 必须 | Login获取的session
token | string | 必须 | 添加源的token, token不能重复，请参考FAQ token规则
name | string | 必须 | 该源的名字
user | string | 必须 | 用户名
password | string | 必须 | 密码
ip | string | 必须 | ONVIF设备地址
port | int | 必须 | ONVIF设备端口
onvifaddr | string | 可选 | ONVIF地址，可选，默认可以不填，系统自动选择
main | string | 可选 | 主码流ONVIF profile，默认可以不填，系统自动选择
sub | string | 可选 | 辅码流ONVIF profile，默认可以不填，系统自动选择
audio | boolean | 可选 | 是否开启音频，true 或者false, 默认是false

响应参数

字段 | 数据类型 | 描述
bStatus | boolean | API成功或者失败，true表示成功，false表示失败
strCode | string | API成功或者失败的具体描述

使用示例

'http://192.168.100.145:8080/api/v1/AddSrcONVIF?name=name1&token=token2&user=admin&password=admin12345&ip=192.168.100.173&port=80&onvifaddr=/onvif/device_service&main=Profile_1&sub=Profile_2&session=9288fbfc-95a7-4cca-92fe-c6b60ecf7e84&audio=true'

{

  "bStatus": true,

  "strCode": "Add successfully"


用户登录_2_2_3_2_2_2_2_2_2_2_2_2_2_3_2_2_2

接口描述

添加RTMP推流源，该类型不支持云台控制。

使用说明

请求方法 | GET
请求URL | /api/v1/AddRTMPPush
请求数据 | 无

请求参数

字段 | 数据类型 | 参数要求 | 描述
session | string | 必须 | Login获取的session
token | string | 必须 | 添加源的token, token不能重复，请参考FAQ token规则
name | string | 必须 | 该源的名字
audio | boolean | 可选 | 是否开启音频，true 或者false, 默认是false

响应参数

字段 | 数据类型 | 描述
bStatus | boolean | API成功或者失败，true表示成功，false表示失败
strCode | string | API成功或者失败的具体描述

使用示例

'http://192.168.100.145:8080/api/v1/AddRTMPPush?name=Push1&token=token5&session=9288fbfc-95a7-4cca-92fe-c6b60ecf7e84&audio=true'

{

  "bStatus": true,

  "strCode": "Add successfully"


用户登录_2_2_3_2_2_2_2_2_2_2_2_2_2_3_2_2_2_2

接口描述

删除手动添加的视频源，H5_CLOUD/H5_CH_DEV/H5_CH_GB 等源是动态生成的，不能手动删除。

使用说明

请求方法 | GET
请求URL | /api/v1/DelSrc
请求数据 | 无

请求参数

字段 | 数据类型 | 参数要求 | 描述
session | string | 必须 | Login获取的session
token | string | 必须 | 源的token

响应参数

字段 | 数据类型 | 描述
bStatus | boolean | API成功或者失败，true表示成功，false表示失败
strCode | string | API成功或者失败的具体描述

使用示例

'http://192.168.100.145:8080/api/v1/DelSrc?session=9288fbfc-95a7-4cca-92fe-c6b60ecf7e84&token=token2'

{

  "bStatus": true,

  "strCode": "Del successfully"


用户登录_2_2_3_2_2_2_2_2_2_2_2_2_2_3_2_2_2_2_2

接口描述

获取视频源码流信息。

使用说明

请求方法 | GET
请求URL | /api/v1/GetVidStreamStatus
请求数据 | 无

请求参数

字段 | 数据类型 | 参数要求 | 描述
session | string | 必须 | Login获取的session
token | string | 必须 | 源的token
stream | string | 可选 | main/sub 主码流或者辅码流，默认是主码流

响应参数

字段 | 数据类型 | 描述
strVideoType | string | 视频编码类型
nVideoBitrate | string | 视频码流 单位是bps
nVideoFPS | int | 视频帧率
nVideoWidth | int | 视频宽
nVideoHeight | int | 视频高
strAudioType | string | 音频编码类型
nAudioSampleBit | int | 音频位宽
nAudioChannels | int | 音频通道
nAudioBitrate | int | 音频码率 单位是bps
nAudioSampleRate | int | 音频采样率

使用示例

'http://192.168.100.145:8080/api/v1/GetVidStreamStatus?session=9288fbfc-95a7-4cca-92fe-c6b60ecf7e84&token=a11a&stream=main'

{

  "strVideoType": "H265",

  "nVideoBitrate": 1027249,

  "nVideoFPS": 25,

  "nVideoWidth": 1920,

  "nVideoHeight": 1080,

  "strAudioType": "PCMA",

  "nAudioSampleRate": 8000,

  "nAudioSampleBit": 16,

  "nAudioChannels": 1,

  "nAudioBitrate": 64000


用户登录_2_2_3_2_2_2_2_2_2_3_3_2_4

接口描述

获取流探测设置，由于现在大部分都采用了按需拉流的模式，因此没有办法获取视频流源的在线状态，但是在线状态是通过IP地址和端口探测获取的

使用说明

请求方法 | GET
请求URL | /api/v1/GetIpPortCheck
请求数据 | 无

请求参数

字段 | 数据类型 | 参数要求 | 描述
session | string | 必须 | Login获取的session

响应参数

字段 | 数据类型 | 描述
enable | boolean | 开启或者关闭
nDetentionPeriod | int | 探测间隔时间，但是是秒

使用示例

'http://192.168.100.145:8080/api/v1/GetIpPortCheck?session=9288fbfc-95a7-4cca-92fe-c6b60ecf7e84'

{

  "enable": true,

  "nDetentionPeriod": 180


用户登录_2_2_3_2_2_2_2_2_2_2_2_2_2_4

接口描述

设置流探测

使用说明

请求方法 | GET
请求URL | /api/v1/SetIpPortCheck
请求数据 | 无

请求参数

字段 | 数据类型 | 参数要求 | 描述
session | string | 必须 | Login获取的session
enable | string | 必须 | 开启或者关闭
period | string | 必须 | 间隔时间，单位是秒

响应参数

字段 | 数据类型 | 描述
bStatus | boolean | API成功或者失败，true表示成功，false表示失败
strCode | string | API成功或者失败的具体描述

使用示例

'http://192.168.100.145:8080/api/v1/SetIpPortCheck?enable=true&session=9288fbfc-95a7-4cca-92fe-c6b60ecf7e84&period=180'

{

  "bStatus": true,

  "strCode": "Set Ip Port Check successfully"


用户登录_2_2_3_2_2_2_2_2_2_2_2_2_2_4_2

接口描述

云台控制

使用说明

请求方法 | GET
请求URL | /api/v1/Ptz
请求数据 | 无

请求参数

字段 | 数据类型 | 参数要求 | 描述
session | string | 必须 | Login获取的session
action | string | 必须 | 云台指令up/upright/upleft/down/downright/downleft/left/right/zoomin/zoomout/focusin/focusout/irisin/irisout/stop/preset/lighton/lightoff/wiperon/wiperoff
speed | double | 必须 | stop 指令可以不带speed 范围为0-1 的小数
token | string | 必须 | 视频源token
preset | string | 可选 | 当action为preset生效，预置点的token 支持1 2 3 4 5… 类的数字

响应参数

字段 | 数据类型 | 描述
bStatus | boolean | API成功或者失败，true表示成功，false表示失败
strCode | string | API成功或者失败的具体描述

使用示例

'http://192.168.100.145:8080/api/v1/Ptz?token=device1--35&action=preset&preset=3&session=9288fbfc-95a7-4cca-92fe-c6b60ecf7e84'

或者

'http://192.168.100.145:8080/api/v1/Ptz?token=device1--35&action=left&speed=0.5&session=9288fbfc-95a7-4cca-92fe-c6b60ecf7e84'

{

  "bStatus": true,

  "strCode": "PTZ successfully"


用户登录_2_2_3_2_2_2_2_2_2_2_2_2_2_4_2_2

接口描述

设置预置位

使用说明

请求方法 | GET
请求URL | /api/v1/SetPreset
请求数据 | 无

请求参数

字段 | 数据类型 | 参数要求 | 描述
session | string | 必须 | Login获取的session
token | string | 必须 | 视频源token
presetname | string | 必须 | preset名字 比如name1 name2 name3…, 只有海康SDK接入的球机支持预置位名称设置
presettoken | string | 必须 | preset token 比如1 2 3 4 5 …

响应参数

字段 | 数据类型 | 描述
bStatus | boolean | API成功或者失败，true表示成功，false表示失败
strCode | string | API成功或者失败的具体描述

使用示例

'http://192.168.100.145:8080/api/v1/SetPreset?token=device1--35&presetname=零视1&presettoken=5&session=9288fbfc-95a7-4cca-92fe-c6b60ecf7e84'

{

  "bStatus": true,

  "strCode": "SetPreset successfully"


用户登录_2_2_3_2_2_2_2_2_2_2_2_2_2_4_2_2_2

接口描述

删除预置位

使用说明

请求方法 | GET
请求URL | /api/v1/SetPreset
请求数据 | 无

请求参数

字段 | 数据类型 | 参数要求 | 描述
session | string | 必须 | Login获取的session
token | string | 必须 | 视频源token
presetname | string | 必须 | preset token 比如1 2 3 4 5 …

响应参数

字段 | 数据类型 | 描述
bStatus | boolean | API成功或者失败，true表示成功，false表示失败
strCode | string | API成功或者失败的具体描述

使用示例

'http://192.168.100.145:8080/api/v1/DelPreset?token=device1--35&presettoken=2&session=9288fbfc-95a7-4cca-92fe-c6b60ecf7e84'

{

  "bStatus": true,

  "strCode": "DelPreset successfully"


用户登录_2_2_3_2_2_2_2_2_2_2_2_2_2_4_2_2_2_2

接口描述

获取预置位列表

使用说明

请求方法 | GET
请求URL | /api/v1/GetPresets
请求数据 | 无

请求参数

字段 | 数据类型 | 参数要求 | 描述
session | string | 必须 | Login获取的session
token | string | 必须 | 视频源token

响应参数

字段 | 数据类型 | 描述
preset | array | 预置位列表
strName | string | 预置位名称
strToken | string | 预置位token

使用示例

'http://192.168.100.145:8080/api/v1/GetPresets?token=device1--35&session=9288fbfc-95a7-4cca-92fe-c6b60ecf7e84'

{

  "preset": [

       {

          "strName": "ABC",

          "strToken": "1"

       },

       {

          "strName": "零视2",

          "strToken": "2"

       }

...


用户登录_2_2_3_2_2_2_2_2_2_2_2_2_2_4_2_2_3

接口描述

设置球机位置，只支持海康SDK接入的球机。

使用说明

请求方法 | GET
请求URL | /api/v1/SetPosition
请求数据 | 无

请求参数

字段 | 数据类型 | 参数要求 | 描述
session | string | 必须 | Login获取的session
token | string | 必须 | 视频源token
panpos | int | 必须 | P参数（水平参数），参考海康SDK手册NET_DVR_PTZPOS
tiltpos | int | 必须 | T参数（垂直参数），参考海康SDK手册NET_DVR_PTZPOS
zoompos | int | 必须 | Z参数（变倍参数），参考海康SDK手册NET_DVR_PTZPOS

响应参数

字段 | 数据类型 | 描述
bStatus | boolean | API成功或者失败，true表示成功，false表示失败
strCode | string | API成功或者失败的具体描述

使用示例

'http://192.168.100.145:8080/api/v1/SetPreset?token=device1--35&presetname=零视1&presettoken=5&session=9288fbfc-95a7-4cca-92fe-c6b60ecf7e84'

{

  "bStatus": true,

  "strCode": "SetPosition successfully"


用户登录_2_2_3_2_2_2_2_2_2_2_2_2_2_4_2_2_3_2

接口描述

获取球机位置，只支持海康SDK接入的球机。

使用说明

请求方法 | GET
请求URL | /api/v1/GetPosition
请求数据 | 无

请求参数

字段 | 数据类型 | 参数要求 | 描述
session | string | 必须 | Login获取的session
token | string | 必须 | 视频源token

响应参数

字段 | 数据类型 | 描述
nPanPos | int | P参数（水平参数），参考海康SDK手册NET_DVR_PTZPOS
nTiltPos | int | T参数（垂直参数），参考海康SDK手册NET_DVR_PTZPOS
nZoomPos | int | Z参数（变倍参数），参考海康SDK手册NET_DVR_PTZPOS

使用示例

'http://192.168.100.145:8080/api/v1/GetPosition?token=81ae--1&session=9288fbfc-95a7-4cca-92fe-c6b60ecf7e84'

{

  "nPanPos": 0,

  "nTiltPos": 0,

  "nZoomPos": 0


设备管理(Device)

设备管理API包含设备相关功能。


用户登录_2_2_3_2_2_2_2_2_2_3_3_2_3_2_2

设备数据格式

设备包含1个或者多个视频源(也可以称为通道)，设备产生的视频源类型为H5_CH_DEV，单个设备数据是json数据格式，nType表示视频源的类型，类型可以参考如下表格

类型 | 描述
H5_DEV_HIK | 海康设备SDK
H5_DEV_DH | 大华设备SDK
H5_DEV_UNV | 宇视设备SDK
H5_DEV_HIKINFOV | 海康INFO Vision平台
H5_DEV_HIKISC | 海康ISC平台
H5_DEV_TD | 天地伟业设备SDK
H5_DEV_DHDSS | 大华DSS平台
H5_DEV_IVS | 华为IVS
H5_DEV_GB | GB设备，GB设备不需要添加，需要设备自动注册完成

视频源json数据格式含义可以参考如下表格：

字段 | 数据类型 | 描述
nType | string | 设备类型
strName | string | 设备名称
strToken | string | 设备token，是设备的唯一标识
strUser | string | 用户名, 如果GB28181的话该字段无效
strPasswd | string | 密码, 如果GB28181的话该字段无效
bPasswdEncrypt | boolean | 内部字段
strDevIpAddress | string | 设备IP地址
strDevPort | string | 设备端口
bEnableAudio | boolean | 是否开启音频
nMaxChannel | int | 最大通道数，0表示不限，其他为加载的最大通道数
bCentralRecord | boolean | 是否是中心录像，海康ISC和海康INFO Vision适用
bSandbox | boolean | 是否开启Sandbox模式
bISAPI | boolean | 是否开启ISAPI模式，海康设备SDK适用
bVMS | boolean | 是否是VMS，宇视VMS适用，false的时候是宇视NVR
bOnline | boolean | 设备是否在线

示例

       {

          "nType": "H5_DEV_HIK",

          "strName": "175",

          "strToken": "81ae",

          "strUser": "admin",

          "strPasswd": "dmin12345",

          "bPasswdEncrypt": false,

          "strDevIpAddress": "192.168.100.175",

          "strDevPort": "8000",

          "bEnableAudio": false,

          "nMaxChannel": 0,

          "bCentralRecord": false,

          "bSandbox": false,

          "bISAPI": false,

          "bVMS": false,

          "bOnline": true


用户登录_2_2_3_2_2_2_2_2_2_3_3_2_5

接口描述

获取设备配置

使用说明

请求方法 | GET
请求URL | /api/v1/GetDeviceConf
请求数据 | 无

请求参数

字段 | 数据类型 | 参数要求 | 描述
session | string | 必须 | Login获取的session

响应参数

字段 | 数据类型 | 描述
bEnableLoadAllChannel | boolean | 是否加载设备所有通道，
nSandboxMode | string | H5_SANDBOX_ALL 所有设备开启 H5_SANDBOX_DISABLE 所有设备关闭 H5_SANDBOX_AUTO 根据设备配置开启或者关闭

使用示例

'http://192.168.100.145:8080/api/v1/GetDeviceConf?session=918131a9-c3ba-4bbd-a557-c1336090fabd'

{

  "bEnableLoadAllChannel": true,

  "nSandboxMode": "H5_SANDBOX_AUTO"


用户登录_2_2_3_2_2_2_2_2_2_2_2_2_2_5

接口描述

设置设备配置，重启服务生效

使用说明

请求方法 | GET
请求URL | /api/v1/SetDeviceConf
请求数据 | 无

请求参数

字段 | 数据类型 | 参数要求 | 描述
session | string | 必须 | Login获取的session
loadallchannel | boolean | 必须 | 是否加载设备所有通道，如果为false，则只加载设备在线通道
sandboxmode | string | 必须 | H5_SANDBOX_ALL 所有设备开启 H5_SANDBOX_DISABLE 所有设备关闭 H5_SANDBOX_AUTO 根据设备配置开启或者关闭

响应参数

字段 | 数据类型 | 描述
bStatus | boolean | API成功或者失败，true表示成功，false表示失败
strCode | string | API成功或者失败的具体描述

使用示例

'http://192.168.100.145:8080/api/v1/SetDeviceConf?session=918131a9-c3ba-4bbd-a557-c1336090fabd&loadallchannel=true&sandboxmode=H5_SANDBOX_AUTO'

{

  "bStatus": true,

  "strCode": "Set device conf true."


用户登录_2_2_3_2_2_2_2_2_2_3_3_2_3_4

接口描述

获取设备列表

使用说明

请求方法 | GET
请求URL | /api/v1/GetDevice
请求数据 | 无

请求参数

字段 | 数据类型 | 参数要求 | 描述
session | string | 必须 | Login获取的session
token | string | 可选 | 获取指定token的设备
getonline | boolean | 可选 | 是否获设备的在线状态，默认是获取，该参数不是只获取在线的设备

响应参数

字段 | 数据类型 | 描述
dev | array | 参考设备管理 -》设备数据格式

使用示例

'http://192.168.100.145:8080/api/v1/GetDevice?getonline=true&session=918131a9-c3ba-4bbd-a557-c1336090fabd'

{

  "dev": [

       {

          "nType": "H5_DEV_HIK",

          "strName": "175",

          "strToken": "81ae",

          "strUser": "admin",

          "strPasswd": "dmin12345",

          "bPasswdEncrypt": false,

          "strDevIpAddress": "192.168.100.175",

          "strDevPort": "8000",

          "bEnableAudio": false,

          "nMaxChannel": 0,

          "bCentralRecord": false,

          "bSandbox": false,

          "bISAPI": false,

          "bVMS": false,

          "bOnline": true

       }

   ]


用户登录_2_2_3_2_2_2_2_2_2_3_3_2_3_4_2

接口描述

获取设备视频源(通道)列表

使用说明

请求方法 | GET
请求URL | /api/v1/GetDeviceSrc
请求数据 | 无

请求参数

字段 | 数据类型 | 参数要求 | 描述
session | string | 必须 | Login获取的session
token | string | 必须 | 获取指定token设备的视频源(通道)列表
getonline | boolean | 可选 | 是否获视频源的在线状态，默认是获取，该参数不是只获取在线的设备

响应参数

字段 | 数据类型 | 描述
src | array | 参考视频源管理 -》视频源数据格式

使用示例

'http://192.168.100.145:8080/api/v1/GetDeviceSrc?token=81ae&getonline=false&session=918131a9-c3ba-4bbd-a557-c1336090fabd'

{

  "src": [

       {

          "nType": "H5_CH_DEV",

          "strName": "Camera 01",

          "strToken": "81ae--1",

          "strUrl": "invalid",

          "strUser": "invalid",

          "strPasswd": "invalid",

          "bPasswdEncrypt": false,

          "bEnableAudio": false,

          "nConnectType": "H5_AUTO",

          "nRTSPType": "H5_RTSP_AUTO",

          "strSrcIpAddress": "invalid",

          "strSrcPort": "invalid",

          "nChannelNumber": 0,

          "bEnableUrlSub": false,

          "strUrlSub": "",

          "bOnvifProfileAuto": true,

          "strOnvifAddr": "invalid",

          "strOnvifProfileMain": "invalid",

          "strOnvifProfileSub": "invalid",

          "bRTSPPlayback": false,

          "nRTSPPlaybackSpeed": 1,

          "bOnline": false,

          "strSnapshotUrl": "/api/v1/GetImage?token=81ae--1",

          "bRec": false,

          "strPushUrl": "",

          "strServerToken": "",

          "strOriginalToken": "",

          "strServerUuid": "",

          "nOriginalType": "H5_ZERO",

          "strDeviceId": "",

          "strDeviceName": "",

          "bDisable": false,

          "bIdle": false

       }

   ]


用户登录_2_2_3_2_2_2_2_2_2_2_2_2_2_5_2

接口描述

添加海康SDK设备

使用说明

请求方法 | GET
请求URL | /api/v1/AddDeviceHik
请求数据 | 无

请求参数

字段 | 数据类型 | 参数要求 | 描述
session | string | 必须 | Login获取的session
name | string | 必须 | 设备名称
token | string | 必须 | 设备token，token不能重复，请参考FAQ token规则
user | string | 必须 | 用户名
password | string | 必须 | 密码
ip | string | 必须 | 设备IP地址
port | string | 必须 | 设备端口
audio | boolean | 必须 | 是否开启音频
maxchannel | int | 可选 | 最大通道数，0表示不限，其他为加载的最大通道数，默认是0
sandbox | boolean | 可选 | 是否开启sandbox，当设备配置nSandboxMode为H5_SANDBOX_AUTO时生效，默认关闭
isapi | boolean | 可选 | 是否开启ISAPI模式，默认关闭

响应参数

字段 | 数据类型 | 描述
bStatus | boolean | API成功或者失败，true表示成功，false表示失败
strCode | string | API成功或者失败的具体描述

使用示例

'http://192.168.100.145:8080/api/v1/AddDeviceHik?name=device3&token=device4&user=admin&password=admin12345&ip=192.168.100.101&port=8000&audio=true&session=918131a9-c3ba-4bbd-a557-c1336090fabd&maxchannel=0&isapi=false&sandbox=true'

{

  "bStatus": true,

  "strCode": "Add successfully"


用户登录_2_2_3_2_2_2_2_2_2_2_2_2_2_5_2_2

接口描述

添加大华SDK设备

使用说明

请求方法 | GET
请求URL | /api/v1/AddDeviceDh
请求数据 | 无

请求参数

字段 | 数据类型 | 参数要求 | 描述
session | string | 必须 | Login获取的session
name | string | 必须 | 设备名称
token | string | 必须 | 设备token，token不能重复，请参考FAQ token规则
user | string | 必须 | 用户名
password | string | 必须 | 密码
ip | string | 必须 | 设备IP地址
port | string | 必须 | 设备端口
audio | boolean | 必须 | 是否开启音频
maxchannel | int | 可选 | 最大通道数，0表示不限，其他为加载的最大通道数，默认是0
sandbox | boolean | 可选 | 是否开启sandbox，当设备配置nSandboxMode为H5_SANDBOX_AUTO时生效，默认关闭

响应参数

字段 | 数据类型 | 描述
bStatus | boolean | API成功或者失败，true表示成功，false表示失败
strCode | string | API成功或者失败的具体描述

使用示例

'http://192.168.100.145:8080/api/v1/AddDeviceDh?name=device2&token=device2&user=admin&password=admin12345&ip=192.168.100.106&port=37777&audio=true&session=918131a9-c3ba-4bbd-a557-c1336090fabd&sandbox=false&maxchannel=0

{

  "bStatus": true,

  "strCode": "Add successfully"


用户登录_2_2_3_2_2_2_2_2_2_2_2_2_2_5_2_2_2

接口描述

添加天地SDK设备

使用说明

请求方法 | GET
请求URL | /api/v1/AddDeviceTd
请求数据 | 无

请求参数

字段 | 数据类型 | 参数要求 | 描述
session | string | 必须 | Login获取的session
name | string | 必须 | 设备名称
token | string | 必须 | 设备token，token不能重复，请参考FAQ token规则
user | string | 必须 | 用户名
password | string | 必须 | 密码
ip | string | 必须 | 设备IP地址
port | string | 必须 | 设备端口
audio | boolean | 必须 | 是否开启音频
maxchannel | int | 可选 | 最大通道数，0表示不限，其他为加载的最大通道数，默认是0
sandbox | boolean | 可选 | 是否开启sandbox，当设备配置nSandboxMode为H5_SANDBOX_AUTO时生效，默认关闭

响应参数

字段 | 数据类型 | 描述
bStatus | boolean | API成功或者失败，true表示成功，false表示失败
strCode | string | API成功或者失败的具体描述

使用示例

'http://192.168.100.145:8080/api/v1/AddDeviceTd?name=device3&token=device1&user=admin&password=admin12345&ip=192.168.100.125&port=3000&audio=false&session=918131a9-c3ba-4bbd-a557-c1336090fabd&sandbox=false&maxchannel=0'

{

  "bStatus": true,

  "strCode": "Add successfully"


用户登录_2_2_3_2_2_2_2_2_2_2_2_2_2_5_2_2_2_3

接口描述

添加华为IVS设备，支持IVS1800，IVS3800

使用说明

请求方法 | GET
请求URL | /api/v1/AddDeviceIvs
请求数据 | 无

请求参数

字段 | 数据类型 | 参数要求 | 描述
session | string | 必须 | Login获取的session
name | string | 必须 | 设备名称
token | string | 必须 | 设备token，token不能重复，请参考FAQ token规则
user | string | 必须 | 用户名
password | string | 必须 | 密码
ip | string | 必须 | 设备IP地址
port | string | 必须 | 设备端口
audio | boolean | 必须 | 是否开启音频
maxchannel | int | 可选 | 最大通道数，0表示不限，其他为加载的最大通道数，默认是0
sandbox | boolean | 可选 | 是否开启sandbox，当设备配置nSandboxMode为H5_SANDBOX_AUTO时生效，默认关闭

响应参数

字段 | 数据类型 | 描述
bStatus | boolean | API成功或者失败，true表示成功，false表示失败
strCode | string | API成功或者失败的具体描述

使用示例

'http://192.168.100.145:8080/api/v1/AddDeviceIvs?name=deviceivs1800&token=deviceivs&user=chao_1&password=admin12345&ip=192.168.100.230&port=18531&audio=true&session=918131a9-c3ba-4bbd-a557-c1336090fabd&sandbox=false&maxchannel=0'

{

  "bStatus": true,

  "strCode": "Add successfully"


用户登录_2_2_3_2_2_2_2_2_2_2_2_2_2_5_2_2_2_3_2

接口描述

添加宇视SDK设备

使用说明

请求方法 | GET
请求URL | /api/v1/AddDeviceUnv
请求数据 | 无

请求参数

字段 | 数据类型 | 参数要求 | 描述
session | string | 必须 | Login获取的session
name | string | 必须 | 设备名称
token | string | 必须 | 设备token，token不能重复，请参考FAQ token规则
user | string | 必须 | 用户名
password | string | 必须 | 密码
ip | string | 必须 | 设备IP地址
port | string | 必须 | 设备端口
audio | boolean | 必须 | 是否开启音频
maxchannel | int | 可选 | 最大通道数，0表示不限，其他为加载的最大通道数，默认是0
sandbox | boolean | 可选 | 是否开启sandbox，当设备配置nSandboxMode为H5_SANDBOX_AUTO时生效，默认关闭
vms | boolean | 可选 | VMS模式开启，如果为false则表示NVR，可选，默认是false

响应参数

字段 | 数据类型 | 描述
bStatus | boolean | API成功或者失败，true表示成功，false表示失败
strCode | string | API成功或者失败的具体描述

使用示例

'http://192.168.100.145:8080/api/v1/AddDeviceUnv?name=device2&token=device2&user=admin&password=admin12345&ip=192.168.100.133&port=80&audio=true&session=918131a9-c3ba-4bbd-a557-c1336090fabd&sandbox=false&maxchannel=0&vms=false'

{

  "bStatus": true,

  "strCode": "Add successfully"


用户登录_2_2_3_2_2_2_2_2_2_2_2_2_2_5_2_2_2_2

接口描述

添加海康ISC平台

使用说明

请求方法 | GET
请求URL | /api/v1/AddDeviceHikISC
请求数据 | 无

请求参数

字段 | 数据类型 | 参数要求 | 描述
session | string | 必须 | Login获取的session
name | string | 必须 | 设备名称
token | string | 必须 | 设备token，token不能重复，请参考FAQ token规则
user | string | 必须 | 用户名
password | string | 必须 | 密码
ip | string | 必须 | 设备IP地址
port | string | 必须 | 设备端口
audio | boolean | 必须 | 是否开启音频
maxchannel | int | 可选 | 最大通道数，0表示不限，其他为加载的最大通道数，默认是0
sandbox | boolean | 可选 | 是否开启sandbox，当设备配置nSandboxMode为H5_SANDBOX_AUTO时生效，默认关闭

响应参数

字段 | 数据类型 | 描述
bStatus | boolean | API成功或者失败，true表示成功，false表示失败
strCode | string | API成功或者失败的具体描述

使用示例

'http://192.168.100.145:8080/api/v1/AddDeviceHikISC?name=device3&token=device10&user=22936233&password=px50TzrNNUiU1uxloJLG&ip=192.168.100.132&port=443&audio=true&session=918131a9-c3ba-4bbd-a557-c1336090fabd&sandbox=false&maxchannel=0'

{

  "bStatus": true,

  "strCode": "Add successfully"


用户登录_2_2_3_2_2_2_2_2_2_2_2_2_2_5_2_2_2_2_2

接口描述

添加海康INFO Vision平台

使用说明

请求方法 | GET
请求URL | /api/v1/AddDeviceHikInfov
请求数据 | 无

请求参数

字段 | 数据类型 | 参数要求 | 描述
session | string | 必须 | Login获取的session
name | string | 必须 | 设备名称
token | string | 必须 | 设备token，token不能重复，请参考FAQ token规则
user | string | 必须 | 用户名
password | string | 必须 | 密码
ip | string | 必须 | 设备IP地址
port | string | 必须 | 设备端口
audio | boolean | 必须 | 是否开启音频
maxchannel | int | 可选 | 最大通道数，0表示不限，其他为加载的最大通道数，默认是0
sandbox | boolean | 可选 | 是否开启sandbox，当设备配置nSandboxMode为H5_SANDBOX_AUTO时生效，默认关闭

响应参数

字段 | 数据类型 | 描述
bStatus | boolean | API成功或者失败，true表示成功，false表示失败
strCode | string | API成功或者失败的具体描述

使用示例

'http://192.168.100.145:8080/api/v1/AddDeviceHikInfov?name=device3&token=device10&user=20568911&password=fbb0qvMlVRzF4y1C6agZ&ip=192.168.100.232&port=443&audio=true&session=918131a9-c3ba-4bbd-a557-c1336090fabd&sandbox=false&maxchannel=0'

{

  "bStatus": true,

  "strCode": "Add successfully"


用户登录_2_2_3_2_2_2_2_2_2_2_2_2_2_5_2_2_2_2_2_2

接口描述

添加大华DSS平台

使用说明

请求方法 | GET
请求URL | /api/v1/AddDeviceDss
请求数据 | 无

请求参数

字段 | 数据类型 | 参数要求 | 描述
session | string | 必须 | Login获取的session
name | string | 必须 | 设备名称
token | string | 必须 | 设备token，token不能重复，请参考FAQ token规则
user | string | 必须 | 用户名
password | string | 必须 | 密码
ip | string | 必须 | 设备IP地址
port | string | 必须 | 设备端口
audio | boolean | 必须 | 是否开启音频
maxchannel | int | 可选 | 最大通道数，0表示不限，其他为加载的最大通道数，默认是0
sandbox | boolean | 可选 | 是否开启sandbox，当设备配置nSandboxMode为H5_SANDBOX_AUTO时生效，默认关闭

响应参数

字段 | 数据类型 | 描述
bStatus | boolean | API成功或者失败，true表示成功，false表示失败
strCode | string | API成功或者失败的具体描述

使用示例

'http://192.168.100.145:8080/api/v1/AddDeviceDss?name=devicedss&token=devicedss&user=admin&password=admin12345&ip=192.168.100.133&port=9000&audio=true&session=918131a9-c3ba-4bbd-a557-c1336090fabd&sandbox=false&maxchannel=0'

{

  "bStatus": true,

  "strCode": "Add successfully"


用户登录_2_2_3_2_2_2_2_2_2_2_2_2_2_3_2_2_2_2_3

接口描述

删除设备。

使用说明

请求方法 | GET
请求URL | /api/v1/DelDevice
请求数据 | 无

请求参数

字段 | 数据类型 | 参数要求 | 描述
session | string | 必须 | Login获取的session
token | string | 必须 | 设备的token

响应参数

字段 | 数据类型 | 描述
bStatus | boolean | API成功或者失败，true表示成功，false表示失败
strCode | string | API成功或者失败的具体描述

使用示例

'http://192.168.100.145:8080/api/v1/DelDevice?token=devicevik&session=f0e8a036-e785-482b-a501-aa3cbf227163'

{

  "bStatus": true,

  "strCode": "Del successfully"


国标管理(GB)

国标设备管理(Device)

国标设备管理API包含国标设备相关功能。


用户登录_2_2_3_2_2_2_2_2_2_3_3_2_5_2

接口描述

获取国标配置

使用说明

请求方法 | GET
请求URL | /api/v1/GetGbConf
请求数据 | 无

请求参数

字段 | 数据类型 | 参数要求 | 描述
session | string | 必须 | Login获取的session

响应参数

字段 | 数据类型 | 描述
bEnable | boolean | 是否开启GB28181服务
strGbID | string | 国标ID，需要符合国标ID标准
strRealm | string | SIP域
strPassword | string | 国标服务密码
strGbServerProto | string | 信令协议，支持UDP和TCP，协议类型需要和设备上的配置对应
strGbStreamProto | string | 码流协议，支持UDP和TCP
strGbServerIpAddr | string | 服务IP地址，需要根据实际修改，如果为云服务，需要修改成映射的IP地址
nGbServerPort | int | 服务端口
nGbTimeout | int | 国标超时时间，如果超过这个时间设备没有保活或者注册消息，设备会被自动删
nPortRangeMin | int | 码流端口开始，需要在防火墙中开启对应的范围
nPortRangeMax | int | 码流端口结束
bEnableAudio | boolean | 是否开启音频
bEnableSSRCCheck | boolean | 是否开启码流SSRC检查
bSubAlarm | boolean | 是否订阅报警
bSubMobilePosition | boolean | 是否订阅位置

使用示例

'http://192.168.100.145:8080/api/v1/GetGbConf?session=918131a9-c3ba-4bbd-a557-c1336090fabd'

{

  "bEnable": true,

  "strGbID": "34020000002000000001",

  "strRealm": "3402000000",

  "strPassword": "3402000000",

  "strGbServerProto": "UDP",

  "strGbStreamProto": "UDP",

  "strGbServerIpAddr": "192.168.100.103",

  "nGbServerPort": 5060,

  "nGbTimeout": 7200,

  "nPortRangeMin": 55000,

  "nPortRangeMax": 59999,

  "bEnableAudio": false,

  "bEnableSSRCCheck": false,

  "bSubAlarm": true,

  "bSubMobilePosition": true


用户登录_2_2_3_2_2_2_2_2_2_2_2_2_2_5_3

接口描述

设置国标配置，重启服务生效

使用说明

请求方法 | GET
请求URL | /api/v1/SetGbConf
请求数据 | 无

请求参数

字段 | 数据类型 | 参数要求 | 描述
session | string | 必须 | Login获取的session
enable | boolean | 必须 | 是否开启GB28181服务
Gbid | string | 必须 | 国标ID，需要符合国标ID标准
realm | string | 必须 | SIP域
password | string | 必须 | 国标服务密码
Gbserverproto | string | 必须 | 信令协议，支持UDP和TCP，协议类型需要和设备上的配置对应
Gbstreamproto | string | 必须 | 码流协议，支持UDP和TCP
GbserverIpaddr | string | 必须 | 服务IP地址，需要根据实际修改，如果为云服务，需要修改成映射的IP地址
Gbserverport | int | 必须 | 服务端口
Gbtimeout | int | 必须 | 国标超时时间，如果超过这个时间设备没有保活或者注册消息，设备会被自动删除
portrangemin | int | 必须 | 码流端口开始，需要在防火墙中开启对应的范围
portrangemax | int | 必须 | 码流端口结束
enableaudio | boolean | 必须 | 是否开启音频，true或者false
enableSSRCcheck | boolean | 必须 | 是否开启码流SSRC检查，true或者false
subalarm | boolean | 必须 | 是否订阅报警，true或者false
submobileposition | boolean | 必须 | 是否订阅位置，true或者false

响应参数

字段 | 数据类型 | 描述
bStatus | boolean | API成功或者失败，true表示成功，false表示失败
strCode | string | API成功或者失败的具体描述

使用示例

'http://192.168.100.145:8080/api/v1/SetGbConf?session=918131a9-c3ba-4bbd-a557-c1336090fabd&enable=true&Gbid=34020000002000000001&realm=3402000000&password=3402000000&Gbserverproto=UDP&Gbstreamproto=UDP&GbserverIpaddr=192.168.100.103&Gbserverport=5060&Gbtimeout=7200&portrangemin=55000&portrangemax=59999&enableaudio=false&enableSSRCcheck=false&subalarm=true&submobileposition=true'

{

  "bStatus": true,

  "strCode": "SetGb28181Conf successfully"


用户登录_2_2_3_2_2_2_2_2_2_3_3_2_3_4_3

接口描述

获取国标设备列表

使用说明

请求方法 | GET
请求URL | /api/v1/GetGbDevice
请求数据 | 无

请求参数

字段 | 数据类型 | 参数要求 | 描述
session | string | 必须 | Login获取的session
token | string | 可选 | 获取指定token的GB设备，token为设备的国标ID，默认获取全部

响应参数

字段 | 数据类型 | 描述
dev | array | 参考设备管理 -》设备数据格式

使用示例

'http://192.168.100.145:8080/api/v1/GetGbDevice?token=34020000001180010103&session=918131a9-c3ba-4bbd-a557-c1336090fabd'

{

  "dev": [

       {

          "nType": "H5_DEV_GB",

          "strName": "34020000001180010103",

          "strToken": "34020000001180010103",

          "strUser": "invalid",

          "strPasswd": "invalid",

          "bPasswdEncrypt": false,

          "strDevIpAddress": "invalid",

          "strDevPort": "invalid",

          "bEnableAudio": false,

          "bCentralRecord": false,

          "bOnline": true

       },

       {

          "nType": "H5_DEV_GB",

          "strName": "34020000001320000004",

          "strToken": "34020000001320000004",

          "strUser": "invalid",

          "strPasswd": "invalid",

          "bPasswdEncrypt": false,

          "strDevIpAddress": "invalid",

          "strDevPort": "invalid",

          "bEnableAudio": false,

          "bCentralRecord": false,

          "bOnline": true

       }

   ]


用户登录_2_2_3_2_2_2_2_2_2_3_3_2_3_4_3_2

接口描述

重启国标设备

使用说明

请求方法 | GET
请求URL | /api/v1/RebootGbDevice
请求数据 | 无

请求参数

字段 | 数据类型 | 参数要求 | 描述
session | string | 必须 | Login获取的session
token | string | 必须 | token为设备的国标ID

响应参数

字段 | 数据类型 | 描述
bStatus | boolean | API成功或者失败，true表示成功，false表示失败
strCode | string | API成功或者失败的具体描述

使用示例

'http://192.168.100.145:8080/api/v1/RebootGbDevice?token=34020000001180010103&session=918131a9-c3ba-4bbd-a557-c1336090fabd'

{

  "bStatus": true,

  "strCode": "Reboot successfully"


用户登录_2_2_3_2_2_2_2_2_2_3_3_2_3_4_3_2_2

接口描述

刷新国标设备，该API会使服务重新从设备获取通道目录列表

使用说明

请求方法 | GET
请求URL | /api/v1/RefreshGbDevice
请求数据 | 无

请求参数

字段 | 数据类型 | 参数要求 | 描述
session | string | 必须 | Login获取的session
token | string | 必须 | token为设备的国标ID

响应参数

字段 | 数据类型 | 描述
bStatus | boolean | API成功或者失败，true表示成功，false表示失败
strCode | string | API成功或者失败的具体描述

使用示例

'http://192.168.100.145:8080/api/v1/RefreshGbDevice?token=34020000001180010103&session=918131a9-c3ba-4bbd-a557-c1336090fabd'

{

  "bStatus": true,

  "strCode": "Refresh successfully"


用户登录_2_2_3_2_2_2_2_2_2_3_3_2_3_4_2_2

接口描述

获取国标设备视频源(通道)列表

使用说明

请求方法 | GET
请求URL | /api/v1/GetGbDeviceSrc
请求数据 | 无

请求参数

字段 | 数据类型 | 参数要求 | 描述
session | string | 必须 | Login获取的session
token | string | 必须 | token为设备的国标ID

响应参数

字段 | 数据类型 | 描述
src | array | 参考视频源管理 -》视频源数据格式

使用示例

'http://192.168.100.145:8080/api/v1/GetGbDeviceSrc?token=34020000001180010103&session=918131a9-c3ba-4bbd-a557-c1336090fabd'

{

  "src": [

       {

          "nType": "H5_CH_GB",

          "strName": "cs",

          "strToken": "34020000001320000174",

          "strUrl": "invalid",

          "strUser": "invalid",

          "strPasswd": "invalid",

          "bPasswdEncrypt": false,

          "bEnableAudio": false,

          "nConnectType": "H5_AUTO",

          "nRTSPType": "H5_RTSP_AUTO",

          "strSrcIpAddress": "invalid",

          "strSrcPort": "invalid",

          "nChannelNumber": 0,

          "bOnvifProfileAuto": true,

          "strOnvifAddr": "invalid",

          "strOnvifProfileMain": "invalid",

          "strOnvifProfileSub": "invalid",

          "bRTSPPlayback": false,

          "nRTSPPlaybackSpeed": 1,

          "bOnline": true,

          "strSnapshotUrl": "/api/v1/GetImage?token=34020000001320000174",

          "bRec": false,

          "strPushUrl": "",

          "strServerToken": "",

          "strOriginalToken": "",

          "strServerUuid": "",

          "nOriginalType": "H5_ZERO",

          "strDeviceId": "",

          "strDeviceName": "",

          "bDisable": false

       }

   ]


录像管理(Record)

录像管理API包含录像相关功能。


用户登录_2_2_3_2_2_2_2_2_2_2_2_2_2_4_2_2_4

接口描述

抓图，从视频源的视频流抓一张图片并存到服务器上，异步API，可通过事件API获取抓图成功或者失败状态，可以使用Search API搜索抓图。

使用说明

请求方法 | GET
请求URL | /api/v1/Snapshot
请求数据 | 无

请求参数

字段 | 数据类型 | 参数要求 | 描述
session | string | 必须 | Login获取的session
token | string | 必须 | 视频源token
num | int | 可选 | 抓图个数，默认1张，最小为1，最大为2147483647
internal | int | 可选 | 如果抓图个数大于1，该参数表示间隔时间，单位为秒

响应参数

字段

数据类型

描述

bStatus

boolean

API成功或者失败，true表示成功，false表示失败，由于API为异步，API返回成功表示API调用成功，可通过事件API获取抓图结果状态，或者延迟访问文件是否存在判断获取抓图状态，延迟需要大于2秒。

strCode

string

API成功或者失败的具体描述

strFileName

string

文件名

strUrl

string

文件路径，如果抓图成功，可以加上服务端口和session访问该文件比如

http://192.168.100.145:8080/mediastore/snapshot/81ae--1/2022-06-17TZ08/16-01-01/81ae--1-1c18dc86-ed7d-4262-9986-d562aca71d7b.jpg?session=f0e8a036-e785-482b-a501-aa3cbf227163

或者

https://192.168.100.145:8443/mediastore/snapshot/81ae--1/2022-06-17TZ08/16-01-01/81ae--1-1c18dc86-ed7d-4262-9986-d562aca71d7b.jpg?session=f0e8a036-e785-482b-a501-aa3cbf227163

使用示例

'http://192.168.100.145:8080/api/v1/Snapshot?token=81ae--1&session=f0e8a036-e785-482b-a501-aa3cbf227163&num=1&internal=1'

{

  "bStatus": true,

  "strCode": "Snapshot start successfully",

  "strFileName": "81ae--1-1c18dc86-ed7d-4262-9986-d562aca71d7b.jpg",

  "strUrl": "/mediastore/snapshot/81ae--1/2022-06-17TZ08/16-01-01/81ae--1-1c18dc86-ed7d-4262-9986-d562aca71d7b.jpg"


用户登录_2_2_3_2_2_2_2_2_2_2_2_2_2_4_2_2_4_2

接口描述

回放抓图，从正在回放的视频流抓一张图片并存到服务器上，异步API，可通过事件API获取抓图成功或者失败状态， 可以使用Search API搜索抓图。

使用说明

请求方法 | GET
请求URL | /api/v1/PbSnapshot
请求数据 | 无

请求参数

字段 | 数据类型 | 参数要求 | 描述
session | string | 必须 | Login获取的session
token | string | 必须 | 视频源token
pbsession | string | 必须 | 回放session，参考JS视频播放SDK-》回放视频接口参数 H5S_EVENT_PB_SESSION_ID

响应参数

字段

数据类型

描述

bStatus

boolean

API成功或者失败，true表示成功，false表示失败，由于API为异步，API返回成功表示API调用成功，可通过事件API获取抓图结果状态，或者延迟访问文件是否存在判断获取抓图状态，延迟需要大于2秒。

strCode

string

API成功或者失败的具体描述

strFileName

string

文件名

strUrl

string

文件路径，如果抓图成功，可以加上服务端口和session访问该文件比如

http://192.168.100.145:8080/mediastore/snapshot/81ae--1/2022-06-17TZ08/16-01-01/81ae--1-1c18dc86-ed7d-4262-9986-d562aca71d7b.jpg?session=f0e8a036-e785-482b-a501-aa3cbf227163

或者

https://192.168.100.145:8443/mediastore/snapshot/81ae--1/2022-06-17TZ08/16-01-01/81ae--1-1c18dc86-ed7d-4262-9986-d562aca71d7b.jpg?session=f0e8a036-e785-482b-a501-aa3cbf227163

使用示例

'http://192.168.100.145:8080/api/v1/PbSnapshot?token=device1--33&pbsession=7b767566-f969-4f0d-9584-53aaafc539b0&session=f0e8a036-e785-482b-a501-aa3cbf227163'

{

  "bStatus": true,

  "strCode": "PbSnapshot start successfully",

  "strFileName": "81ae--1-1c18dc86-ed7d-4262-9986-d562aca71d7b.jpg",

  "strUrl": "/mediastore/snapshot/81ae--1/2022-06-17TZ08/16-01-01/81ae--1-1c18dc86-ed7d-4262-9986-d562aca71d7b.jpg"


用户登录_2_2_3_2_2_2_2_2_2_2_2_2_2_4_2_2_4_2_2

接口描述

开启手动录像，如果alwayscreate参数为false，服务将不停的录像，服务重启后仍继续录像，可以使用Search API搜索录像。

使用说明

请求方法 | GET
请求URL | /api/v1/ManualRecordStart
请求数据 | 无

请求参数

字段 | 数据类型 | 参数要求 | 描述
session | string | 必须 | Login获取的session
token | string | 必须 | 视频源token
alwayscreate | boolean | 可选 | true或者false，表示是否不管是否正在录像，永远创建一个新的录像session，默认为false
limittime | int | 可选 | 如果alwayscreate为true，则需要指定该参数，在时间到后自动停止录像，单位为秒

响应参数

字段

数据类型

描述

bStatus

boolean

API成功或者失败，true表示成功，false表示失败。

strCode

string

API成功或者失败的具体描述

strFileName

string

文件名

strUrl

string

文件路径，如果抓图成功，可以加上服务端口和session访问该文件比如

http://192.168.100.145:8080/mediastore/record/token1/2020-01-14TZ08/08-35-02/token1-6455eb98-e344-4912-a7ef-eb2ffd8a30ee.mp4?session=f0e8a036-e785-482b-a501-aa3cbf227163

或者

https://192.168.100.145:8443/mediastore/record/token1/2020-01-14TZ08/08-35-02/token1-6455eb98-e344-4912-a7ef-eb2ffd8a30ee.mp4?session=f0e8a036-e785-482b-a501-aa3cbf227163

使用示例

'http://192.168.100.145:8080/api/v1/ManualRecordStart?token=token1&session=f0e8a036-e785-482b-a501-aa3cbf227163'

{

  "bStatus": true,

  "strCode": "ManualRecordStart successfully",

  "strFileName": "token1-6455eb98-e344-4912-a7ef-eb2ffd8a30ee.mp4",

  "strUrl": "/mediastore/record/token1/2020-01-14TZ08/08-35-02/token1-6455eb98-e344-4912-a7ef-eb2ffd8a30ee.mp4"


用户登录_2_2_3_2_2_2_2_2_2_2_2_2_2_4_2_2_4_2_2_2

接口描述

停止alwayscreate参数为false的手动录像，如果alwayscreate参数为false，则limittime到后自动停止。

使用说明

请求方法 | GET
请求URL | /api/v1/ManualRecordStop
请求数据 | 无

请求参数

字段 | 数据类型 | 参数要求 | 描述
session | string | 必须 | Login获取的session
token | string | 必须 | 视频源token

响应参数

字段 | 数据类型 | 描述
bStatus | boolean | API成功或者失败，true表示成功，false表示失败。
strCode | string | API成功或者失败的具体描述

使用示例

'http://192.168.100.145:8080/api/v1/ManualRecordStop?token=token1&session=f0e8a036-e785-482b-a501-aa3cbf227163'

{

  "bStatus": true,

  "strCode": "ManualRecordStop successfully"


用户登录_2_2_3_2_2_2_2_2_2_2_2_2_2_4_2_2_4_3

接口描述

归档是从远端设备或者NVR中截取一段录像存到服务上，异步API，可通过事件API获取归档成功或者失败状态， 可以使用Search API搜索归档。

使用说明

请求方法 | GET
请求URL | /api/v1/Archive
请求数据 | 无

请求参数

字段 | 数据类型 | 参数要求 | 描述
session | string | 必须 | Login获取的session
token | string | 必须 | 视频源token
start1 | int | 必须 | 开始时间1 2018-3-29 年-月-日
start2 | int | 必须 | 开始时间2 20-3-29 小时-分钟-秒
duration | int | 必须 | 归档时长，单位是秒
speed | int | 可选 | 归档速度，1,2,4， 默认是1
forceh264 | boolean | 可选 | true/false 是否强制转码H.265到H.264, 默认是false不做转码
tz | int | 可选 | 8 或者-8，如果没有此参数默认使用服务器所在的时区

响应参数

字段

数据类型

描述

bStatus

boolean

API成功或者失败，true表示成功，false表示失败，由于API为异步，API返回成功表示API调用成功，可通过事件API获取抓图结果状态，或者使用GetArchiveStatus 抓图进度。

strCode

string

API成功或者失败的具体描述

strFileName

string

文件名

strUrl

string

文件路径，如果归档成功，可以加上服务端口和session访问该文件比如

http://192.168.100.145:8080/mediastore/archive/device1--33/2020-01-14TZ08/09-54-24/device1--33-9d3742a0-84d2-4d5d-bb11-1da1b450cfbc.mp4?session=f0e8a036-e785-482b-a501-aa3cbf227163

或者

https://192.168.100.145:8443/mediastore/archive/device1--33/2020-01-14TZ08/09-54-24/device1--33-9d3742a0-84d2-4d5d-bb11-1da1b450cfbc.mp4?session=f0e8a036-e785-482b-a501-aa3cbf227163

使用示例

'http://192.168.100.145:8080/api/v1/Archive?token=cfab--35&start1=2021-12-8&start2=8-30-6&duration=20&speed=1&session=f0e8a036-e785-482b-a501-aa3cbf227163&forceh264=true'

{

  "bStatus": true,

  "strCode": "Archive successfully",

  "strFileName": "device1--33-9d3742a0-84d2-4d5d-bb11-1da1b450cfbc.mp4",

  "strUrl": "/mediastore/archive/device1--33/2020-01-14TZ08/09-54-24/device1--33-9d3742a0-84d2-4d5d-bb11-1da1b450cfbc.mp4"


用户登录_2_2_3_2_2_2_2_2_2_2_2_2_2_4_2_2_4_3_4

接口描述

归档抓图是从远端设备或者NVR中截取图片存到服务上，异步API，可通过事件API获取归档抓图成功或者失败状态， 可以使用Search API搜索归档抓图。

使用说明

请求方法 | GET
请求URL | /api/v1/ArchiveSnapshot
请求数据 | 无

请求参数

字段 | 数据类型 | 参数要求 | 描述
session | string | 必须 | Login获取的session
token | string | 必须 | 视频源token
start1 | int | 必须 | 开始时间1 2018-3-29 年-月-日
start2 | int | 必须 | 开始时间2 20-3-29 小时-分钟-秒
num | int | 可选 | 抓图个数，默认1张，最小为1，最大为2147483647
internal | int | 可选 | 如果抓图个数大于1，该参数表示间隔时间，单位为秒

响应参数

字段

数据类型

描述

bStatus

boolean

API成功或者失败，true表示成功，false表示失败，由于API为异步，API返回成功表示API调用成功，可通过事件API获取抓图结果状态，或者延迟访问文件是否存在判断获取抓图状态，延迟需要大于2秒。

strCode

string

API成功或者失败的具体描述

strFileName

string

文件名

strUrl

string

文件路径，如果抓图成功，可以加上服务端口和session访问该文件比如

http://192.168.100.145:8080/mediastore/snapshot/81ae--1/2022-06-17TZ08/16-01-01/81ae--1-1c18dc86-ed7d-4262-9986-d562aca71d7b.jpg?session=f0e8a036-e785-482b-a501-aa3cbf227163

或者

https://192.168.100.145:8443/mediastore/snapshot/81ae--1/2022-06-17TZ08/16-01-01/81ae--1-1c18dc86-ed7d-4262-9986-d562aca71d7b.jpg?session=f0e8a036-e785-482b-a501-aa3cbf227163

使用示例

'http://192.168.100.145:8080/api/v1/ArchiveSnapshot?token=cfab--35&start1=2021-12-8&start2=8-30-6&session=f0e8a036-e785-482b-a501-aa3cbf227163'

{

  "bStatus": true,

  "strCode": "Archive Snap shot start successfully",

  "strFileName": "cfab--36-0efe7498-9bc9-411a-84e8-7a1c1c81e773.jpg",

  "strUrl": "/mediastore/snapshot/cfab--36/2021-12-09TZ08/18-32-17/cfab--36-0efe7498-9bc9-411a-84e8-7a1c1c81e773.jpg"


用户登录_2_2_3_2_2_2_2_2_2_2_2_2_2_4_2_2_4_3_2

接口描述

获取归档状态。

使用说明

请求方法 | GET
请求URL | /api/v1/GetArchiveStatus
请求数据 | 无

请求参数

字段 | 数据类型 | 参数要求 | 描述
session | string | 必须 | Login获取的session
token | string | 必须 | 视频源token
filename | int | 必须 | 归档API返回的文件名，strFileName字段

响应参数

字段 | 数据类型 | 描述
nPercentage | int | -1 表示失败，0到99表示正在进行，100表示成功。
strCode | string | API成功或者失败的具体描述

使用示例

'http://192.168.100.145:8080/api/v1/GetArchiveStatus?token=device1--33&filename=device1--33-9d3742a0-84d2-4d5d-bb11-1da1b450cfbc.mp4&session=f0e8a036-e785-482b-a501-aa3cbf227163'

{

  "strCode": "Archive status successfully",

  "nPercentage": 21


用户登录_2_2_3_2_2_2_2_2_2_2_2_2_2_4_2_2_4_3_3

接口描述

搜索服务录像API可以搜索服务端的抓图/录像/归档。

使用说明

请求方法 | GET
请求URL | /api/v1/Search
请求数据 | 无

请求参数

字段 | 数据类型 | 参数要求 | 描述
session | string | 必须 | Login获取的session
token | string | 必须 | 视频源token
type | string | 必须 | record 或者 snapshot 或者archive
start | string | 必须 | ISO8601格式时间,比如2018-03-07T120101+08,需要URL编码,参考www/tool.html
end | string | 必须 | ISO8601格式时间,比如2018-03-07T130101+08,需要URL编码,参考www/tool.html

响应参数

字段

数据类型

描述

strToken

string

视频源token

strStartTime

string

录像开始时间，ISO8601格式

strEndTime

string

录像结束时间，ISO8601格式

strPath

string

文件路径，可以加上服务端口和session访问该文件比如

http://192.168.100.145:8080/mediastore/archive/device1--33/2020-01-14TZ08/09-54-24/device1--33-9d3742a0-84d2-4d5d-bb11-1da1b450cfbc.mp4?session=f0e8a036-e785-482b-a501-aa3cbf227163

或者

https://192.168.100.145:8443/mediastore/archive/device1--33/2020-01-14TZ08/09-54-24/device1--33-9d3742a0-84d2-4d5d-bb11-1da1b450cfbc.mp4?session=f0e8a036-e785-482b-a501-aa3cbf227163

strDuration

int

录像时长，如果是抓图，该字段为0

使用示例

'http://192.168.100.145:8080/api/v1/Search?type=archive&start=2020-01-13T120101%2b08&end=2020-01-14T130101%2b08&token=device1--33&session=f0e8a036-e785-482b-a501-aa3cbf227163'

{

  "record": [

       {

          "strToken": "device1--33",

          "strStartTime": "2020-01-14T09:54:24+08:00",

          "strEndTime": "2020-01-14T09:56:44+08:00",

          "strDuration": "140",

          "strPath": "/mediastore/archive/device1--33/2020-01-14TZ08/09-54-24/device1--33-9d3742a0-84d2-4d5d-bb11-1da1b450cfbc.mp4"

       },

       {

          "strToken": "device1--33",

          "strStartTime": "2020-01-14T10:16:39+08:00",

          "strEndTime": "2020-01-14T10:16:39+08:00",

          "strDuration": "0",

          "strPath": "/mediastore/archive/device1--33/2020-01-14TZ08/10-16-39/device1--33-f77ee541-066f-489a-afdf-9295b3d4c651.mp4"

       }

   ]


用户登录_2_2_3_2_2_2_2_2_2_2_2_2_2_4_2_2_4_3_3_2

接口描述

搜索远端录像API可以搜索接入设备(NVR)或者平台的录像。

使用说明

请求方法 | GET
请求URL | /api/v1/SearchDeviceRecordByTime
请求数据 | 无

请求参数

字段 | 数据类型 | 参数要求 | 描述
session | string | 必须 | Login获取的session
token | string | 必须 | 设备或者GB28181产生的视频源token
type | string | 必须 | record 或者 snapshot 或者archive
start | string | 必须 | ISO8601格式时间,比如2018-03-07T120101+08,需要URL编码,参考www/tool.html
end | string | 必须 | ISO8601格式时间,比如2018-03-07T130101+08,需要URL编码,参考www/tool.html

响应参数

字段 | 数据类型 | 描述
bFinished | boolean | 在输入的时间段中是否搜索完，如果为false，可以用返回的最后一个录像的结束时间作为start参数，重新搜索，这样可以完整的搜索到所有的录像段
strStartTime | string | 录像开始时间，ISO8601格式
strEndTime | string | 录像结束时间，ISO8601格式
nType | string | H5_REC_MANUAL/H5_REC_SCHEDULE/H5_REC_ALARM 手动录像/计划录像/报警录像

使用示例

'http://192.168.100.145:8080/api/v1/SearchDeviceRecordByTime?token=edf8--35&start=2020-1-13T00:00:00%2b08&end=2020-1-13T23:59:59%2b08&session=f0e8a036-e785-482b-a501-aa3cbf227163'

{

  "bFinished": true,

  "record": [

       {

          "strStartTime": "2020-01-12T22:25:52+08:00",

          "strEndTime": "2020-01-12T22:40:52+08:00",

          "nType": "H5_REC_MANUAL"

       },

       {

          "strStartTime": "2020-01-12T22:40:52+08:00",

          "strEndTime": "2020-01-12T22:55:52+08:00",

          "nType": "H5_REC_MANUAL"

       },

   ]


录像管理(Record)_2

JS视频播放SDK

JS视频播放SDK提供了HTML5环境下实时视频和回放的接口， JS视频播放SDK需要引用 软件包中 www/js/h5splayer.js， 可参考www/rtc.html例子。本部分介绍相关的接口。如下是相关例子，可以打开ws.html 和rtc.html 参考相关代码。

http://localhost:8080/ws.html?token=token2

http://localhost:8080/rtc.html?token=token2

http://localhost:8080/ws.html?token=token2&stream=main

http://localhost:8080/rtc.html?token=token2&stream=sub

如果需要自动播放，从r11.3 开始，ws.html 和rtc.html支持自动播放，可以加入autoplay=true。

http://192.168.100.122:8080/rtc.html?token=token1&autoplay=true

http://192.168.100.122:8080/ws.html?token=token1&autoplay=true

http://localhost:8080/rtmp.html?token=token2

http://localhost:8080/rtmp2.html?token=token2

其中token需要替换成配置的token或者生成的，如果是NVR 或者平台设备，可以在管理界面 设置-》设备-》全部 中查看对应的token。或者使用GetDeviceSrc/GetGbDeviceSrc/GetCloudDeviceSrc 分别获取。具体的使用方法可以参API文档。

如果服务开启了认证，则需要从Login API获取session，并用Keepalive API保活该session(默认超时时间是600秒)，在原来地址后加入session请使用如下命令格式。

http://192.168.100.145:8080/ws.html?token=1d4f&session=4ec47fb4-a74a-4e02-96a1-369151cfcb09


用户登录_2_2_3_2_2_2_2_2_2_3_3_2_5_2_2

接口描述

javascript接口参数如下

var conf = {

videoid:'h5sVideo1', //{string} - id of the video element tag

videodom: h5svideodom1, //{object} - video dom. if there has videoid, just use the videoid

protocol: window.location.protocol, // {string} - 'http:' or 'https:'

host: window.location.host, //{string} - 'localhost:8080'

rootpath:window.location.pathname, // {string} - path of the app running

token:'token1', // {string} - token of stream

streamprofile: 'main', // {string} - stream profile, main/sub or other predefine transcoding profile

pbconf: pbconf1, //This is optional, if no pbconf, this will be live.

hlsver:'v1', //{string} - v1 is for ts, v2 is for fmp4

session:'c1782caf-b670-42d8-ba90-2244d0b0ee83', //{string} - session got from login

consolelog: 'true' // 'true' or 'false' enable/disable console.log

};

参数说明

字段 | 类型 | 参数要求 | 描述
videoid | string | 可选 | HTML5 video element id，videoid和videodom二选一
videodom | string | 可选 | HTML5 video DOM，videoid和videodom二选一
protocol | string | 必须 | 协议 'http:' 或者 'https:'
host | string | 必须 | 服务主机 'localhost:8080' 或者 '192.168.1.1:8080'
rootpath | string | 必须 | API根路径，默认是 '/'，如果代理了服务，则填代理后的路径
token | string | 必须 | 视频源token
streamprofile | string | 可选 | main/sub或者预定义的转码profile token，实时视频生效
pbconf | string | 可选 | 回放配置项，实时的时候为空，具体格式参考回放视频接口参数
hlsver | string | 可选 | 过时参数，保持'v1'既可
session | string | 必须 | Login获取的session
consolelog | string | 可选 | 是否开启播放SDK日志，默认开启

使用示例

可参考www/rtc.html例子。


用户登录_2_2_3_2_2_2_2_2_2_3_3_2_5_2_2_2

接口描述

javascript接口参数如下，远端回放是指从NVR或者第三方平台回放，服务回放是指从H5S录像数据中回放。

function PlaybackCB(event, userdata)

{

var msgevent = JSON.parse(event);

if (msgevent.type === 'H5S_EVENT_PB_TIME')

{

}

if (msgevent.type === 'H5S_EVENT_PB_SESSION_ID')

{

}

}

var pbconf1 = {

begintime: '2019-03-23T120101+08',//{string} begintime 0 for fileplayback

endtime: '2019-03-23T150101+08',//{string} endtime 0 for fileplayback

autoplay: 'true', // 'true' or 'false' for playback autoplay

showposter: 'true', //'true' or 'false' show poster

serverpb: 'true', //'true' or 'false' playback from h5stream record, default false

filename: 'token1.mp4', // file name need to playback (begintime == 0 & endtime == 0 and serverpb is true)

callback: PlaybackCB, //{function}(event(string), userdata(object))

userdata: user data // user data

};

var conf = {

videoid:'h5sVideo1', //{string} - id of the video element tag

videodom: h5svideodom1, //{object} - video dom. if there has videoid, just use the videoid

protocol: window.location.protocol, // {string} - 'http:' or 'https:'

host: window.location.host, //{string} - 'localhost:8080'

rootpath:window.location.pathname, // {string} - path of the app running

token:'token1', // {string} - token of stream

streamprofile: 'main', // {string} - stream profile, main/sub or other predefine transcoding profile

pbconf: pbconf1, //This is optional, if no pbconf, this will be live.

hlsver:'v1', //{string} - v1 is for ts, v2 is for fmp4

session:'c1782caf-b670-42d8-ba90-2244d0b0ee83', //{string} - session got from login

consolelog: 'true' // 'true' or 'false' enable/disable console.log

};

参数说明

其中conf接口参数参考实时视频接口参数，如下是回放参数介绍

字段 | 类型 | 参数要求 | 描述
begintime | string | 必须 | 回放开始时间，ISO 8601格式
endtime | string | 必须 | 回放结束时间，ISO 8601格式
autoplay | string | 必须 | 是否自动播放
showposter | string | 必须 | 是否显示视频源缓存的最近数据帧
serverpb | string | 必须 | 是服务回放还是远端回放，
filename | string | 可选 | 当begintime和endtime 都为‘0’时表示按文件名回放，按文件名回放的时候filename为录像指令返回的文件名，比如"strFileName": "107-e88c9fae-2c56-4329-b9e2-ec99dd36ab9d.mp4"
callback | function | 必须 | 回放事件回调
userdata | object | 必须 | 回放事件回调参数

回调函数会提供当前的回放信息，具体事件描述如下:

类型 | 描述
H5S_EVENT_PB_SESSION_ID | 回放session ID，回放数据开始前调用，可以用PbSnapshot抓取当时回放的数据
H5S_EVENT_PB_TIME | 回放进度，每秒调用

使用示例

远端回放可以参考www/playback2.html

服务回放时的基于文件的回放可以参考www/serverfilepb.html

服务回放时的基于时间的回放可以参考www/serverpb.html


用户登录_2_2_3_2_2_2_2_2_2_3_3_2_5_2_2_2_2

接口描述

javascript接口参数如下

function H5sPlayerWS(conf)

H5sPlayerWS.prototype.connect

H5sPlayerWS.prototype.disconnect

回放控制

H5sPlayerWS.prototype. start

H5sPlayerWS.prototype. pasue

H5sPlayerWS.prototype. resume

参数说明

conf参数参考实时视频接口参数和回放视频接口参数，当WS用做回放时，不支持控制和倍速。

使用示例

可参考www/ws.html例子。


用户登录_2_2_3_2_2_2_2_2_2_3_3_2_5_2_2_2_2_2

接口描述

javascript接口参数如下

function H5sPlayerRTC(conf)

H5sPlayerRTC.prototype.connect

H5sPlayerRTC.prototype.disconnect

回放控制

H5sPlayerRTC.prototype. start

H5sPlayerRTC.prototype. pasue

H5sPlayerRTC.prototype. resume

H5sPlayerRTC.prototype. speed(x) //x 0.5 1 2 4 8 16

H5sPlayerRTC.prototype. seek(x) //x 相对开始回放时间的偏移 单位为秒

参数说明

conf参数参考实时视频接口参数和回放视频接口参数。

使用示例

可参考www/rtc.html例子。


附录A FAQ

1.h5s 里token有啥命名规则么？

h5s的token使用字母和数字组成，支持单个连字符和下划线，不支持特殊字符(比如@#$ 等)。 正确的比如token1_1 token1-1。 不支持双连字符，不支持的比如token1--1 。