OpenSDK  V4.2.0
函数
数据接口

函数

OPENSDK_API OPENSDK_RESULT CALLBACK OpenSDK_Data_GetDevListEx (int iPageStart, int iPageSize, void **pBuf, int *iLength)
 获取摄像头列表 更多...
 
OPENSDK_API OPENSDK_RESULT CALLBACK OpenSDK_Data_GetSharedDevList (int iPageStart, int iPageSize, void **pBuf, int *iLength)
 获取他人分享的摄像头列表 更多...
 
OPENSDK_API OPENSDK_RESULT CALLBACK OpenSDK_Data_GetDevDetailInfo (const char *szDevSerial, const int iChannelNo, const bool bUpdate, void **pDevDetailInfo, int *iLength)
 获取设备详细信息, 包括预览能力级, PTZ, 对讲能力级等. 更多...
 
OPENSDK_API OPENSDK_RESULT CALLBACK OpenSDK_Data_GetDeviceInfo (const char *szAccessToken, const char *szDeviceSerial, void **pBuf, int *iLength)
 获取单个设备信息 更多...
 
OPENSDK_API OPENSDK_RESULT CALLBACK OpenSDK_Data_GetAlarmListEx (const char *szDevSerial, const int iChannelNo, const char *szStartTime, const char *szEndTime, AlarmType iAlarmType, int iStatus, int iPageStart, int iPageSize, void **pBuf, int *iLength)
 获取告警列表 更多...
 
OPENSDK_API int CALLBACK OpenSDK_DecryptPicture (const char *szAccessToken, const char *szPicURL, const char *szSerail, const char *szSafeKey, void **pPicBuf, int *iPicLen)
 解密告警图片(建议加密的图片才调用,非加密图片直接下载,可以通过url里面isEncrypted=1来区分) 更多...
 
OPENSDK_API OPENSDK_RESULT CALLBACK OpenSDK_Data_SetAlarmRead (const char *szAccessToken, const char *szAlarmId)
 设置告警已读 更多...
 
OPENSDK_API OPENSDK_RESULT CALLBACK OpenSDK_Data_DeleteDevice (const char *szAccessToken, const char *szDeviceId)
 删除设备 更多...
 
OPENSDK_API OPENSDK_RESULT CALLBACK OpenSDK_Data_Free (void *pBuf)
 销毁SDK分配的内存 更多...
 

详细描述

函数说明

OPENSDK_API OPENSDK_RESULT CALLBACK OpenSDK_Data_DeleteDevice ( const char *  szAccessToken,
const char *  szDeviceId 
)

删除设备

参数
[in]szAccessToken认证Token
[in]szDeviceId设备Id
返回
0表示成功,非0表示失败
OPENSDK_API OPENSDK_RESULT CALLBACK OpenSDK_Data_Free ( void *  pBuf)

销毁SDK分配的内存

参数
[in]pBufSDK分配的内存
返回
0表示成功,-1表示失败
OPENSDK_API OPENSDK_RESULT CALLBACK OpenSDK_Data_GetAlarmListEx ( const char *  szDevSerial,
const int  iChannelNo,
const char *  szStartTime,
const char *  szEndTime,
AlarmType  iAlarmType,
int  iStatus,
int  iPageStart,
int  iPageSize,
void **  pBuf,
int *  iLength 
)

获取告警列表

