创建设备
描述
本接口用于创建设备。所有涉及设备的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
文档反馈
(如有产品使用问题,请 提交工单)