Http api¶
- 获取设备信息(GET)
http://192.168.36.140/ISAPI/System/deviceInfo
- 获取通道信息(GET)
http://192.168.36.140/ISAPI/PTZCtrl/channels/3 <?xml version="1.0" encoding="UTF-8"?> <PTZChannel version="2.0" xmlns="http://www.hikvision.com/ver20/XMLSchema"> <id>3</id> <enabled>true</enabled> <videoInputID>3</videoInputID> <panMaxSpeed>400</panMaxSpeed> <tiltMaxSpeed>200</tiltMaxSpeed> <presetSpeed>4</presetSpeed> <autoPatrolSpeed>70</autoPatrolSpeed> <keyBoardControlSpeed>normal</keyBoardControlSpeed> <controlProtocol>PELCO-D</controlProtocol> <controlAddress> <enabled>true</enabled> <Address>0</Address> </controlAddress> <defaultPresetID>1</defaultPresetID> <PTZRs485Para> <baudRate>9600</baudRate> <dataBits>8</dataBits> <parityType>none</parityType> <stopBits>1</stopBits> <flowCtrl>none</flowCtrl> </PTZRs485Para> <panSupport>true</panSupport> <tiltSupport>true</tiltSupport> <zoomSupport>true</zoomSupport> <manualControlSpeed>selfadaptive</manualControlSpeed> </PTZChannel>
- 获取通道能力(GET)
http://192.168.36.140/ISAPI/PTZCtrl/channels/3/capabilities
- 获取通道信息(GET)
http://192.168.36.140/ISAPI/PTZCtrl/channels/3
- 查看预置位(GET)
http://192.168.36.140/ISAPI/PTZCtrl/PTZViewPreset?format=json application/x-www-form-urlencoded {"view":"2"}
- 获取高精度绝对PTZ运动控制能力(GET)
http://192.168.36.140/ISAPI/PTZCtrl/channels/1/absoluteEx/capabilities <?xml version="1.0" encoding="UTF-8"?> <PTZAbsoluteEx version="2.0" xmlns="http://www.hikvision.com/ver20/XMLSchema"> <elevation min="-37.62" max="72.38">0</elevation> <azimuth min="0" max="360">0</azimuth> <absoluteZoom min="1" max="40">1</absoluteZoom> <focus min="4096" max="49152"/> <horizontalSpeed min="0.1" max="210"/> <verticalSpeed min="0.1" max="149.9"/> </PTZAbsoluteEx>
- 高精度绝对PTZ运动控制参数(获取位置信息)(GET/PUT)
http://192.168.36.140/ISAPI/PTZCtrl/channels/1/absoluteEx <?xml version="1.0" encoding="UTF-8"?> <PTZAbsoluteEx version="2.0" xmlns="http://www.hikvision.com/ver20/XMLSchema"> <elevation>0</elevation> <azimuth>0</azimuth> <absoluteZoom>1</absoluteZoom> <focus>25528</focus> </PTZAbsoluteEx>
- 控制云台/枪机转动(枪机需要先解锁)(PUT)
http://192.168.36.140/ISAPI/PTZCtrl/channels/1/continuous <?xml version="1.0" encoding="UTF-8"?><PTZData><pan>-60</pan><tilt>0</tilt></PTZData> <?xml version="1.0" encoding="UTF-8"?><PTZData><pan>0</pan><tilt>0</tilt></PTZData> http://192.168.36.140/ISAPI/PTZCtrl/channels/3/continuous <?xml version="1.0" encoding="UTF-8"?><PTZData><pan>-60</pan><tilt>0</tilt></PTZData> <?xml version="1.0" encoding="UTF-8"?><PTZData><pan>0</pan><tilt>0</tilt></PTZData>
- 锁定/解锁枪机转动(对2/3通道同时生效)(PUT)
<!-- 解锁2/3通道都可以 --> http://192.168.36.140/ISAPI/PTZCtrl/channels/2/manualPTZUnlock?format=json <!-- 锁定只有2通道可以 --> http://192.168.36.140/ISAPI/PTZCtrl/channels/2/manualPTZLock?format=json
- 查看解锁剩余时间(GET)
<!-- 查看解锁剩余时间2/3通道都可以 --> http://192.168.36.140/ISAPI/PTZCtrl/channels/2/manualPTZLockCfg?format=json { "ManualPTZLockCfg": { "unLockTime": 295 } }
- 保存枪机当前场景(2/3通道同时生效)(需要先解锁)
http://192.168.36.140/ISAPI/PTZCtrl/channels/3/savePosition?format=json { "statusCode": 1, "statusString": "OK", "subStatusCode": "ok" }
- 转动枪机回到场景位置(需要先解锁,通道二/通道三都会回到之前保存的场景)(PUT)
http://192.168.36.140/ISAPI/PTZCtrl/channels/3/gotoPosition?format=json
- 获取位置(枪机获取到的和云台一样)(GET)
http://192.168.36.140/ISAPI/PTZCtrl/channels/1/status <?xml version="1.0" encoding="UTF-8"?> <PTZStatus version="2.0" xmlns="http://www.hikvision.com/ver20/XMLSchema"> <AbsoluteHigh> <elevation>122</elevation> <azimuth>2276</azimuth> <absoluteZoom>10</absoluteZoom> </AbsoluteHigh> </PTZStatus>
- 设置位置(设置枪机通道,实际生效也是云台)(PUT)
http://192.168.36.140/ISAPI/PTZCtrl/channels/1/absolute <?xml version="1.0" encoding="UTF-8"?> <PTZData version="2.0" xmlns="http://www.hikvision.com/ver20/XMLSchema"> <AbsoluteHigh> <elevation>5</elevation> <azimuth>2272</azimuth> <absoluteZoom>10</absoluteZoom> </AbsoluteHigh> </PTZData>
- 通道能力对比
通道一支持以下:<AbsolutePanTiltPositionSpace> <XRange> <Min>0</Min> <Max>3600</Max> </XRange> <YRange> <Min>-376</Min> <Max>723</Max> </YRange> </AbsolutePanTiltPositionSpace> <AbsoluteZoomPositionSpace> <ZRange> <Min>10</Min> <Max>400</Max> </ZRange> </AbsoluteZoomPositionSpace> <isSupportPTZEagleFocusing>true</isSupportPTZEagleFocusing> <LFPositionCap> <elevation min="-900" max="2700">0</elevation> <azimuth min="0" max="3600">0</azimuth> <absoluteZoom min="1" max="1000">0</absoluteZoom> </LFPositionCap>
通道二支持以下(其实通道三也支持,控制二和控制三效果一样):<ManualPTZLockCap> <lockStatus>lock, unlock</lockStatus> <unLockTime>300</unLockTime> </ManualPTZLockCap> <isSupportPTZSave>true</isSupportPTZSave>
- 通道高精度绝对PTZ运动控制能力比较
通道一支持<?xml version="1.0" encoding="UTF-8"?> <PTZAbsoluteEx version="2.0" xmlns="http://www.hikvision.com/ver20/XMLSchema"> <elevation min="-37.62" max="72.38">0</elevation> <azimuth min="0" max="360">0</azimuth> <absoluteZoom min="1" max="40">1</absoluteZoom> <focus min="4096" max="49152"/> <horizontalSpeed min="0.1" max="210"/> <verticalSpeed min="0.1" max="149.9"/> </PTZAbsoluteEx>
- 分别控制多通道转动(测试不通过)(PUT)
http://192.168.36.140/ISAPI/PTZCtrl/ManualControlPTZRotation?format=json { /*req, object, 多通道云台参数, range:[,], additionalProperties:false, desc:*/ "channelList": [ /*req, array, 通道列表, range:[1,4], uniqueItems:, desc:*/ { /*req, object, 通道元素, range:[,], additionalProperties:false, desc:*/ "channelID": 1 /*req, integer, 通道ID, const:, enum:[], range:[1,100], multipleOf:, unit:, desc:*/ } ], "PTZData": { /*req, object, PTZ值正向参数, range:[,], additionalProperties:false, desc:*/ "pan": 60, /*opt, integer, P值(水平角度)正向, const:, enum:[], range:[-100,100], multipleOf:, unit:, desc:值的大小代表着转动速度;正值代表着向右转动,值越大速度越快;负值代表着向左转动,值越小速度越快*/ "tilt": 60, /*opt, integer, T值(垂直角度)正向, const:, enum:[], range:[-100,100], multipleOf:, unit:, desc:值的大小代表着转动速度;正值代表着向上转动,值越大速度越快;负值代表着向下转动,值越小速度越快*/ "zoom": 60, /*opt, integer, 变倍值, const:, enum:[], range:[-100,100], multipleOf:, unit:, desc:值的大小代表着变倍速度;正值代表着变倍放大,值越大速度越快;负值代表着变倍缩小,值越小速度越快*/ "rotate": 60, /*opt, integer, 镜头旋转值, const:, enum:[], range:[-100,100], multipleOf:, unit:, desc:值的大小代表着旋转速度;正值代表着顺时针旋转,值越大速度越快;负值代表着逆时针顺转,值越小速度越快*/ "focus": 60, /*opt, integer, 聚焦控制, const:, enum:[], range:[-100,100], multipleOf:, unit:, desc:负值表示远,正值表示近,数值大小表示变化速率(最大速率的百分比),0表示停止*/ "iris": 60 /*opt, integer, 光圈速度, const:, enum:[], range:[-100,100], multipleOf:, unit:, desc:0表示停止,数值越大速度越快,正负代表放大和缩小*/ } }
{ "channelList": [ { "channelID": 1 } ], "PTZData": { "pan": 60, "tilt": 60, "zoom": 60, "rotate": 60, "focus": 60, "iris": 60 } }
- 参考
《设备网络SDK使用手册.chm》-->《接口列表》-->《网络协议透传》(更多功能)-->《协议透传报文》-->《云台和跟随定位》 - win示例(已经包含了几乎所有协议)
下载地址:https://open.hikvision.com/download/5cda567cf47ae80dd41a54b3?type=10
ClientDemo 测试工具是使用设备网络 SDK 开发包中的接口开
发而成的测试工具,可以用来测试设备的功能和接口,在开发的前期
和调试阶段用以测试设备的功能和 SDK 的接口。ClientDemo 位于开
发包中的库文件目录下:CH-HCNetSDKV6.1.9.48_build20230410_win32\库文件\ClientDemo.exe