参数
[in]szAccessToken认证Token
[in]szDevSerial设备序列号
[in]iChannelNo通道号
[in]szStartTime开始时间
[in]szEndTime结束时间
[in]iAlarmType告警类型,参见 AlarmType
[in]iStatus告警状态,0表示未读,1表示已读,2表示所有
[in]iPageStart分页起始页,从0开始
[in]iPageSize分页大小
[out]pBuf告警信息列表
[out]iLength告警信息列表长度
返回
0表示成功,-1表示失败
注解
时间格式为:yyyy-MM-dd hh:mm:ss
告警信息列表JSON格式如下:
1 {
2  "result": {
3  "page": { // 分页信息
4  "total": 694, // 告警总数量
5  "page": 0, // 分页号
6  "size": 5 // 分页大小
7  },
8  "data": [ // 告警信息
9  {
10  "alarmId": "96610038558312441", // 消息ID
11  "alarmName": "test设备", // 告警源名称
12  "alarmType": 10000, // 告警类型
13  "alarmStart": "2016-08-30 15:33:18", // 告警开始时间
14  "cameraNo": 1, // 通道号
15  "isEncrypt": 0, // 是否加密,0-不加密 1-加密
16  "isChecked": 0, // 是否已读,0-未读 1-已读
17  "recState":1, // 存储类型,0-无存储,1-萤石,2-百度,4-sd卡存储,5-萤石和sd,6-百度和sd
18  "preTime": 10, // 预录时间,单位秒
19  "delayTime": 30, // 延迟录像时间,单位秒
20  "deviceSerial": "427734168", // 设备序列号
21  "alarmPicUrl": "https://test.ys7.com/HIK_14?isEncrypted=0&isCloudStored=0", //告警图片地址, 如果加密,调用OpenSDK_DecryptPicture解析
22  "relationAlarms": null, // 关联的告警消息
23  "customerType": null, // 透传设备参数类型
24  "customerInfo": null // 透传设备参数内容
25  },
26  ...
27  ],
28  "code": "200",
29  "msg": "操作成功!"
30  }
31 }
OPENSDK_API OPENSDK_RESULT CALLBACK OpenSDK_Data_GetDevDetailInfo ( const char *  szDevSerial,
const int  iChannelNo,
const bool  bUpdate,
void **  pDevDetailInfo,
int *  iLength 
)

获取设备详细信息, 包括预览能力级, PTZ, 对讲能力级等.

参数
[in]szDevSerial设备序列号
[in]iChannelNo设备通道号
[in]bUpdate是否重新获取设备详细信息, true:重新从萤石平台拿数据, 否则拿缓存信息. true的时机为用户重新登录或者需要刷新设备信息.
[out]pDevDetailInfo监控点信息,需要调用OpenSDK_FreeData接口释放
[out]iLength监控点信息的长度
注解
告警信息列表JSON格式如下:
1 {
2  "devSerial":"426931084", // 设备序列号
3  "channelNo":1, // 通道号
4  "videoLevel":2, // 视频质量 2-高清 1-标清 0-流畅
5  "type":1, // 1 网络录像机 2 模拟录像机
6  "capability":"2-2-1", // 预览能力级, 2-2-1 三挡分别对应流畅,均衡,高清, 1:主码流, 2:子码流, 0:不支持
7  "isEncrypt":0, // 是否开启安全模式:1-开启,0-关闭, 即视频图像是否加密
8  "support_talk":1, // 是否支持对讲:1-支持, 0-不支持
9  "support_ptz":0, // 是否支持云台控制:1-支持, 0-不支持
10  "ptz_top_bottom":1, // 是否支持云台上下:1-支持, 0-不支持
11  "ptz_left_right":1 // 是否支持云台左右:1-支持, 0-不支持
12  "ptz_preset":1, // 是否支持云台预置点:1-支持, 0-不支持
13  "videoQualityInfos": [ // 设备支持的预览能力级详情
14  {
15  "videoQualityName":"流畅", // 清晰度名称
16  "videoLevel":0, // 清晰度数值
17  "streamType":2 // 主子码流类型
18  },
19  {
20  "videoQualityName":"均衡",
21  "videoLevel":1,
22  "streamType":2
23  },
24  {
25  "videoQualityName":"高清",
26  "videoLevel":2,
27  "streamType":1
28  }
29  ]
30 }
返回
0表示成功,其他值表示失败
OPENSDK_API OPENSDK_RESULT CALLBACK OpenSDK_Data_GetDeviceInfo ( const char *  szAccessToken,
const char *  szDeviceSerial,
void **  pBuf,
int *  iLength 
)

获取单个设备信息

参数
[in]szDeviceSerial设备序列号
[out]pBuf设备信息的JSON字符串
[out]iLength获取到的数据大小
返回
0表示成功,非0表示失败
注解
设备信息的JSON格式如下
1 {
2  "result": {
3  "data": [
4  {
5  "deviceId": "", // 设备在平台的唯一标识
6  "deviceSerial": "421877673", // 设备序列号
7  "cameraId": "", // 监控点ID
8  "cameraNo": 1, // 设备通道号
9  "cameraName": "", // 监控点名称
10  "status": 1, // 监控点在线状态, 0-离线; 1-在线
11  "isShared": "0", // 设备分享状态, 0-未共享;1-共享所有者;2-共享接受者
12  "picUrl": "", // 监控点图片url
13  "isEncrypt": 0 // 加密状态, 0-未加密;1-加密
14  "defence" : 1, // 布撤防状态, 0-未布防; 1-布防
15  "videoLevel" : 0 // 视频清晰度, 0-流畅; 1-均衡; 2-高清
16  }
17  ],
18  "code": "200",
19  "msg": "操作成功!"
20  }
21 }
OPENSDK_API OPENSDK_RESULT CALLBACK OpenSDK_Data_GetDevListEx ( int  iPageStart,
int  iPageSize,
void **  pBuf,
int *  iLength 
)

