创建设备
描述
本接口用于创建设备。所有涉及设备的API,适用于接入类型为“GB/T 28181”或"onvif"的空间。
- 接口请求域名:
qvs.qiniuapi.com - 请求方式:POST
- 接口路径:
/v1/namespaces/{namespaceId}/devices
请求参数
路径参数
| 参数名称 | 必填 | 字段类型 | 说明 |
|---|---|---|---|
| namespaceId | 是 | string | 空间ID |
Body
| 参数名称 | 必填 | 字段类型 | 说明 |
|---|---|---|---|
| type | 是 | integer | 可选项为摄像头、平台两类,1:摄像头,2:平台。创建后不可修改,默认为1:摄像头 |
| name | 是 | string | 设备名称(可包含 字母、数字、中划线、下划线,同时支持中文;1 ~ 100 个字符长) |
| gbId | 是 | string | 设备国标ID,要求全局唯一,该字段为空时,会自动创建gbid |
| username | 是 | string | 用户名,4 ~ 40位,可包含大写字母、小写字母、数字、中划线。当该字段为空时,默认值是设备国标ID |
| password | 是 | string | 密码,4 ~ 40位,可包含大写字母、小写字母、数字、中划线 |
| pullIfRegister | 否 | boolean | 注册成功后启动拉流,默认关闭 |
| desc | 否 | string | 关于设备的描述信息 |
| alarmEnable | 否 | boolean | 是否开启设备报警,默认关闭 |
| alarmMethods | 当空间类型为gb28181时需指定 | string | 接收报警类型列表。 alarmEnable为True时,此字段有效。多个报警类型以,分隔。1为电话报警, 2为设备报警, 3为短信报警, 4为GPS报警, 5为视频报警, 6为设备故障报警, 7其他报警。例如同时接收 短信报警和视频报警,传递参数为"3,5", alarmEnable为true时,改字段不能为空 |
| alarmTypesForRecord | 否 | string | alarmType列表,多个报警类型以,分隔,收到此列表中的任何一个报警类型,会触发录像。例如,如果希望收到入侵检测报警或者运动目标检测报警触发录像,则传递参数为6,2。关于报警类型的详细说明参考报警类型说明。对应的流需要先绑定按需录制模板。此配置项只针对alarmMethod为5时,即视频报警 |
| recordTime | 当alarmTypesForRecord不为空时需指定 |
int | 如果开启了收到报警触发录像,则需要传此参数设置录像的时长,单位为秒。 |
| alarmTypesForSnap | 否 | string | alarmType列表,多个报警类型以,分隔,收到此列表中的任何一个报警类型,会触发截图。例如,如果希望收到入侵检测报警或者运动目标检测报警触发截图,则传递参数为6,2。关于报警类型的详细说明参考报警类型说明。对应的流需要先绑定按需录制模板。此配置项只针对alarmMethod为5时,即视频报警 |
| localRecordPushEnable | 否 | boolean | 本地录像上传开关。如果关闭此开关,本地录像上传云端接口无效。默认false |
| localRecordTemplate | 否 | string | 录制模板ID;localRecordPushEnable为True时,此字段有效 |
| location.enable | 否 | boolean | 是否开启地理位置信息 |
| location.type | 否 | int | 0表示地理位置手动录入,1表示自动订阅位置信息,当location.enable为True时有效 |
| location.longitude | 否 | float | 经度,当location.type为0时有效 |
| location.latitude | 否 | float | 纬度,当location.type为0时有效 |
| location.interval | 否 | int | 订阅周期,数据范围为1~60,单位秒,默认为5秒,当location.type为1时有效 |
| deviceIp | 当空间类型为onvif时需指定 | string | 设备IP地址 |
| onvifPort | 当空间类型为onvif时需指定 | integer | 设备onvif端口 |
| onvifUsername | 当空间类型为onvif时需指定 | string | onvif用户名 |
| onvifPasswd | 当空间类型为onvif时需指定 | string | onvif密码 |
| onvifStreamPort | 当空间类型为onvif时需指定 | integer | onvif流地址映射到公网的端口号,默认值为554 |
| rtpProtocol | 否 | string | 流传输协议,默认tcp协议,可选值tcp或udp |
| rtpAudio | 否 | boolean | 是否开启音频 |
| rtpAudioTranscode | 否 | boolean | 是否开启音频转码 |
| onDemandPull | 否 | boolean | 是否开启按需拉流 |
响应参数
| 参数名称 | 类型 | 说明 |
|---|---|---|
| name | string | 设备名称 |
| desc | string | 设备描述 |
| nsId | string | 所属的空间ID |
| nsName | string | 所属的空间名称 |
| gbId | string | 设备国标ID |
| state | string | 状态(offline:离线,online:在线,notReg:未注册,locked:锁定) |
| username | string | 用户名 |
| password | string | 密码 |
| pullIfRegister | boolean | 注册成功后启动拉流,默认关闭 |
| channels | integer | 设备通道数 |
| vendor | string | 厂商 |
| createdAt | integer | 创建时间,Unix时间戳,秒 |
| updatedAt | integer | 更新时间,Unix时间戳,秒 |
| lastRegisterAt | integer | 上一次注册时间,Unix时间戳,秒 |
| lastKeepaliveAt | integer | 上一次心跳时间,Unix时间戳,秒 |
| deviceId | string | 设备ID |
| rtpAudio | boolean | 是否开启音频 |
| rtpAudioTranscode | boolean | 是否开启音频转码 |
| onDemandPull | boolean | 是否开启按需拉流 |
示例
请求示例
curl --request POST \
--url http://qvs.qiniuapi.com/v1/namespaces/2akrarvzvyijd/devices \
--header 'authorization: Qiniu j853F3bLkWl59I5BOkWm6q1Z1mZClpr9Z9CLfDE0:u372aQV0359mzwTVGxn22sRgFYc=' \
--header 'content-type: application/json' \
--data '{
"name": "device1",
"desc": "test gb28181",
"username": "username",
"password": "password",
"location": {
"enable": true,
"type": 1,
"interval": 5
}
}'
响应示例
{
"name": "device1",
"desc": "test gb28181",
"nsId": "2akrarvzvyijd",
"nsName": "gbt",
"gbId": "31011500991320000028",
"state": "notReg",
"username": "username",
"password": "password",
"pullIfRegister": false,
"createdAt": 1596166110,
"updatedAt": 1596166110,
"channels": 0,
"lastRegisterAt": 0,
"lastKeepaliveAt": 0,
"deviceId": "100000035",
}
注意
每个设备会创建一路流,普通设备以 GBId 作为stramId,平台设备以 设备国标ID_通道国标ID 作为streamId
文档反馈
(如有产品使用问题,请 提交工单)