获取摄像头列表

参数
[in]iPageStart分页起始页,从0开始
[in]iPageSize分页大小, 限制最大1000,默认100, 建议不超过100
[out]pBuf摄像头列表的JSON字符串
[out]iLength获取到的数据大小
返回
0表示成功,-1表示失败
注解
摄像头列表的JSON格式如下
1 {
2  "page" : {
3  "page" : 0, //页码
4  "size" : 20, //页大小
5  "total" : 1 //账号下所有设备数量
6  },
7  "data" : [
8  {
9  "addTime" : 1512652274000.0, //设备被用户添加时间,精确到毫秒
10  "alarmSoundMode" : 0, //告警声音模式
11  "cameraNum" : 2, //视频数
12  "category" : "UNKNOWN", //设备大类
13  "defence" : 0, //布A1设备布撤防状态,0:睡眠 8:在家 16:外出, 非A1设备,0-撤防 1-布防
14  "detectorNum" : 0, //探测器数
15  "detectorInfo" : null, //探测器信息
16  "deviceCover" : "https://i.ys7.com/image/DVR/1.jpeg", //设备封面
17  "deviceName" : "DS-7104N-SN/C(129103497)", //设备名称
18  "deviceSerial" : "129103497", //设备序列号
19  "deviceType" : "DS-7104N-SN/C", //设备类型
20  "deviceVersion" : "V3.0.21 build 170417", //设备版本号
21  "isEncrypt" : 0, //是否加密,0:不加密,1:加密
22  "status" : 2, //在线状态,1-在线,2-不在线
23  "supportExtShort" : "1|1|1|1|0|0|0|1|1|0|0|-1|0...", //设备能力集
24  "cameraInfo" : [ //视频信息
25  {
26  "cameraCover" : "https://i.ys7.com/...", //通道封面
27  "cameraName" : "视频1@DS-7104N-SN/C(129103497)",//视频名camera
28  "cameraNo" : 1, //视频号
29  "deviceSerial" : "129103497", //设备序列号
30  "isShared" : "0", //分享状态,1:分享所有者,0:未分享,2:分享接受者(表示此摄像头是别人分享给我的)
31  "videoLevel" : 0, //视频质量,0-流畅,1-均衡,2-高清,3-超清
32  "videoQualityInfos" : [
33  {
34  "streamType" : 2,
35  "videoLevel" : 0,
36  "videoQualityName" : "流畅"
37  },
38  {
39  "streamType" : 1,
40  "videoLevel" : 2,
41  "videoQualityName" : "高清"
42  }
43  ]
44  },
45  {
46  "cameraCover" : "https://i.ys7.com/assets/imgs/public/homeDevice.jpeg",
47  "cameraName" : "视频2@DS-7104N-SN/C(129103497)",
48  "cameraNo" : 2,
49  "deviceSerial" : "129103497",
50  "isShared" : "0",
51  "videoLevel" : 0,
52  "videoQualityInfos" : [
53  {
54  "streamType" : 2,
55  "videoLevel" : 0,
56  "videoQualityName" : "流畅"
57  },
58  {
59  "streamType" : 1,
60  "videoLevel" : 2,
61  "videoQualityName" : "高清"
62  }
63  ]
64  }
65  ]
66  }
67  ]
68 }
OPENSDK_API OPENSDK_RESULT CALLBACK OpenSDK_Data_GetSharedDevList ( int  iPageStart,
int  iPageSize,
void **  pBuf,
int *  iLength 
)

获取他人分享的摄像头列表

参数
[in]iPageStart分页起始页,从0开始
[in]iPageSize分页大小, 限制最大1000,默认100, 建议不超过100
[out]pBuf摄像头列表的JSON字符串
[out]iLength获取到的数据大小
返回
0表示成功,-1表示失败
注解
摄像头列表的JSON格式如下
1 {
2  "page" : {
3  "page" : 0, //页码
4  "size" : 20, //页大小
5  "total" : 1 //账号下所有设备数量
6  },
7  "data" : [
8  {
9  "addTime" : 1512652274000.0, //设备被用户添加时间,精确到毫秒
10  "alarmSoundMode" : 0, //告警声音模式
11  "cameraNum" : 2, //视频数
12  "category" : "UNKNOWN", //设备大类
13  "defence" : 0, //布A1设备布撤防状态,0:睡眠 8:在家 16:外出, 非A1设备,0-撤防 1-布防
14  "detectorNum" : 0, //探测器数
15  "detectorInfo" : null, //探测器信息
16  "deviceCover" : "https://i.ys7.com/image/DVR/1.jpeg", //设备封面
17  "deviceName" : "DS-7104N-SN/C(129103497)", //设备名称
18  "deviceSerial" : "129103497", //设备序列号
19  "deviceType" : "DS-7104N-SN/C", //设备类型
20  "deviceVersion" : "V3.0.21 build 170417", //设备版本号
21  "isEncrypt" : 0, //是否加密,0:不加密,1:加密
22  "status" : 2, //在线状态,1-在线,2-不在线
23  "supportExtShort" : "1|1|1|1|0|0|0|1|1|0|0|-1|0...", //设备能力集
24  "cameraInfo" : [ //视频信息
25  {
26  "cameraCover" : "https://i.ys7.com/...", //通道封面
27  "cameraName" : "视频1@DS-7104N-SN/C(129103497)",//视频名camera
28  "cameraNo" : 1, //视频号
29  "deviceSerial" : "129103497", //设备序列号
30  "isShared" : "0", //分享状态,1:分享所有者,0:未分享,2:分享接受者(表示此摄像头是别人分享给我的)
31  "videoLevel" : 0, //视频质量,0-流畅,1-均衡,2-高清,3-超清
32  "videoQualityInfos" : [
33  {
34  "streamType" : 2,
35  "videoLevel" : 0,
36  "videoQualityName" : "流畅"
37  },
38  {
39  "streamType" : 1,
40  "videoLevel" : 2,
41  "videoQualityName" : "高清"
42  }
43  ]
44  },
45  {
46  "cameraCover" : "https://i.ys7.com/assets/imgs/public/homeDevice.jpeg",
47  "cameraName" : "视频2@DS-7104N-SN/C(129103497)",
48  "cameraNo" : 2,
49  "deviceSerial" : "129103497",
50  "isShared" : "0",
51  "videoLevel" : 0,
52  "videoQualityInfos" : [
53  {
54  "streamType" : 2,
55  "videoLevel" : 0,
56  "videoQualityName" : "流畅"
57  },
58  {
59  "streamType" : 1,
60  "videoLevel" : 2,
61  "videoQualityName" : "高清"
62  }
63  ]
64  }
65  ]
66  }
67  ]
68 }
OPENSDK_API OPENSDK_RESULT CALLBACK OpenSDK_Data_SetAlarmRead ( const char *  szAccessToken,
const char *  szAlarmId 
)

设置告警已读

参数
[in]szAlarmId告警ID
返回
0表示成功,非0表示失败
OPENSDK_API int CALLBACK OpenSDK_DecryptPicture ( const char *  szAccessToken,
const char *  szPicURL,
const char *  szSerail,
const char *  szSafeKey,
void **  pPicBuf,
int *  iPicLen 
)

解密告警图片(建议加密的图片才调用,非加密图片直接下载,可以通过url里面isEncrypted=1来区分)

参数
[in]szAccessToken认证Token
[in]szPicURL图片URL,https://wuhancloudpictest.ys7.com:8083/...?isEncrypted=1&isCloudStored=0
[in]szSerail告警图片对应的设备序列号
[in]szSafeKey解密密钥,默认是设备验证码
[out]pPicBuf解密后图片内容(需要调用OpenSDK_Data_Free释放内存)
[out]iPicLenpPicBuf的长度
返回
0表示成功,-1表示失败, 失败时调用GetLastErrorCode(), 考虑错误: OPEN_SDK_PERMANENT_KEY_INVALID,OPEN_SDK_PIC_CONTENT_INVALID
参见
OpenSDK_Push_StartRecv()