Dahua HTTP API
Dahua HTTP API
V2.63
2018-11-27
Cybersecurity Recommendations
Mandatory actions to be taken towards cybersecurity
1. Change Passwords and Use Strong Passwords:
The number one reason systems get "hacked" is due to having weak or default passwords. It is
recommended to change default passwords immediately and choose a strong password whenever
possible. A strong password should be made up of at least 8 characters and a combination of special
characters, numbers, and upper and lower case letters.
2. Update Firmware
As is standard procedure in the tech-industry, we recommend keeping NVR, DVR, and IP camera
firmware up-to-date to ensure the system is current with the latest security patches and fixes.
"Nice to have" recommendations to improve your network security
1. Change Passwords Regularly
Regularly change the credentials to your devices to help ensure that only authorized users are able to
access the system.
2. Change Default HTTP and TCP Ports:
● Change default HTTP and TCP ports for systems. These are the two ports used to communicate and
to view video feeds remotely.
● These ports can be changed to any set of numbers between 1025-65535. Avoiding the default ports
reduces the risk of outsiders being able to guess which ports you are using.
3. Enable HTTPS/SSL:
Set up an SSL Certificate to enable HTTPS. This will encrypt all communication between your devices
and recorder.
4. Enable IP Filter:
Enabling your IP filter will prevent everyone, except those with specified IP addresses, from accessing
the system.
5. Change ONVIF Password:
On older IP Camera firmware, the ONVIF password does not change when you change the system's
credentials. You will need to either update the camera's firmware to the latest revision or manually
change the ONVIF password.
6. Forward Only Ports You Need:
● Only forward the HTTP and TCP ports that you need to use. Do not forward a huge range of numbers
to the device. Do not DMZ the device's IP address.
● You do not need to forward any ports for individual cameras if they are all connected to a recorder on
site; just the NVR is needed.
7. Limit Features of Guest Accounts:
If your system is set up for multiple users, ensure that each user only has rights to features and functions
they need to use to perform their job.
8. UPnP:
Cybersecurity Recommendations I
● UPnP will automatically try to forward ports in your router or modem. Normally this would be a good
thing. However, if your system automatically forwards the ports and you leave the credentials defaulted,
you may end up with unwanted visitors.
● If you manually forwarded the HTTP and TCP ports in your router/modem, this feature should be
turned off regardless. Disabling UPnP is recommended when the function is not used in real
applications.
9. SNMP:
Disable SNMP if you are not using it. If you are using SNMP, you should do so only temporarily, for
tracing and testing purposes only.
10. Multicast:
Multicast is used to share video streams between two recorders. Currently there are no known issues
involving Multicast, but if you are not using this feature, deactivation can enhance your network security.
11. Check the Log:
If you suspect that someone has gained unauthorized access to your system, you can check the system
log. The system log will show you which IP addresses were used to login to your system and what was
accessed.
12. Physically Lock Down the Device:
Ideally, you want to prevent any unauthorized physical access to your system. The best way to achieve
this is to install the recorder in a lockbox, locking server rack, or in a room that is behind a lock and key.
13. Connect IP Cameras to the PoE Ports on the Back of an NVR:
Cameras connected to the PoE ports on the back of an NVR are isolated from the outside world and
cannot be accessed directly.
14. Isolate NVR and IP Camera Network
The network your NVR and IP camera resides on should not be the same network as your public
computer network. This will prevent any visitors or unwanted guests from getting access to the same
network the security system needs in order to function properly.
Cybersecurity Recommendations II
Foreword
Purpose
Reader
Safety Instructions
The following categorized signal words with defined meaning might appear in the Manual.
Signal Words Meaning
TIPS Provides methods to help you solve a problem or save you time.
Revision History
2 V2.60 Add find media file with TrafficCar info. September 12, 2018
3 V2.61 Add the "16 AI APIs " chapter. October 24, 2018
4 V2.62 Add find media files with NonMotor info November 06, 2018
Add close door and access control custom
5 V2.63 November 27, 2018
password
Foreword III
As the device user or data controller, you might collect personal data of other such as face,
fingerprints, car plate number, Email address, phone number, GPS and so on. You need to be
in compliance with the local privacy protection laws and regulations to protect the legitimate
rights and interests of other people by implementing measures include but not limited to:
providing clear and visible identification to inform data subject the existence of surveillance
area and providing related contact.
The Manual is for reference only. If there is inconsistency between the Manual and the
actual product, the actual product shall prevail.
We are not liable for any loss caused by the operations that do not comply with the Manual.
The Manual would be updated according to the latest laws and regulations of related
regions. For detailed information, see the paper manual, CD-ROM, QR code or our official
website. If there is inconsistency between paper manual and the electronic version, the
electronic version shall prevail.
All the designs and software are subject to change without prior written notice. The product
updates might cause some differences between the actual product and the Manual. Please
contact the customer service for the latest program and supplementary documentation.
There still might be deviation in technical data, functions and operations description, or
errors in print. If there is any doubt or dispute, please refer to our final explanation.
Upgrade the reader software or try other mainstream reader software if the Manual (in PDF
format) cannot be opened.
All trademarks, registered trademarks and the company names in the Manual are the
properties of their respective owners.
Please visit our website, contact the supplier or customer service if there is any problem
occurred when using the device.
If there is any uncertainty or controversy, please refer to our final explanation.
Foreword IV
Table of Contents
Cybersecurity Recommendations ........................................................................................................... I
Foreword .................................................................................................................................................. III
1 Overview ................................................................................................................................................. 1
2 References........................................................................................................................................... 2
3 Definitions ........................................................................................................................................... 3
3.1 Abbreviations................................................................................................................................. 3
3.2 Syntax Convention ........................................................................................................................ 3
3.3 API Request Format...................................................................................................................... 3
3.4 Server Response Format .............................................................................................................. 4
3.5 Authentication................................................................................................................................ 5
4 General APIs........................................................................................................................................ 7
4.1 APIs of RTSP ................................................................................................................................ 7
4.1.1 Get Real-Time Stream ........................................................................................................ 7
4.1.2 Get Playback Stream .......................................................................................................... 7
4.1.3 Get File Stream ................................................................................................................... 7
4.2 Get MJPG Stream ......................................................................................................................... 8
4.3 Audio ............................................................................................................................................. 8
4.3.1 Get Audio Input Channel Numbers..................................................................................... 8
4.3.2 Get Audio Output Channel Numbers .................................................................................. 9
4.3.3 Post Audio Stream .............................................................................................................. 9
4.3.4 Get Audio Stream.............................................................................................................. 10
4.4 Snapshot ......................................................................................................................................11
4.4.1 Snap...................................................................................................................................11
4.4.2 Get a Snapshot ................................................................................................................. 13
4.4.3 Subscribe to Snapshot ..................................................................................................... 13
4.5 Video Attributes ........................................................................................................................... 14
4.5.1 Get Max Extra Stream Numbers ...................................................................................... 14
4.5.2 Video Color Config............................................................................................................ 15
4.5.3 Get Encode Capability ...................................................................................................... 16
4.5.4 Get Encode Config Capability .......................................................................................... 16
4.5.5 Encode of Media ............................................................................................................... 19
4.5.6 Encode of Region Interested ............................................................................................ 24
4.5.7 Channel Title ..................................................................................................................... 25
4.5.8 Get Video Input Channels Device Supported .................................................................. 25
4.5.9 Get Video Output Channels Device Supported ................................................................ 26
4.5.10 Get Max Remote Input Channels ................................................................................... 26
4.5.11 Video Standard................................................................................................................ 26
4.5.12 Video Widget................................................................................................................... 27
4.5.13 Get Video Input Capability .............................................................................................. 30
4.5.14 Adjust Focus ................................................................................................................... 33
4.5.15 Adjust Focus Continuously ............................................................................................. 33
Table of Contents V
4.5.16 Auto Focus ...................................................................................................................... 34
4.5.17 Get Focus Status ............................................................................................................ 34
4.5.18 Get Coordinates of Current Window .............................................................................. 34
4.5.19 Set Coordinates of Current Window ............................................................................... 35
4.5.20 Video in Options ............................................................................................................. 35
4.5.21 Video Out ........................................................................................................................ 44
4.5.22 Smart Code ..................................................................................................................... 45
4.6 System ........................................................................................................................................ 46
4.6.1 General ............................................................................................................................. 46
4.6.2 Get Current Time .............................................................................................................. 47
4.6.3 Set Current Time............................................................................................................... 47
4.6.4 Locales.............................................................................................................................. 47
4.6.5 Get Language Capability .................................................................................................. 49
4.6.6 Language .......................................................................................................................... 50
4.6.7 Get Client Access Filter .................................................................................................... 50
4.6.8 Auto Maintain .................................................................................................................... 51
4.6.9 Holiday Management ........................................................................................................ 52
4.6.10 Get Device Type ............................................................................................................. 53
4.6.11 Get Hardware Version..................................................................................................... 53
4.6.12 Get Serial Number of Device .......................................................................................... 54
4.6.13 Get Machine Name ......................................................................................................... 54
4.6.14 Get System Information .................................................................................................. 54
4.6.15 Get Vendor Information .................................................................................................. 54
4.6.16 Get Software Information................................................................................................ 55
4.6.17 Get Version of Onvif ....................................................................................................... 55
4.6.18 Get Version of HTTP API ................................................................................................ 55
4.6.19 Get Device Class ............................................................................................................ 55
4.6.20 Onvif Service Authorization ............................................................................................ 56
4.6.21 Backup of Config ............................................................................................................ 56
4.6.22 Restore the Config .......................................................................................................... 57
4.6.23 Restore except the Config .............................................................................................. 57
4.6.24 Reboot ............................................................................................................................ 57
4.6.25 Shutdown ........................................................................................................................ 57
4.6.26 FactoryReset .................................................................................................................. 58
4.6.27 Get Tracing Code of Device ........................................................................................... 58
4.7 Network ....................................................................................................................................... 58
4.7.1 Get Network Interfaces ..................................................................................................... 58
4.7.2 Network Basic Config ....................................................................................................... 59
4.7.3 PPPoE .............................................................................................................................. 60
4.7.4 DDNS ................................................................................................................................ 61
4.7.5 Email ................................................................................................................................. 62
4.7.6 WLan................................................................................................................................. 64
4.7.7 Scan Wlan Devices........................................................................................................... 65
4.7.8 UPnP................................................................................................................................. 65
4.7.9 Get UPnP Status ............................................................................................................... 66
4.7.10 NTP ................................................................................................................................. 67
4.7.11 RTSP ............................................................................................................................... 67
Table of Contents VI
4.7.12 Alarm Server ................................................................................................................... 68
4.8 Motion Detection ......................................................................................................................... 69
4.8.1 Motion Detection Settings................................................................................................. 69
4.9 Event ........................................................................................................................................... 74
4.9.1 Event Handler ................................................................................................................... 74
4.9.2 Alarm Event ...................................................................................................................... 78
4.9.3 Alarm Out .......................................................................................................................... 79
4.9.4 Get Alarm Input Channels ................................................................................................ 80
4.9.5 Get Alarm Output Channels.............................................................................................. 80
4.9.6 Get States of Alarm Input Channels ................................................................................. 80
4.9.7 Get States of Alarm Output Channels .............................................................................. 81
4.9.8 Video Blind Event ............................................................................................................. 81
4.9.9 Video Loss Event .............................................................................................................. 82
4.9.10 Login Failure Event ......................................................................................................... 83
4.9.11 Storage Not Exist Event .................................................................................................. 83
4.9.12 Storage Access Failure Event ........................................................................................ 84
4.9.13 Storage Low Space Event .............................................................................................. 85
4.9.14 Net Abort Event............................................................................................................... 85
4.9.15 IP Conflict Event ............................................................................................................. 86
4.9.16 Get Channels Event Happened ...................................................................................... 87
4.9.17 Subscribe to Event Message .......................................................................................... 87
4.9.18 Get Capability of Event Management............................................................................. 94
4.9.19 NetAlarm ......................................................................................................................... 95
4.9.20 GetSupportedEvents ...................................................................................................... 95
4.10 PTZ............................................................................................................................................ 95
4.10.1 PTZ Config ...................................................................................................................... 95
4.10.2 Get PTZ Protocol List ..................................................................................................... 97
4.10.3 Get PTZ Capability of Current Protocol .......................................................................... 97
4.10.4 Get PTZ Status ............................................................................................................... 98
4.10.5 PTZ Control .................................................................................................................... 99
4.10.6 Preset............................................................................................................................ 102
4.10.7 Tour ............................................................................................................................... 103
4.10.8 Scan .............................................................................................................................. 105
4.10.9 Pattern .......................................................................................................................... 106
4.10.10 Pan.............................................................................................................................. 107
4.10.11 PTZ Auto Movement ................................................................................................... 108
4.10.12 PTZ Restart ................................................................................................................ 109
4.10.13 PTZ Reset ....................................................................................................................110
4.10.14 OSD Menu ...................................................................................................................110
4.11 Record ...................................................................................................................................... 111
4.11.1 Get Capability of Recording ........................................................................................... 111
4.11.2 Record Config ................................................................................................................112
4.11.3 Record Mode..................................................................................................................113
4.11.4 Media Global ..................................................................................................................114
4.11.5 Find Media Files.............................................................................................................114
4.11.6 Find media files with FaceDetection info .......................................................................117
4.11.7 Find media files with FaceRecognition info ...................................................................119
Table of Contents IX
10 Thermography and Radiometry APIs ............................................................................................ 182
10.1 Thermography Manager ......................................................................................................... 182
10.1.1 Get Capability of Thermography................................................................................... 182
10.1.2 Thermography Options ................................................................................................. 183
10.1.3 Get ExternSystem Information ..................................................................................... 185
10.1.4 Get Information of Preset Mode ................................................................................... 185
10.1.5 Get Optimized Region Information ............................................................................... 186
10.1.6 Enable Shutter .............................................................................................................. 186
10.1.7 Fix Focus ...................................................................................................................... 187
10.1.8 Do Flat Field Correction................................................................................................ 187
10.2 Radiometry .............................................................................................................................. 187
10.2.1 Get Capability of Radiometry........................................................................................ 187
10.2.2 Heat Image Thermometry............................................................................................. 188
10.2.3 Thermometry Rule ........................................................................................................ 190
10.2.4 Heat Image Temper Event ............................................................................................ 192
10.2.5 Get Temperature of Particular Point ............................................................................. 193
10.2.6 Get Temperature of Particular Condition ...................................................................... 193
10.2.7 Query Temperature Information.................................................................................... 194
10.2.8 Subscribe to Temperature Information ......................................................................... 195
10.2.9 Subscribe to Radiometry Data...................................................................................... 196
10.2.10 To Fetch Radiometry Data .......................................................................................... 197
10.2.11 Get FireWarning Config .............................................................................................. 197
10.2.12 Set FireWarning Config .............................................................................................. 198
10.2.13 Get FireWarningMode Config ..................................................................................... 198
10.2.14 Set FireWarningMode Config ..................................................................................... 199
11 Access Control APIs ...................................................................................................................... 200
11.1 Door ......................................................................................................................................... 200
11.1.1 Open Door..................................................................................................................... 200
11.1.2 Get Door Status ............................................................................................................ 200
12 Intelligent Building APIs ................................................................................................................. 207
12.1 Video Talk ................................................................................................................................ 207
12.1.1 Subscribe Video Talk Status ......................................................................................... 207
12.1.2 Unsubscribe Video Talk Status ..................................................................................... 207
12.1.3 Invite Server on Video Talk ........................................................................................... 208
12.1.4 Cancel the Video Talk ................................................................................................... 208
12.1.5 Answer the Invitation..................................................................................................... 208
12.1.6 Refuse to Answer the Video Talk Invitation .................................................................. 209
12.1.7 Hang Up ........................................................................................................................ 209
12.2 Video Talk Log......................................................................................................................... 209
12.2.1 Query Video Talk Log ................................................................................................... 209
12.3 Announcement Record ........................................................................................................... 210
12.3.1 Insert Record ................................................................................................................ 210
12.4 Alarm Record .......................................................................................................................... 210
12.4.1 Query Alarm Record ..................................................................................................... 210
13 DVR Custom APIs............................................................................................................................ 212
13.1 File Finder ............................................................................................................................... 212
13.1.1 Create a File Finder ...................................................................................................... 212
Table of Contents X
13.1.2 Create a Motion File Finder .......................................................................................... 213
13.1.3 Get the File Information Found by the Finder .............................................................. 214
13.1.4 Stop the Finder ............................................................................................................. 214
13.1.5 Get Bound Files ............................................................................................................ 215
13.2 BandLimit ................................................................................................................................ 215
13.2.1 Get Bandwidth Limit State ............................................................................................ 215
13.3 Record Files Protection........................................................................................................... 216
13.3.1 Add Protection .............................................................................................................. 216
13.3.2 Cancel Protection ......................................................................................................... 216
13.3.3 Remove Protection ....................................................................................................... 217
13.4 Get Daylight ............................................................................................................................ 217
14 Comm .............................................................................................................................................. 218
14.1 Coaxial Control IO ................................................................................................................... 218
14.1.1 Control White Light or Speaker .................................................................................... 218
14.2 Pir Alarm .................................................................................................................................. 218
14.2.1 Configure Pir Parameter ............................................................................................... 218
15 Other APIs ...................................................................................................................................... 223
15.1 Discover Devices .................................................................................................................... 223
15.1.1 Discover Devices on Internet........................................................................................ 223
15.2 Flashlight ................................................................................................................................. 223
15.2.1 Flashlight Config ........................................................................................................... 223
15.3 Open Platform ......................................................................................................................... 225
15.3.1 Application Start and Stop............................................................................................. 225
16 AI APIs .............................................................................................................................................. 226
16.1 Video Analyse APIs ................................................................................................................. 226
16.1.1 People Counting ........................................................................................................... 226
16.1.2 FaceRecognitionServer ................................................................................................ 233
16.1.3 Video Analyse Event ..................................................................................................... 255
16.2 Intelligent Traffic APIs ............................................................................................................. 261
16.2.1 Traffic Record ............................................................................................................... 261
16.2.2 Intelligent Traffic Event ................................................................................................. 264
16.2.3 Traffic Flow.................................................................................................................... 269
16.3 Access Control APIs................................................................................................................ 271
16.3.1 Access User .................................................................................................................. 271
16.3.2 Access control............................................................................................................... 286
Table of Contents XI
1 Overview
This document specifies the HTTP-based application programming interface of video products.
The HTTP-based interface provides the functionality for requesting snapshot and media stream,
controlling camera functions (for example, PTZ and focus), and getting and setting internal
parameter values.
The video products serve as a server. The client sends requests to server, and then server
handles requests and returns resources accordingly.
Overview 1
[1].RFC 2616 Hypertext Transfer Protocol-HTTP/1.1
2 References
[2].RFC 2396 Uniform Resource Identifiers (URI): Generic Syntax and Semantics
[3].RFC 2617 HTTP Authentication: Basic and Digest Access Authentication
[4].RFC 3986: Uniform Resource Identifiers (URI) Generic Syntax
References 2
3 Definitions
3.1 Abbreviations
The following abbreviations are used throughout this document.
Application Programming Interface. In the document, it especially presents
API
application programming interface of video products.
protocol: URL scheme for the particular request. The http and https protocols are both
supported in this specification. So "http", as most of the APIs' default protocol except several
RTSP APIs, can be replaced by "https".
server: Server could be "hostname[: port] ". The hostname can be IP address or the fully
qualified domain name of an IP device. The port is the port number of server listening for TCP
connections. If the port is not given, the default port is assumed. For HTTP, the default port is
80. For HTTPS, the default port is 443.
Definitions 3
abs_path: The Request-URI for the resources is abs_path. The abs_path in this specification is
most often of the form "/cgi-bin/*.cgi".
query: The query field is a string of information to be interpreted by the resource. It consists of
resource-related parameters. And it must be listed in name-value pair syntax
(p1=v1&p2=v2&…&pn=vn).
For example: [Link]
Table 3-1
HTTP code HTTP text Description
The request has succeeded. The requested
200 OK
resource will be returned in the HTTP text.
The request had bad syntax or was inherently
400 Bad Request
impossible to be satisfied.
The request requires user authentication or the
401 Unauthorized
authorization has been refused.
The user does not have the right to access the
403 Forbidden
service.
The server has not found anything matching the
404 Not Found
request.
The server encountered an unexpected condition
500 Internal Server Error
that prevented it from fulfilling the request.
501 Not Implemented The server has not implemented the service.
If the HTTP code is 200, means the API execute success, and the response data in http body
( maybe multipart ) can be a multiline key=value data, or a json object, or just a line with a word
"OK".
Example: success respose with multiline key=value
HTTP/1.1 200 OK
Server: xxx
Content-Length: <length>
[Link]=0.5
[Link]=0.5
…
Example: success respose with a word "OK"
HTTP/1.1 200 OK
Server: xxx
Content-Length: <length>
OK
Definitions 4
If the HTTP code is not 200, means the API execute failed, and the response data in http body
maybe empty, or just two line, first line is a word "Error"to indicate error happened, the second
line contain error detail.
Example: request does not fit with syntax.
HTTP/1.1 404 Not Found
Server: xxxx
Example: Request spells wrong.
HTTP/1.1 400 Bad Request
Server: xxx
Content-Length: <length>
Error
Bad Request!
Example: If the request fits with syntax but an error occurs while the server handles it, the
response would like this:
HTTP/1.1 500 Internal Server Error
Server: xxx
Content-Length: <length>
Error
Internal Server Error!
3.5 Authentication
Video products support either basic authentication or digest authentication, see RFC 2617 for
detail. If the http request sent by client does not provide valid "Authorization" header information,
video products would return HTTP status code 401 and some information for authentication,
then client should calculate authentication information according RFC 2617, and sent request
again with authentication information using “Authorization” header. Video products return the
required resource only if authorization information correct.
For example:
1. When basic authentication fails, response is:
HTTP/1.1 401 Unauthorized
WWW-Authenticate: Basic realm="XXXXXX"
The client encodes the username and password with base64, and then sends it to server. A
valid Authorization like this:
Authorization: Basic VXZVXZ
2. When digest authentication fails, response is:
HTTP/1.1 401 Unauthorized
WWW-Authenticate: Digest realm="DH_00408CA5EA04",
nonce="000562fdY631973ef04f77a3ede7c1832ff48720ef95ad", stale=FALSE, qop="auth"
The client calculates the digest authorization using information like username, password, nonce,
HTTP method and URI with MD5, and then sends it to server.
For example:
Definitions 5
Authorization: Digest username="admin", realm="DH_00408CA5EA04", nc=00000001,
cnonce="0a4f113b", qop="auth",
nonce="000562fdY631973ef04f77a3ede7c1832ff48720ef95ad",
uri="/cgi-bin/[Link]?action=getLanguageCaps",
response="65002de02df697e946b750590b44f8bf"
Definitions 6
4 General APIs
The requests specified in this section are supported by all video products.
General APIs 7
Syntax rtsp://<username>:<password>@<ip>:<port>/<filename>
Description Get specific file stream.
rtsp://admin:admin@[Link]:554//mnt/sd/2015-09-16/001/dav/20/20.32.08-20.32.
Example
28[M][0@0][0].dav
Success
media stream data
Return
It's similar with "4.1.1 Get Real-Time Stream".
Comment
filename: absolute path.
4.3 Audio
General APIs 8
Comment Above response means there are 2 audio input channels.
<Audio data>
<Audio data>
example:
POST /cgi-bin/[Link]?action=postAudio&httptype=multipart&channel=1 HTTP/1.1
Content-Type: multipart/x-mixed-replace; boundary=<boundary>
--<boundary>
Content-Type: Audio/G.711A
Content-Length: 800
<Audio data>
--<boundary>
General APIs 9
Success
OK
Return
Parameters in URL:
Comment
The paramName and paramValue are in the table below.
MIME Description
Audio/PCM PCM
Audio/ADPCM ADPCM
Audio/G.711A G.711 A Law
Audio/G.711Mu G.711 Mu Law
Audio/G.726 G.726
Audio/G.729 G.729
Audio/MPEG2 MPEG2
Audio/AMR AMR
Audio/AAC AAC
If the request was successful, the server returns a continuous flow of audio packets.
Example The content type is only set at the beginning of the connection.
Return:
HTTP Code: 200 OK
Content-Type: Audio/G.711A
Body:
<Audio data>
<Audio data>
General APIs 10
Example for multipart
The URL of Request a multipart, channel 1 audio stream(encoded with G.711 A-law) is:
[Link]
If the request was successful, the server returns a continuous flow of audio packets.
The content type is "multipart/x-mixed-replace" and each audio packet ends with a
boundary string.
Return:
HTTP Code: 200 OK
Content-Type: multipart/x-mixed-replace; boundary=<boundary>
--<boundary>
Content-Type: Audio/G.711A
Content-Length: 800
<Audio data>
--<boundary>
Success
OK
Return
Parameters in URL:
Comment
The paramName and paramValue are in the table below.
Appendix:
4.4 Snapshot
4.4.1 Snap
Get snap config
Table 4-9
Syntax [Link]
Method GET
Description Get snap config.
Example [Link]
[Link][0].HolidayEnable=false
[Link][0].TimeSection[0][0]=6 00:00:00-23:59:59
[Link][0].TimeSection[0][1]=0 00:00:00-23:59:59
Success [Link][0].TimeSection[0][2]=0 00:00:00-23:59:59
Return [Link][0].TimeSection[0][3]=0 00:00:00-23:59:59
[Link][0].TimeSection[0][4]=0 00:00:00-23:59:59
[Link][0].TimeSection[0][5]=0 00:00:00-23:59:59
[Link][0].TimeSection[1][0]=6 00:00:00-23:59:59
General APIs 11
[Link][0].TimeSection[1][1]=0 00:00:00-23:59:59
[Link][0].TimeSection[1][2]=0 00:00:00-23:59:59
[Link][0].TimeSection[1][3]=0 00:00:00-23:59:59
[Link][0].TimeSection[1][4]=0 00:00:00-23:59:59
[Link][0].TimeSection[1][5]=0 00:00:00-23:59:59
…
Response format:
table. Snap[channelNo].TimeSection[weekday][configNo]=1 00:00:00-23:59:59
channelNo: integer, array index starts from 0, which means video channel (equals to
Comment
video channel index -1, and so 0 means channel 1).
weekday: range is [0—6] (Sunday — Saturday).
configNo: the index of time section config. There are many time sections each day.
Set snap config
Table 4-10
[Link]
Syntax
alue>[&<paramName>=<paramValue>…]
Method GET
Description Set snap config.
[Link]
Example
[0][0]=1%2012:00:00-18:00:00
Success
OK
Return
In table below,
ch: integer, array index starts from 0, which means video channel (equals to video
Comment channel index -1, and so 0 means channel 1).
wd: week day index, range is [0—6] (Sunday — Saturday).
ts: time section index, starts from 0.
Appendix:
General APIs 12
4.4.2 Get a Snapshot
Table 4-11
Syntax [Link] [Link][?channel=<ChannelNo>]
Method GET
Description Get a snapshot of a video channel.
To get a snapshot of video channel 1, the URL can be
Example [Link] or
[Link]
Success
Image of jpg format.
Return
Comment ChannelNo: integer, video channel index which starts from 1, default 1 if not specified.
General APIs 13
ChannelNo: integer, video channel index which starts from 1, default 1 if not specified.
Heartbeat: integer,range is [1,60],unit is [Link] the URL contains this parameter,
and the value is 5, it means every 5 seconds the device should send the heartbeat
message to the client,the heartbeat meaage is the string "Heartbeat".
eventCode: it can be any one of the standard codes defined in DHIIF.
eventCode includes:
VideoMotion: motion detection event
VideoLoss: video loss detection event
VideoBlind: video blind detection event.
AlarmLocal: alarm detection event.
TrafficJunction: vehicle passing event
TrafficRetrograde: retrograde event
TrafficParking: illegal parking event
TrafficJam: traffic congestion event
TrafficThrow: throw something out of the car event
Comment TrafficPedestrain: pedestrain enter traffic lane(driverway) event
TrafficParkingSpaceParking: a vehicle in the parking space event
TrafficParkingSpaceNoParking: no vehicle in the parking space event
TrafficParkingSpaceOverLine: a vehicle over the parking line event
TrafficManualSnap: manual snapshot event
TrafficSuspiciousCar: when the vehicle is in the blacklist, it wiil produce this event.
FaceRecognition: face recognition event.
Also, the eventCode can be All
All means all kinds of the eventcode.
Parameters in Response:
GroupID: string, the ID of the snapshot event
CountInGroup: integer, the number of the snapshots
IndexInGroup: integer, the index of the snapshots. For example, the CountInGroup is
3, the IndexInGroup is 1,it means there are 3 pictures in this snapshot event, and this is
the first picture.
General APIs 14
4.5.2 Video Color Config
Get video color config
Table 4-14
Syntax [Link]
Method GET
Description Get video color config.
Example [Link]
Success head. Brightness=50
Return head. Contrast=50
head. Hue=50
head. Saturation=50
head. TimeSection=1 00:00:00-24:00:00
Comment Parameters in Response:
head= [Link][ChannelNo][ColorConfigNo]
ChannelNo: integer, array index starts from 0, which means video channel (equals to
video channel index -1, and so 0 means channel 1).
colorConfigNo: color config index.
0 = Color Config 1
1 = Color Config 2
…
Set video color config
Table 4-15
[Link]
Syntax
alue>[&<paramName>=<paramValue>…]
Method GET
Description Set video color config.
[Link]
Example
htness=50
Success
OK
Return
In table below, head=VideoColor[ChannelNo][ColorConfigNo]
ChannelNo: integer, array index starts from 0, which means video channel (equals to
video channel index -1, and so 0 means channel 1).
Comment colorConfigNo: color config index,
0 = Color Config 1
1 = Color Config 2
…
Appendix:
General APIs 15
ParamName ParamValue type Description
head.
integer Saturation
Saturation
Effective time for this video color config.
Format is: mask starttime endtime
Mask range is {0, 1}.
Mask 0 —this video config is not effective
Mask 1 —this config is effective
head.
string Starttime/Endtime format like 11:00:00.
TimeSection
Example:
0 01:00:00-02:00:00, means this config is not effective.
1 01:00:00-02:00:00, means this config is effective between
01:00:00 and 02:00:00
General APIs 16
[Link]=448,2560
[Link]=H.264,MJPG
[Link]=25
[Link]=2048 x 1536,1080,SXGA, 1280 x 960,720,D1,CIF
Success [Link]=80,448
Return [Link]=H.264,MJPG
[Link]=25
[Link]=D1,CIF
[Link]=H.264,MJPG
[Link]=2048 x 1536,1080,SXGA, 1280 x 960,720,D1,CIF
Parameters in URL:
ChannelNo: integer,video channel index which starts from [Link] is a optional parameter, if
it is not present in the URL, the value of the channelno will be regarded as 1.
The description of <paramName> and <paramValue> is the same as 4.5.5(Set encode
config).
Parameters in Response:
headMain= caps[Channel].MainFormat[RecordType]
headExtra = caps[Channel].ExtraFormat[ExtraStream]
headSnap = caps[Channel].SnapFormat[SnapType]
Channel: integer, array index starts from 0, which means video channel (equals to video
channel index ChannelNo -1, and so 0 means channel 1).
Comment
RecordType:
0 = regular record
1 = motion detection record
2 = alarm record
ExtraStream:
0 = extra stream 1
1 = extra stream 2
2 = extra stream 3
SnapType:
0 = regular snapshot
1 = motion detection snapshot
2 = alarm snapshot
General APIs 17
Field in response Value range Description
To video, it contains all supported video compression types,
separated by comma. Range is {MPEG4, MPEG2, MPEG1,
MJPG, H.263, H.264, H.265}.
CompressionTypes string To audio, it contains all supported audio compression types,
separated by comma.
Range is {PCM, ADPCM, G.711A, G.711Mu, G.726, G.729,
MPEG2, AMR}
FPSMax integer Maximum FPS.
It contains all supported video resolutions.
ResolutionTypes string
Range is in below Resolution list.
General APIs 18
Fixed Resolution Name Size in PAL Size in NTSC
"3M", "2048x1536" 2048 x 1536 (3 Mega Pixels) —
"5_0M", "2432x2048" 2432 x 2048 (5 Mega Pixels) —
"1_2M", "1216x1024" 1216 x 1024 (1.2 Mega Pixels) —
"1408x1024" 1408 x 1024 (1.5 Mega Pixels) —
"3296x2472" 3296 x 2472 (8 Mega Pixels) —
"5_1M", "2560x1920" 2560 x 1920 (5 Mega Pixels) —
"960H", 960 x 576 960 x 480
"DV720P" 960 x 720 —
"2560x1600" 2560 x 1600 (4 Mega Pixels) —
"2336x1752" 2336 x 1752 (4 Mega Pixels) —
"2592x2048" 2592 x 2048 —
"2448x2048" 2448 x 2048 —
"1920x1440" 1920x1440 —
"2752x2208" 2752x2208 —
"3840x2160" 3840x2160 —
"4096x2160" 4096x2160 —
"3072x2048" 3072x2048 —
Table 4-18
Syntax [Link]
Method GET
Description Get video encode config.
Example [Link]
[Link][0].MainFormat[0].[Link]=64
[Link][0].MainFormat[0].[Link][0]=0
[Link][0].MainFormat[0].[Link]=G.711A
[Link][0].MainFormat[0].[Link]=16
[Link][0].MainFormat[0].[Link]=8000
[Link][0].MainFormat[0].[Link]=0
Success
[Link][0].MainFormat[0].[Link]=DHAV
Return
[Link][0].MainFormat[0].AudioEnable=true
[Link][0].MainFormat[0].[Link]=1920x1080
[Link][0].MainFormat[0].[Link]=4096
[Link][0].MainFormat[0].[Link]=CBR
[Link][0].MainFormat[0].[Link]=H.264
[Link][0].MainFormat[0].[Link]=1080P
General APIs 19
[Link][0].MainFormat[0].[Link]=18
[Link][0].MainFormat[0].[Link]=36
[Link][0].MainFormat[0].[Link]=1080
[Link][0].MainFormat[0].[Link]=DHAV
[Link][0].MainFormat[0].[Link]=High
[Link][0].MainFormat[0].[Link]=4
[Link][0].MainFormat[0].[Link]=6
[Link][0].MainFormat[0].[Link]=1
[Link][0].MainFormat[0].[Link]=1920
[Link][0].MainFormat[0].VideoEnable=true
[Link][0].MainFormat[1].[Link]=64
[Link][0].MainFormat[1].[Link][0]=0
[Link][0].MainFormat[1].[Link]=G.711A
[Link][0].MainFormat[1].[Link]=16
[Link][0].MainFormat[1].[Link]=8000
[Link][0].MainFormat[1].[Link]=0
[Link][0].MainFormat[1].[Link]=DHAV
[Link][0].MainFormat[1].AudioEnable=true
[Link][0].MainFormat[1].[Link]=1920x1080
[Link][0].MainFormat[1].[Link]=4096
[Link][0].MainFormat[1].[Link]=CBR
[Link][0].MainFormat[1].[Link]=H.264
[Link][0].MainFormat[1].[Link]=1080P
[Link][0].MainFormat[1].[Link]=18
[Link][0].MainFormat[1].[Link]=36
[Link][0].MainFormat[1].[Link]=1080
[Link][0].MainFormat[1].[Link]=DHAV
[Link][0].MainFormat[1].[Link]=High
[Link][0].MainFormat[1].[Link]=4
[Link][0].MainFormat[1].[Link]=6
[Link][0].MainFormat[1].[Link]=1
[Link][0].MainFormat[1].[Link]=1920
[Link][0].MainFormat[1].VideoEnable=true
[Link][0].MainFormat[2].[Link]=64
[Link][0].MainFormat[2].[Link][0]=0
[Link][0].MainFormat[2].[Link]=G.711A
[Link][0].MainFormat[2].[Link]=16
[Link][0].MainFormat[2].[Link]=8000
[Link][0].MainFormat[2].[Link]=0
[Link][0].MainFormat[2].[Link]=DHAV
[Link][0].MainFormat[2].AudioEnable=true
[Link][0].MainFormat[2].[Link]=1920x1080
[Link][0].MainFormat[2].[Link]=4096
[Link][0].MainFormat[2].[Link]=CBR
[Link][0].MainFormat[2].[Link]=H.264
[Link][0].MainFormat[2].[Link]=1080P
[Link][0].MainFormat[2].[Link]=18
General APIs 20
[Link][0].MainFormat[2].[Link]=36
[Link][0].MainFormat[2].[Link]=1080
[Link][0].MainFormat[2].[Link]=DHAV
[Link][0].MainFormat[2].[Link]=High
[Link][0].MainFormat[2].[Link]=4
[Link][0].MainFormat[2].[Link]=6
[Link][0].MainFormat[2].[Link]=1
[Link][0].MainFormat[2].[Link]=1920
[Link][0].MainFormat[2].VideoEnable=true
[Link][0].MainFormat[3].[Link]=64
[Link][0].MainFormat[3].[Link][0]=0
[Link][0].MainFormat[3].[Link]=G.711A
[Link][0].MainFormat[3].[Link]=16
[Link][0].MainFormat[3].[Link]=8000
[Link][0].MainFormat[3].[Link]=0
[Link][0].MainFormat[3].[Link]=DHAV
[Link][0].MainFormat[3].AudioEnable=true
[Link][0].MainFormat[3].[Link]=704x576
[Link][0].MainFormat[3].[Link]=2048
[Link][0].MainFormat[3].[Link]=VBR
[Link][0].MainFormat[3].[Link]=H.264
[Link][0].MainFormat[3].[Link]=25
[Link][0].MainFormat[3].[Link]=50
[Link][0].MainFormat[3].[Link]=576
[Link][0].MainFormat[3].[Link]=DHAV
[Link][0].MainFormat[3].[Link]=Main
[Link][0].MainFormat[3].[Link]=4
[Link][0].MainFormat[3].[Link]=6
[Link][0].MainFormat[3].[Link]=1
[Link][0].MainFormat[3].[Link]=704
[Link][0].MainFormat[3].VideoEnable=true
[Link][0].ExtraFormat[0].[Link]=64
…
[Link][0].SnapFormat[0].[Link]=64
…
General APIs 21
Parameters in Response:
The format of the config is [Link]. The head can be:
headMain= table. Encode[Channel].MainFormat[Type]
headSnap = table. Encode[Channel].SnapFormat[Type]
headExtra =table. Encode[Channel].ExtraFormat[ExtraStream]
Channel: integer, array index starts from 0, which means video channel (equals to video
channel index -1, and so 0 means channel 1).
Type:
Comment
0 = regular encode
1 = motion detection encode
2 = alarm encode
3= emergency encode
ExtraStream:
0 = extra stream 1
1 = extra stream 2
2 = extra stream 3
The configItems are list as bellow.
Set encode config
Table 4-19
[Link]
Syntax
alue>[&<paramName>=<paramValue>...]
Method GET
Description Set encode config.
[Link]
Example
at[0].[Link]=MPEG4&
Success
OK
Return
Parameters in URL:
In table below,
head=Encode[Channel].MainFormat[RecordType] (or)
Encode[Channel].ExtraFormat[ExtraStream]
Channel: integer, array index starts from 0, which means video channel(equals to video
channel index -1, and so 0 means channel 1).
Comment RecordType:
0 = regular record
1 = motion detection record
2 = alarm record
ExtraStream:
0 = extra stream 1
1 = extra stream 2
2 = extra stream 3
General APIs 22
ParamName ParamValue type Description
Unit is Kbps
[Link] integer
Range depends on capability in GetVideoConfigCaps
Range is {CBR, VBR}
[Link] string CBR: constant bitrates
VBR: variable bitrates
Range is {MPEG4, MPEG2, MPEG1, MJPG, H.263,
[Link] String H.264, H.265}
Depends on capacity in GetVideoConfigCaps
Range is [0.2—30].
Frames per second.
<1.0: several seconds/frame, FPS=0.3333: 3 seconds
[Link] float
per frame.
>1.0: several frames/second. FPS=3: 3 frames per
second.
Range is [1—100].
Group of picture, it's the interval of I Frame,
[Link] integer
Example: GOP=50, means there is one I frame every
49 P or B frames
[Link] integer Video height
[Link] integer Video Width
Range is { Baseline, Main , Extended , High }
[Link] String
Only when video compression is H.264, it's effective.
Range is [1—6].
Image Quality, available when
[Link] integer [Link]=VBR
1: worst quality
6: best quality
[Link] bool True: enable video
General APIs 23
ParamName ParamValue type Description
Range is {0,1,2,3,4,5,6,7}
Audio encode mode.
0: 4.75kbps,
1: 5.15 kbps,
2: 5.9 kbps,
[Link] integer
3: 6.7 kbps,
4: 7.4 kbps,
5: 7.95 kbps,
6: 10.2 kbps,
7: 12.2 kbps,
[Link] bool Enable/Disable audio
Table 4-20
Syntax [Link]
Method GET
Description Get video encode config of region interested.
[Link]
Example
ROI
Success
[Link]=false
Return
Parameters in Response:
head=[Link][ChannelNo]
Comment
ChannelNo: integer, array index starts from 0, which means video channel (equals to
video channel index -1, and so 0 means channel 1).
Set encode config of region interested
Table 4-21
[Link]
Syntax
alue>[&<paramName>=<paramValue>…]
Method GET
Description Set video encode config of region interested.
[Link]
Example
DynamicTrack=true
Success
OK
Return
Parameters in URL:
paramName and paramValue are as table below.
In table below,
Comment
head = VideoEncodeROI[ChannelNo]
ChannelNo: integer, array index starts from 0, which means video channel(equals to
video channel index -1, and so 0 means channel 1).
Appendix:
General APIs 24
ParamName ParamValue type Description
head. DynamicTrack bool Enable/Disable
Table 4-22
Syntax [Link]
Method GET
Description Get the title of the video channel.
Example [Link]
Success
[Link][Channel].Name=CAM1|123
Return
Parameters in Response:
Channel: integer, array index starts from 0, which means video channel (equals to
Comment
video channel index -1, and so 0 means channel 1).
Name: string, which means title content. character '|' means newlines.
Set channel title
Table 4-23
[Link]
Syntax
alue>
Method GET
Description Set the title of the channel.
[Link]
Example
e= test1|test2
Success
OK
Return
If VideoWidget[Channel].[Link] is true, this title is blended to the
video frames.
Please refer to SetVideoWidgetConfig.
Parameters in URL:
Channel Name Format:
Comment
ChannelTitle[Channel].Name
Channel: integer, array index starts from 0, which means video channel(equals to video
channel index -1, and so 0 means channel 1).
Name: string, which means title content. Character '|' means newlines.
General APIs 25
Description Get the video input channel numbers.
Example [Link]
Success
result=1
Return
Comment —
Table 4-27
Syntax [Link]
Method GET
Description Get video standard config.
Example [Link]
d
Success [Link]=PAL
Return
Comment —
Set video standard
Table 4-28
Syntax [Link]
General APIs 26
alue>
Method GET
Description Set video standard config.
Example [Link]
Success OK
Return
Comment VideoStandard: string, range is {PAL, NTSC} Video Standard.
Table 4-29
Syntax [Link]
Method GET
Description Video widget config contains Channel Title, User-defined Title, Covers and Time Title
parameters, defines the background color, front color and positions of channel title and
time title, User-defined title and defines the regions which are not visible (cover).
Example [Link]
Success [Link][0]=0
Return [Link][1]=0
[Link][2]=0
[Link][3]=128
[Link]=true
[Link][0]=255
[Link][1]=255
[Link][2]=255
[Link][3]=0
[Link][0]=0
[Link][1]=8191
[Link][2]=0
[Link][3]=8191
…
Comment Parameters in Response:
head=[Link][Channel].ChannelTitle (or)
[Link][Channel].Covers[CoReg] (or)
[Link][Channel].TimeTitle
[Link][Channel].UserDefinedTitle[Index]
Channel: integer, array index starts from 0, which means video channel (equals to
video channel index -1, and so 0 means channel 1).
CoReg: Cover Region, Covers is an array which sustains multi- Cover regions
0 = region 1
1 = region 2
2 = region 3
3 = region 4
Index: integer, User-defined title index, now only index 0 is valid, others are reserved.
General APIs 27
Set video widget config
Table 4-30
[Link]
Syntax
alue>[&<paramName>=<paramValue>…]
Method GET
Description Set video widget config.
[Link]
Example ers[0].BackColor[0]=128&VideoWidget[1].Covers[0].BackColor[1]=128&VideoWidget[1]
.Covers[0].BackColor[2]=128&VideoWidget[1].Covers[0].BackColor[3]=0
Success
OK
Return
Parameters in URL:
In table below,
headChannelTitle = VideoWidget[Channel].ChannelTitle
headCover = VideoWidget[Channel].Covers[CoReg]
headTimeTitle = VideoWidget[Channel].TimeTitle
headUserDefinedTitle = VideoWidget[Channel].UserDefinedTitle[Index]
Comment Channel: integer, array index starts from 0, which means video channel(equals to video
channel index -1, and so 0 means channel 1).
CoReg: Cover region index. Covers is an array which contains multiple cover regions
0 = region 1
1 = region 2
2 = region 3
3 = region 4
Index: integer, User-defined title index, now only index 0 is valid, others are reserved.
Appendix:
General APIs 28
ParamName ParamValue type Description
[Link][0]
[Link][1]
integer
[Link][2]
[Link][3]
[Link] bool Range is the same with headCover.
[Link][0]
[Link][1]
integer
[Link][2]
[Link][3]
Only use the value of (left, top),the value
[Link][0]
of (right, bottom) is the same as (left, top)
[Link][1]
integer Rect[0], Rect[1] are used, and Rect[2]
[Link][2]
must be same with Rect[0], Rect[3] must
[Link][3]
be same with Rect[1].
Title content. Character '|' means
[Link] string newlines.
Limit: Support 2 lines at most.
[Link] integer Range is the same with
[Link][0] headChannelTitle
[Link][1] These are configs about User-defined
integer
[Link][2] title.
[Link][3]
[Link] bool
[Link][0]
[Link][1]
integer
[Link][2]
[Link][3]
[Link][0]
[Link][1]
integer
[Link][2]
[Link][3]
[Link][0]
[Link][1]
integer
[Link][2]
[Link][3]
[Link] bool
[Link][0] Range is the same with
[Link][1] headChannelTitle.
integer
[Link][2] These are configs about time title.
[Link][3]
[Link][0]
[Link][1]
integer
[Link][2]
[Link][3]
[Link] bool True: Display week within the time title.
General APIs 29
4.5.13 Get Video Input Capability
Table 4-31
Syntax [Link]
Method GET
Description Get video input capabilities.
Example [Link]
caps. AutoSyncPhase=false
caps. Backlight=2
caps. BrightnessCompensation=true
caps. ChipID=0
caps. CoverCount=4
caps. CoverType=1
caps. CustomManualExposure=true
caps. DayNightColor=true
caps. DayNightColorIO=0
caps. DoubleExposure=0
caps. DownScaling=false
caps. EEModeRange=100
caps. ElectricFocus=false
caps. Exposure=16
caps. ExposureMode=31
caps. ExternalSyncInput=0
caps. FishEye=false
caps. FlashAdjust=false
caps. Flip=true
Success
caps. FormatCount=5
Return
caps. Gain=true
caps. GainAuto=true
caps. Gamma=true
caps. GammaModeRange=100
caps. GlareInhibition=1
caps. HorizontalBinning=0
caps. IRCUT=true
caps. [Link][0]=0
caps. [Link][1]=100
caps. [Link]=true
caps. InfraRed=true
caps. Iris=true
caps. IrisAuto=true
caps. LadenBitrate=972000
caps. LimitedAutoExposure=true
caps. MaxExposureTime=300
caps. MaxExposureTime1=0
caps. MaxHeight=1080
caps. MaxMultiProfile=3
General APIs 30
caps. MaxWidth=1920
caps. MeteringRegionCount=0
caps. MinExposureTime=1
caps. MinExposureTime1=0
caps. Mirror=true
caps. MultiOptions=false
caps. NightOptions=true
caps. ReferenceLevel=false
caps. Rotate90=true
caps. SetColor=true
caps. SignalFormats=Inside
caps. SignalType[0]=VGA
caps. SnapshotExposure=false
caps. SupportProfile=false
caps. SupportWhiteLevel=true
caps. SupportWriteLevel=false
caps. SyncChipChannels=false
caps. SyncFocus=0
caps. TitleCount=4
caps. TridimDenoise=2
caps. TridimDenoiseDetails=0
caps. UTC=0
caps. UpScaling=false
caps. Version=0
caps. VerticalBinning=0
caps. [Link][0]=0
caps. [Link][1]=100
caps. [Link]=true
caps. [Link][0]=0
caps. [Link][1]=100
caps. [Link]=true
caps. [Link]=true
caps. WhiteBalance=3
caps. WideDynamicRange=1
Parameters in URL:
ChannelNo: integer, video channel index which starts from 1.
Comment
Parameters in Response:
see table below
Appendix:
General APIs 31
Field in response Value type Description
CustomManualExposur
bool, true: support use defined manual exposure time
e
DayNightColor bool true: support color alternate between day and night.
DownScaling bool true: support down scaling, binning mode not included.
Exposure integer Exposure grade. 0 — don't support exposure control.
ExternalSyncInput bool true: support HD signal external synchronization.
FlashAdjust bool true: support flash adjust
Flip bool true: support picture flip.
Gain bool true: support gain control.
GainAuto bool true: support auto gain.
HorizontalBinning integer Horizontal/Vertical pixel binning mask,
1 — support 2 pixel binning,
2 — support 3 pixel binning
VerticalBinning integer 4 — support 4 pixel binning
…
2^n — support n+2 pixel binning
InfraRed bool true: support Infra compensation
Iris bool true: support Iris adjust
IrisAuto bool true: support auto Iris adjust
Unit is Kbps.
LadenBitrate integer Maximum value of video stream bitrates, 16bpp, not in
binning mode.
LimitedAutoExposure bool true: support auto exposure with time limit.
MaxHeight integer Maximum video height
MaxWidth integer Maximum video width
Mirror bool true: support picture mirror.
NightOptions bool true: support night options.
ReferenceLevel bool true: support reference level.
Rotate90 bool true: support clockwise/anticlockwise 90°rotate
SetColor bool true: support color set.
It's a string contains supported video input signal formats
for this channel. Signal formats are separated by comma.
Range is {Inside, BT656, 720p, 1080p, 1080i, 1080sF,
SignalFormats string 1_3M}
General APIs 32
Field in response Value type Description
Range is {0, 1, 2, 3}
0: don't support white balance.
1: support auto white balance
WhiteBalance integer
2: support auto and pre defined white balance.
3: support auto, pre defined and user defined white
balance
General APIs 33
Parameters in URL:
focusNo: float, the range is -1 < focus < 1; 0 means stop.
zoomNo: float, the range is -1 < zoom < 1; 0 means stop.
ChannelNo: integer, video channel index which starts from 1.
The value means the moving speed of motor lens, positive value means move forwards,
Comment
negative value means move backwards.
This command is used to drive the lens move continuously, until it reaches end.
When the motor is moving, you can send this command again with "focus" or "zoom"
parameter as 0 to stop it immediately.
In this command, when you adjust the focus parameter, the zoom parameter should be
-1, and the focus parameter should be -1 when adjust the zoom parameter.
General APIs 34
Method GET
Description Get the coordinates of the current window.
Example [Link]
rect[0]=500
Success rect[1]=500
Return rect[2]=5000
rect[3]=5000
Parameters in URL:
ChannelNo: integer, video channel index which starts from 1.
Comment Parameters in Response:
rect[n] : relative coordinates, range is 0-8192.{0,0,0,0} top-left,
{8192,0,0,0} top-right, {0,8192,0,0} bottom-left, {8192,8192,0,0} bottom-right
Table 4-38
Syntax [Link]
Method GET
Get video in options config, such as Backlight, ExposureSpeed, DayNightColor,
Description
DayOptions, NightOptions, and NormalOptions.
[Link]
Example
ns
head. Backlight=0
head. DayNightColor=false
head. ExposureSpeed=0
Success
head. ExposureValue1=0.100000
Return
head. ExposureValue2=80.000000
head. ExternalSync=0
head. ExternalSyncPhase=0
General APIs 35
head. [Link]=0
head. [Link]=0
head. [Link]=0
head. [Link]=0
head. Flip=false
head. Gain=50
head. GainAuto=true
head. IrisAuto=false
head. Mirror=false
head. [Link]=0
head. [Link]=0
head. [Link][0]=3096
head. [Link][1]=3096
head. [Link][2]=5096
head. [Link][3]=5096
head. [Link]=50
head. [Link]=2
head. [Link]=0
head. [Link]=0
head. NightOptions.ExposureValue1=0
head. NightOptions.ExposureValue2=40
head. [Link]=125
head. [Link]=false
head. [Link]=50
head. [Link]=true
head. [Link]=50
head. [Link]=50
head. [Link]=50
head. [Link]=0
head. [Link]=50
head. [Link]=0
head. [Link]=true
head. [Link]=false
head. [Link]=3
head. [Link]=50
head. NightOptions.Rotate90=0
head. [Link]=0
head. [Link]=0
head. [Link]=0
head. [Link]=23
head. [Link]=59
head. [Link]=59
head. [Link]=4
head. [Link]=Auto
head. [Link]=0
head. [Link]=0
head. [Link]=0
General APIs 36
head. [Link]=0
head. [Link][0]=3096
head. [Link][1]=3096
head. [Link][2]=5096
head. [Link][3]=5096
head. [Link]=50
head. [Link]=1
head. [Link]=0
head. [Link]=0
head. NormalOptions.ExposureValue1=0
head. NormalOptions.ExposureValue2=40
head. [Link]=125
head. [Link]=false
head. [Link]=50
head. [Link]=true
head. [Link]=50
head. [Link]=50
head. [Link]=50
head. [Link]=0
head. [Link]=50
head. [Link]=0
head. [Link]=true
head. [Link]=false
head. [Link]=0
head. [Link]=50
head. NormalOptions.Rotate90=0
head. [Link]=0
head. [Link]=0
head. [Link]=0
head. [Link]=23
head. [Link]=59
head. [Link]=59
head. [Link]=0
head. ReferenceLevel=50
head. ReferenceLevelEnable=false
head. Rotate90=0
head. SignalFormat=BT656
head. WhiteBalance=Disable
Parameters in Response:
head = [Link][ChannelNo]
Comment
ChannelNo: integer, array index starts from 0, which means video channel (equals to
video channel index -1, and so 0 means channel 1).
Set video in options
Table 4-39
[Link]
Syntax
alue>[&<paramName>=<paramValue>…]
General APIs 37
Method GET
Set video in options config, such as Backlight, ExposureSpeed, DayNightColor,
Description
DayOptions, NightOptions, and NormalOptions.
Set Auto Exposure:
[Link]
xposureMode=0&VideoInOptions[0].ExposureSpeed=0
Set Manual:
[Link]
xposureMode=4&VideoInOptions[0].ExposureSpeed=32&VideoInOptions[0].GainMin=
0&VideoInOptions[0].GainMax=50&VideoInOptions[0].ExposureValue1=40&VideoInOp
tions[0].ExposureValue2=40
Set SmartIRExposure:
Example
[Link]
martIRExposure=true
General APIs 38
[Link]
hiteBalance=Custom )
Success
OK
Return
Parameters in URL:
In table below, head =VideoInOptions[ChannelNo]
Comment
ChannelNo: integer, array index starts from 0, which means video channel (equals to
video channel index -1, and so 0 means channel 1).
Appendix:
General APIs 39
ParamName ParamValue type Description
Range is [0°—360°]
head. ExternalSyncPhase integer
External Synchronous Signal Phase
head. SmartIRExposure bool true: enable, false: disable
Range is {0,1,2}
0: forbid flash
head. [Link] integer
1: always flash
2: auto flash
Range is {0,1, 2, 3}
Trigger mode:
0: low level
head. [Link] integer
1: high level
2: rising-edge
3: falling-edge
Range is [0—15]
Flashlight time-unit:
0: 0us,
1: 64us,
head. [Link] integer
2: 128us,
3: 192us
…
15 - 960us
Range is [0—100]
It is threshold of brightness value: if brightness
head. [Link] integer
is less than this value, flash light will begin to
work.
true: enable video flip function
head. Flip bool
false: disable video flip function
Range is [0—100]
head. Gain integer If GainAuto is true, it's upper limit of auto gain,
else it's the fixed gain adjust value.
Range is [0—100]
head. GainBlue integer Gain for blue value, Value is effective when
WhiteBalance is "Custom."
Range is [0—100]
head. GainRed integer Gain for red value, Value is effective when
WhiteBalance is "Custom."
Range is [0—100]
head. GainGreen integer Gain for green value, Value is effective when
WhiteBalance is "Custom."
true: GainAuto
head. GainAuto bool
false: No GainAuto
true: IrisAuto
head. IrisAuto bool
false: No IrisAuto
true: enable video mirror function
head. Mirror bool
false: disable video mirror function
General APIs 40
ParamName ParamValue type Description
White balance Mode.
Range is {Disable, Auto, Custom, Sunny,
Cloudy, Home, Office, Night}
Some IPC supports common modes:
"Disable", "Auto", "Sunny", "Night", "Outdoor",
head. WhiteBalance String "Custom"
Sometimes the device support other
advanced modes:
"CustomColorTemperature", "Indoor", "ATW",
"Manual", "AutoOutdoor", "ManualDatum" and
so on.
Range is [0—100]
head. ReferenceLevel integer The expected average brightness level of
video frames.
Range is {0,1,2}
Video rotation:
head. Rotate90 integer 0: No rotate
1: clockwise rotate 90°
2: anticlockwise rotate 90°
Range is {Inside, BT656, 720p, 1080p, 1080i,
head. SignalFormat String 1080sF}
Input Signal Mode
Range is {0,1,2}
AntiFlicker mode:
head. AntiFlicker integer 0: Outdoor
1: 50 Hz AntiFlicker
2: 60 Hz AntiFlicker
Range is [0—100]
head. GlareInhibition integer GlareInhibition:
0: Close GlareInhibition.
NightOptions contain a set of parameters
used when brightness is not enough.
head.
Range is [0—100]
[Link] integer
when brightness is less than the
shold
BrightnessThreshold, parameters change to
Nightoptions.
true: IrisAuto
head. [Link] bool
false: No IrisAuto
head. Range is [00—23]
integer
[Link] Sunrise hour.
head. Range is [00—59]
integer
[Link] Sunrise minute
head. Range is [00—59]
integer
[Link] Sunrise second
head. Sunset time. Its range is same with sunrise
integer
[Link] time, and it should be after sunrise time.
General APIs 41
ParamName ParamValue type Description
head. NightOptions are used if time is after sunset
integer
[Link] time and before sunrise time.
head.
integer
[Link]
Range is {0,1,2}
0: NoSwitch, always use day options.
1: Switch depends on brightness.
head. 2: Switch depends on time, switch to
integer
[Link] NightOptions when time is after sunset time
and before sunrise.
3: NoSwitch, always use NightOptions.
4: No switch, always use NormalOptions.
Range is {0,1,2,3}
0: use temporary day options.
1: use temporary NightOptions.
head. [Link] integer
2: use temporary NormalOptions.
3: depends on
[Link]
head.
integer
[Link]
head.
[Link] float
1
head.
[Link] float
2
head. [Link] integer
head. [Link] bool
head. [Link] integer Range is the same as relevant items of day
head. options in this table.
integer
[Link] Example:
head. [Link] integer Value range of
head. [Link] is the
String
[Link] same with head. ExposureSpeed.
head.
integer
[Link]
head.
[Link] integer
hase
head.
integer
[Link]
head. [Link] integer
head.
integer
[Link]
General APIs 42
ParamName ParamValue type Description
head.
integer
[Link]
head.
integer
[Link]
head. [Link] integer
head. [Link] integer
head. NightOptions.Rotate90 integer
head.
[Link] integer
eshold
head.
bool
[Link]
head.
integer
[Link]
head.
[Link] integer
e
head.
[Link] integer
nd
head.
integer
[Link]
head.
integer
[Link]
head. NomalOptions contain a set of parameters
[Link] integer similar with NightOptions.
d Range is the same as relevant items of
head. NightOptions in this table.
[Link] integer
ed
head.
[Link] float
e1
head.
[Link] float
e2
head. [Link] integer
head.
bool
[Link]
head.
integer
[Link]
head.
integer
[Link]
head.
integer
[Link]
General APIs 43
ParamName ParamValue type Description
head.
String
[Link]
head.
[Link] integer
vel
head.
[Link] integer
Phase
head.
integer
[Link]
head.
integer
[Link]
head.
[Link] integer
r
head.
[Link] integer
e
head.
[Link] integer
n
head. [Link] integer
head. [Link] integer
head.
integer
NormalOptions.Rotate90
Table 4-40
Syntax [Link]
Method GET
Description Get video out config.
Example [Link]
[Link][0]=0
[Link][1]=0
[Link][2]=0
[Link][3]=0
[Link]=50
Success
[Link]. Contrast =50
Return
[Link]. Satuation =50
[Link]. Hue =50
[Link]. Width =800
[Link]. Height=600
[Link]. BPP =16
General APIs 44
[Link]. Format ="Auto"
[Link]. RefreshRate =60
…
Parameters in Response:
head = [Link][ChannelNo].
Comment
ChannelNo: integer, array index starts from 0, which means video channel (equals to
video channel index -1, and so 0 means channel 1).
Set video out config
Table 4-41
[Link]
Syntax
alue>[&<paramName>=<paramValue>…]
Method GET
Description Set video out config.
[Link]
Example
[Link]=50
Success
OK
Return
Parameters in URL:
In table below,
Comment head = [Link][ChannelNo].
ChannelNo: integer, array index starts from 0, which means video channel (equals to
video channel index -1, and so 0 means channel 1).
Appendix:
Table 4-42
Syntax [Link]
Method GET
General APIs 45
Description Get smart code config.
Example [Link]
Success [Link]=false
Return [Link][0]=false
Parameters in Response:
head = [Link][ChannelNo].
Comment
ChannelNo: integer, array index starts from 0, which means video channel (equals to
video channel index -1, and so 0 means channel 1).
Set Smart Code config
Table 4-43
[Link]
Syntax
alue>[&<paramName>=<paramValue>…]
Method GET
Description Set smart code config.
[Link]
Example
ale=true
Success
OK
Return
Parameters in URL:
In table below,
Comment head = SmartEncode[ChannelNo].
ChannelNo: integer, array index starts from 0, which means video channel(equals to
video channel index -1, and so 0 means channel 1).
Appendix:
4.6 System
4.6.1 General
Get general config
Table 4-44
Syntax [Link]
Method GET
Description Get general config.
Example [Link]
[Link]=Test001
Success [Link]=8
Return [Link]="binjiangqv jiangnandadao weiyelu"
[Link]="jiaojing yidui
Comment —
Set general config
General APIs 46
Table 4-45
[Link]
Syntax
alue>[&<paramName>=<paramValue>…]
Method GET
Description Set general config.
[Link]
Example
me=MyIPC
Success
OK
Return
Comment —
Appendix:
4.6.4 Locales
Get locales config
General APIs 47
Table 4-48
Syntax [Link]
Method GET
Description Get locales config
Example [Link]
[Link]=false
[Link]=1
[Link]=0
[Link]=0
[Link]=1
[Link]=2
Success [Link]=2011
Return [Link]=0
[Link]=0
[Link]=0
[Link]=1
[Link]=1
[Link]=2011
[Link]=yyyy-MM-dd HH:mm:ss
Comment —
Set locales config
Table 4-49
[Link]
Syntax
alue>[&<paramName>=<paramValue>…]
Method GET
Description Set Locales config.
[Link]
Example
=false
Success
OK
Return
Comment —
Appendix:
General APIs 48
ParamName ParamValue type Description
Range is {1, 2, 3, 4, -1, 0}.
0 = Use month day
[Link] Integer [1, 2, 3, 4, -1]: use week day.
1 = first week, 2 = second, 3 = third, 4 = fourth, -1 =
last.
[Link] Integer Range is [2000-2038]
[Link]
[Link]
Range is the same with items in [Link].
[Link]
Integer [Link] table and [Link] table
[Link]
define the time range of DST.
[Link]
[Link]
Defines time format displayed in video time title.
String form is: year-month-day hour:mm:ss.
Position of year, month and day can be exchanged.
Example:
yyyy-MM-dd HH:mm:ss or
MM-dd-yyyy HH:mm:ss or
dd-M-yy hh:mm:ss
General APIs 49
4.6.6 Language
Get language config
Table 4-51
Syntax [Link]
Method GET
Description Get system language config.
Example [Link]
Success
[Link]=SimpChinese
Return
Comment —
Set language config
Table 4-52
[Link]
Syntax
alue>[&<paramName>=<paramValue>…]
Method GET
Description Set system language config.
[Link]
Example
nese
Success
OK
Return
Comment NOTE: After changing language setting, system will automatically reboot!
Appendix:
Appendix:
General APIs 50
ParamName ParamValue type Description
[Link][index] string Banned IP address list
[Link][index] string Trusted IP address list
[Link] bool Enable/Disable access filter function
Range is {TrustList, BannedList},
TrustList: Trust list is used, banned list
[Link] string is not used.
BannedList: Banned list is used, trust
list is not used.
Table 4-54
Syntax [Link]
Method GET
Description Get Auto Maintain config.
Example [Link]
[Link]. AutoRebootDay=3
[Link]. AutoRebootHour=0
[Link]. AutoRebootMinute=0
[Link]. AutoShutdownDay=1
Success
[Link]. AutoShutdownHour=0
Return
[Link]. AutoShutdownMinute=0
[Link]. AutoStartUpDay=1
[Link]. AutoStartUpHour=2
[Link]. AutoStartUpMinute=0
Comment —
Set auto maintain config
Table 4-55
[Link]
Syntax
alue>[&<paramName>=<paramValue>…]
Method GET
Description Set auto maintain config.
[Link]
Example
ebootDay=7
Success
OK
Return
Comment —
Appendix:
General APIs 51
ParamName ParamValue type Description
Range is [-1—7].
Auto restart day.
AutoMaintain. AutoRebootDay integer -1 = never auto restart
0—6 = Sunday—Saturday
7 = restart every day
AutoMaintain. Range is [0—23].
integer
AutoRebootHour Auto restart hour
AutoMaintain. Range is [0—59].
integer
AutoRebootMinute Auto restart minute
AutoMaintain.
AutoShutdownDay
auto reboot time
AutoMaintain.
integer Range is same with AutoOpenDay,
AutoShutdownHour
AutoOpenHour and AutoOpenMinute.
AutoMaintain.
AutoShutdownMinute
AutoMaintain. AutoStartUpDay
AutoMaintain. Auto shutdown time.
AutoStartUpHour integer Range is same with AutoOpenDay,
AutoMaintain. AutoOpenHour, and AutoOpenMinute.
AutoStartUpMinute
Table 4-56
Syntax [Link]
Method GET
Description Get holiday config for record or snap.
Example [Link]
[Link][0]=3
[Link][1]=0
[Link][2]=0
[Link][3]=0
[Link][4]=0
Success [Link][5]=0
Return [Link][6]=0
[Link][7]=0
[Link][8]=0
[Link][9]=1610612739
[Link][10]=0
[Link][11]=0
Comment —
Set holiday config
Table 4-57
General APIs 52
[Link]
Syntax
alue>[&<paramName>=<paramValue>…]
Method GET
Description Set holiday config.
[Link]
Example
0]=3
Success
OK
Return
Parameters in URL:
In table below,
Comment
monthIndex presents the index of a month. 0 presents January, 1 presents February,
11 presents December.
Appendix:
General APIs 53
4.6.12 Get Serial Number of Device
Table 4-60
Syntax [Link]
Method GET
Description Get the device serial number.
Example [Link]
Success
sn=YZC0GZ05100020
Return
Comment —
General APIs 54
4.6.16 Get Software Information
Table 4-64
Syntax [Link]
Method GET
Description Get the software information.
Example [Link]
Success
version=2.212.0000.0.R,build:2013-11-14
Return
Comment —
General APIs 55
4.6.20 Onvif Service Authorization
Get config of Onvif service authorization
Table 4-68
Syntax [Link]
Method GET
Description Get user global config.
Example [Link]
Success
[Link]=false
Return
If "OnvifLoginCheck" is false, you can get Onvif service directly; if true, you should enter
Comment
your ID/username and password.
Set config of Onvif service authorization
Table 4-69
[Link]
Syntax
eck=<flag>
Method GET
Description Enable onvif login check or not.
[Link]
Example
inCheck=true
Success
OK
Return
Parameters in URL:
Comment
flag : range is {true, false}.
{
"ATM" : {
"DataSource" : "RS232",
"DisplayPostion" : "lefttop",
"EncodeBlend" : true,
"PreviewBlend" : true,
"ProtocolAbility" : [ "POS" ],
"ProtocolName" : "ATM\/POS",
General APIs 56
"RecordChannels" : [ 0, 1, 2, 3 ]
}
……
}
Comment —
4.6.24 Reboot
Table 4-73
Syntax [Link]
Method GET
Description Reboot the device.
Example [Link]
Success
OK
Return
Comment If successful, response OK. If fail, response Error.
4.6.25 Shutdown
Table 4-74
General APIs 57
Syntax [Link]
Method GET
Description Shutdown the device.
Example [Link]
Success
OK
Return
Comment If successful, response OK. If fail, response Error.
4.6.26 FactoryReset
Table 4-75
Syntax [Link]
Method GET
Description Reset the configuration for the device to the factory default.
Example [Link]
Success
OK
Return
Parameters in URL:
Type: integer, it can be 0 or1.
0 means all parameters are set to their factory default value;
1 means all parameters are set to their factory default value expect the specific
Comment parameters;
The specific parameters of different device types are different. But it always contains the
network settings and user settings. After resetting, the device is reachable on the same
ip address as used before the reset.
When the Type parameter is not present in the URL, the default value of the Type is 0.
4.7 Network
General APIs 58
Description Get all of the system network interfaces.
Example [Link]
netInterface[0].Name=eth0
Success netInterface[0].Type=Normal
Return netInterface[0].Valid=true
…
result item value:
Name: network interface name.
"eth0" - wired network interface
"eth2" - wireless network interface
"3G" - 3G network interface
Comment
Type: "Normal" — wired network
"Wireless" — wireless network
"Auto", "TD-SCDMA", "WCDMA", "CDMA1x", "EDGE", "EVDO" — 3G network
types.
Table 4-78
Syntax [Link]
Method GET
Get network basic config. The basic config contains basic network parameters (default
Description
interface, domain name, host name), and configuration of each network interface.
Example [Link]
[Link]=eth0
[Link]=ttt
[Link]=badak
[Link]=[Link]
[Link]=false
Success
[Link][0]=[Link]
Return
[Link][1]=[Link]
[Link]=[Link]
[Link]=1500
[Link]=00:10:5c:f2:1c:b4
[Link]=[Link]
Comment interface in response is network interface name, such as eth0, eth2…
Set network config
Table 4-79
[Link]
Syntax
alue>[&<paramName>=<paramValue>…]
Method GET
Description Set network basic config.
General APIs 59
[Link]
Example
&[Link]=true
Success
OK
Return
Comment interface in below ParamName is network interface name, such as eth0 and eth2
Appendix:
4.7.3 PPPoE
Get PPPoE config
Table 4-80
Syntax [Link]
Method GET
Description Get PPPoE config.
Example [Link]
General APIs 60
[Link]=false
Success
[Link]=123456
Return
[Link]=123456
Comment —
Table 4-81
[Link]
Syntax
alue>[&<paramName>=<paramValue>…]
Method GET
Description Set PPPoE config.
[Link]
Example
user1&[Link]=123456
Success
OK
Return
Comment —
Appendix:
4.7.4 DDNS
Get DDNS config
Table 4-82
Syntax [Link]
Method GET
Description Get DDNS config.
Example [Link]
Success [Link][index].Address=[Link]
Return [Link][index].Enable=true
[Link][index].HostName=[Link]
[Link][index].KeepAlive=10
[Link][index].Password=none
[Link][index].Port=5050
[Link][index].Protocol= Quick DDNS
[Link][index].UserName=user1
[Link][index].[Link]=false
[Link][index].[Link]=[Link]
Comment index in response is the DDNS protocol table index, start from 0.
The meaning of parameters can refer to SetDDNSConfig chapter.
Set DDNS config
Table 4-83
General APIs 61
Syntax [Link]
alue>[&<paramName>=<paramValue>…]
Method GET
Description Set DDNS config.
Example [Link]
[Link]&DDNS[0].Enable=true
Success OK
Return
Comment index in below ParamName is the DDNS protocol table index, start from 0.
Appendix:
4.7.5 Email
Get email config
Table 4-84
Syntax [Link]
Method GET
Description Get Email config.
Example [Link]
[Link]=[Link]
Success [Link]=true
Return [Link]=true
[Link]=true
General APIs 62
[Link]=true
[Link]=false
[Link]=61
[Link]=123456
[Link]=26
[Link][0]=x@[Link]
[Link][1]=y@[Link]
[Link][2]=z@[Link]
[Link]=x@[Link]
[Link]=false
[Link]=DVRMessage
[Link]=anonymity
Comment —
Set email config
Table 4-85
[Link]
Syntax
alue>[&<paramName>=<paramValue>…]
Method GET
Description Set Email config.
[Link]
Example
[Link]&[Link]=false
Success
OK
Return
Comment —
Appendix:
General APIs 63
4.7.6 WLan
Get WLan config
Table 4-86
Syntax [Link]
Method GET
Description Get Wlan config.
Example [Link]
[Link]=true
[Link]=off
[Link]=false
[Link]=0
[Link]=Hex
Success
[Link][0]=password1
Return
[Link][1]=password2
[Link][2]=password3
[Link][3]=password4
[Link]=Auto
[Link]=ttt
Comment —
Set WLan config
Table 4-87
[Link]
Syntax
alue>[&<paramName>=<paramValue>…]
Method GET
Description Set WLan config.
[Link]
Example
rue&[Link]=Hex
Success
OK
Return
Comment In below ParamName, interface is name of wireless interface.
Appendix:
General APIs 64
ParamName ParamValue type Description
[Link][2] string a—z, A—Z]
For HEX key type: 64bits encryption key length is 10,
[Link][3] string 128bits encryption key length is 26, consists of [0—9,
a—z, A—Z]
Range is {Auto, Ad-hoc, and Infrastructure}.
Auto – select suitable mode automatically.
Ad-hoc – Device with wireless network adapter can
[Link] string connect to each other without Access Point.
Infrastructure – Integrate wire and wireless LAN
together to share network resource, access point is
need in this mode.
[Link] string SSID.
Appendix:
4.7.8 UPnP
Get UPnP config
Table 4-89
Syntax [Link]
General APIs 65
Method GET
Description Get UPnP config.
Example [Link]
Success [Link]=true
Return [Link][index].Enable=true
[Link][index].InnerPort=80
[Link][index].OuterPort=8080
[Link][index].Protocol=TCP
[Link][index].ServiceName=HTTP
Comment index in response is the UPNP map table index, start from 0.
Set UPnP config
Table 4-90
Syntax [Link]
alue>[&<paramName>=<paramValue>…]
Method GET
Description Set UPnP config.
Example [Link]
[Link][0].Protocol=TCP
Success OK
Return
Comment index in below ParamName is UPNP map table index, range is [0-255]
Appendix:
General APIs 66
[Link]=Unknown
[Link]=false
Comment —
4.7.10 NTP
Get NTP config
Table 4-92
Syntax [Link]
Method GET
Description Get NTP config
Example [Link]
[Link]=[Link]
[Link]=false
Success
[Link]=38
Return
[Link]=9
[Link]=31
Comment —
Set NTP config
Table 4-93
[Link]
Syntax
Value>[&<paramName>=<paramValue>…]
Method GET
Description Set NTP config.
[Link]
Example
[Link]&[Link]=true
Success
OK
Return
Comment —
4.7.11 RTSP
Get RTSP config
Table 4-94
Syntax [Link]
Method GET
Description Get RTSP config.
Example [Link]
[Link]=true
Success [Link]=554
Return [Link]=40000
[Link]=20000
Comment —
Set RTSP config
General APIs 67
Table 4-95
[Link]
Syntax
Value>[&<paramName>=<paramValue>…]
Method GET
Description Set RTSP config.
[Link]
Example
[Link]=554
Success
OK
Return
Comment —
Appendix:
Table 4-96
Syntax [Link]
Method GET
Description Get alarm server config.
Example [Link]
[Link]=[Link]
[Link]=false
[Link]=
Success [Link]=8888
Return [Link]=ttt
[Link]=02:00:00
[Link]=2
[Link]=admin
Comment —
Set alarm server config
Table 4-97
[Link]
Syntax
Value>[&<paramName>=<paramValue>…]
Method GET
Description Set Alarm Server config.
[Link]
Example
s=[Link]&[Link]=false
Success
OK
Return
General APIs 68
Comment —
Appendix:
Table 4-98
Syntax [Link]
Method GET
Description Motion detect config of a video channel contains Enable, MotionDetectWindow and
EventHandler.
Example [Link]
Success [Link][0].Enable=false
Return [Link][0].[Link]=1
[Link][0].[Link][0]=0
[Link][0].[Link]=true
[Link][0].[Link]=10
[Link][0].[Link]=false
[Link][0].[Link]=5
[Link][0].[Link]=0
[Link][0].[Link]=1
[Link][0].[Link][0]=0
[Link][0].[Link]=false
[Link][0].[Link]=false
[Link][0].[Link]=10
[Link][0].[Link]=true
[Link][0].[Link]=false
[Link][0].[Link]=1
[Link][0].[Link][0]=0
[Link][0].[Link]=false
[Link][0].[Link]=false
[Link][0].[Link][0][0]=None
[Link][0].[Link][0][1]=1
[Link][0].[Link]=false
[Link][0].[Link]=1
[Link][0].[Link][0]=0
[Link][0].[Link]=true
[Link][0].[Link]=10
General APIs 69
[Link][0].[Link]=1
[Link][0].[Link][0]=0
[Link][0].[Link]=false
[Link][0].[Link][0][0]=1 00:00:00-23:59:59
[Link][0].[Link][0][1]=0 00:00:00-23:59:59
[Link][0].[Link][0][2]=0 00:00:00-23:59:59
[Link][0].[Link][0][3]=0 00:00:00-23:59:59
[Link][0].[Link][0][4]=0 00:00:00-23:59:59
[Link][0].[Link][0][5]=0 00:00:00-23:59:59
[Link][0].[Link][1][0]=1 00:00:00-23:59:59
[Link][0].[Link][1][1]=0 00:00:00-23:59:59
[Link][0].[Link][1][2]=0 00:00:00-23:59:59
[Link][0].[Link][1][3]=0 00:00:00-23:59:59
[Link][0].[Link][1][4]=0 00:00:00-23:59:59
[Link][0].[Link][1][5]=0 00:00:00-23:59:59
[Link][0].[Link][2][0]=1 00:00:00-23:59:59
[Link][0].[Link][2][1]=0 00:00:00-23:59:59
[Link][0].[Link][2][2]=0 00:00:00-23:59:59
[Link][0].[Link][2][3]=0 00:00:00-23:59:59
[Link][0].[Link][2][4]=0 00:00:00-23:59:59
[Link][0].[Link][2][5]=0 00:00:00-23:59:59
[Link][0].[Link][3][0]=1 00:00:00-23:59:59
[Link][0].[Link][3][1]=0 00:00:00-23:59:59
[Link][0].[Link][3][2]=0 00:00:00-23:59:59
[Link][0].[Link][3][3]=0 00:00:00-23:59:59
[Link][0].[Link][3][4]=0 00:00:00-23:59:59
[Link][0].[Link][3][5]=0 00:00:00-23:59:59
[Link][0].[Link][4][0]=1 00:00:00-23:59:59
[Link][0].[Link][4][1]=0 00:00:00-23:59:59
[Link][0].[Link][4][2]=0 00:00:00-23:59:59
[Link][0].[Link][4][3]=0 00:00:00-23:59:59
[Link][0].[Link][4][4]=0 00:00:00-23:59:59
[Link][0].[Link][4][5]=0 00:00:00-23:59:59
[Link][0].[Link][5][0]=1 00:00:00-23:59:59
[Link][0].[Link][5][1]=0 00:00:00-23:59:59
[Link][0].[Link][5][2]=0 00:00:00-23:59:59
[Link][0].[Link][5][3]=0 00:00:00-23:59:59
[Link][0].[Link][5][4]=0 00:00:00-23:59:59
[Link][0].[Link][5][5]=0 00:00:00-23:59:59
[Link][0].[Link][6][0]=1 00:00:00-23:59:59
[Link][0].[Link][6][1]=0 00:00:00-23:59:59
[Link][0].[Link][6][2]=0 00:00:00-23:59:59
[Link][0].[Link][6][3]=0 00:00:00-23:59:59
[Link][0].[Link][6][4]=0 00:00:00-23:59:59
[Link][0].[Link][6][5]=0 00:00:00-23:59:59
[Link][0].[Link]=false
[Link][0].[Link]=1
General APIs 70
[Link][0].[Link][0]=0
[Link][0].[Link]=false
[Link][0].[Link]=
[Link][0].[Link]=false
[Link][0].MotionDetectWindow[0].Id=0
[Link][0].MotionDetectWindow[0].Name=Region1
[Link][0].MotionDetectWindow[0].Region[0]=4194303
[Link][0].MotionDetectWindow[0].Region[1]=4194303
[Link][0].MotionDetectWindow[0].Region[2]=4194303
[Link][0].MotionDetectWindow[0].Region[3]=4194303
[Link][0].MotionDetectWindow[0].Region[4]=4194303
[Link][0].MotionDetectWindow[0].Region[5]=4194303
[Link][0].MotionDetectWindow[0].Region[6]=4194303
[Link][0].MotionDetectWindow[0].Region[7]=4194303
[Link][0].MotionDetectWindow[0].Region[8]=4194303
[Link][0].MotionDetectWindow[0].Region[9]=4194303
[Link][0].MotionDetectWindow[0].Region[10]=4194303
[Link][0].MotionDetectWindow[0].Region[11]=4194303
[Link][0].MotionDetectWindow[0].Region[12]=4194303
[Link][0].MotionDetectWindow[0].Region[13]=4194303
[Link][0].MotionDetectWindow[0].Region[14]=4194303
[Link][0].MotionDetectWindow[0].Region[15]=4194303
[Link][0].MotionDetectWindow[0].Region[16]=4194303
[Link][0].MotionDetectWindow[0].Region[17]=4194303
[Link][0].MotionDetectWindow[0].Sensitive=60
[Link][0].MotionDetectWindow[0].Threshold=5
[Link][0].MotionDetectWindow[0].Window[0]=0
[Link][0].MotionDetectWindow[0].Window[1]=0
[Link][0].MotionDetectWindow[0].Window[2]=8191
[Link][0].MotionDetectWindow[0].Window[3]=8191
[Link][0].MotionDetectWindow[1].Id=1
[Link][0].MotionDetectWindow[1].Name=Region2
[Link][0].MotionDetectWindow[1].Region[0]=0
[Link][0].MotionDetectWindow[1].Region[1]=0
[Link][0].MotionDetectWindow[1].Region[2]=0
[Link][0].MotionDetectWindow[1].Region[3]=0
[Link][0].MotionDetectWindow[1].Region[4]=0
[Link][0].MotionDetectWindow[1].Region[5]=0
[Link][0].MotionDetectWindow[1].Region[6]=0
[Link][0].MotionDetectWindow[1].Region[7]=0
[Link][0].MotionDetectWindow[1].Region[8]=0
[Link][0].MotionDetectWindow[1].Region[9]=0
[Link][0].MotionDetectWindow[1].Region[10]=0
[Link][0].MotionDetectWindow[1].Region[11]=0
[Link][0].MotionDetectWindow[1].Region[12]=0
[Link][0].MotionDetectWindow[1].Region[13]=0
[Link][0].MotionDetectWindow[1].Region[14]=0
General APIs 71
[Link][0].MotionDetectWindow[1].Region[15]=0
[Link][0].MotionDetectWindow[1].Region[16]=0
[Link][0].MotionDetectWindow[1].Region[17]=0
[Link][0].MotionDetectWindow[1].Sensitive=60
[Link][0].MotionDetectWindow[1].Threshold=5
[Link][0].MotionDetectWindow[1].Window[0]=0
[Link][0].MotionDetectWindow[1].Window[1]=0
[Link][0].MotionDetectWindow[1].Window[2]=0
[Link][0].MotionDetectWindow[1].Window[3]=0
[Link][0].MotionDetectWindow[2].Id=2
[Link][0].MotionDetectWindow[2].Name=Region3
[Link][0].MotionDetectWindow[2].Region[0]=0
[Link][0].MotionDetectWindow[2].Region[1]=0
[Link][0].MotionDetectWindow[2].Region[2]=0
[Link][0].MotionDetectWindow[2].Region[3]=0
[Link][0].MotionDetectWindow[2].Region[4]=0
[Link][0].MotionDetectWindow[2].Region[5]=0
[Link][0].MotionDetectWindow[2].Region[6]=0
[Link][0].MotionDetectWindow[2].Region[7]=0
[Link][0].MotionDetectWindow[2].Region[8]=0
[Link][0].MotionDetectWindow[2].Region[9]=0
[Link][0].MotionDetectWindow[2].Region[10]=0
[Link][0].MotionDetectWindow[2].Region[11]=0
[Link][0].MotionDetectWindow[2].Region[12]=0
[Link][0].MotionDetectWindow[2].Region[13]=0
[Link][0].MotionDetectWindow[2].Region[14]=0
[Link][0].MotionDetectWindow[2].Region[15]=0
[Link][0].MotionDetectWindow[2].Region[16]=0
[Link][0].MotionDetectWindow[2].Region[17]=0
[Link][0].MotionDetectWindow[2].Sensitive=60
[Link][0].MotionDetectWindow[2].Threshold=5
[Link][0].MotionDetectWindow[2].Window[0]=0
[Link][0].MotionDetectWindow[2].Window[1]=0
[Link][0].MotionDetectWindow[2].Window[2]=0
[Link][0].MotionDetectWindow[2].Window[3]=0
[Link][0].MotionDetectWindow[3].Id=3
[Link][0].MotionDetectWindow[3].Name=Region4
[Link][0].MotionDetectWindow[3].Region[0]=0
[Link][0].MotionDetectWindow[3].Region[1]=0
[Link][0].MotionDetectWindow[3].Region[2]=0
[Link][0].MotionDetectWindow[3].Region[3]=0
[Link][0].MotionDetectWindow[3].Region[4]=0
[Link][0].MotionDetectWindow[3].Region[5]=0
[Link][0].MotionDetectWindow[3].Region[6]=0
[Link][0].MotionDetectWindow[3].Region[7]=0
[Link][0].MotionDetectWindow[3].Region[8]=0
[Link][0].MotionDetectWindow[3].Region[9]=0
General APIs 72
[Link][0].MotionDetectWindow[3].Region[10]=0
[Link][0].MotionDetectWindow[3].Region[11]=0
[Link][0].MotionDetectWindow[3].Region[12]=0
[Link][0].MotionDetectWindow[3].Region[13]=0
[Link][0].MotionDetectWindow[3].Region[14]=0
[Link][0].MotionDetectWindow[3].Region[15]=0
[Link][0].MotionDetectWindow[3].Region[16]=0
[Link][0].MotionDetectWindow[3].Region[17]=0
[Link][0].MotionDetectWindow[3].Sensitive=60
[Link][0].MotionDetectWindow[3].Threshold=5
[Link][0].MotionDetectWindow[3].Window[0]=0
[Link][0].MotionDetectWindow[3].Window[1]=0
[Link][0].MotionDetectWindow[3].Window[2]=0
[Link][0].MotionDetectWindow[3].Window[3]=0
[Link][0].OsdTwinkleEnable=false
[Link][0].PirMotionLevel=3
Comment —
Set motion detect config
Table 4-99
[Link]
Syntax
alue>[&<paramName>=<paramValue>…]
Method GET
Description Set motion detection config.
Enable motion detection:
[Link]
ble=true
General APIs 73
Index of detect window, there are 4 detect windows at present. Each window is divided
into 18 lines and 22 blocks per line.
Appendix:
4.9 Event
Table 4-100
Syntax [Link]
Method GET
Description Get event handler settings.
Example [Link]
General APIs 74
ntHandler
[Link][0]=1
[Link][1]=1
…
[Link]=false
[Link]=10
[Link]=true
[Link]=0
[Link]=30
[Link]=true
[Link]=true
[Link][0][0]=None
[Link][0][1]=0
[Link][1][0]=None
[Link][1][1]=0
…
[Link]=false
[Link][0]=1
Success [Link][1]=1
Return …
[Link]=true
[Link]=10
[Link][0]=1
[Link][1]=1
…
[Link]=false
[Link]=3
[Link]=0
[Link][0][0]=1 01:00:00-24:00:00
[Link][0][1]=1 01:00:00-24:00:00…
…
[Link][6][5]=1 01:00:00-24:00:00
[Link]=true
[Link]. ExAlarmOutEnable=true
[Link][0] =2
[Link][1]=3
…
Parameters in URL:
handlerName can be one of below four formats:
Alarm[ChannelNo].EventHandler
Comment
MotionDetect [ChannelNo]. EventHandler
BlindDetect [ChannelNo]. EventHandler
LossDetect [ChannelNo]. EventHandler
Set event handler config
Table 4-101
Syntax [Link]
General APIs 75
alue>[&<paramName>=<paramValue>…]
Method GET
Description Modify event handler settings.
[Link]
Example
[Link][0]=1&Alarm[0].[Link]=true
Success
OK
Return
Comment In below paramName, Meaning of handlerName is the same with GetEventHandler.
Appendix:
General APIs 76
paramName paramValue type Description
This is the parameter of
PtzLink[ch][0],
If PtzLink[ch]][0] is
Preset: this is preset point.
[Link][ch][1] integer
Tour: this is tour path
number.
Pattern: this is pattern
number.
[Link] Bool Enable/Disable PTZ link.
Range is {0, 1}
0 – do not record on video
[Link][ch] Integer channel ch
1 – record. on video
channel ch
Enable/Disable record
[Link] bool
function.
Range is [10—300].
Unit is seconds, indicates
[Link] integer
the time to record after
input alarm is cleared.
Range is {0, 1}
0 — do not snapshot on
[Link][ch] integer video channel ch
1 — snapshot on video
channel ch
Enable/Disable snapshot
[Link] bool
function.
Range is [0—255].
Frames between
[Link] integer snapshots.
0 means continuously
snapshot for every frame.
Range is [0—65535]
Snapshot times before
[Link] integer
stop, 0 means don't stop
snapshot.
General APIs 77
paramName paramValue type Description
It's an effective time period
for eventHanlder everyday.
wd (week day) range is [0—
6] (Sunday—Saturday)
ts (time section) range is
[0-23], it's index of time
section table.
Format: mask
hh:mm:ss-hh:mm:ss
Mask: {0,1}, hh: [0 — 24],
[Link][wd][ts] String mm: [00—59], ss: [00—59]
Mask 0: this time section is
not used.
Mask 1: this time section is
used.
Example:
TimeSection[1][0]=1
12:00:00-18:00:00
Means EventHandler is
effective between 12:00:00
and 18:00:00 at Monday.
Enable/Disable local
[Link] bool
message box tip.
Enable/Disable extend
[Link] bool
alarm out ability
[Link][ch] integer extend alarm out channels
Table 4-102
Syntax [Link]
Method GET
Description Get alarm config.
Example [Link]
[Link][0].Enable=false
[Link][0].EventHandler….(output of EventHandler is described in
GetEventHandler)
Success
[Link][0].Name=Door1
Return
[Link][0].SensorType=NC
[Link][1]….
…
Comment —
General APIs 78
Set alarm config
Table 4-103
[Link]
Syntax
ue>[&<paramName>=<paramValue>…]
Method GET
Description Set alarm config.
Example [Link]
Success
OK
Return
In below ParamName, input is external alarm input channel which starts from 0.
Comment EventHandler defines parameter of relevant actions when alarm or event happens. It's
also used in following sections about events.
Appendix:
Table 4-104
Syntax [Link]
Method GET
Description Get alarm out config.
Example [Link]
Success [Link][alarmOutChannel].Mode=0
Return [Link][alarmOutChannel].Name=Beep
Parameters in Response:
Comment
alarmOutChannel: the alarm out channel index which starts from 0.
Set alarm out config
Table 4-105
[Link]
Syntax
alue>[&<paramName>=<paramValue>…]
Method GET
Description Set alarm out config.
[Link]
Example
&AlarmOut[0].Name=port1
Success
OK
Return
General APIs 79
Comment port in below ParamName is alarm out port index, start form 0.
Appendix:
General APIs 80
4.9.7 Get States of Alarm Output Channels
Table 4-109
Syntax [Link]
Method GET
Description Get alarm output state for all channels.
Example [Link]
Success
result=0
Return
Comment A bit in the response result indicates a channel, result 1 means alarm is present.
Table 4-110
Syntax [Link]
Method GET
Description Get blind detect config.
Example [Link]
head. Enable=false
Success
head. EventHandler= (output of EventHandler is described in GetEventHandler)
Return
head. Level=3
Parameters in Response:
head= [Link][ChannelNo]
Comment
ChannelNo: integer, array index starts from 0, which means video channel (equals to
video channel index -1, and so 0 means channel 1).
Set video blind detect config
Table 4-111
[Link]
Syntax
alue>[&<paramName>=<paramValue>…]
Method GET
Description Set blind detect config.
[Link]
Example
e=true
Success
OK
Return
Parameters in URL:
In table below,
Comment head= BlindDetect[ChannelNo]
ChannelNo: integer, array index starts from 0, which means video channel (equals to
video channel index -1, and so 0 means channel 1).
Appendix:
General APIs 81
ParamName ParamValue type Description
Setting of EventHandler is described in
head. EventHandler —
SetEventHandler.
Range is [1—6].
Sensitivity of blind detection.
head. Level integer
1: lowest sensitivity.
6: highest sensitivity.
Table 4-112
Syntax [Link]
Method GET
Description Get video loss detect config.
Example [Link]
Success head. Enable=false
Return head. EventHandler= (output of EventHandler is described in GetEventHandler)
Parameters in Response:
head=[Link] [ChannelNo]
Comment
ChannelNo: integer, array index starts from 0, which means video channel (equals to
video channel index -1, and so 0 means channel 1).
Set video loss detect config
Table 4-113
[Link]
Syntax
alue>[&<paramName>=<paramValue>…]
Method GET
Description Set video loss detection config.
[Link]
Example
e=true
Success
OK
Return
Parameters in URL:
In table below,
Comment head= LossDetect [ChannelNo]
ChannelNo: integer, array index starts from 0, which means video channel(equals to
video channel index -1, and so 0 means channel 1).
Appendix:
General APIs 82
4.9.10 Login Failure Event
Get login failure event config
Table 4-114
Syntax [Link]
Method GET
Description Get login failure alarm config.
[Link]
Example
larm
Success head. Enable=false
Return head. EventHandler= (output of EventHandler is described in GetEventHandler)
Parameters in Response:
Comment
head= [Link]
Set login failure alarm config
Table 4-115
[Link]
Syntax
alue>[&<paramName>=<paramValue>…]
Method GET
Description Set login failure alarm config.
[Link]
Example
nable=true
Success
OK
Return
Parameters in URL:
Comment In table below,
head= LoginFailureAlarm
Appendix:
Table 4-116
Syntax [Link]
Method GET
Description Get storage not exist event config.
Example [Link]
General APIs 83
ist
[Link]=false
Success
[Link]= (output of EventHandler is described in
Return
GetEventHandler)
Comment —
Set storage not exist event config
Table 4-117
[Link]
Syntax
alue>[&<paramName>=<paramValue>…]
Method GET
Description Set storage not exist event config.
[Link]
Example
ble=true
Success
OK
Return
Comment —
Appendix:
Table 4-118
Syntax [Link]
Method GET
Description Get storage failure event config.
[Link]
Example
e
[Link]=false
Success
[Link]= (output of EventHandler is described in
Return
GetEventHandler)
Comment —
Set storage access failure event config
Table 4-119
[Link]
Syntax
alue>[&<paramName>=<paramValue>…]
Method GET
Description Set storage failure event config.
[Link]
Example
e=true
General APIs 84
Success
OK
Return
Comment —
Appendix:
Table 4-120
Syntax [Link]
Method GET
Description Get storage low space event config.
[Link]
Example
pace
[Link]=false
Success
[Link]= (output of EventHandler is described in
Return
GetEventHandler)
Comment —
Set storage low space event config
Table 4-121
[Link]
Syntax
alue>[&<paramName>=<paramValue>…]
Method GET
Description Set storage low space event config.
[Link]
Example
nable=true
Success
OK
Return
Comment —
Appendix:
Table 4-122
General APIs 85
Syntax [Link]
Method GET
Description Get net abort event config.
Example [Link]
Success [Link]=false
Return [Link]= (output of EventHandler is described in GetEventHandler)
Comment —
Set net abort event config
Table 4-123
[Link]
Syntax
alue>[&<paramName>=<paramValue>…]
Method GET
Description Set net abort event config.
[Link]
Example
e
Success
OK
Return
Comment —
Appendix:
Table 4-124
Syntax [Link]
Method GET
Description Get IP conflict event config.
Example [Link]
Success [Link]=false
Return [Link]= (output of EventHandler is described in GetEventHandler)
Comment —
Set IP conflict event config
Table 4-125
Syntax [Link]
alue>[&<paramName>=<paramValue>…]
Method GET
Description Set IP Conflict event config.
Example [Link]
ue
General APIs 86
Success OK
Return
Comment —
Appendix:
General APIs 87
VideoMotion%2CVideoLoss%2CVideoBlind]
[Link]
HTTP Code: 200 OK\r\n
Cache-Control: no-cache\r\n
Pragma: no-cache\r\n
Expires: Thu, 01 Dec 2099 16:00:00 GMT\r\n
Connection: close\r\n
Content-Type: multipart/x-mixed-replace; boundary=<boundary>\r\n
Body:
--<boundary>\r\n
Content-Type: text/plain\r\n
Content-Length: <data length>\r\n
<eventInfo>\r\n\r\n
--<boundary>\r\n
Content-Type: text/plain\r\n
Content-Length: <data length>\r\n
<eventInfo>\r\n\r\n
For example:
HTTP Code: 200 OK\r\n
Success Cache-Control: no-cache\r\n
Return Pragma: no-cache\r\n
Expires: Thu, 01 Dec 2099 16:00:00 GMT\r\n
Connection: close\r\n
Content-Type: multipart/x-mixed-replace; boundary=myboundary\r\n\r\n
Body:
--myboundary\r\n
Content-Type: text/plain\r\n
Content-Length: 39\r\n
Code=VideoMotion;action=Start;index=0\r\n\r\n
--myboundary\r\n
Content-Type: text/plain\r\n
Content-Length: 38\r\n
Code=VideoBlind;action=Start;index=0\r\n\r\n
--myboundary\r\n
Content-Type: text/plain\r\n
Content-Length: 9\r\n
Heartbeat\r\n\r\n
--myboundary\r\n
…
eventCode can be any one of the standard codes defined in DHIIF, or "All".
All means all kinds of the eventcode.
eventcode include:
Comment
VideoMotion: motion detection event
VideoLoss: video loss detection event
VideoBlind: video blind detection event.
General APIs 88
AlarmLocal: alarm detection event.
CrossLineDetection: tripwire event
CrossRegionDetection: intrusion event
LeftDetection: abandoned object detection
TakenAwayDetection: missing object detection
VideoAbnormalDetection: scene change event
FaceDetection: face detect event
AudioMutation: intensity change
AudioAnomaly: input abnormal
VideoUnFocus: defocus detect event
WanderDetection: loitering detection event
RioterDetection: People Gathering event
ParkingDetection: parking detection event
MoveDetection: fast moving event
StorageNotExist: storage not exist event.
StorageFailure: storage failure event.
StorageLowSpace: storage low space event.
AlarmOutput: alarm output event.
MDResult: motion detection data reporting event. The motion detect window
contains 18 rows and 22 columns. The event info contains motion detect data with mask
of every row.
HeatImagingTemper: temperature alarm event
CrowdDetection: crowd density overrun event
FireWarning: fire warning event
FireWarningInfo: fire warning specific data info
In the example, you can see most event info is like "Code=eventcode; action=Start;
index=0", but for some specific events, they will contain an another parameter named
"data", the event info is like "Code=eventcode; action=Start; index=0; data=datainfo",
the datainfo's fomat is JSON(JavaScript Object Notation). The detail information about
the specific events and datainfo are listed in the appendix below this table.
keepalive: If this param exist, the client must send any data to device by this
connection in cycle. The keepalive is in range
of [1,60] second.
For example:
The keeplive data can be the string "keep alive".
Notice: the keepalive parameter is not recommended to use. It is recommended to use
the Heartbeat parameter.
Heartbeat: integer, range is [1,60],unit is [Link] the URL contains this parameter,
and the value is 5, it means every 5 seconds the device should send the heartbeat
message to the client,the heartbeat message are "Heartbeat".
Note: Heartbeat message must be sent before heartbeat timeout.
General APIs 89
(0,0) 8191,0
X
(0,8191) (8191,8191)
Appendix B: CrossLineDetection
Example:
"DetectLine":[
[1292,3469],
[6535,3373],
…..
],
"Direction" : "LeftToRight"
Appendix C: CrossRegionDetection
General APIs 90
Sample ParamValue type Description
The value can be "Appear", "Disappear",
"Action": "Cross", string
"Cross","Inside"
Ony if the "Action" is "Cross", this element
"Direction" : "Enter" string is valid.
It can be "Enter", "Leave", "Both".
Example:
"DetectRegion":[
[1893,2377],
[5734,2377],
[5661,6296],
…..
],
"Action": "Cross",
"Direction" : "Enter"
Example:
"DetectRegion":[
[1893,2377],
[5734,2377],
…..
Appendix E: NumberStat
General APIs 91
Sample ParamValue type Description
"Number" : 120, int The number in the region
"EnteredNumber" : 180, int The number enter the region
"ExitedNumber" : 60, int The number leave the region
"Type" : "EnterOver" string It can be "EnterOver", "ExitOver", "InsideOver".
Example:
"Number" : 120,
"EnteredNumber" : 180,
"ExitedNumber" : 60,
"Type" : "EnterOver"
Appendix F: FaceDetection
Table 4-128
Sample ParamValue type Description
"Faces":[{ Array —
It is a rectangle, contains two points, one
means left-top, one means right-bottom.
The first element is x's value of the left-top
point.
"BoundingBox": The second is y's value of the left-top
Rectangle
[2992,136,6960,8192] point.
The third is the x's value of the
right-bottom point.
The fourth is the y's value of the
right-bottom point
Example:
"Faces":[{
"BoundingBox": [2992,136,6960,8192]
},…{}]
Appendix G: ManNumDetection
General APIs 92
Sample ParamValue type Description
It is a rectangle, contains two points, one
means left-top,one means right-bottom.
The first element is x's value of the left-top
point.
"BoundingBox": The second is y's value of the left-top
Rectangle
[2992,136,6960,8192], point.
The third is the x's value of the
right-bottom point.
The fourth is the y's value of the
right-bottom point
"Stature":175 int The unit is cm.
Example:
"ManList":[{
"BoundingBox": [2992,136,6960,8192],
"Stature":175
},…{}]
Appendix H: FaceFeatureAbstract
Example:
"Infos":[{
"State": "Success",
"Process": 20,
"UID": "1234",
"GroupID": "00001",
},…{}]
General APIs 93
Appendix I: CrowdDetection
Example:
"CrowdList" : [{
"Center" : [5734,2377],,
"Radius" : 10
},…{}]
"RegionList" : [ {
"RegionID" : 0,
"PeopleNum" : 100
},…{}]
General APIs 94
4.9.19 NetAlarm
Table 4-130
[Link]
Syntax
larm>[&name=<Name>&trigger=<Trigger>&desc=<Desc>]
Method GET
Description Set the netalarm state.
[Link]
Example
e=somke&trigger=SmokingSensor&desc=Zone8
Success
OK
Return
Parameters in URL:
ChannelNo: integer, alarm channel index which starts from 1
Alarm: bool, the state of the alarm, the value can be true and false, true means the alarm
is start.
Name: string, the name of the alarm, optional parameter, the length of this value should
Comment less than 32.
Trigger:string, the trigger of the alarm,for example, it can be Infrared, WaterSensor or
Manual and so on.
Optional parameter, the length of this value should less than 32.
Desc: string, the description of the alarm, optional parameter, the length of this value
should less than 128.
4.9.20 GetSupportedEvents
Table 4-131
Syntax [Link]
Method GET
Description Get the event list which the device supports.
Example [Link]
events[0]=VideoMotion
events[1]=AlarmLocal
Success
events[2]=FaceDetection
Return
events[3]=VideoMotion
…
Comment —
4.10 PTZ
Table 4-132
Syntax [Link]
Method GET
General APIs 95
Description Get PTZ config.
Example [Link]
[Link][port].Address=8
[Link][port].Attribute[0]=115200
[Link][port].Attribute[1]=8
[Link][port].Attribute[2]=Even
Success
[Link][port].Attribute[3]=1
Return
[Link][port].Homing[0]=0
[Link][port].Homing[1]=30
[Link][port].NumberInMatrixs=0
[Link][port].ProtocolName=NONE
Parameters in Response:
Comment
port is PTZ port index, start form 0.
Set PTZ config
Table 4-133
Syntax [Link]
alue>[&<paramName>=<paramValue>…]
Method GET
Description Set PTZ config.
Example [Link]
168.0.1&Ptz[0].Attribute[0]=9600
Success OK
Return
Comment port in below ParamName is PTZ port index, start form 0.
Appendix:
General APIs 96
ParamName ParamValue type Description
PTZ protocol name depends on PTZ capability.
Ptz[port].ProtocolName string
Refer to GetProtocolList to get the protocol list.
General APIs 97
[Link]=1
[Link]=7
[Link]=0
[Link]=1
[Link]=false
Parameters in URL:
Comment
ChannelNo: PTZ channel index which starts from 1.
Appendix:
General APIs 98
[Link]=Idle
[Link]=10
[Link]=120,12,2
Comment ChannelNo: integer, video channel index which starts from 1.
Table 4-137
[Link]
Syntax
rg1>&arg2=<arg2>&arg3=<arg3>
Method GET
Description PTZ basic movement.
[Link]
&arg3=0
Example
[Link]
arg3=0
Success
OK
Return
Parameters in URL:
action is PTZ control command, it can be start or stop.
Comment ch is PTZ channel index which starts from 1. Range is [1 — n].
code is PTZ operation, and arg1, arg2, arg3 are arguments of operation.
code and argN values are listed in table below.
The default exposure mode of PTZ is auto-exposure, aperture adjustment (Aperture
larger 、Aperture smaller) would take effects temporarily, PTZ will auto—adjust the
aperture after the auto—exposure recovery time (15 mins)
Comment The default focus mode of PTZ is semi—auto, PTZ control or other operations will trigger
the auto focus
There is no zoom times parameter for ZoomWide and ZoomTele command, if you need to
change zoom times, see "5.1.2 Video in Zoom".
Appendix:
General APIs 99
Code Code description arg1 arg2 arg3
Vertical speed, range is Horizontal speed, range is
LeftDown Pan left and tile down 0
[1—8] [1—8]
Vertical speed, range is Horizontal speed, range is
RightDown Pan right and tile down 0
[1—8] [1—8]
ZoomWide Zoom out 0 0 0
ZoomTele Zoom in 0 0 0
FocusNear Focus near 0 0 0
FocusFar Focus far 0 0 0
IrisLarge Aperture larger 0 0 0
IrisSmall Aperture smaller 0 0 0
Start the continuous movement
Table 4-138
[Link]
Syntax
rg1>&arg2=<arg2>&arg3=<arg3>&arg4=<arg4>
Method GET
Description Start the continuous movement.
[Link]
Example
5&arg2=5&arg3=5&arg4=60
Success
OK
Return
Parameters in URL:
ch is PTZ channel index which starts from 1. Range is [1 — n].
arg1 is horizontal speed, range is [-8—8];
arg2 is vertical speed, range is [-8—8];
Comment
arg3 is zoom speed, range is [-100—100];
arg4 is timeout value,the measurement unit is second, it's an integer greater than 0,the
PTZ will stop moving automatically if timeout value reached and no"stop"command
received. The maximum timeout value is 3600 seconds.
Stop the continuous movement
Table 4-139
[Link]
Syntax
arg2=0&arg3=0&arg4=0
Method GET
Description Immediately stop the continuous movement.
[Link]
Example
0&arg2=0&arg3=0&arg4=0
Success
OK
Return
Parameters in URL:
Comment
ch is PTZ channel index which starts from 1. Range is [1 — n].
3D positioning
Table 4-140
[Link]
Syntax
Point[0]=<startX>&startPoint[1]=<startY>&endPoint[0]=<endX>&endPoint[1]=<endY>
Table 4-141
[Link]
Syntax
=<arg2>&arg3=<arg3>
Method GET
Description PTZ relative movement.
[Link]
Example
arg3=1
Success
OK
Return
Parameters in URL:
ch is PTZ channel index which starts from 1. Range is [1 — n].
arg1 is relative horizontal coordinate
Comment
arg2 is relative vertical coordinate
arg3 is relative zoom coordinate
The normalization of above three values is[-1,1]
PTZ accurate positioning
Table 4-142
[Link]
Syntax
2=<arg2>&arg3=<arg3>
Method GET
Description Accurate positioning.
[Link]
Example
arg3=1
Success
OK
Return
Parameters in URL:
ch is PTZ channel index which starts from 1. Range is [1 — n].
arg1 is absolute horizontal coordinate
Comment
arg2 is absolute vertical coordinate
arg3 is absolute zoom coordinate
The normalization of above three values is[-1,1]
Table 4-143
Syntax [Link]
Method GET
Description Get preset of PTZ control.
Example [Link]
presets[0].Index=1
Success presets[0].Name=Preset 1
Return presets[0].Type=0
…
Parameters in URL:
Comment ChannelNo: integer, video channel index which starts from 1.
The size of presets-array is the number of presets.
Go to preset
Table 4-144
[Link]
Syntax
rg2=<index>&arg3=0
Method GET
Description Go to preset.
[Link]
Example
arg2=1&arg3=0
Success
OK
Return
Parameters in URL:
Comment ch is PTZ channel index which starts from 1. Range is [1 — n].
arg2 is number of preset
Set preset
Table 4-145
[Link]
Syntax
g2=<index>&arg3=0
Method GET
Description Set preset.
[Link]
Example
rg2=2&arg3=0
Success
OK
Return
Parameters in URL:
Comment ch is PTZ channel index which starts from 1. Range is [1 — n].
arg2 is preset number
Set the name for specified preset
Table 4-146
Syntax [Link]
Table 4-147
[Link]
Syntax
arg2=<index>&arg3=0
Method GET
Description Delete the specified preset.
[Link]
Example
&arg2=1&arg3=0
Success
OK
Return
Parameters in URL:
Comment ch is PTZ channel index which starts from 1. Range is [1 — n].
arg2 is preset number
4.10.7 Tour
Start the tour
Table 4-148
[Link]
Syntax
>&arg2=0&arg3=0
Method GET
Description Start the tour.
[Link]
Example
2=0&arg3=0
Success
OK
Return
Parameters in URL:
Comment ch is PTZ channel index which starts from 1. Range is [1 — n].
arg1 is the number of tour route
Stop the tour
Table 4-149
[Link]
Syntax
>&arg2=0&arg3=0
Method GET
Description Stop the tour.
Table 4-150
[Link]
Syntax
e>
Method GET
Descriptio Add tour group, including set the tour route and name. Frequently used with add tour
n preset.
Example [Link]
Success
OK
Return
Parameters in URL:
ch is PTZ channel index which starts from 1. Range is [1 — n].
Comment
arg1 is the number of tour route
arg2 is tour name
Delete tour group
Table 4-151
[Link]
Syntax
x>&arg2=0&arg3=0
Method GET
Description Delete the tour group with specified number.
[Link]
Example
g2=0&arg3=0
Success
OK
Return
Parameters in URL:
Comment ch is PTZ channel index which starts from 1. Range is [1 — n].
arg1 is the number of tour group
Add tour preset
Table 4-152
[Link]
Syntax
1>&arg2=<index2>&arg3=0
Method GET
Description Add preset to tour group.
[Link]
Example
2=2&arg3=0
Success
OK
Return
Comment Parameters in URL:
Table 4-153
[Link]
Syntax
>&arg2=<index2>&arg3=0
Method GET
Description Delete the specified preset from a particular tour group.
[Link]
Example
=2&arg3=0
Success
OK
Return
Parameters in URL:
ch is PTZ channel index which starts from 1. Range is [1 — n].
Comment
arg1 is the number of tour route
arg2 is the number of preset
4.10.8 Scan
Set left boundary
Table 4-154
[Link]
Syntax
ex>&arg2=0&arg3=0
Method GET
Description Set left boundary.
[Link]
Example
arg2=0&arg3=0
Success
OK
Return
Parameters in URL:
Comment ch is PTZ channel index which starts from 1. Range is [1 — n].
arg1 is the scan number
Set right boundary
Table 4-155
[Link]
Syntax
dex>&arg2=0&arg3=0
Method GET
Description Set right boundary.
[Link]
Example
&arg2=0&arg3=0
Success
OK
Return
Parameters in URL:
Comment
ch is PTZ channel index which starts from 1. Range is [1 — n].
Table 4-156
[Link]
Syntax
dex>&arg2=0&arg3=0
Method GET
Description Start scanning.
[Link]
Example
&arg2=0&arg3=0
Success
OK
Return
Parameters in URL:
Comment ch is PTZ channel index which starts from 1. Range is [1—n].
arg1 is scan number
Stop scan
Table 4-157
[Link]
Syntax
dex>&arg2=0&arg3=0
Method GET
Description Stop scanning.
[Link]
Example
&arg2=0&arg3=0
Success
OK
Return
Parameters in URL:
Comment ch is PTZ channel index which starts from 1. Range is [1 — n].
arg1 is scan number
4.10.9 Pattern
Start pattern record
Table 4-158
[Link]
Syntax
<index>&arg2=0&arg3=0
Method GET
Description Start pattern record.
[Link]
Example
=1&arg2=0&arg3=0
Success
OK
Return
Parameters in URL:
Comment ch is PTZ channel index which starts from 1. Range is [1 — n].
arg1 is pattern number
Stop pattern record
Table 4-160
[Link]
Syntax
ex>&arg2=0&arg3=0
Method GET
Description Start pattern.
[Link]
Example
arg2=0&arg3=0
Success
OK
Return
Parameters in URL:
Comment ch is PTZ channel index which starts from 1. Range is [1 — n].
arg1 is pattern number
Stop pattern
Table 4-161
[Link]
Syntax
ex>&arg2=0&arg3=0
Method GET
Description Stop pattern.
[Link]
Example
arg2=0&arg3=0
Success
OK
Return
Parameters in URL:
Comment ch is PTZ channel index which starts from 1. Range is [1 — n].
arg1 is pattern number
4.10.10 Pan
Start pan
Table 4-162
[Link]
Syntax
g2=0&arg3=0
Table 4-163
[Link]
Syntax
g2=0&arg3=0
Method GET
Description Stop pan.
[Link]
Example
arg2=0&arg3=0
Success
OK
Return
Parameters in URL:
Comment
ch is PTZ channel index which starts from 1. Range is [1 — n].
Table 4-164
Syntax [Link]
Method GET
Description Get PTZ auto movement configuration.
[Link]
Example
ment
[Link][port][Task].Enable = true
[Link][port][Task].TimeSection[week][section] = 0 00:00:00-23:59:59
…
[Link][port][Task].Fuction = None
[Link][port][Task].ScanId = 0
Success
[Link][port][Task].PresetId = 0
Return
[Link][port][Task].PatternId = 0
[Link][port][Task].TourId = 0
[Link][port][Task].[Link] = 30
[Link][port][Task].SnapshotEnable = false
[Link][port][Task].SnapshotDelayTime = 30
Parameters in Response:
port is PTZ port index, start from 0.
Comment
Task is the number of task, start from 0.
week: from 1 to 7.
Table 4-165
[Link]
Syntax
alue>[&<paramName>=<paramValue>…]
Method GET
Description Set PTZ auto movement.
[Link]
Example
[0].Function=Preset&PtzAutoMovement[0][0].PresetId=1
Success
OK
Return
Parameters in URL:
In table below,
head=PtzAutoMovement[port][task]
Comment port is PTZ port index, start from 0.
task is the number of task, start from 0.
week: from 1 to 7.
section: time section, from 0 to 5.
Appendix:
Table 4-168
[Link]
Syntax
=0&arg3=0
Method GET
Description Enter the menu.
[Link]
Example
2=0&arg3=0
Success
OK
Return
Parameters in URL:
Comment
ch is PTZ channel index which starts from 1. Range is [1 — n].
Exit the menu
Table 4-169
[Link]
Syntax
arg3=0
Method GET
Description Exit the menu.
[Link]
Example
&arg3=0
Success
OK
Return
Parameters in URL:
Comment
ch is PTZ channel index which starts from 1. Range is [1 — n].
Confirm
Table 4-170
Syntax [Link]
Table 4-171
[Link]
Syntax
>&arg2=<arg2>&arg3=<arg3>
Method GET
Description Start the basic operation of menu.
[Link]
Example
arg2=0&arg3=0
Success
OK
Return
Parameters in URL:
ch is PTZ channel index which starts from 1. Range is [1 — n].
Comment
code is PTZ operation, and arg1, arg2, arg3 are arguments of operation.
code and argN values are listed in table below.
Appendix:
4.11 Record
Table 4-173
Syntax [Link]
Method GET
Description Get record config.
Example [Link]
[Link][channel].PreRecord=6
[Link][channel].TimeSection[weekday][0]=1 00:00:00-24:00:00
[Link][channel].TimeSection[weekday][1]=0 02:00:00-24:00:00
Success
[Link][channel].TimeSection[weekday][2]=0 03:00:00-24:00:00
Return
[Link][channel].TimeSection[weekday][3]=0 04:00:00-24:00:00
[Link][channel].TimeSection[weekday][4]=0 05:00:00-24:00:00
[Link][channel].TimeSection[weekday][5]=0 06:00:00-24:00:00
Parameters in Response:
channel: integer, array index starts from 0, which means video channel(equals to video
Comment channel index -1, and so 0 means channel 1).
weekday: range is [0-6] (Sunday - Saturday).
Record config contains pre record time and record time sections of every day.
Set record config
Table 4-174
[Link]
Syntax
alue>[&<paramName>=<paramValue>…]
Method GET
Description Set record config.
[Link]
on[0][0]=6 00:00:00-23:59:59
Example Set record time to every Sunday all day. Record type is motion detection and alarm.
In this example, "6 00:00:00-23:59:59" means motion detection and alarm record all day
(6 = 4 & 2, alarm is 4, motion detection is 2.).
Success
OK
Return
Parameters in URL:
In table below,
ch: integer, array index starts from 0, which means video channel (equals to video
Comment
channel index -1, and so 0 means channel 1).
wd: week day index
ts: time section index
Table 4-175
Syntax [Link]
Method GET
Description Get record mode config.
Example [Link]
Success
[Link][Channel].Mode=0
Return
Parameters in Response:
Comment Channel: integer, array index starts from 0, which means video channel (equals to
video channel index -1, and so 0 means channel 1).
Set record mode config
Table 4-176
[Link]
Syntax
alue>
Method GET
Description Set record mode config.
[Link]
Example
e=0
Success
OK
Return
Parameters in URL:
Comment In table below,
Channel: integer, array index starts from 0, which means video channel (equals to
Appendix:
Table 4-177
Syntax [Link]
Method GET
Description Get media global config.
Example [Link]
Success
[Link]=MainFormat
Return
Comment —
Set media global config
Table 4-178
[Link]
Syntax
alue>
Method GET
Description Set media global config.
[Link]
Example
ormatAs=MainFormat
Success
OK
Return
Comment —
Appendix:
Table 4-179
Syntax [Link]
Method GET
Description Create a media file finder.
Example [Link]
Success result=08137
Table 4-180
[Link]
.Channel=<ChannelNo>&[Link]=<start>&[Link]=<end>[&c
Syntax
[Link][0]=<dir>&[Link][0]=<type>&[Link][0]=<flags>&conditi
[Link][0]=<event>&[Link]=<stream>]
Method GET
Description Check if there are files that satisfy all the conditions.
Find a file in channel 1, in directory "/mnt/dvr/sda0",event type is "AlarmLocal" or
"VideoMotion", file type is "dav", and time between 2014-1-1 12:00:00 and 2015-1-10
12:00:00 , URL is:
Example [Link]
[Link]=1&[Link][0] =/mnt/dvr/sda0&[Link][0]=dav&[Link]
nts[0]=AlarmLocal&[Link][1]=VideoMotion&[Link]=2014-1-1%2
012:00:00&[Link]=2015-1-10%2012:00:00&[Link]=Main
Success
OK
Return
Start to find a file with the above condition. If files exist, return OK, else return Error.
Parameters in URL:
objecteId: The object Id is the finder created before. You must create a finder before
finding files.
ChannelNo: integer, video channel index which starts from 1.
start / end: the start/end time when recording.
dir : in which directories you want to find the file. It is an array. The index starts from 0.
The range of dir is {"/mnt/dvr/sda0", "/mnt/dvr/sda1"}. This condition can be omitted. If
omitted, find files in all the directories.
Comment type : which types of the file you want to find. It is an array. The index starts from 0. The
range of type is {"dav", "jpg", "mp4"}. If omitted, find files with all the types.
flags : which flags of the file you want to find. It is an array. The index starts from 0. The
range of flag is {"Timing", "Manual", "Marker", "Event", "Mosaic", "Cutout"}. If omitted,
find files with all the flags.
event : by which event the record file is triggered. It is an array. The index starts from 0.
The range of event is {"AlarmLocal", "VideoMotion", "VideoLoss", "VideoBlind",
"Traffic*"}. This condition can be omitted. If omitted, find files of all the events.
stream : which video stream type you want to find. The range of stream is {"Main",
"Extra1", "Extra2", "Extra3"}. If omitted, find files with all the stream types.
Step 3 Get the media file information found by the finder.
Table 4-181
[Link]
Syntax
nt=<fileCount>
Method GET
Description Find the next files no more than fileCount.
[Link]
Example
nt=100
Appendix:
Field in Description
Response
found Count of found file, found is 0 if no file is found.
Internal video channel index starts from 0, equals to API findFile input
Channel
[Link] -1.
StartTime Start time.
EndTime End time.
Type File type.
Events Event type.
VideoStream Video stream type.
FilePath File path.
CutLength File length that cut between StartTime and EndTime.
Length File length of the whole file.
Duration Duration time.
Step 4 Close the finder.
Table 4-182
Syntax [Link]
Method GET
Description Stop finding.
Example [Link]
Success
OK
Return
Comment —
Step 5 Destroy the finder.
Table 4-183
Syntax [Link]
Method GET
Description Destroy the media file finder.
Example [Link]
Success
OK
Return
Comment —
Table 4-184
URL [Link]
Method GET
Start to find media files satisfied the common conditions and FaceDetection conditions
Description
with the finder.
[ Request Params ] ( key=value format at URL )
Name Type R/O Param Description
object int R The finder object id
condition object R The search conditions
The video channel to search, video channel index start from
+Channel int R
1, use -1 to search all video channel.
+StartTime string R Start time to search, ex: "2010-05-25 12:05:00"
+EndTime string R End time to search, ex: "2010-06-25 12:05:00"
+Types array<string> O Search file types, should be "jpg"
Search flags, can be : "Timing", "Manual", "Marker", "Event",
+Flags array<string> O "Mosaic", "Cutout"
should include “Event”
+Events array<string> R Search event list, must be one string : "FaceDetection"
Search directory list, if omit, search all. Each dir path max
+Dirs array<string> O
string length is 259.
+DB object R DB filter object
++FaceDetecti
object R DB filter for FaceDetection
onRecordFilter
Picture type, if omit, means search all type.
+++ImageType string O "GlobalSence" : means big picture of the full sence,
"Small" : means small picture of the people face.
+++Sex string O Sex, it can be "Man", "Woman", if omit, search all
+++Age array<int> O Age range, ex:[25, 40]
+++Glasses int O Glasses Status, 0: all, 1: not wear, 2: wear
+++Mask int O Mask Status, 0: all, 1: not wearing mask, 2: wearing mask
+++Beard int O Beard Status, 0: all, 1: no beard, 2: has beard
[ Response Params ] ( OK )
[ Example ]
Table 4-185
URL [Link]
Method GET
Description Get the media file information found by the finder.
[ Request Params ] ( key=value format at URL )
Name Type R/O Param Description
object int R The finder object id
count int R Record num to get, should less than 100.
[ Response Params ] ( key=value format )
Name Type R/O Param Description
found int R Record num that found.
items array<object> R Result record items.
+Channel int R The video channel index start from 0,
+StartTime string R Start time to search, ex: "2010-05-25 12:05:00"
+EndTime string R End time to search, ex: "2010-06-25 12:05:00"
+Type string R File type, should be: "jpg"
+Events array<string> R Events with this record
+FilePath string R File path, string max length is 259
+CutLength int R File length that cut between start time and end time
+Length int O File length of the whole file
+SummaryNew array<object> R DB record object
++Key string R DB record name, should be "FaceDetectionRecord"
++Value object R DB record value
+++ImageType string O Picture type. It can be: "GlobalSence" , "Small"
+++TimeStamp object O Picture timestamp
++++UTC int O UTC seconds
++++UTCMS int O UTC miliseconds
+++Sex string O Sex, it can be "Man", "Woman", "Unknown"
+++Age int O Age
+++Glasses int O Glasses Status, 0: unknown, 1: not wear, 2: wear
Mask Status, 0: unknown, 1: not wearing mask, 2: wearing
+++Mask int O
mask
+++Beard int O Beard Status, 0: unknown, 1: no beard, 2: has beard
[ Example ]
Table 4-186
URL [Link]
Method GET
Description Start to find media files satisfied the common conditions and FaceRecognition conditions
with the finder.
[ Request Params ] ( key=value format at URL )
Name Type R/O Param Description
object int R The finder object id
condition object R The search conditions
+Channel int R The video channel to search, video channel index start from
1, use -1 to search all video channel.
+StartTime string O Start time to search, ex: "2010-05-25 12:05:00"
Ignored, use StartTime in DB param
+EndTime string O End time to search, ex: "2010-06-25 12:05:00"
Table 4-187
URL [Link]
Method GET
Description Get the media file information found by the finder
[ Request Params ] ( key=value format at URL )
Name Type R/O Param Description
object int R The finder object id
count int R Record num to get, should less than 100.
[ Response Params ] ( key=value format )
Name Type R/O Param Description
found int R Record num that found.
items array<object> R Result record items.
+Channel int R The video channel index start from 0,
+StartTime string R Start time to search, ex: "2010-05-25 12:05:00"
+EndTime string R End time to search, ex: "2010-06-25 12:05:00"
+Type string R File type, should be: "jpg"
+Events array<string> R Events with this record
+FilePath string R File path, string max length is 259
+CutLength int R File length that cut between start time and end time
+Length int O File length of the whole file
+SummaryNew array<object> R DB record object
++Key string R DB record name, should be "FaceRecognitionRecord"
++Value object R DB record value
Recognition result, 0 means recognition failed, no candidates.
+++RecResult int O
1 means recognition success, has candidates.
+++MachineAd
string O Machine address, string max length is 259
dress
+++IsGlobalSc
bool O Is the global scene picture or not
ene
+++ImageInfo object O Big picture info
++++Length int O The length of the picture
++++FilePath string O The file path of the picture, max string length is 259
+++Object object O The target face info
++++Sex string O Sex, it can be "Man", "Woman", "Unknown"
++++Age int O Age
++++Glasses int O Glasses Status, 0: unknown, 1: not wear, 2: wear
Table 4-188
URL [Link]
Method GET
Start to find media files satisfied the common conditions and HumanTrait conditions with
Description
the finder.
[ Request Params ] ( key=value format at URL )
Name Type R/O Param Description
object int R The finder object id
condition object R The search conditions
The video channel to search, video channel index start from
+Channel int R
1, use -1 to search all video channel.
+StartTime string O Start time to search, ex: "2010-05-25 12:05:00"
+EndTime string O End time to search, ex: "2010-06-25 12:05:00"
+Types array<string> O Search file types, should be "jpg"
Search flags. It can be: "Timing", "Manual", "Marker", "Event",
+Flags array<string> O "Mosaic", "Cutout"
should include “Event”
+Events array<string> R Search event list, must be one string: "HumanTrait"
Search directory list, if omit, search all. Each dir path max
+Dirs array<string> O
string length is 259.
+DB object R DB filter object
++HumanTrait
object R DB filter for HumanTrait
RecordFilter
+++HumanAttri
object R Human attributes
butes
Coat color, refer to CoatColor in [Link] [Event] HumanTrait
++++CoatColor array<string> O
for available values, max array size is 4
Table 4-189
URL [Link]
Method GET
Descripti
Get the media file information found by the finder
on
[ Request Params ] ( key=value format at URL )
Name Type R/O Param Description
object int R The finder object id
count int R Record num to get, should less than 100.
[ Response Params ] ( key=value format )
Name Type R/O Param Description
found int R Record num that found.
items array<object> R Result record items.
+Channel int R The video channel index start from 0,
+StartTime string R Start time to search, ex: "2010-05-25 12:05:00"
+EndTime string R End time to search, ex: "2010-06-25 12:05:00"
+Type string R File type, should be: "jpg"
+Events array<string> R Events with this record
Table 4-190
Table 4-191
URL [Link]
Method GET
Descripti
Get the media file information found by the finder
on
[ Request Params ] ( key=value format at URL )
Name Type R/O Param Description
object int R The finder object id
count int R Record num to get, should less than 100.
[ Response Params ] ( key=value format )
Name Type R/O Param Description
found int R Record num that found.
items array<object> R Result record items.
+Channel int R The video channel index start from 0,
+StartTime string R Start time to search, ex: "2010-05-25 12:05:00"
+EndTime string R End time to search, ex: "2010-06-25 12:05:00"
+Type string R File type, should be: "jpg"
+Events array<string> R Events with this record
+FilePath string R File path, string max length is 259
+CutLength int R File length that cut between start time and end time
+Length int O File length of the whole file
+Summary object R DB record info
++TrafficCar object R TrafficCar record info
+++PlateNumb
string R Car plate number
er
+++PlateType string O Plate type,
+++PlateColor string O Plate color, ex: "Yellow", "Blue", … etc
+++VehicleCol
string O Vehicle color, ex: "Yellow", "Blue", … etc
or
+++Country string O Country info. max string length is 19
+++Speed int O Vehicle speed, unit is km/hour
+++Event string O The event info, ex: “TrafficJunction”
[ Example ]
GET [Link]
Request
unt=100
Table 4-192
URL [Link]
Method GET
Start to find media files satisfied the common conditions and IVS conditions with the
Description
finder.
[ Request Params ] ( key=value format at URL )
Name Type R/O Param Description
object int R The finder object id
condition object R The search conditions
The video channel to search, video channel index start from
+Channel int R
1, use -1 to search all video channel.
+StartTime string O Start time to search, ex: "2010-05-25 12:05:00"
+EndTime string O End time to search, ex: "2010-06-25 12:05:00"
+Types array<string> O Search file types
Search flags. It can be: "Timing", "Manual", "Marker", "Event",
+Flags array<string> O
"Mosaic", "Cutout"
+Events array<string> O Search event list,
Search directory list, if omit, search all. Each dir path max
+Dirs array<string> O
string length is 259.
Table 4-193
URL [Link]
Method GET
Description Get the media file information found by the finder
[ Request Params ] ( key=value format at URL )
Name Type R/O Param Description
object int R The finder object id
count int R Record num to get, should less than 100.
[ Response Params ] ( key=value format )
Name Type R/O Param Description
found int R Record num that found.
items array<object> R Result record items.
+Channel int R The video channel index start from 0,
+StartTime string R Start time to search, ex: "2010-05-25 12:05:00"
+EndTime string R End time to search, ex: "2010-06-25 12:05:00"
+Type string R File type, should be: "jpg"
+Events array<string> R Events with this record
+FilePath string R File path, string max length is 259
+CutLength int R File length that cut between start time and end time
+Length int O File length of the whole file
+Summary object R DB record info
++IVS object R IVS record info
+++Rule string R IVS rule, see above for valid value
+++Action string O IVS action, see above for valid value
Table 4-194
URL [Link]
Method GET
Start to find media files satisfied the common conditions and NonMotor conditions with
Description
the finder.
[ Request Params ] ( key=value format at URL )
Name Type R/O Param Description
object int R The finder object id
condition object R The search conditions
The video channel to search, video channel index start from
+Channel int R
1, use -1 to search all video channel.
+StartTime string O Start time to search, ex: "2010-05-25 12:05:00"
+EndTime string O End time to search, ex: "2010-06-25 12:05:00"
+Types array<string> O Search file types
Search flags. It can be: "Timing", "Manual", "Marker", "Event",
+Flags array<string> O
"Mosaic", "Cutout"
+Events array<string> O Search event list,
Search directory list, if omit, search all. Each dir path max
+Dirs array<string> O
string length is 259.
Table 4-195
URL [Link]
Method GET
Description Get the media file information found by the finder
[ Request Params ] ( key=value format at URL )
Name Type R/O Param Description
object int R The finder object id
count int R Record num to get, should less than 100.
[ Response Params ] ( key=value format )
Name Type R/O Param Description
found int R Record num that found.
items array<object> R Result record items.
+Channel int R The video channel index start from 0,
+StartTime string R Start time to search, ex: "2010-05-25 12:05:00"
+EndTime string R End time to search, ex: "2010-06-25 12:05:00"
+Type string R File type, should be: "jpg"
+Events array<string> R Events with this record
+FilePath string R File path, string max length is 259
+CutLength int R File length that cut between start time and end time
+Length int O File length of the whole file
4.13 Log
Table 4-207
[Link]
Syntax
.EndTime=<end>[& [Link]=<type>]
Method GET
Description Start to find log.
Find log between 2011-1-1 12:00:00 and 2011-1-10 12:00:00, URL is:
Example
[Link]
Table 4-208
Syntax [Link]
Method GET
Description Find log with token TokenValue and count logCount.
Example [Link]
found=2
items[0].RecNo=789
items[0].Time=2011-05-20 11:59:10
items[0].Type=ClearLog
items[0].User=admin
Success items[1].[Link]=H.264->MJPG
Return items[1].[Link]=Encode
items[1].RecNo=790
items[1].Time=2011-05-20 11:59:21
items[1].Type=SaveConfig
items[1].User=System
…
Parameters in URL:
The TokenValue is got by startFind in the above section, and logCount is the count of
Comment
logs for this query.
The maximum value of logCount is 100.
Appendix:
Field in Description
Response
found Count of found log, found is 0 if no log is found.
User User name.
Type Log type.
Time Time of this log.
RecNo Log number.
Detail Log details.
3. Stop query logs
Table 4-209
Syntax [Link]
Method GET
Syntax [Link]
Method GET
Description Clear all the logs.
Example [Link]
Success
OK
Return
Comment —
&w_User: default
Success
&Time: 2014-09-01 15:20:45
Return
&Type: VideoLoss
&Content: EventType: VideoLoss
channel: <8>
StartTime: 2014-09-01 15:20:45
…
Parameters in URL:
startTime/endTime: the start/end time when log info built. 24 hour Format, as:
Comment
yyyy-mm-dd hh:mm:ss.
For example:
4.14 Upgrader
Example -----------------------------8655433224198
Content-Disposition:form-data;name="upgrade"; filename= "[Link]"
Content-Type: application/octet-stream
Firmware data….
-----------------------------8655433224198--
Success
OK
Return
Comment —
Table 5-1
Syntax [Link]
Method GET
Description Get video input focus config.
Example [Link]
[Link][0][0].FocusLimit=100
[Link][0][0].FocusLimitSelectMode=Manual
[Link][0][0].IRCorrection=0
[Link][0][0].Mode=3
[Link][0][0].Sensitivity=1
[Link][0][1].FocusLimit=100
[Link][0][1].FocusLimitSelectMode=Manual
Success
[Link][0][1].IRCorrection=0
Return
[Link][0][1].Mode=3
[Link][0][1].Sensitivity=1
[Link][0][2].FocusLimit=100
[Link][0][2].FocusLimitSelectMode=Manual
[Link][0][2].IRCorrection=0
[Link][0][2].Mode=3
[Link][0][2].Sensitivity=1
Comment —
Set video in focus config
Table 5-2
[Link]
Syntax
alue>[&<paramName>=<paramValue>…]
Method GET
Description Set video input focus config.
[Link]
Example
ocusLimit=1000
Success
OK
Return
Appendix:
Table 5-3
Syntax [Link]
Method GET
Description Get video input zoom config.
Example [Link]
[Link][0][0].DigitalZoom=true
[Link][0][0].Speed=7
[Link][0][0].ZoomLimit=4
[Link][0][1].DigitalZoom=true
Success
[Link][0][1].Speed=0
Return
[Link][0][1].ZoomLimit=4
[Link][0][2].DigitalZoom=false
[Link][0][2].Speed=7
[Link][0][2].ZoomLimit=4
Comment —
Set video in zoom config
Table 5-4
[Link]
Syntax
alue>[&<paramName>=<paramValue>…]
Method GET
Description Set video input zoom config.
[Link]
Example
igitalZoom=false&VideoInZoom[0][0].Speed=8
Appendix:
Table 5-5
Syntax [Link]
Method GET
Description Get video input sharpness settings.
[Link]
Example
ness
[Link][0][0].Level=4
[Link][0][0].Mode=1
[Link][0][0].Sharpness=8
[Link][0][1].Level=4
Success
[Link][0][1].Mode=1
Return
[Link][0][1].Sharpness=8
[Link][0][2].Level=4
[Link][0][2].Mode=1
[Link][0][2].Sharpness=8
Comment —
Set video in sharpness
Table 5-6
[Link]
Syntax
alue>[&<paramName>=<paramValue>…]
Method GET
Description Set video input sharpness settings.
[Link]
Example
[0].Level=10&VideoInSharpness[0][0].Mode=1&VideoInSharpness[0][0].Sharpness=0
Success
OK
Return
Comment Parameters in URL:
Appendix:
Table 5-7
Syntax [Link]
Method GET
Description Get video input mode settings.
Example [Link]
[Link][0].Config[0]=1
[Link][0].Mode=0
[Link][0].TimeSection[0][0]=0 00:00:00-23:59:59
[Link][0].TimeSection[0][1]=0 00:00:00-23:59:59
[Link][0].TimeSection[0][2]=0 00:00:00-23:59:59
[Link][0].TimeSection[0][3]=0 00:00:00-23:59:59
[Link][0].TimeSection[0][4]=0 00:00:00-23:59:59
[Link][0].TimeSection[0][5]=0 00:00:00-23:59:59
[Link][0].TimeSection[1][0]=0 00:00:00-23:59:59
[Link][0].TimeSection[1][1]=0 00:00:00-23:59:59
[Link][0].TimeSection[1][2]=0 00:00:00-23:59:59
[Link][0].TimeSection[1][3]=0 00:00:00-23:59:59
Success
[Link][0].TimeSection[1][4]=0 00:00:00-23:59:59
Return
[Link][0].TimeSection[1][5]=0 00:00:00-23:59:59
[Link][0].TimeSection[2][0]=0 00:00:00-23:59:59
[Link][0].TimeSection[2][1]=0 00:00:00-23:59:59
[Link][0].TimeSection[2][2]=0 00:00:00-23:59:59
[Link][0].TimeSection[2][3]=0 00:00:00-23:59:59
[Link][0].TimeSection[2][4]=0 00:00:00-23:59:59
[Link][0].TimeSection[2][5]=0 00:00:00-23:59:59
[Link][0].TimeSection[3][0]=0 00:00:00-23:59:59
[Link][0].TimeSection[3][1]=0 00:00:00-23:59:59
[Link][0].TimeSection[3][2]=0 00:00:00-23:59:59
[Link][0].TimeSection[3][3]=0 00:00:00-23:59:59
[Link][0].TimeSection[3][4]=0 00:00:00-23:59:59
Table 5-8
[Link]
Syntax
alue>[&<paramName>=<paramValue>…]
Method GET
Description Set video input mde settings.
[Link]
Example
e=0
Success
OK
Return
Parameters in URL:
paramName and paramValue are as table below.
In table below,
Comment
head = VideoInMode [ChannelNo]
ChannelNo: integer, array index starts from 0, which means video channel (equals to
video channel index -1, and so 0 means channel 1).
Appendix:
Table 5-9
Syntax [Link]
Method GET
Description Get video in day night mode shift config.
Example [Link]
[Link][0][0].Delay=10
[Link][0][0].Mode=Brightness
[Link][0][0].Sensitivity=2
[Link][0][0].Type=Mechanism
[Link][0][1].Delay=10
Success [Link][0][1].Mode=Brightness
Return [Link][0][1].Sensitivity=2
[Link][0][1].Type=Mechanism
[Link][0][2].Delay=10
[Link][0][2].Mode=Brightness
[Link][0][2].Sensitivity=2
[Link][0][2].Type=Mechanism
VideoInDayNight[ChannelNo][ConfigNo]:
ChannelNo: integer, array index starts from 0, which means video channel (equals to
Comment video channel index -1, and so 0 means channel 1).
ConfigNo: array index, can be 0, 1 or 2. 0 means config for day, 1 means config for night,
and 2 means config for normal scene.
Set video in day night mode shift config
Table 5-10
[Link]
Syntax
alue>[&<paramName>=<paramValue>…]
Method GET
Description Set video in day night mode shift config.
[Link]
Example
0].Mode=BlackWhite
Success
OK
Return
Parameters in URL:
Comment ParamName and paramValue are as table below. In table below,
head = VideoInDayNight[ChannelNo][ConfigNo]
Appendix:
5.1.6 Lighting
Get lighting config
Table 5-11
Syntax [Link]
Method GET
Description Get lighting config.
Example [Link]
[Link][0][0].Correction=50
[Link][0][0].FarLight[0].Angle=0
[Link][0][0].FarLight[0].Light=0
[Link][0][0].Mode=ZoomPrio
[Link][0][0].NearLight[0].Angle=0
[Link][0][0].NearLight[0].Light=0
[Link][0][0].Sensitive=3
[Link][0][1].Correction=50
[Link][0][1].FarLight[0].Angle=0
[Link][0][1].FarLight[0].Light=0
Success
[Link][0][1].Mode=ZoomPrio
Return
[Link][0][1].NearLight[0].Angle=0
[Link][0][1].NearLight[0].Light=0
[Link][0][1].Sensitive=3
[Link][0][2].Correction=50
[Link][0][2].FarLight[0].Angle=0
[Link][0][2].FarLight[0].Light=0
[Link][0][2].Mode=ZoomPrio
[Link][0][2].NearLight[0].Angle=0
[Link][0][2].NearLight[0].Light=0
[Link][0][2].Sensitive=3
Comment Lighting[ChannelNo][ConfigNo]:
Table 5-12
[Link]
Syntax
alue>[&<paramName>=<paramValue>…]
Method GET
Description Set lighting config.
Turn on light:
[Link]
ht[0].Light=10&Lighting[0][0].NearLight[0].Light=90&Lighting[0][0].Mode=Manual
Example
Shift the light to ZoomPrio mode:
[Link]
ion=50&Lighting[0][0].Mode = ZoomPrio
Success
OK
Return
Parameters in URL:
paramName and paramValue are as table below.
Comment In table below,
head = Lighting [ChannelNo] [ConfigNo]
Lighting[0][0].FarLight[0].Light+ Lighting[0][0].NearLight[0].Light<=100.
Appendix:
5.2 Wiper
6.2 NAS
Table 6-6
Syntax [Link]
Method GET
Description Get all the directories on the NAS server.
Example [Link]
Table 6-7
[Link]
Syntax
alue>[&<paramName>=<paramValue>…]
Method GET
Description Set NAS config.
[Link]
Example
1&NAS[0].Enable=true
Success
OK
Return
Parameters in URL:
In table below,
Comment
Head =NAS[index]
index: The index of the NAS Server
Appendix:
Table 6-8
[Link]
Syntax
nt
Method GET
Description Get record storage point config.
Table 6-9
[Link]
Syntax
alue>[&<paramName>=<paramValue>…]
Method GET
Description Set record storage point config.
[Link]
Example
0].[Link]=local
Success
OK
Return
Parameters in URL:
In table below,
ch: integer, array index starts from 0, which means video channel(equals to video
Comment channel index -1, and so 0 means channel 1).
recType: The range is {"TimingRecord", "VideoDetectRecord", "AlarmRecord",
"EventRecord", "TimingSnapShot", "VideoDetectSnapShot", "AlarmSnapShot",
"EventSnapShot"}
Appendix:
Table 6-10
Syntax [Link]
Method GET
Description Get storage group config.
[Link]
Example
p
[Link][0].Channels[0].MaxPictures=0
[Link][0].FileHoldTime=0
[Link][0].Memo=For Reading & Writing Files
[Link][0].Name=ReadWrite
[Link][0].OverWrite=true
[Link][0].PicturePathRule=%y-%M-%d/%c/jpg/%h/%m/%s[%E][%O@%S
][%R].jpg
[Link][0].RecordPathRule=%y-%M-%d/%c/dav/%h/%h.%m.%s-%h.%m.
Success %s[%E][%O@%S][%R].dav
Return [Link][1].Channels[0].MaxPictures=0
[Link][1].FileHoldTime=0
[Link][1].Memo=For FTP Files
[Link][1].Name=Remote
[Link][1].OverWrite=true
[Link][1].PicturePathRule=%y-%M-%d/%c/jpg/%h/%m/%s[%E][%O@%S
][%R].jpg
[Link][1].RecordPathRule=%y-%M-%d/%c/dav/%h/%h.%m.%s-%h.%m.
%s[%E][%O@%S][%R].da
Comment —
Set storage group config
Table 6-11
[Link]
Syntax
alue>[&<paramName>=<paramValue>…]
Method GET
Description Set storage group config.
[Link]
Example
me=main
Success
OK
Return
Appendix:
6.4 SDEncrypt
Table 6-17
[Link]
Syntax
m
Method GET
Description Get SD health info alarm config.
[Link]
Example
m
[Link]=true
Success [Link]=10
Return [Link]= (output of EventHandler is described in
GetEventHandler)
Comment —
Set StorageHealthAlarm config
Table 6-18
[Link]
Syntax
alue>[&<paramName>=<paramValue>…]
Method GET
Description Set SD health info alarm config.
[Link]
Example
Enable=true
Success
OK
Return
Comment —
7.1.1 GUISet
Get GUISet config
Table 7-1
Syntax [Link]
Method GET
Description Get the GUI settings. Every video out screen has a group setting.
Example [Link]
[Link][index]. WindowAlpha =128
[Link][index]. TimeTitleEnable =true
[Link][index]. TimeTitlePos[0]=0
[Link][index]. TimeTitlePos[1]=0
[Link][index]. TimeTitlePos[2]=8191
[Link][index]. TimeTitlePos[3]=8191
[Link][index]. MenuShowOption =0
Success [Link][index]. MenuAutoHideTime =10
Return [Link][index]. AutoLogout =10
[Link][index]. ChannelTitleShowEnable =true
[Link][index]. ChannelTitlePos[0]=0
[Link][index]. ChannelTitlePos[1]=0
[Link][index]. ChannelTitlePos[2]=8191
[Link][index]. ChannelTitlePos[3]=8191
[Link][index]. AutoGuideEnable =true
…
Parameters in Response :
Comment
index: the array index which starts from 0.
Set GUISet config
Table 7-2
[Link]
Syntax
alue>[&<paramName>=<paramValue>…]
Method GET
Description Set the GUI settings. Every video out screen has a group setting.
[Link]
Example
pha=192&GUISet[0].TimeTitleEnable=false&GUISet[0].MenuShowOption=1
Success
OK
Return
Appendix:
Table 7-3
Syntax [Link]
Method GET
Description Get the split screen mode.
Example [Link]
Success mode=split1
Return group=4
Parameters in URL:
Comment
ChannelNo: the display screen No. Start from 1 and <= 2.
Set split screen mode
Table 7-5
Syntax [Link]
Method GET
Description Get monitor tour config.
Example [Link]
[Link][ch].Enable=128
[Link][ch].Interval=true
Success
[Link][ch].Mask.Split1=0,1,5
Return
[Link][ch].Mask.Split8=0,1,5
[Link][ch].Collections=Favortite1, Favortite2…
Comment —
Set moniter tour config
Table 7-6
[Link]
Syntax
alue>[&<paramName>=<paramValue>…]
Method GET
Description Set monitor tour config.
[Link]
Example
e=true
Success
OK.
Return
Comment Parameters in URL:
Appendix:
Table 7-8
Syntax [Link]
Method GET
Description Get monitor collection config.
[Link]
Example
tion
[Link]. Mode=Split1
[Link][winno].Enable= true
[Link][winno].Device=device1
Success [Link][winno].VideoChannel=5
Return [Link][winno].VideoStream=Main
[Link][winno].AudioChannel=5
[Link][winno].AudioStream=Main
…
Parameters in Response :
Comment winno : integer, the array index which equals to the window index in a screen and starts
from 0.
Set monitor collection config
Table 7-9
Appendix:
Table 8-2
[Link]
Syntax
al
Method GET
Description Get video analyse global config.
[Link]
Example
Global
[Link]=Normal
[Link]=1
[Link]=Far
[Link]=30
[Link]=10.000000
Success
[Link]=6.200000
Return
[Link][0]=8:00:00
[Link][1]=20:00:00
[Link][0]=20:00:00
[Link][1]=8:00:00
…
Parameters in Response :
head =[Link][ChannelNo]
Comment
ChannelNo: integer, array index starts from 0, which means video channel(equals to
video channel index -1, and so 0 means channel 1).
Set video analyse global config
Table 8-3
[Link]
Syntax
alue>[&<paramName>=<paramValue>...]
Method GET
Description Set video analyse global config.
[Link]
Example
0].[Link]=Normal&VideoAnalyseGlobal[0].[Link]=1
Success
OK
Return
Parameters in URL:
paramName and paramValue are as table below.
In table below, head =VideoAnalyseGlobal[ChannelNo]
Comment
ChannelNo: integer, array index starts from 0, which means video channel (equals to
video channel index -1, and so 0 means channel 1).
ParamName start with [Link] depends on [Link].
Appendix
Table 8-4
Syntax [Link]
Method GET
Description Get video analyse rules config.
[Link]
Example
Rule
[Link]= line1
[Link]=CrossLineDetection
Success [Link][0][0].Enable =true
Return [Link][0][0].EventHandler= (output of EventHandler is described in
GetEventHandler)
…
Parameters in Response :
head =[Link][ChannelNo] [RuleNo]
Comment ChannelNo: integer, array index starts from 0, which means video channel (equals to
video channel index -1, and so 0 means channel 1).
RuleNo =rule index.
Set video analyse rule
Table 8-5
[Link]
Syntax
alue>[&<paramName>=<paramValue>…]
Method GET
Description Set video analyse rules config.
Appendix
Table 8-6
[Link]
Syntax
erStat
Method GET
Description Get OSD config when display number status information of people.
[Link]
Example
NumberStat
[Link]=true
Success [Link]=true
Return [Link]=true
[Link]=0
Table 8-7
[Link]
Syntax
alue>[&<paramName>=<paramValue>…]
Method GET
Description Set OSD config when display number status information of people.
[Link]
Example
Stat[0].EncodeBlend=true&VideoWidgetNumberStat[0].ShowEnterNum=true
Success
OK
Return
Parameters in URL:
paramName and paramValue are as table below.
In table below,
Comment
head =VideoWidgetNumberStat[ChannelNo]
ChannelNo: integer, array index starts from 0, which means video channel(equals to
video channel index -1, and so 0 means channel 1).
Appendix
8.3 FishEye
Table 8-9
[Link]
Syntax
name=VideoInFishEye
Method GET
Description Clear the people count information.
[Link]
Example
VideoInFishEye
[Link]=Chip
[Link][0]=WallMode
[Link][1]=CeilMode
……
[Link][0]=Original
Success
[Link][1]=Config
Return
[Link][2]=Panorama
……
[Link][0]=Up
[Link][1]=Down
…….
Parameters in Response:
Type: string, it can be Chip, Plugin, and ChipAndPlugin. Chip means only support
calibrate by device.
Plugin means only support calibrate by plugin. ChipAndPlugin means support
both.
MountMode: string and [Link] MountMode means the install mode, it can be
Comment
WallMode,CeilMode, FloorMode,180CeilMode.
CalibrateMode: string and array. It can be Original, Config, Panorama,
DoublePanorama, OriginalPlusThreeEPtzRegion, Single, FourEPtzRegion,
TwoEPtzRegion, and Normal.
EPtzCmd: string and array. It can be ZoomIn, ZoomOut, Up, Down, Left, Right,
RotateClock, RotateAntiClock, Stop, TapView, and ShowRegion.
Table 8-10
Syntax [Link]
Method GET
Description Get FishEye config.
Example [Link]
[Link]=1
Success
[Link]=Original
Return
……..
Parameters in Response:
head = [Link][ChannelNo]
ChannelNo: integer, array index starts from 0, which means video channel (equals to
Comment video channel index -1, and so 0 means channel 1).
PlaceHolder:integer, it can be 1(CeilMode), 2(WallMode), 3(FloorMode).
CalibrateMode: string. It can be Original, Config, Panorama, DoublePanorama,
OriginalPlusThreeEPtzRegion, Single, FourEPtzRegion, TwoEPtzRegion, and Normal.
Set FishEye config
Table 8-11
[Link]
Syntax
alue>[&<paramName>=<paramValue>…]
Method GET
Description Set FishEye config.
Change the placeholder setting of channel 1:
[Link]
der=1
8.4 CrowdDistriMap
--<boundary>
Content-Type: text/plain
Content-Length: <data length>
CrowdStatData[0].Channel=1
CrowdStatData[0].GloabalPeopleNum =10
CrowdStatData[0].RegionNum =1
CrowdStatData[0].RegionPeopleList[0].RegionID=0
Success CrowdStatData[0].RegionPeopleList[0].Region[0][0]=10
Return CrowdStatData[0].RegionPeopleList[0].Region[0][1]=10
CrowdStatData[0].RegionPeopleList[0].Region[1][0]=10
CrowdStatData[0].RegionPeopleList[0].Region[1][1]=100
…
CrowdStatData[0].RegionPeopleList[0].RegionPeopleNum=100
CrowdStatData[0].CrowdEventNum =2
CrowdStatData[0].CrowdList[0].Center=2
CrowdStatData[0].CrowdList[0].Radius=2
CrowdStatData[0].RegionEventNum =2
CrowdStatData[0].RegionList[0].Region[0][0]=10
CrowdStatData[0].RegionList[0].Region[0][1]=10
CrowdStatData[0].RegionList[0].Region[1][0]=10
CrowdStatData[0].RegionList[0].Region[1][0]=100
Heartbeat
--<boundary>
Content-Type: text/plain
Content-Length: <data length>
CrowdStatData[0].Channel=1
…
Parameters in URL and Response
ChannelNo: integer, video channel index to subscribe
Region is Polygon, has a list of points, every point has x and y , so Region[0][0] is first
point's x, Region[0][1] is first point's y, Region[1][0] is second point's x, Region[1][1] is
Comment
second point's y, and so on
Heartbeat: integer, range is [1,60],unit is [Link] the URL contains this parameter,
and the value is 5, it means every 5 seconds the device should send the heartbeat
message to the client,the heartbeat meaage are "Heartbeat".
Parameters in Response :
TrafficCar: the members refer to TrafficCar
Appendix
9.1.4 Snap
Table 9-4
Syntax [Link]
Method GET
Take a snapshot manually. For intelligent traffic device, it should use this method to take
a snapshot.
But, the response is not image [Link] you want to get the image data, please follow
these steps:
Description
1. Use the method mentioned chapter (4.4.3 Subscribe to snapshot) to subscribe the
image data, and the eventcode is "TrafficManualSnap".
2. Use the "manSnap"to take a snapshot manually.
3. In the connection which built in the Step 1, the device will send the image data.
Example [Link]
Success
OK
Return
Parameters in URL:
Comment
ChannelNo: integer, video channel index which starts from 1.
Table 9-6
[Link]
Syntax
State
Method GET
Use this method. It can get the light state config. For example, it can know that when the
Description space is free, then the light should be green, and the space is full, the light should be
red.
[Link]
Example
LightState
[Link]=0
[Link]=1
[Link]=0
[Link]=0
[Link]=0
[Link]=0
Success
[Link]=0
Return
[Link]=0
[Link]=0
[Link]=0
[Link]=0
[Link]=1
[Link]=0
Table 9-7
[Link]
Syntax
alue>[&<paramName>=<paramValue>…]
Method GET
Description Set the light state config.
[Link]
[Link]=1&[Link]=0&ParkingSpaceLi
Example [Link]=0&[Link]=0&ParkingSp
[Link]=0&[Link]=0&Parkin
[Link]=0
Success
OK
Return
Comment —
Table 9-10
[Link]
URL
sFilter
Method GET
Get Parking Space Access Filter config. Using this method, we can get the accessible
Description
address of the device.
[ Request Params ] ( None )
[ Response Params ] ( key=value format )
Table 9-11
[Link]
URL
lter
Method GET
Descripti
Set Parking Space Access Filter config.
on
[ Request Params ] ( key=value format at URL )
Name Type R/O Param Description
ParkingSpaceAc
object R ParkingSpaceAccessFilter config object
cessFilter
+Enable bool R Enable filter or not
+Type string R Filter type, can be: "BannedList", "TrustList".
+TrustList Array<string> O IP address list that trust
+BannedList Array<string> O IP address list that banned.
[ Response Params ] ( None )
[ Example ]
GET
[Link]
Request
[Link]=true&[Link]=TrustList&ParkingSpaceAcce
[Link][0]=[Link]&[Link][0]=[Link]
Respons
<none>
e
Table 9-13
[Link]
Syntax
at=<Format>&code=<Code>
Method POST
Upload a blacklist file into the deivce, and the device will import the data of the [Link]
Description
operation may take a long time.
POST
/cgi-bin/[Link]?action=uploadFile&Type=TrafficBlackList&format=CSV&code
=UTF-8 HTTP/1.1
Host: [Link]
Connection: keep-alive
Content-Length:XXXX
Content-Type: multipart/form-data;
boundary=----WebKitFormBoundaryooT6JTCbuezAQeDy
Example
------WebKitFormBoundaryooT6JTCbuezAQeDy
Content-Disposition: form-data; name="blackfile"; filename="[Link]"
Content-Type: application/[Link]-excel
File data….
------WebKitFormBoundaryooT6JTCbuezAQeDy--
Success
OK
Return
Parameters in URL:
Comment Format: string, for the blacklist, the value is fixed to "CSV".
Code: string, for the blacklist, the value can be "utf-8"or "GB2312".
Table 9-15
Syntax [Link]
Method GET
Description Get the export state.
Example [Link]
cFlow
Success state=0
Return
Comment Parameters in Response:
state: integer,the value can be 0(success),1(fail), 2(running), 3(the file is invalid), 4(the
file is too large) or 5(have duplicate info in the file).
Table 9-16
Syntax [Link]
Method GET
Description Download the traffic flow record.
Example [Link]
Success File data
Return
Comment —
Parameters in Response:
Table 10-2
[Link]
Syntax
ons
Method GET
Description Thermography options contain EZoom, Colorization, and SmartOptimizer and so on.
[Link]
Example
yOptions
[Link]=0
[Link]=White Hot
[Link]=10
[Link]=Custom
[Link]= true
[Link][i][0u]=0
[Link][i][1u]=0
[Link][i][2u]=0
Success
[Link][i][3u]=0
Return
[Link]=10
[Link]=10
[Link]=10
[Link]="HighTemperature"
[Link]=13
[Link]=15
[Link]=12
[Link]=95
Parameters in Response:
head = [Link] [ChannelNo][0]
ChannelNo: integer, array index starts from 0, which means video channel (equals to
Comment
video channel index -1, and so 0 means channel 1).
Regions: the region is a rectangle
i: the array index starts from 0.
Set thermography options config
Table 10-3
[Link]
Syntax
alue>[&<paramName>=<paramValue>…]
Method GET
Description Set thermography options.
In table below,
Comment
head = ThermographyOptions[ChannelNo][0]
ChannelNo: integer, array index starts from 0, which means video channel(equals to
video channel index -1, and so 0 means channel 1).
i: the array index starts from 0.
Appendix
Comment
Parameters in Response:
Regions : the region is a rectangle
i: the region index.
10.2 Radiometry
Table 10-11
[Link]
Syntax
ometry
Method GET
Description Get HeatImagingThermometry Config.
[Link]
Example
Thermometry
Table 10-12
[Link]
Syntax
alue>[&<paramName>=<paramValue>…]
Method GET
Description Set HeatImagingThermometry Config
[Link]
Example
[Link]=50&[Link]=20.3
Success
OK
Return
Parameters in URL:
Comment
The paramName and paramValue are in the table below.
Appendix
Table 10-13
Syntax [Link]
Method GET
Description Get thermometry rule.
[Link]
Example
Rule
[Link] = true
[Link] =0
[Link]=0
[Link]=SpotName
[Link]=Spot
[Link][PointNo][0]= 0
[Link][PointNo][1]= 0
…
head.T=3
Success [Link]=0
Return [Link]=true
[Link] =Max
[Link]=Below
[Link]=20.0
[Link]=0.1
[Link]=30
[Link]=true
[Link]=0.95
[Link]=0.95
[Link]=0
Table 10-14
[Link]
Syntax
alue>[&<paramName>=<paramValue>…]
Method GET
Description Set thermometry rule.
[Link]
Example
[0].Name=name1
Success
OK
Return
Parameters in URL:
The paramName and paramValue are in the table below.
In table below,
head = ThermometryRule[ChannelNo][RuleNo]
Comment ChannelNo: integer, array index starts from 0, which means video channel (equals to
video channel index -1, and so 0 means channel 1).
PointNo = point index
RuleNo =rule index.
Alarm= AlarmSetting[AlarmNo]
AlarmNo = alarm index
Appendix
Table 10-15
[Link]
Syntax
er
Method GET
Description Get Heat Imaging Temper config
[Link]
Example
emper
Success [Link]=false
Return [Link]. paramName = paramValue
Parameters in Response:
head= [Link][ChannelNo]
Comment
ChannelNo: integer, array index starts from 0, which means video channel (equals to
video channel index -1, and so 0 means channel 1).
Table 10-16
[Link]
Syntax
alue>[&<paramName>=<paramValue>…]
Method GET
Description Set Heat Imaging Temper config
[Link]
Example
0].Enable=false&HeatImagingTemper[0].[Link]=false
Success
OK
Return
Parameters in URL:
The paramName and paramValue are in the table below.
Appendix
Appendix
Table 10-19
[Link]
Syntax <StartTimeValue>&[Link]=<EndTimeValue>&[Link]=<TypeVal
ue>&[Link]=<ChannelValue>&[Link]=<PeriodValue>
Method GET
Description Start to query the history data of temperature values.
[Link]
Example me=2010-04-01%200:00:00&[Link]=2010-04-08%200:00:00&[Link]
pe=Spot&[Link]=1&[Link]=5
Success token=46878
Return totalCount=333
Comment The parameters in bold face are as table below.
Appendix
Table 10-21
Syntax [Link]
Method GET
Description Stop to find the history data of temperature values.
Example [Link]
Success
OK
Return
Comment token: query token, get from interface of the first step.
--<boundary>\r\n
Content-Type: application/http\r\n
Content-Length: <data length>\r\n\r\n
<Binary data>
Comment ChannelNo: integer, video channel index which starts from 1.
Appendix:
Appendix:
Table 11-6
[Link]
URL
ssword
Method GET
Descriptio
Remove the access control custom password record by recno.
n
[ Request Params ] ( key=value format in URL )
Name Type R/O Param Description
Access user card and fingerprint record name, should be
name string R
"AccessControlCustomPassword".
recno int R The record id.
[ Response Params ] ( OK )
[ Example ]
GET [Link]
Request
rolCustomPassword&recno=12345
Table 11-7
[Link]
URL
word
Method GET
Descriptio
Remove all the access control custom password records
n
[ Request Params ] ( key=value format in URL )
Name Type R/O Param Description
Access user card and fingerprint record name, should be
name string R
"AccessControlCustomPassword".
[ Response Params ] ( OK )
[ Example ]
GET [Link]
Request
CustomPassword
Response OK
Table 11-8
[Link]
URL
word
Method GET
Description Find Access control custom password by condition.
[ Request Params ] ( key=value format in URL )
Name Type R/O Param Description
name string R Record Name, should be "AccessControlCustomPassword".
count int O Max result to return, default is 1024.
StartTime string O The start of the record's CreateTime.
EndTime string O The End of the record's CreateTime.
condition object O Search condition.
+UserID string O The user's id.
[ Response Params ] (key=value format)
Name Type R/O Param Description
totalCount int O The total record num that find.
found int O The record num that returned.
records array<object> R The records that returned.
+RecNo int R The record id.
+CreateTime int R The create time of record.
+UserID string R The user's id.
+OpenDoorPa
string R Ths user’s open door password.
ssword
Table 11-9
[Link]
URL
sword
Method GET
Description Find Access control custom password by recno.
[ Request Params ] ( key=value format in URL )
Name Type R/O Param Description
name string R Record Name, should be "AccessControlCustomPassword".
recno int R The record id.
SID=315
[Link]=Answer
[Link]=RTP
[Link]=UDP
[Link]=Talk
[Link]=6000
[Link][0].Compression=PCM
Success [Link][0].Frequency=44000
Return [Link][0].Depth=16
[Link][1].Compression=G.711A
[Link][1].Frequency=44000
[Link][1].Depth=16
[Link]=7000
[Link][0].Compression=H.264
[Link][0].Frequency=90000
[Link][1].Compression=MJPG
…
[Link]. MediaAddr=[Link]
Parameters in Response:
Comment State: in range of {"Ringing", "Inviting", "Answer", "Refuse", "Cancel", "Hangup",
"Busying" }
12.1.7 Hang Up
Table 12-7
Syntax [Link]
Method GET
Description Close it when the conversation is over.
Example [Link]
Success
OK
Return
Comment —
File 2:
items[0]. Channel =1
items[0]. StartTime =2011-1-1 13:00:00
items[0]. EndTime =2011-1-1 14:00:00
items[0]. Events[0]=AlarmLocal
items[0]. VideoStream=Main
items[0]. Length =790
items[0]. Duration = 3600
13.2 BandLimit
Appendix:
Table 14-1
[Link]
Syntax
nfo[0].Type=<type>]&[info[0].IO=<io>
Method GET
Description Control white light or speaker
[Link]
Example
pe=1&info[0].IO=0
Success [Link]=on
Return [Link]=on
channelno: video channel index for white light,for siren it's audio output channel, The
Comment channel number is default 0 if the request is not carried the param
io: enable or disable the function
Appendix:
Table 14-2
Syntax [Link] getstatus&[channel=<channelno>]
Method GET
Description Get white light and speaker stauts
Example [Link] getStatus&channel=1
Success [Link]=on
Return [Link]=on
Comment channelno: video channel index
Table 14-3
Syntax [Link]
Comm 218
Method GET
Description Get pir parameter.
Example [Link]
[Link]=true
[Link]=true
[Link]=Filcker
[Link]=5
[Link]=10
[Link]=TimeSection
[Link][weekday][0]=1 00:00:00-24:00:00
[Link][weekday][1]=0 02:00:00-24:00:00
[Link][weekday][2]=0 03:00:00-24:00:00
[Link][weekday][3]=0 04:00:00-24:00:00
[Link][weekday][4]=0 05:00:00-24:00:00
[Link][weekday][5]=0 06:00:00-24:00:00
[Link]=true
[Link]=[0, 1, 2]
[Link]=10
[Link]=true
[Link]=[1, 4]
Success
[Link]=10
Return
[Link]=true
[Link]=[2, 4]
[Link]=true
[Link]=true
[Link]=10
[Link]=0
[Link]=true
[Link][0].Level=3
[Link][0].Id=0
[Link][0].Name=Region0
[Link][0].Sensitive=58
[Link][0].Threshold=4
[Link][0].Region[0]=3932160
[Link][0].Region[1]=3932160
…
…
head. DetectWindow [1]…
if a device has one or more pir, PirParam is a array
channel : video channel index
Comment
weekday : range is [0-6] (Sunday - Saturday)
head=configEx[channelNo]
set pir parameter
Table 14-4
[Link]
Syntax
ramName>=<paramValue>...&<paramName>=<paramValue>
Comm 219
Method GET
Description Set pir parameter.
[Link]
Example
Enable=true&configEx[1].[Link]=true&...
Success
OK
Return
channel : video channel index
Comment
head=configEx[channelNo]
Appendix:
Comm 220
ParamName ParamValue type Description
LineNum
Index of region, region is divided into lines
and each line has several blocks, a line is
described by a 32 bit integer, a bit for a
block.
0=Line 1
1=Line 2
…
…
Comm 221
ParamName ParamValue type Description
Range is {0, 1}, ch is alarm out channel
index.
head. [Link][ch] integer 0 — do not output alarm at alarm out
channel ch
1 — output alarm at alarm out channel ch
head. [Link] bool Enable/Disable alarm out function.
Range is [10—300].
head. [Link] Integer Unit is seconds, indicates the time to
output alarm after input alarm is cleared.
Range is {0, 1}
head. [Link][ch] integer 0 — do not snapshot on video channel ch
1 — snapshot on video channel ch
head. [Link] bool Enable/Disable snapshot function.
Range is [0—255].
head. [Link] integer Alarm signal dejitter seconds. Alarm signal
change during this period is ignored.
head. [Link] bool Enable/Disable mail send for alarm.
head. [Link] bool Enable/Disable mail send for alarm.
Range is [10, 300]
head. [Link] integer
Unit is seconds
head. [Link] bool Enable/Disable log for alarm.
Comm 222
15 Other APIs
15.1 Discover Devices
15.2 Flashlight
Table 15-3
[Link]
Syntax
alue>[&<paramName>=<paramValue>…]
Method GET
Description Set Flashlight config.
[Link]
Example
ue&[Link][1][0]=1%2012:00:00-18:00:00
Success
OK
Return
Comment —
Appendix:
Example:
TimeSection[1][0]=1 12:00:00—18:00:00
Means flash light is effective between 12:00:00 and
18:00:00 at Monday.
Table 16-1
URL [Link]
Method GET
Description Get summary information of video Stat.
[ Request Params ] ( key=value format in URL )
Name Type R/O Param Description
channel int O Video channel index which starts from 1, default is 1.
[ Response Params ] (key=value format)
Name Type R/O Param Description
summary object R Summary information of video Stat.
+Channel int R Video channel index which starts from 0.
Rule type, it can be:
"ManNumDetection": count the people num in region,
and the detail stat is in "InsideSubtotal" param.
+RuleName string R
"NumberStat": count the people entering and leaving the
region, and the detail stat is in "EnteredSubtotal" and
"ExitedSubtotal"param.
+EnteredSubto
object O People enter stat.
tal
++Total int R Total enter num.
++Today int R Today enter num.
++Hour int R This hour enter num.
++TotalInTime
int O Today enter num after call clearSectionStat.
Section
+ExitedSubtota
object O People leave stat.
l
++Total int R Total leave num.
++Today int R Today leave num.
++Hour int R This hour leave num.
++TotalInTime
int O Today leave num after call clearSectionStat.
Section
+InsideSubtotal object O People inside region stat.
++Total int R Today inside num.
AI APIs 226
++ManStayStat array<object> O The entering and leaving stat of people that leaved.
+++EnterTime string O People enter time, ex: 2012-01-04 00:00:00.
+++ExitTime string O People leave time, ex: 2012-01-04 00:00:45.
[ Example ]
Request GET [Link]
[Link]=0
[Link]=NumberStat
[Link]=0
[Link]=14
[Link]=0
[Link]=0
Respons
[Link]=32
e
[Link]=0
[Link]=65
[Link][0].EnterTime=2012-01-04 00:00:00
[Link][0].ExitTime=2012-01-04 00:00:45
[Link][1].EnterTime=2012-01-04 00:00:00
[Link][1].ExitTime=2012-01-04 00:00:45
Table 16-2
URL [Link]
Method GET
Start to find video stat info, in response, there is a token for further info finding process,
Description
and there is a totalCount shows how many data count(s).
[ Request Params ] ( key=value format in URL )
Name Type R/O Param Description
channel int O Video channel index which starts from 1, default is 1.
condition object R Find condition.
+StartTime string R Find time range start, ex: 2012-01-04 00:00:00.
+EndTime string R Find time range end, ex: 2012-01-04 00:02:00.
The information granularity returned by the query
requirements. The range is {Hour, Day, Week, Month,
+Granularity string R
Season, Year}(Note: Most devices only support Hour, Day,
Week.)
Rule type, it can be: NumberStat, ManNumDetection. If
+RuleType string O
omit, default is NumberStat
Valid when ruleType is ManNumDetection, report people
+MinStayTime int O
stay over this minimal time.
[ Response Params ] (key=value format)
Name Type R/O Param Description
Token for this search, use this token to get result and stop
token int R
search.
totalCount int R Number of find result.
AI APIs 227
[ Example ]
GET
[Link]
Request
artTime=2011-01-01%2012:00:00&[Link]=2011-01-10%2012:00:00&condition
.Granularity=Hour&[Link]=NumberStat&[Link]=20
token=12345
Response
totalCount=56
Get the find result
Table 16-3
URL [Link]
Method GET
Description Get the find result of Video Stat info with channel, token, begin Number and count.
[ Request Params ] ( key=value format in URL )
Name Type R/O Param Description
Video channel index which starts from 1, default is 1.
channel int O
NOTE: must be the same as startFind.
Token for this search, use this token to get result and stop
token int R
searching.
beginNumber int R The start count. It must be between 0 and totalCount -1.
count int R The count of info for this query.
[ Response Params ] (key=value format)
Name Type R/O Param Description
found int R Number of result that return.
info array<object> R Result information of video Stat.
+Channel int R Video channel index which starts from 0.
Rule name, it can be:
"ManNumDetection": count people num in region, detail
stat is in "InsideSubtotal"param
+RuleName string R
"NumberStat": count people enter and leave region,
detail stat is in "EnteredSubtotal"and
"ExitedSubtotal"param.
+StartTime string O Find time range start, ex: 2012-01-04 00:00:00.
+EndTime string O Find time range end, ex: 2012-01-04 00:02:00.
+EnteredSubto
int O Total enter num.
tal
+ExitedSubtota
int O Total leave num.
l
+InsideSubtotal int O Total inside num.
[ Example ]
GET
Request [Link]
5&beginNumber=0&count=20
AI APIs 228
found=20
info[0].Channel=0
info[0].RuleName=NumberStat
info[0].StartTime=2012-03-14 00:00:00
info[0].EndTime=2012-04-14 00:00:00
info[0].EnteredSubtotal=14
info[0].ExitedSubtotal=5
info[0].InsideSubtotal=65
Response
info[1].Channel=0
info[1].RuleName=NumberStat
info[1].StartTime=2012-03-14 00:00:00
info[1].EndTime=2012-04-14 00:00:00
info[1].EnteredSubtotal=14
info[1].ExitedSubtotal=5
info[1].InsideSubtotal=65
…
Stop the searching session
Table 16-4
URL [Link]
Method GET
Description Stop query video stat by channel and token.
[ Request Params ] ( key=value format in URL )
Name Type R/O Param Description
Video channel index which starts from 1, default is 1.
channel int O
NOTE: must be the same as startFind.
Token for this search, use this token to get result and stop
token int R
search.
[ Response Params ] ( OK )
[ Example ]
GET [Link]
Request
=12345
Response OK
Table 16-5
URL [Link]
Method GET
Description Clear the people count information.
[ Request Params ] ( key=value format in URL )
Name Type R/O Param Description
channel int O Video channel index which starts from 1, default is 1.
[ Response Params ] ( OK )
[ Example ]
Request GET [Link]
AI APIs 229
Response OK
Table 16-6
URL [Link]
Method GET
Description Subscribe the people count information.
[ Request Params ] ( key=value format in URL )
Name Type R/O Param Description
channel int O Video channel index which starts from 1, default is 1.
Send heartbeat interval, range is [1, 60],unit is second. If the
URL contains this parameter, and the value is 5, it means every
heartbeat int O 5 seconds the device should send the heartbeat message to
the client, the heartbeat meaage are "Heartbeat". If this
parameter is not present, its default value is 60.
[ Response Params ] (key=value format)
Name Type R/O Param Description
summary object R Summary information of video Stat.
+Channel int R Video channel index which starts from 0.
Rule type, it can be:
"ManNumDetection": Count people num in region, detail
stat is in "InsideSubtotal" param.
+RuleName string R
"NumberStat": Count people entering and leaving region,
detail stat is in "EnteredSubtotal" and "ExitedSubtotal"
param.
+EnteredSubtota
object O People enter stat.
l
++Total int R Total enter num.
++Today int R Today enter num.
++Hour int R This hour enter num.
++TotalInTimeSe
int O Today enter num after call clearSectionStat.
ction
+ExitedSubtotal object O People leave stat.
++Total int R Total leave num.
++Today int R Today leave num.
++Hour int R This hour leave num.
++TotalInTimeSe
int O Today leave num after call clearSectionStat.
ction
+InsideSubtotal object O People inside region stat.
++Total int R Today inside num.
array<obj
++ManStayStat O The entering and leaving stat of people that leaved.
ect>
+++EnterTime string O People enter time, ex: 2012-01-04 00:00:00.
+++ExitTime string O People leave time, ex: 2012-01-04 00:00:45.
[ Example ]
AI APIs 230
GET
Request
[Link]
HTTP/1.1 200 OK
Server: Device/1.0
Content-Type: multipart/x-mixed-replace; boundary=<boundary>
Connection: closed
--<boundary>
Content-Type: text/plain
Content-Length: <length>
[Link]=0
[Link]=NumberStat
[Link]=0
[Link]=14
[Link]=0
[Link]=0
[Link]=32
[Link]=0
[Link]=65
Response
[Link][0].EnterTime=2012-01-04 00:00:00
[Link][0].ExitTime=2012-01-04 00:00:45
[Link][1].EnterTime=2012-01-04 00:00:00
[Link][1].ExitTime=2012-01-04 00:00:45
--<boundary>
Content-Type: text/plain
Content-Length: 11
Heartbeat
--<boundary>
Content-Type: text/plain
Content-Length: <length>
[Link]=0
[Link]=NumberStat
[Link]=0
[Link]=14
…
Table 16-7
Usage Refer to "4.9.17 Subscribe to Event Message"for how to subscribe event
Description When people number triggers the rule, send this event.
[ Event Params ] ( JSON format )
Name Type R/O Param Description
AI APIs 231
Number int R Total number in detect region.
EnteredNumber int R Total number that enter the detect region.
ExitedNumber int R Total number that leave the detect region.
Number overrun type, it can be: "EnterOver", "ExitOver",
Type string R
"InsideOver".
[ Example ]
--<boundary>
Content-Type: text/plain
Content-Length: <length>
Code=NumberStat;action=Start;index=0;data={
Event "Number": 120,
"EnteredNumber": 180,
"ExitedNumber": 60,
"Type": "EnterOver"
}
--<boundary>
Table 16-8
Usage Refer to "4.9.17 Subscribe to Event Message"for how to subscribe event
Description When people number triggers the rule, send this event.
[ Event Params ] ( JSON format )
Name Type R/O Param Description
Array<obje
ManList R The people info list.
ct>
The detected people bounding box, 4 interge, refer to x's value
of left-top point, y's value of left-top point, x's value of
+BoundingBox Array<int> R
right-bottom point, y's value of right-bottom point. Coordinate
remap to 0 — 8192.
+Stature int R The people's stature, unit is cm.
[ Example ]
--<boundary>
Content-Type: text/plain
Content-Length: <length>
Code=ManNumDetection;action=pulse;index=0;data={
Event
"ManList": [ { "BoundingBox": [2992,1136,4960,5192], "Stature": 170 },
{ "BoundingBox": [4392,4136,6960,6512], "Stature": 175 },
{…}, … ]
}
--<boundary>
AI APIs 232
16.1.2 FaceRecognitionServer
Table 16-9
URL [Link]
Method GET
Description Create a face group.
[ Request Params ] ( key=value format at URL )
Name Type R/O Param Description
groupName string R The face group name, max string length is 127.
The description detail of the face group, max string length is
groupDetail string O
255.
[ Response Params ] ( key=value format )
Name Type R/O Param Description
groupID string R The identity of the created face group, max string length is 63.
[ Example ]
GET
Request [Link]
=Test1&groupDetail=ForTest1
Response groupID=10000
Table 16-10
URL [Link]
Method GET
Description Modify a face group.
[ Request Params ] ( key=value format at URL )
Name Type R/O Param Description
groupID string R The identity of the face group, max string length is 63.
groupName string R The name of the the face group, max string length is 127.
groupDetail string O Description detail of the face group, max string length is 255.
[ Response Params ] ( OK )
[ Example ]
GET
Request [Link]
000&groupName=Test1&groupDetail=ForTest1
Response OK
Table 16-11
URL [Link]
AI APIs 233
Method GET
Description Delete a face group.
[ Request Params ] ( key=value format at URL )
Name Type R/O Param Description
groupID string R The identity of the face group, max string length is 63.
[ Response Params ] ( OK )
[ Example ]
GET
Request [Link]
00
Response OK
Table 16-12
URL [Link]
Method GET
Deploy the face group to some video channels. If the video channel has been deployed
Description
already, it will change the similary.
[ Request Params ] ( key=value format at URL )
Name Type R/O Param Description
groupID string R The identity of the face group, max string length is 63.
list Array<object> R List of disposition info.
+channel int R Video channel index which starts from 1.
+similary int R The threshold of the face similary, 0 — 100.
[ Response Params ] ( key=value format )
Name Type R/O Param Description
report array<bool> R Result of putting disposition for each request channel.
[ Example ]
GET
Request [Link]
0000&list[0].channel=1&list[0].similary=80&list[1].channel=2&list[1].similary=70
report[0]=true
Response
report[1]=false
Delete some disposition from group
Table 16-13
URL [Link]
Method GET
Descripti
Remove the deployment of face group from some video channels.
on
[ Request Params ] ( key=value format at URL )
Name Type R/O Param Description
AI APIs 234
groupID string R The identity of the face group, max string length is 63.
channel Array<int> R Video channel index which starts from 1.
[ Response Params ] ( key=value format )
Name Type R/O Param Description
report array<bool> R Result of deleting disposition for each request channel.
[ Example ]
GET
Request [Link]
=10000&channel[0]=1&channel[1]=2
report[0]=true
Response
report[1]=false
set disposition group to channel
Table 16-14
URL [Link]
Method GET
Deploy some face groups to one video channel. If the video channel has been deployed
Descripti
already, it will change the similary.
on
Note: This method will do an overwrite operation.
[ Request Params ] ( key=value format at URL )
Name Type R/O Param Description
channel int R Video channel index which starts from 1.
List of disposition info, if not exist, remove all disposition from
list Array<object> O
channel.
+groupID int R The identity of the face group, max string length is 63.
+similary int R The threshold of the face similary, 0 — 100.
[ Response Params ] ( OK )
[ Example ]
GET
Request [Link]
[0].groupID=10000&list[0].similary=80&list[1].groupID=10002&list[1].similary=75
Response OK
get disposition group from channel
Table 16-15
URL [Link]
Method GET
Get the Deployment about the video channel.
Descripti
Note: If the video channel does not deploy any group, then the response will be success
on
with empty http body.
[ Request Params ] ( key=value format at URL )
Name Type R/O Param Description
channel int R Video channel index which starts from 1.
[ Response Params ] (key=value format)
Name Type R/O Param Description
groupID Array<int> R The identity of the face group, max string length is 63.
similary Array<int> R The threshold of the face similary, 0 — 100.
AI APIs 235
[ Example ]
Request GET [Link]
groupID[0]=10001
groupID[1]=10003
groupID[2]=10006
….
Response
similary[0]=80
similary[1]=75
similary[2]=85
….
Table 16-16
URL [Link]
Method GET
Description Find the face group. If the groupID is not present in the URL, it will return all the groups.
[ Request Params ] ( key=value format at URL )
Name Type R/O Param Description
groupID string O The identity of the face group, max string length is 63.
[ Response Params ] ( key=value format )
Name Type R/O Param Description
GroupList Array<object> R The face group information list.
+groupID string R The identity of the face group, max string length is 63.
+groupName string R Name of the face group, max string length is 127.
+groupDetail string O Description detail of the face group, max string length is 255.
+groupSize int R The number of face in this face group.
+channels Array<int> R Video channel index which starts from 0.
+similarity Array<int> R The threshold of the face similary.
[ Example ]
Request GET [Link]
AI APIs 236
GroupList[0].groupID=00001
GroupList[0].groupName=Test1
GroupList[0].groupDetail=ForTest1
GroupList[0].groupSize=30
GroupList[0].channels[0]=1
GroupList[0].channels[1]=2
…
GroupList[0].similarity[0]=80
GroupList[0].similarity[1]=75
…
Response
GroupList[1].groupID=00003
GroupList[1].groupName=Test3
GroupList[1].groupDetail=ForTest3
GroupList[1].groupSize=50
GroupList[1].channels[0]=1
GroupList[1].channels[1]=2
…
GroupList[1].similarity[0]=70
GroupList[1].similarity[1]=85
…
Table 16-17
URL [Link]
Method GET
Abstract features for the groups.
Description About the process of the re-extract, the device will use an event named
"FaceFeatureAbstract" to report the process.
[ Request Params ] ( key=value format at URL )
Name Type R/O Param Description
groupID Array<int> R The identity of the face group, max string length is 63.
[ Response Params ] (key=value format)
Name Type R/O Param Description
token int R The identity of this operation.
[ Example ]
GET
Request [Link]
0]=10000&groupID[1]=10001
Response token=12345
Stop ReAbstract
Table 16-18
URL [Link]
Method GET
AI APIs 237
Descripti
Stop the abstract features process.
on
[ Request Params ] ( key=value format at URL )
Name Type R/O Param Description
token int R The identity of this operation.
[ Response Params ] ( OK )
[ Example ]
GET
Request [Link]
en=12345
Response OK
Table 16-19
URL [Link]
Method POST
Description Add a person to a group.
[ Request Params ] ( key=value format in URL )
Name Type R/O Param Description
The identity of the face group that this person to add. Max string
groupID string R
length is 63.
name string R The person name, max string length is 63.
birthday string O The person's birthday, ex: "1980-01-01".
sex string O Sex, it can be "Male", "Female", "Unknown".
The country name, length must be 2, and value should be
country string O
according to ISO3166.
province string O The province name, max string length is 63.
city string O The city name, max string length is 63.
The certificate type. It can be: "IC', "Passport", "Military",
certificateType string O
"Unknown".
id string O The ID of certificate type, max string length is 31.
[ Response Params ] (key=value format )
Name Type R/O Param Description
uid string R The id for this Person, max string length is 31.
[ Example ]
POST
[Link]
me=ZhangSan&birthday=1980-01-05&sex=Male&country=CN&province=ZheZhang&city=
Hangzhou HTTP/1.1
Request
Content-Type: image/jpeg
Content-Length: <image size>
AI APIs 238
[Link] Modify Person
Table 16-20
URL [Link]
Method POST
Modify a person's info.
Note: If you do not want to change the image about the person, the request should not
Description
contain the image data.
Note: You should provide at lease one optional param to update.
[ Request Params ] ( key=value format in URL )
Name Type R/O Param Description
uid string R The identity of the Person, max string length is 31.
The identity of the Face Group that this Person in. max string
groupID string R
length is 63.
name string O The person's name, max string length is 63.
birthday string O The person's birthday, ex: "1980-01-01".
sex string O Sex, it can be "Male", "Female", "Unknown".
The country name, length must be 2, and value should be
country string O
according to ISO3166.
province string O The province name, max string length is 63.
city string O The city name, max string length is 63.
The certificate type. It can be: "IC', "Passport", "Military",
certificateType string O
"Unknown".
id string O The ID of certificate type, max string length is 31.
[ Response Params ] ( OK )
[ Example ]
POST
[Link]
pID=10000&name=ZhangSan&birthday=1980-01-05&sex=Male&country=CN&province=
ZheZhang&city=Hangzhou HTTP/1.1
Request
Content-Type: image/jpeg
Content-Length: <image size>
Table 16-21
URL [Link]
Method GET
Description Delete a person from a group.
[ Request Params ] ( key=value format in URL )
Name Type R/O Param Description
uid string R The identity of the person, max string length is 31.
AI APIs 239
The identity of the face group that this Person in. max string
groupID string R
length is 63.
[ Response Params ] ( OK )
[ Example ]
GET
Request [Link]
oupID=10000
Response OK
Table 16-22
URL [Link]
Method GET
Start to find person in face groups.
Description
Note: the returned token will be expired after 60 seconds without any doFind call.
[ Request Params ] ( key=value format in URL )
Name Type R/O Param Description
condition Object R Search scope condition.
+GroupID Array<string> R The list of identity of the face group, max string length is 63.
person object O Person condition.
+Name string O Person Name, max string length is 63.
+Sex string O Sex, it can be "Male", "Female", "Unknown".
string O Country name, length must be 2, and value should be
+Country
according to ISO3166.
+Province string O Province name, max string length is 63.
+City string O City name, max string length is 63.
string O Certificate Type. It can be: "IC', "Passport", "Military",
+CertificateType
"Unknown".
+ID string O Person ID of CertificateType, max string length is 31.
+FeatureState int O Feature State, 0:Unknown, 1:Failed, 2:OK.
[ Response Params ] ( key=value format )
Name Type R/O Param Description
Token for this search, use this token to get result and stop
token uint R
search.
totalCount int R Result num, return -1 means still searching.
[ Example ]
GET
[Link]
Request
=10000&[Link][1]=10003&[Link]=Male&[Link]=CN&person.F
eatureState=1
token=123456789
Response
totalCount=24
Get find result
AI APIs 240
Table 16-23
URL [Link]
Method GET
Descripti Get one result of person's information from the search result set.
on Note: the returned token will be expired after 60 seconds without any doFind call.
[ Request Params ] ( key=value format in URL )
Name Type R/O Param Description
Token for this search, use this token to get result and stop
token uint R
search.
The index in search result, should between 0 and totalCount
index uint R
–1.
[ Response Params ] ( JSON format )
Name Type R/O Param Description
person object R Person condition.
+UID string R The identity of the person, max string length is 31.
string R The identity of the face group that this Person in. max string
+GroupID
length is 63.
+Name string R The person name, max string length is 63.
+Sex string O Sex, it can be "Male", "Female", "Unknown".
+Birthday string O The person's birthday, ex: "1980-01-01".
string O Country name, length must be 2, and value should be
+Country
according to ISO3166.
+Province string O Province name, max string length is 63.
+City string O City name, max string length is 63.
string O Certificate Type, can be: "IC', "Passport", "Military",
+CertificateType
"Unknown".
+ID string O Person ID of CertificateType, max string length is 31.
+FeatureState int O Feature State, 0:Unknown, 1:Failed, 2:OK.
[ Example ]
GET
Request [Link]
dex=0
HTTP/1.1 200 OK
Server: Device/1.0
Content-Type: multipart/x-mixed-replace; boundary=<boundary>
Content-Length: <length>
--<boundary>
Content-Type: text/plain
Response
Content-Length: <length>
[Link]=0005
[Link]=10000
[Link]=ZhangSan
[Link]=1980-01-01
[Link]=Male
AI APIs 241
[Link]=CN
[Link]=ZheJiang
[Link]=HangZhou
[Link]=IC
[Link]=1234567890
[Link]=0
--<boundary>
Content-Type: image/jpeg
Content-Length: <image size>
Table 16-24
URL [Link]
Method GET
Descripti
Stop the search session.
on
[ Request Params ] ( key=value format in URL )
Name Type R/O Param Description
The token for this search, use this token to get result and stop
token uint R
search.
[ Response Params ] ( OK )
[ Example ]
GET
Request
[Link]
Response OK
Table 16-25
URL [Link]
Method GET
Abstract features for the persons.
Description About the process of the re-extract, the device will use an event named
"FaceFeatureAbstract"to report the process.
[ Request Params ] ( key=value format at URL )
Name Type R/O Param Description
UID Array<int> O The list of identity of person, max string length is 31.
[ Response Params ] ( OK )
[ Example ]
GET
Request [Link]
d[1]=002
AI APIs 242
Response OK
Stop ReAbstract
Table 16-26
URL [Link]
Method GET
Descripti
Stop the abstract features process.
on
[ Request Params ] ( None )
[ Response Params ] ( OK )
[ Example ]
Request GET [Link]
Respons
OK
e
Table 16-27
[Link]
URL
rm
Method GET
Description Get the Face Recognition Alarm Out Setting.
[ Request Params ] ( None )
[ Response Params ] ( key=value format )
Name Type R/O Param Description
table object R Config info table.
+FaceRecognitio
array<object> R Each face group has one config object in this array.
nAlarm
++GroupID String R The face group ID, max string length is 63.
++GroupName String R The face group name, max string length is 127.
++AlarmOutEna
Bool R Enable AlarmOut or not.
ble
++AlarmChannel Array<object> R Each AlarmOut channel has one config object in this array.
Alarm rule mask.
+++AlarmRuleM
Int R Bit 0 : recognition success
ask
Bit 1 : recognition failed
+++AlarmOutLat
Int R Alarm out delay, unit is second, value between 1 anf 300.
ch
[ Example ]
GET
Request [Link]
m
AI APIs 243
[Link][0].GroupID=0017
[Link][0].GroupName=wsd
[Link][0].AlarmOutEnable=true
[Link][0].AlarmChannel[0].AlarmRuleMask=0
[Link][0].AlarmChannel[0].AlarmOutLatch=5
[Link][0].AlarmChannel[1].AlarmRuleMask=0
[Link][0].AlarmChannel[1].AlarmOutLatch=8
…
Response
[Link][1].GroupID=0018
[Link][1].GroupName=cst
[Link][1].AlarmOutEnable=true
[Link][1].AlarmChannel[0].AlarmRuleMask=0
[Link][1].AlarmChannel[0].AlarmOutLatch=10
[Link][1].AlarmChannel[1].AlarmRuleMask=0
[Link][1].AlarmChannel[1].AlarmOutLatch=15
…
Set FaceRecognitionAlarm config
URL [Link]
Method GET
Descripti
Set the Face Recognition Alarm Out Setting.
on
[ Request Params ] ( key=value format at URL )
Name Type R/O Param Description
FaceRecognition
array<object> R Each face group has one config object in this array.
Alarm
+GroupID String R The face group ID, max string length is 63.
+GroupName String R The face group name, max string length is 127.
+AlarmOutEnabl
Bool R Enable AlarmOut or not.
e
+AlarmChannel Array<object> R Each AlarmOut channel has one config object in this array.
Alarm rule mask.
++AlarmRuleMa
Int R Bit 0 : recognition success
sk
Bit 1 : recognition failed
++AlarmOutLatc
Int R Alarm out delay, seconds, value between 1 and 300.
h
[ Response Params ] ( OK )
[ Example ]
GET
[Link]
Request oupID=0017&FaceRecognitionAlarm[0].GroupName=wsd&FaceRecognitionAlarm[0].Ala
rmOutEnable=true&FaceRecognitionAlarm[0].AlarmChannel[0].AlarmRuleMask=0&Face
RecognitionAlarm[0].AlarmChannel[0].AlarmOutLatch=5
Response OK
AI APIs 244
Table 16-28
URL [Link]
Method POST
Start to find person in face groups by picture. The search may last for some time, so the
response may push at regular intervals until 100% Progress
Description Note: If you want to find person in face groups by person info, see above "Find
Person"API.
Note: The returned token will be expired after 60 seconds without any doFind call.
[ Request Params ] ( key=value format in URL )
Name Type R/O Param Description
GroupID array<string> R Face groups to find, max string length is 63.
Similarity int R Similarity percent, 1 — 100.
MaxCandidate int O Max Candidate result number.
[ Response Params ] ( JSON format )
Name Type R/O Param Description
The token of this search, use this token to get result and stop
token uint R
search.
progress uint R Search Progress, 100 means finished.
totalCount int R Result num, return -1 means still searching.
[ Example ]
POST
[Link]
1&GroupID[1]=00003&Similarity=80&MaxCandidate=500
Request Content-Type: image/jpeg
Content-Length: <image size>
<JPEG data>
HTTP/1.1 200 OK
Server: Device/1.0
Content-Type: multipart/x-mixed-replace; boundary=<boundary>
Connection: closed
--<boundary>
Content-Type: application/json
Content-Length: <length>
{ "token": 123456789,
"progress": 60
"totalCount": -1
AI APIs 245
}
--<boundary>
Content-Type: application/json
Content-Length: <length>
{ "token": 123456789,
"progress": 100
"totalCount": 350
}
--<boundary>--
Get the find result
Table 16-29
URL [Link]
Method GET
Get the find result, reply using multipart format, first part is json string to describe all
Descripti candidate person, then the following parts are the person's pictures, refer by UID and
on GroupID in part header Content-Info.
Note: the returned token will be expired after 60 seconds without any doFind call.
[ Request Params ] ( key=value format in URL )
Name Type R/O Param Description
Token for this search, use this token to get result and stop
token uint R
search.
The index in search result, should between 0 and totalCount
index uint R
–1.
count uint R Number of result person to get.
[ Response Params ] ( JSON format )
Name Type R/O Param Description
Found int R Number of result person that return.
Candidates Array<object> R Candidates Person.
+Person object R Person Info.
++UID string R System id for this Person, max string length is 31.
The identity of the Face Group that this Person in. max string
++GroupID string R
length is 63.
++Name string R Person Name, max string length is 63.
++Birthday string O Birthday ex: "1980-01-01".
++Sex string O Sex, it can be "Male", "Female", "Unknown".
Country name, length must be 2, value should be according
++Country string O
to ISO3166.
++Province string O Province name, max string length is 63.
++City string O City name, max string length is 63.
++CertificateTy Certificate Type. It can be "IC', "Passport", "Military" or
string O
pe "Unknown".
++ID string O Person ID of CertificateType, max string length is 31.
++FeatureState int O Feature State, 0:Unknown, 1:Failed, 2:OK.
+Similarity int R Similarity.
[ Example ]
AI APIs 246
GET
Request [Link]
9&index=0&count=10
HTTP/1.1 200 OK
Server: Device/1.0
Content-Type: multipart/x-mixed-replace; boundary=<boundary>
Connection: closed
--<boundary>
Content-Type: application/json
Content-Length: <length>
{ "Found" : 10,
"Candidates" : [
{
"person" : {
"UID" : "0001",
"GroupID" : "001",
"Name" : "ZhangSan",
"Birthday" : "1980-01-05",
"Sex" : "Male",
...
},
"Similarity" : 85
},
Response
{
"person" : {
"UID" : "0002",
"GroupID" : "002",
"Name" : "LiSi",
"Birthday" : "1980-01-06",
"Sex" : "Male",
...
},
"Similarity" : 80
},
{ ... }, ...
]
}
--<boundary>
Content-Info: UID=0001&GroupID=001
Content-Type: image/jpeg
Content-Length: <length>
AI APIs 247
Content-Type: image/jpeg
Content-Length: <length>
Table 16-30
URL [Link]
Method GET
Descripti
Stop the search session.
on
[ Request Params ] ( key=value format in URL )
Name Type R/O Param Description
Token for this search, use this token to get result and stop
token uint R
search.
[ Response Params ] ( OK )
[ Example ]
GET
Request [Link]
9
Response OK
Table 16-31
URL [Link]
Method POST
Start to find person in capture history by picture. The search may last for some time, so
the response may push at regular intervals until 100% Progress.
Description Note: If you want to find person in capture history by person info, please refer to
"mediaFileFind"API.
Note: the returned token will be expired after 60 seconds without any doFind call.
[ Request Params ] ( key=value format in URL )
Name Type R/O Param Description
Channel int R Video channel index which starts from 0.
StartTime string R Start time to search, ex: 2018-01-13T00:00:00Z.
EndTime string R End time to search, ex: 2018-01-14T00:00:00Z.
Similarity int R Similarity percent, 1 — 100.
MaxCandidate int O Max Candidate result number.
[ Response Params ] ( JSON format )
Name Type R/O Param Description
Token for this search, use this token to get result and stop
token uint R
search.
AI APIs 248
progress uint R Search Progress, 100 means finished.
totalCount int R Result num, return -1 means still searching.
[ Example ]
POST
[Link]
l=0&StartTime=2018-01-13T00:00:00Z&EndTime=2018-01-14T00:00:00Z&Type=All&Si
milarity=80&MaxCandidate=500
Request
Content-Type: image/jpeg
Content-Length: <image size>
<JPEG data>
HTTP/1.1 200 OK
Server: Device/1.0
Content-Type: multipart/x-mixed-replace; boundary=<boundary>
Connection: closed
--<boundary>
Content-Type: application/json
Content-Length: <length>
{ "token": 123456789,
"progress": 20
"totalCount": -1
}
--<boundary>
Content-Type: application/json
Response
Content-Length: <length>
{ "token": 123456789,
"progress": 60
"totalCount": -1
}
--<boundary>
Content-Type: application/json
Content-Length: <length>
{ "token": 123456789,
"progress": 100
"totalCount": 350
}
--<boundary>--
Get find result
Table 16-32
URL [Link]
Method GET
Descripti Get the find result, reply by multipart, first part is json string to describe all candidate person,
AI APIs 249
on then the following part is the person's picture, refer by UID in part header Content-Info.
Note: the returned token will be expired after 60 seconds without any doFind call.
[ Request Params ] ( key=value format in URL )
Name Type R/O Param Description
Token for this search, use this token to get result and stop
token uint R
search.
The index in search result, should between 0 and totalCount
index uint R
–1.
count uint R Number of result person to get, start from Index.
[ Response Params ] ( JSON format )
Name Type R/O Param Description
Found int R Number of result person that return.
Candidates Array<object> R Candidates Person.
+Person object R Person Info.
++UID string R System id for this Person, max string length is 63.
++Sex string O Sex. It can be "Male", "Female" or "Unknown".
++Age int O Age.
++Glasses int O Glasses Status, 0: all, 1: not wear, 2: wear.
+Similarity int R Similarity.
[ Example ]
GET
Request [Link]
3456789&index=0&count=12
HTTP/1.1 200 OK
Server: Device/1.0
Content-Type: multipart/x-mixed-replace; boundary=<boundary>
Connection: closed
--<boundary>
Content-Type: application/json
Content-Length: <length>
{ "Found" : 12,
"Candidates" : [
Response {
"person" : {
"UID" : "0001",
"Sex" : "Male",
"Age" : 30,
"Glasses": 1
},
"Similarity" : 85
},
{
"person" : {
"UID" : "0002",
AI APIs 250
"Sex" : "Male",
"Age" : 50,
"Glasses": 2
},
"Similarity" : 80
},
{ ... }, ...
]
}
--<boundary>
Content-Info: UID=0001
Content-Type: image/jpeg
Content-Length: <length>
Table 16-33
URL [Link]
Method GET
Descripti
Stop finding.
on
[ Request Params ] ( key=value format in URL )
Name Type R/O Param Description
Token for this search, use this token to get result and stop
token uint R
searching.
[ Response Params ] ( OK )
[ Example ]
GET
Request [Link]
23456789
Response OK
Table 16-34
Usage Refer to "4.9.17 Subscribe to Event Message"for how to subscribe event
When the video channel disposition with some face group, and the video channel detect
Description
a face, send this event.
AI APIs 251
[ Event Params ] ( JSON format )
Name Type R/O Param Description
Faces Array<object> R The detected faces info.
The detected face bounding box, 4 interge, refer to x's value
of left—top point, y's value of left—top point, x's value of right
+BoundingBox Array<int> R
—bottom point, y's value of right—bottom point. Coordinate
remap to 0 — 8192.
+Sex string O Sex, it can be "Man", "Woman".
+Age int O Age.
+Feature array<string> O Face feature, can be some of the following: "WearGlasses",
"SunGlasses", "NoGlasses", "Smile", "Anger", "Sadness",
"Disgust", "Fear", "Surprise", "Neutral", "Laugh", "Happy",
"Confused", "Scream".
+Eye int O Eye status, 0: not detected, 1: close eye, 2: open eye.
+Mouth int O Mouth status, 0: not detected, 1: close mouth, 2: open mouth.
+Mask int O Mask status, 0: not detected, 1: not wearing mask, 2: wearing
mask.
+Beard int O Beard status, 0: not detected, 1: no beard, 2: has beard.
[ Example ]
--<boundary>
Content-Type: text/plain
Content-Length: <length>
Code=FaceDetection;action=Start;index=0;data={
"Faces": [ { "BoundingBox": [2992,136,6960,8192],
"Sex": "Man",
"Age": 40,
Event
"Feature": [ "WearGlasses", "Smile"],
"Eye": 2,
"Mouth": 1,
"Mask": 1,
"Beard": 2
}, {…}, … ]
}
--<boundary>
Table 16-35
Usage Refer to "4.4.3 Subscribe to Snapshot"for how to subscribe event
When the video channel disposition with some face group, and the video channel detect
Description
a face, after recognize in the face groups, send this event.
[ Event Params ] ( key=value format )
Name Type R/O Param Description
Events array<object> R Event info array.
+EventBaseInf object R Base info of event.
AI APIs 252
o
++Code String R Event Code. It should be FaceRecognition.
++Action String R Event Action. It can be "Start", "Stop" or "Pulse".
++Index int O The channel index relate to this event, start from 0.
+UID String R The identity of the Person, max string length is 31.
+Candidates array<object> O The Candidates person list.
++Person object O The information of candidate person.
+++UID string R The identity of the Person, max string length is 31.
The identity of the Face Group that this Person in. max string
+++GroupID string R
length is 63.
+++Name string O Person Name, max string length is 63.
+++Birthday string O Birthday ex: "1980-01-01".
+++Sex string O Sex, it can be "Male", "Female", "Unknown".
Country name. The length must be 2, and value should be
+++Country string O
according to ISO3166.
+++Province string O Province name, max string length is 63.
+++City string O City name, max string length is 63.
+++CertificateT Certificate Type. It can be: "IC', "Passport", "Military",
string O
ype "Unknown".
+++ID string O Person ID of CertificateType, max string length is 31.
Similarity of the Candidates person and the detected person,
++Similarity int O
value between 1 — 100.
+Face object O The attribute information of face.
++Sex string O Sex, it can be "Man", "Woman".
++Age int O Age.
Face feature, can be some of the following : "WearGlasses",
"SunGlasses", "NoGlasses", "Smile", "Anger", "Sadness",
++Feature array<string> O
"Disgust", "Fear", "Surprise", "Neutral", "Laugh", "Happy",
"Confused", "Scream".
++Eye int O Eye status, 0: not detected, 1: close eye, 2: open eye.
++Mouth int O Mouth status, 0: not detected, 1: close mouth, 2: open mouth.
Mask status, 0: not detected, 1: not wearing mask, 2: wearing
++Mask int O
mask.
++Beard int O Beard status, 0: not detected, 1: no beard, 2: has beard.
[ Example ]
--<boundary>
Content-Type: text/plain
Content-Length: <length>
Events[0].EventBaseInfo .Code=FaceRecognition
Event Events[0].EventBaseInfo .Action=Pulse
Events[0].EventBaseInfo .Index=0
Events[0].UID=00105
Events[0].Candidates[0].[Link]=0012
Events[0].Candidates[0].[Link]=10000
Events[0].Candidates[0].[Link]=ZhangSan
AI APIs 253
Events[0].Candidates[0].[Link]=1980-01-02
Events[0].Candidates[0].[Link]=Male
…
Events[0].Candidates[0].Similarity=80
Events[0].Candidates[1].[Link]=0014
Events[0].Candidates[1].[Link]=10000
Events[0].Candidates[1].[Link]=Lisi
Events[0].Candidates[1].[Link]=1980-01-05
Events[0].Candidates[1].[Link]=Male
…
Events[0].Candidates[1].Similarity=75
…
Events[0].[Link]=Man
Events[0].[Link]=20
Events[0].[Link][0]=SunGlasses
Events[0].[Link][1]=Smile
Events[0].[Link]=2
Events[0].[Link]=1
Events[0].[Link]=1
Events[0].[Link]=2
--<boundary>
Content-Type: image/jpeg
Content-Length: <image size>
Table 16-36
Usage Refer to "4.9.17 Subscribe to Event Message"for how to subscribe event
When Re-Abstract Feature By Group or By Person, the abstract progress detail will send
Description
in this event.
[ Event Params ] ( JSON format )
Name Type R/O Param Description
Infos Array<object> R Abstrace detail Info, max size is 100.
Abstract state, it can be :
"Success" : Abstract success,
+State String R
"False" : Failed to abstract;
"Process" : In Process;
+Process int O The abstract progress.
+UID string O The identity of the person, max string length is 31.
+GroupID string O The identity of the face group, max string length is 63.
[ Example ]
AI APIs 254
--<boundary>
Content-Type: text/plain
Content-Length: <length>
Code=FaceFeatureAbstract;action=Start;index=0;data={
"Infos": [ { "State": "Progress",
Event
"Progress": 30,
"UID": "20005",
"GroupID": "10000"
}, {…}, … ]
}
--<boundary>
Table 16-37
Usage Refer to "4.9.17 Subscribe to Event Message"for how to subscribe event
Description When detect some object left, send this event.
[ Event Params ] ( JSON format )
Name Type R/O Param Description
Object object R The object that left.
The detected object bounding box, 4 interge, refer to x's value
of left—top point, y's value of left—top point, x's value of right—
+BoundingBox Array<int> R
bottom point, y's value of right — bottom point. Coordinate
remap to 0 — 8192.
[ Example ]
--<boundary>
Content-Type: text/plain
Content-Length: <length>
Event
Code=LeftDetection;action=pulse;index=0;data={
"Object": { "BoundingBox": [2992,1136,4960,5192] }
}
--<boundary>
Table 16-38
Usage Refer to "4.9.17 Subscribe to Event Message"for how to subscribe event
Description When detect some object was taken away, send this event.
[ Event Params ] ( JSON format )
Name Type R/O Param Description
Object object R The object that was taken away.
AI APIs 255
The detected object bounding box, 4 interge, refer to x's value
of left—top point, y's value of left—top point, x's value of right—
+BoundingBox Array<int> R
bottom point, y's value of right — bottom point. Coordinate
remap to 0 — 8192.
[ Example ]
--<boundary>
Content-Type: text/plain
Content-Length: <length>
Event
Code=TakenAwayDetection;action=pulse;index=0;data={
"Object": { "BoundingBox": [2992,1136,4960,5192] }
}
--<boundary>
Table 16-39
Usage Refer to "4.9.17 Subscribe to Event Message"for how to subscribe event
Description When detect some object was wandering, send this event
[ Event Params ] ( JSON format )
Name Type R/O Param Description
Objects Array<object> R The objects that was wandering.
The detected object bounding box, 4 interge, refer to x's value
of left—top point, y's value of left—top point, x's value of right
+BoundingBox Array<int> R
—bottom point, y's value of right—bottom point. Coordinate
remap to 0 — 8192.
The object wandering tracks, array of polyline, one polyline
Array<Array<
Tracks O for one object, polyline is array of points, point is array of two
Array<int>>>
int, x's value and y's value. Coordinate remap to 0 — 8192.
[ Example ]
--<boundary>
Content-Type: text/plain
Content-Length: <length>
Code=WanderDetection;action=start;index=0;data={
"Objects": [ { "BoundingBox": [2992,1136,4960,5192] },
Event { "BoundingBox": [4392,4136,6960,6512] },
{…}, … ],
"Tracks": [ [ [1202, 576], [1456, 863], [1921, 1204], [2341, 1823], [3512, 2314] ],
[ [2214, 3412], [3153, 3674], [4512, 4213] ],
[…], … ]
}
--<boundary>
AI APIs 256
[Link] [Event] StayDetection
Table 16-40
Usage Refer to "4.9.17 Subscribe to Event Message"for how to subscribe event
Description When detect some object was stay, send this event
[ Event Params ] ( JSON format )
Name Type R/O Param Description
Object object O The object that was stay.
The detected object bounding box, 4 interge, refer to x's value
of left—top point, y's value of left—top point, x's value of right
+BoundingBox Array<int> O
—bottom point, y's value of right—bottom point. Coordinate
remap to 0 — 8192.
Objects array<object> O If detect several object, store in this array.
The detected object bounding box, 4 interge, refer to x's value
of left—top point, y's value of left—top point, x's value of right
+BoundingBox Array<int> O
—bottom point, y's value of right—bottom point. Coordinate
remap to 0 — 8192.
[ Example ]
--<boundary>
Content-Type: text/plain
Content-Length: <length>
Code=StayDetection;action=start;index=0;data={
Event "Object": { "BoundingBox": [2992,1136,4960,5192] },
"Objects": [ { "BoundingBox": [2992,1136,4960,5192] },
{ "BoundingBox": [4392,4136,6960,6512] },
{…}, … ]
}
--<boundary>
Table 16-41
Usage Refer to "4.4.3 Subscribe to Snapshot "for how to subscribe event
Description When detect a human trait, send this event.
[ Event Params ] ( key=value format )
Name Type R/O Param Description
Events array<object> O Event info array.
+EventBaseInfo object R Base info of event.
++Code String R Event Code. It should be HumanTrait.
++Action String R Event Action. It can be: "Start", "Stop", "Pulse".
++Index int O The channel index relate to this event, start from 0.
+HumanAttribute
object O The human attributes.
s
AI APIs 257
The detected human bounding box, 4 interge, refer to x's
value of left-top point, y's value of left-top point, x's value of
++BoundingBox Array<int> O
right-bottom point, y's value of right-bottom point.
Coordinate remap to 0 — 8192.
++Sex string O Sex, can be "Man", "Woman", "Unknown".
++Age int O Age.
++Angle int O Angle, 0: unknown, 1: front, 2: side, 3: back.
Coat color, can be: "White", "Orange", "Pink", "Black",
"Red", "Yellow", "Gray", "Blue", "Green", "Purple", "Brown",
"Sliver", "Darkviolet", "Maroon", "Dimgray", "Whitesmoke",
++CoatColor string O "Darkorange", "Mistyrose", "Tomato", "Olive", "Gold",
"Darkolivegreen", "Chartreuse", "Greenyellow",
"Forestgreen", "Seagreen", "Chartreuse", "Deepskyblue",
"Cyan", "Other".
++CoatType int O Coat type, 0: unknown, 1: long sleeve, 2: short sleeve.
++TrousersColor string O Trousers color, value can be that of CoatColor.
Trousers type, 0: unknown, 1: long pants, 2: short pants, 3:
++TrousersType int O
skirt.
++HasHat int O Has hat or not, 0: unknown, 1: not has hat, 2: has hat.
++HasBag int O Has bag or not, 0: unknown, 1: not has bag, 2: has bag.
Has umbrella or not, 0: unknown, 1: not has umbrella, 2: has
++HasUmbrella int O
umbrella.
Bag type, 0: unknown, 1: handbag, 2: shoulder bag, 3:
++Bag int O
knapsack, 4: draw-bar box.
Upper clothes pattern, 0: unknown, 1: pure color, 2: stripe,
++UpperPattern int O
3: pattern, 4: gap, 5: grid.
Hair style, 0: unknown, 1: long hair, 2: short hair, 3: ponytail,
++HairStyle int O
4: updo, 5: hiddened.
++Cap int O Cap style, 0: unknown, 1: normal cap, 2: helmet.
+FaceAttributes object O If the human's face can be detected, find it's attributes.
The detected face bounding box, 4 interge, refer to x's value
of left-top point, y's value of left-top point, x's value of
++BoundingBox Array<int> O
right-bottom point, y's value of right-bottom point.
Coordinate remap to 0 — 8192.
++Sex string O Sex, it can be "Man", "Woman", "Unknown".
++Age int O Age.
Face feature, can be some of the following : "WearGlasses",
"SunGlasses", "NoGlasses", "Smile", "Anger", "Sadness",
++Feature array<string> O
"Disgust", "Fear", "Surprise", "Neutral", "Laugh", "Happy",
"Confused", "Scream".
++Eye int O Eye status, 0: not detected, 1: close eye, 2: open eye.
Mouth status, 0: not detected, 1: close mouth, 2: open
++Mouth int O
mouth.
Mask status, 0: not detected, 1: not wearing mask, 2:
++Mask int O
wearing mask.
++Beard int O Beard status, 0: not detected, 1: no beard, 2: has beard.
AI APIs 258
Glasses status, 0: unknown, 1: not wearing, 2: normal
++Glass Int O
Glasses, 3: sun glasses, 4: black frame glasses.
[ Example ]
--<boundary>
Content-Type: text/plain
Content-Length: <length>
Events[0].EventBaseInfo .Code=HumanTrait
Events[0].EventBaseInfo .Action=Pulse
Events[0].EventBaseInfo .Index=0
Events[0].[Link][0]=1341
Events[0].[Link][1]=2451
Events[0].[Link][2]=4513
Events[0].[Link][3]=4135
Events[0].[Link]=Man
Events[0].[Link]=30
Events[0].[Link]=White
Events[0].[Link]=1
Events[0].[Link]=Black
Events[0].[Link]=1
Event Events[0].[Link]=1
Events[0].[Link]=2
Events[0].[Link][0]=1341
Events[0].[Link][1]=2451
Events[0].[Link][2]=4513
Events[0].[Link][3]=4135
Events[0].[Link]=Man
Events[0].[Link]=30
Events[0].[Link][0]=Smile
Events[0].[Link]=2
Events[0].[Link]=1
Events[0].[Link]=1
--<boundary>
Content-Type: image/jpeg
Content-Length: <image size>
Table 16-42
Usage Refer to "4.9.17 Subscribe to Event Message"for how to subscribe event
Description When detect some object cross the line, send this event.
[ Event Params ] ( JSON format )
Name Type R/O Param Description
AI APIs 259
Object object R The object that cross the line.
The detected object bounding box, 4 interge, refer to x's value
of left—top point, y's value of left—top point, x's value of right
+BoundingBox Array<int> R
—bottom point, y's value of right-bottom point. Coordinate
remap to 0 — 8192.
Objects array<object> O If detect several object, store in this array.
The detected object bounding box, 4 interge, refer to x's value
of left—top point, y's value of left—top point, x's value of right
+BoundingBox Array<int> R
—bottom point, y's value of right-bottom point. Coordinate
remap to 0 — 8192.
[ Example ]
--<boundary>
Content-Type: text/plain
Content-Length: <length>
Event
Code=CrossLineDetection;action=pulse;index=0;data={
"Object": { "BoundingBox": [2992,1136,4960,5192] }
}
--<boundary>
Table 16-43
Usage Refer to "4.9.17 Subscribe to Event Message"for how to subscribe event
Description When detect some object cross the region, send this event
[ Event Params ] ( JSON format )
R/
Name Type Param Description
O
Object object R The object that cross the region.
The detected object bounding box, 4 interge, refer to x's value
of left—top point, y's value of left-top point, x's value of right
+BoundingBox Array<int> R
—bottom point, y's value of right-bottom point. Coordinate
remap to 0 — 8192.
Objects array<object> O If detect several object, store in this array.
The detected object bounding box, 4 interge, refer to x's value
of left—top point, y's value of left—top point, x's value of right
+BoundingBox Array<int> R
—bottom point, y's value of right-bottom point. Coordinate
remap to 0 — 8192.
[ Example ]
AI APIs 260
--<boundary>
Content-Type: text/plain
Content-Length: <length>
Event
Code=CrossRegionDetection;action=pulse;index=0;data={
"Object": { "BoundingBox": [2992,1136,4960,5192] }
}
--<boundary>
Table 16-44
URL [Link]
Method GET
Description Insert traffic BlackList/Red record.
[ Request Params ] ( key=value format in URL )
Name Type R/O Param Description
The record table name, "TrafficBlackList"for BlackList and
name string R
"TrafficRedList"for RedList.
The number of car plate, max string length is 31. It must be
PlateNumber string R
unique.
MasterOfCar string O The car owner, max string length is 15
PlateColor string O Plate color, max string length is 31, ex: "Yellow", "Blue", … etc.
PlateType string O Plate type, max string length is 31.
VehicleType string O Vehicle type, max string length is 31.
Vehicle color, max string length is 31. ex: "Yellow", "Blue", …
VehicleColor string O
etc.
BeginTime string O Begin time, ex: "2010-05-25 00:00:00".
CancelTime string O Cancel time, ex: "2010-06-25 00:00:00".
[ Response Params ] (key=value format)
Name Type R/O Param Description
The new record’s id, return -1 if the device handles
RecNo int R
asynchronously.
[ Example ]
GET
[Link]
Request
teNumber=AC00001&MasterOfCar=ZhangSan&PlateColor=Yellow&VehicleColor=Blue&
BeginTime=2011-01-01%2012:00:00&CancelTime=2011-01-10%2012:00:00
Response RecNo=12345
AI APIs 261
[Link] Update Traffic BlackList/RedList Record
Table 16-45
URL [Link]
Method GET
Update Traffic BlackList/Red record.
Descripti
Note: Besides action, name, recno, there should be at least one more parameter to be
on
updated.
[ Request Params ] ( key=value format in URL )
Name Type R/O Param Description
The record table name, "TrafficBlackList" for BlackList and
name string R
"TrafficRedList"for RedList.
recno int R record id
The number of car plate, max string length is 31. It must be
PlateNumber string R
unique.
MasterOfCar string O The car owner, max string length is 15
…<See above insert command for other params of the record.
…<other param> - -
They are all optional.>
[ Response Params ] ( OK )
[ Example ]
GET
[Link]
Request cno=12345&PlateNumber=AC00001&MasterOfCar=ZhangSan&PlateColor=Yellow&Vehi
cleColor=Blue&BeginTime=2011-01-01%2012:00:00&CancelTime=2011-01-10%2012:00
:00
Response OK
Table 16-46
URL [Link]
Method GET
Descripti
Remove Traffic BlackList/Red record.
on
[ Request Params ] ( key=value format in URL )
Name Type R/O Param Description
The record table name, "TrafficBlackList"for BlackList and
name string R
"TrafficRedList"for RedList.
recno int R The record id.
[ Response Params ] ( OK )
[ Example ]
GET
Request [Link]
ecno=12345
Response OK
AI APIs 262
[Link] Find Traffic BlackList/RedList Record
Table 16-47
URL [Link]
Method GET
Description Find Traffic BlackList/RedList record.
[ Request Params ] ( key=value format in URL )
Name Type R/O Param Description
The record table name, "TrafficBlackList"for BlackList and
name string R
"TrafficRedList"for RedList.
count int O Max result to return, default is 1024.
StartTime string O The start of the record's CreateTime.
EndTime string O The end of the record's CreateTime.
condition object O Search condition.
+PlateNumber string O Car plate number, max string length is 47.
+PlateNumberV Car plate number substring, match any car plate number that
string O
ague contain this substring, max string length is 47.
+PlateNumberV array<string
O Car plate number substring array, max string length is 47.
agueGroup >
+QueryCount int O Query count, default is 1000.
+QueryResultBe
int O Begin number in the result set, default is 0.
gin
[ Response Params ] (key=value format)
Name Type R/O Param Description
totalCount int O Total record num that find.
found int O Record num that returned.
array<object
records R The records that returned.
>
+RecNo int R Record id.
+CreateTime int R The create time of record.
+PlateNumber string R Car plate number.
+MasterOfCar string O Car owner.
+…<other …<see above insert command for other params of the
- -
param> record>
[ Example ]
GET
Request [Link]
PlateNumber=AC00001&StartTime=123456700&EndTime=123456800&count=100
totalCount=1000
found=100
records[0].RecNo=12345
Respons records[0].CreateTime=123456789
e records[0].PlateNumber=AC00001
records[0].MasterOfCar=ZhangSan
…
records[1].RecNo=13579
AI APIs 263
records[1].CreateTime=123456799
records[1].PlateNumber=AC00001
records[1].MasterOfCar=LiSi
…
Table 16-48
Usage Refer to "4.4.3 Subscribe to Snapshot"for how to subscribe event
Description When detects vehicle passing, send this event.
[ Event Params ] ( key=value format )
Name Type R/O Param Description
Events array<object> R Event info array.
+EventBaseInfo object R Base info of event.
++Code String R Event Code. It should be TrafficJunction.
++Action String R Event Action. It can be "Start", "Stop" or "Pulse".
++Index int O The channel index relate to this event.
+GroupID int O The id of event group.
+CountInGroup int O Event count in the event group.
+IndexInGroup int O The index of this event in the event group, start from 1.
+Lane int O Lane number, start from 0.
Trigger type. It can be: 0—car detector, 1—radar, 2—
+TriggerType int O
video.
+Speed int O Vehicle speed, unit is km/hour.
+Vehicle Object O The information of vehicle object.
The detected car bounding box, 4 interge, refer to x's
value of left-top point, y's value of left-top point, x's value of
++BoundingBox Array<int> R
right-bottom point, y's value of right-bottom point.
Coordinate remap to 0 — 8192.
++Text string O Vehicle logo.
++SubText string O Vehicle sub logo.
++SubBrand int O Vehicle sub brand index.
++BrandYear int O Vehicle brand year index.
+TrafficCar object O Traffic Car info.
++RecNo int R The record id.
++PlateNumber string R Car plate number.
++PlateType string O Plate type.
++PlateColor string O Plate color, ex: "Yellow", "Blue", … etc.
++VehicleColor string O Vehicle color, ex: "Yellow", "Blue", … etc.
The detected plate bounding box, 4 interge, refer to x's
value of left-top point, y's value of left-top point, x's value of
++BoundingBox Array<int> R
right-bottom point, y's value of right-bottom point.
Coordinate remap to 0 — 8192.
AI APIs 264
++Country string O Country info. Max string length is 19.
++Speed int O Vehicle speed, unit is km/hour.
++Event string O The event info, ex: "TrafficJunction".
+CommInfo object O Traffic event common info.
++Seat array<object> O Vehicle front seat info.
+++Type string O Front seat type. It can be: "Main""Slave".
Some driver status. It can be some of the following:
+++Status array<string> O
"Smoking", "Calling".
Sunshade status. It can be: "Unknow", "WithSunShade",
+++SunShade string O
"WithoutSunShade".
The detected sun shade bounding box, 4 interge, refer to
x's value of left-top point, y's value of left-top point, x's
+++ShadePos Array<int> O
value of right-bottom point, y's value of right-bottom point.
Coordinate remap to 0 — 8192.
SafeBelt status. It can be: "Unknow", "WithSafeBelt",
+++SafeBelt string O
"WithoutSafeBelt".
[ Example ]
--<boundary>
Content-Type: text/plain
Content-Length: <length>
Events[0].[Link]=TrafficJunction
Events[0].[Link]=Pulse
Events[0].[Link]=0
Events[0].GroupID=123
Events[0].CountInGroup=3
Events[0].IndexInGroup=1
Events[0].Lane=0
Events[0].[Link][0]=1341
Events[0].[Link][1]=2451
Events[0].[Link][2]=4513
Events[0].[Link][3]=4135
Event
Events[0].[Link]=Audi
Events[0].[Link]=A6L
Events[0].[Link]=5
Events[0].[Link]=2
Events[0].[Link]=123
Events[0].[Link]=AC00003
Events[0].[Link]=Yellow
Events[0].[Link]=Blue
Events[0].[Link][0]=1341
Events[0].[Link][1]=2451
Events[0].[Link][2]=4513
Events[0].[Link][3]=4135
Events[0].[Link]=China
Events[0].[Link][0].Type=Main
Events[0].[Link][0].Status[0]=Smoking
AI APIs 265
Events[0].[Link][0].SunShade=WithSunShade
Events[0].[Link][0].ShadePos[0]=2021
Events[0].[Link][0].ShadePos[1]=3041
Events[0].[Link][0].ShadePos[2]=2151
Events[0].[Link][0].ShadePos[3]=3661
Events[0].[Link][0].SafeBelt=WithoutSafeBelt
…
--<boundary>
Content-Type: image/jpeg
Content-Length: <image size>
Table 16-49
Usage Refer to "4.4.3 Subscribe to Snapshot"for how to subscribe event
Description When detects traffic jam, send this event.
[ Event Params ] ( key=value format )
Name Type R/O Param Description
Events array<object> R Event info array.
+EventBaseInfo object R Base info of event.
++Code String R Event Code. It should be TrafficJam.
++Action String R Event Action. It can be "Start", "Stop" or "Pulse".
++Index int O The channel index relate to this event.
+GroupID int O The id of event group.
+CountInGroup int O Event count in the event group.
+IndexInGroup int O The index of this event in the event group, start from 1.
+Lane int O Lane number, start from 0.
+StartJaming int O Start jam time, UTC seconds.
+AlarmInterval int O Alarm interval, unit is second.
+JamLenght int O Jam length, percentage of the lane.
+JamRealLengt
int O Jam real length, unit is metre.
h
[ Example ]
--<boundary>
Content-Type: text/plain
Event Content-Length: <length>
Events[0].[Link]=TrafficJam
AI APIs 266
Events[0].[Link]=Pulse
Events[0].[Link]=0
Events[0].GroupID=123
Events[0].CountInGroup=3
Events[0].IndexInGroup=1
Events[0].Lane=0
Events[0].StartJaming=123456789
Events[0].AlarmInterval=180
Events[0].JamLenght=70
Events[0].JamRealLength=120
…
--<boundary>
Content-Type: image/jpeg
Content-Length: <image size>
Table 16-50
[ Extra Event Params ] ( key=value format )
Name Type R/O Param Description
+SpeedLimit array<int> O Speed limit, 2 integer, min speed and max speed.
+UnderSpeeding
int O Percentage of under speed.
Percentage
Table 16-51
[ Extra Event Params ] ( key=value format )
Name Type R/O Param Description
+SpeedLimit array<int> O Speed limit, 2 integer, min speed and max speed.
+SpeedingPerce
int O Percentage of over speed.
ntage
Table 16-52
AI APIs 267
Usage Refer to "4.4.3 Subscribe to Snapshot"for how to subscribe event
Description When detects human in the lane, send this event
[ Event Params ] ( key=value format )
Name Type R/O Param Description
Events array<object> R Event info array.
+EventBaseInfo object R Base info of event.
++Code String R Event Code. It should be TrafficPedestrain.
++Action String R Event Action. It can be "Start", "Stop" or "Pulse".
++Index int O The channel index relate to this event.
+GroupID int O The id of event group.
+CountInGroup int O Event count in the event group.
+IndexInGroup int O The index of this event in the event group, start from 1.
+Lane int O Lane number, start from 0.
+Vehicle object O Actually this is the human that detected, not vehicle.
++Category string R Must be "Passerby", means this actually is a human.
++BoundingBox Array<int> R The detected car bounding box, 4 interge, refer to x's value
of left-top point, y's value of left-top point, x's value of
right-bottom point, y's value of right-bottom point.
Coordinate remap to 0 — 8192.
[ Example ]
Event --<boundary>
Content-Type: text/plain
Content-Length: <length>
Events[0].[Link]=TrafficPedestrain
Events[0].[Link]=Pulse
Events[0].[Link]=0
Events[0].GroupID=123
Events[0].CountInGroup=3
Events[0].IndexInGroup=1
Events[0].Lane=0
Events[0].[Link]=Passerby
Events[0].[Link][0]=1341
Events[0].[Link][1]=2451
Events[0].[Link][2]=4513
Events[0].[Link][3]=4135
…
--<boundary>
Content-Type: image/jpeg
Content-Length: <image size>
AI APIs 268
[Link] [Event] TrafficParking
When detects vehicle illegal parking, send this event.
Event params is the same as TrafficJunction, except for event Code is TrafficParking, and
remove param "speed", add following params:
Table 16-53
[ Extra Event Params ] ( key=value format )
Name Type R/O Param Description
+StartParking int O The start time of parking, UTC seconds.
+AlarmInterval int O The alarm interval.
+ParkingAllowed
int O The allowed time of parking.
Time
Table 16-54
Usage Refer to "4.9.17 Subscribe to Event Message"for how to subscribe event
Description When traffic flow trigger the rule, send this event
[ Event Params ] ( JSON format )
Name Type R/O Param Description
FlowStates array<object> R Traffic flow info, each object in list is traffic flow info about
one lane.
+Lane int R Lane number, start from 0.
+Flow int R Traffic flow number.
+Period int R Traffic stat time, unit is minute.
+PeriodByMili int O Traffic stat time, unit is millisecond, value should
between 0 and 59999.
+DrivingDirectio array<string> O Driving direction, should be an array of three strings:
n 1st string: direction, can be: "Approach", "Leave"
2nd string: Approach position name
3rd string: Leave position name
[ Example ]
Event --<boundary>
Content-Type: text/plain
Content-Length: xxxx
Code=TrafficFlowStat;action=Pulse;index=0;data={
"FlowStates": [ { "Lane": 0,
"Flow": 50,
"Period": 5,
"DrivingDirection": [ "Approach", "Hangzhou", "Shanghai"]
}, {…}, … ]
}
AI APIs 269
--<boundary>
Table 16-55
URL [Link]
Method GET
Description Find traffic flow history record.
[ Request Params ] ( key=value format in URL )
Name Type R/O Param Description
name string R The name of record table. It should be "TrafficFlow".
count int O Max result to return, default is 1024.
StartTime string O The start of the record's CreateTime.
EndTime string O The End of the record's CreateTime.
condition object O Search condition.
+Channel int O Video channel index which starts from 0.
+Lane int O Lane index, starts from 0.
[ Response Params ] (key=value format)
Name Type R/O Param Description
totalCount int O Total record num that find.
found int O Record num that returned.
records array<object> R The records that returned.
+RecNo int R Record id.
+CreateTime int R The create time of record.
+StatisticsTime int R Traffic flow statistics time, UTC seconds.
+Period string R Statistics period, unit is second.
+Channel int R Video channel index which starts from 0.
+Lane int R Lane index, starts from 0.
+Vehicles int R Total vehicle num.
+AverageSpeed float O Average speed of the vehicle, -1 means no vehicle, 0
means congestion.
[ Example ]
Request GET
[Link]
nnel=0&[Link]=0&StartTime=123456700&EndTime=123456800&count=100
Respons totalCount=1000
e found=100
records[0].RecNo=12345
records[0].CreateTime=123456789
records[0].StaticsticsTime=123456789
records[0].Period=300
records[0].Channel=0
records[0].Lane=0
records[0].Vehicles=250
records[0].AverageSpeed=25.4
…
AI APIs 270
records[1].RecNo=13579
records[1].CreateTime=123456799
records[1].StaticsticsTime=123456799
records[1].Period=300
records[1].Channel=0
records[1].Lane=0
records[1].Vehicles=220
records[1].AverageSpeed=21.8
…
Table 16-56
URL [Link]
Method GET
Description Add an access user.
[ Request Params ] ( key=value format in URL )
Name Type R/O Param Description
UserID string R The user's id.
UserName string O The user's name.
CardNo string O The user's card number.
Password string O The user's password.
[ Response Params ] ( OK )
[ Example ]
GET
Request [Link]
San&Password=123456
Response OK
Table 16-57
URL [Link]
Method GET
Modify an access user.
Description
Note: You should provide at lease one optional param to update.
[ Request Params ] ( key=value format in URL )
Name Type R/O Param Description
UserID string R The user's id.
UserName string O The user's name.
AI APIs 271
CardNo string O The user's card number.
Password string O The user's password.
[ Response Params ] ( OK )
[ Example ]
GET
Request [Link]
gSan&Password=123456
Response OK
Table 16-58
URL [Link]
Method GET
Description Delete an access user.
[ Request Params ] ( key=value format in URL )
Name Type R/O Param Description
UserID string R The user's id.
[ Response Params ] ( OK )
[ Example ]
Request GET [Link]
Response OK
Table 16-59
URL [Link]
Method GET
Description Get an access user's information.
[ Request Params ] ( key=value format in URL )
Name Type R/O Param Description
UserID string R The user's id
[ Response Params ] ( JSON format )
Name Type R/O Param Description
UserInfo object R The user's info
+UserID string R The user's id
+UserName string O The user's name
+CardNo string O The user's card number
+Password string O The user's password
[ Example ]
Request GET [Link]
AI APIs 272
{ "UserInfo": {
"UserID": 102,
Response "UserName": "ZhangSan",
"Password": "123456"
}
Find all access user
Table 16-60
URL [Link]
Method GET
Description Get all information of access user.
[ Request Params ] ( key=value format in URL )
Name Type R/O Param Description
Offset int R The offset of the user record table
Count int R The count of user info record, max is 100.
[ Response Params ] ( JSON format )
Name Type R/O Param Description
Total int R Total user num
UserInfo array<object> R The user's info
+UserID string R The user's id
+UserName string O The user's name
+CardNo string O The user's card number
+Password string O The user's password
[ Example ]
Request GET [Link]
{ "Total": 1000,
"UserInfo": [ {
"UserID": 102,
Response "UserName": "ZhangSan",
"Password": "123456"
}, { … } … ]
}
Table 16-61
URL [Link]
Method POST
Description Add an access user face.
[ Request Params ] ( JSON format in body )
Name Type R/O Param Description
UserID string R The user's id.
Info object R The user's info.
+UserName string O The user's name.
The user's room num list, max array size is 32, max string
+RoomNo array<string> O
size is 12.
AI APIs 273
The user's face feature, encode with base64, max array size
is 20, and max string size is 2k.
+FaceData array<string> O
Note: There must be at least one between FaceData and
PhotoData.
The user's face photo, encode with base64, max array size is
5, and max string size is 200k.
+PhotoData array<string> O
Note: There must be at least one between FaceData and
PhotoData.
[ Response Params ] ( OK )
[ Example ]
POST [Link]
Content-Type: application/json
Content-Length: <length>
{ "UserID": "102",
"Info": {
Request
"UserName": "ZhangSan",
"RoomNo": [ "301", "303", … ],
"FaceData": [ "xxxx", "xxxx", … ],
"PhotoData": [ "yyyy", "yyyy", … ]
}
}
Response OK
Table 16-62
URL [Link]
Method POST
Description Update an access user face.
[ Request Params ] ( JSON format in body )
Name Type R/O Param Description
UserID string R The user's id.
Info object R The user's info.
+UserName string O The user's name.
The user's room num list, max array size is 32, max string
+RoomNo array<string> O
size is 12.
The user's face feature, encode with base64, max array size
is 20, and max string size is 2k.
+FaceData array<string> O
Note: There must be at least one between FaceData and
PhotoData.
The user's face photo, encode with base64, max array size is
5, max string size is 200k.
+PhotoData array<string> O
Note: There must be at least one between FaceData and
PhotoData.
[ Response Params ] ( OK )
AI APIs 274
[ Example ]
POST [Link]
Content-Type: application/json
Content-Length: <length>
{ "UserID": "102",
"Info": {
Request
"UserName": "ZhangSan",
"RoomNo": ["301", "303", …],
"FaceData": ["xxxx", "xxxx", …],
"PhotoData": ["yyyy", "yyyy", …]
}
}
Response OK
Table 16-63
URL [Link]
Method GET
Description Delete an access user face.
[ Request Params ] ( key=value format in URL )
Name Type R/O Param Description
UserID string R The user's id.
[ Response Params ] ( OK )
[ Example ]
Request GET [Link]
Response OK
Table 16-64
URL [Link]
Method GET
Descripti
Start to find access user face.
on
[ Request Params ] ( key=value format in URL )
Name Type R/O Param Description
Condition object O Search condition.
+UserID string O The user's id.
[ Response Params ] ( JSON format )
Name Type R/O Param Description
The token of this search, use this token to get result and stop
Token int O
search.
AI APIs 275
Total int O Result num, return 0 if not found.
[ Example ]
Request GET [Link]
{ "Token": 1234,
Response "Total": 20
}
Get the find result
Table 16-65
URL [Link]
Method GET
Descripti
Get the find result.
on
[ Request Params ] ( key=value format in URL )
Name Type R/O Param Description
The token of this search, use this token to get result and stop
Token int R
search.
Offset int R Offset in the result record set, range is [0, Total – 1].
Count int R Count of result to get.
[ Response Params ] ( JSON format )
Name Type R/O Param Description
Info array<object> R The face information of user.
+UserID string R The user's id.
The user's face photo's MD5 hash string, max array size is 5,
+MD5 array<string> O
max string size is 33.
[ Example ]
GET
Request [Link]
t=20
{ "Info": [ {
"UserID": "102",
Response "MD5": [ "xxxx", "xxxx", … ]
}, { … }, … ]
}
Stop the find session
Table 16-66
URL [Link]
Method GET
Description Stop the find session.
[ Request Params ] ( key=value format in URL )
Name Type R/O Param Description
Token for this search, use this token to get result and stop
Token int R
search.
[ Response Params ] ( OK )
[ Example ]
Request GET [Link]
AI APIs 276
Response OK
Table 16-67
URL [Link]
Method GET
Description Insert access user card info.
[ Request Params ] ( key=value format in URL )
Name Type R/O Param Description
Access user card and fingerprint record name, should be
name string R
"AccessControlCard".
CardName string R Access user card name, max string length is 32.
CardNo string R Access user card number.
UserID string R The user's id.
Card status, 0 means normal, and abnormal status can be sum
of following:
1 << 0: report the loss of the card
1 << 1: the card is withdrawed
CardStatus int R 1 << 2: the card is frozen
1 << 3: the card is arrearage
1 << 4: the card exceeds the time limit
1 << 5: the card is arrearage but still can open the door, and
there will be voice prompts.
The card type:
CardType int O 0 : Normal Card, 1: VIP Card, 2: Visitor Card, 3: Patrol Card, 4:
Blacklist Card, 5: Stress Card, 0xff: Mother Card
Password string O The Access card's password.
Doors array<int> O The index of the doors that this card can open.
The index of the time sections of each door that this card can
TimeSections array<int> O
open.
ValidDateStart string O The start of valid date, format is "yyyyMMdd hhmmss".
ValidDateEnd string O The end of valid date, format is "yyyyMMdd hhmmss".
IsValid bool O Is the card still valid.
[ Response Params ] (key=value format)
R/
Name Type Param Description
O
RecNo int R The record id.
[ Example ]
GET
[Link]
Request CardName=ZhangSan&CardNo=12345&UserID=102&CardStatus=0&CardType=0&Pass
word=123456&Doors[0]=1&Doors[1]=3&Doors[2]=5&ValidDateStart=20151022%2009381
1&ValidDateEnd=20151222%20093811
Response RecNo=12345
AI APIs 277
Add access user card with fingerprint
Table 16-68
URL [Link]
Method POST
Description Insert access user card and fingerprint.
[ Request Params ] ( key=value format in URL )
Name Type R/O Param Description
Access user card and fingerprint record name, should be
name string R
"AccessControlCard".
CardName string R Access user card name, max string length is 32.
CardNo string R Access user card number.
UserID string R The user's id.
Card status, 0 means normal, and abnormal status can be sum
of following:
1 << 0: report the loss of the card
1 << 1: the card is withdrawed
CardStatus int R 1 << 2: the card is frozen
1 << 3: the card is arrearage
1 << 4: the card exceeds the time limit
1 << 5: the card is arrearage but still can open the door,
and there will be voice prompts.
The card type:
CardType int O 0: Normal Card, 1: VIP Card, 2: Visitor Card, 3: Patrol Card, 4:
Blacklist Card, 5: Stress Card, 0xff: Mother Card
Password string O The Access card's password.
Doors array<int> O The index of the doors that this card can open.
The index of the time sections of each door that this card can
TimeSections array<int> O
open.
ValidDateStart string O The start of valid date, format is "yyyyMMdd hhmmss".
ValidDateEnd string O The end of valid date, format is "yyyyMMdd hhmmss".
IsValid bool O Is the card still valid.
FingerprintPack
object O The fingerprint packet info.
et
+Length int O The length of each fingerprint packet.
+Count int O The count of fingerprint packet.
[ Response Params ] (key=value format)
R/
Name Type Param Description
O
RecNo int R The record id.
[ Example ]
AI APIs 278
POST
[Link]
d&CardName=ZhangSan&CardNo=12345&UserID=102&CardStatus=0&Password=12345
6&Doors[0]=1&Doors[1]=3&Doors[2]=5&ValidDateStart=20151022%20093811&ValidDate
Request End=20151222%20093811&[Link]=500&[Link]=3
Content-Type: application/octet-stream
Content-Length: <length>
Table 16-69
URL [Link]
Method GET
Update access user card info.
Description
Note: You should provide at lease one optional param to update.
[ Request Params ] ( key=value format in URL )
Name Type R/O Param Description
Access user card and fingerprint record name, should be
name string R
"AccessControlCard".
recno int R The record id.
CardName string O Access user card name, max string length is 31.
CardNo string O Access user card number.
UserID string O The user's id.
…<See above insert command for other params of the record,
…<other param> — —
They are all optional.>
[ Response Params ] ( OK )
[ Example ]
GET
[Link]
Request d&recno=12345&CardName=ZhangSan&CardNo=12345&UserID=102&CardStatus=0&
CardType=0&Password=123456&Doors[0]=1&Doors[1]=3&Doors[2]=5&ValidDateStart=
20151022%20093811&ValidDateEnd=20151222%20093811
Response OK
Update access user card and fingerprint
Table 16-70
URL [Link]
Method POST
Update access user card info and fingerprint.
Description
Note: You should provide at lease one optional param to update.
[ Request Params ] ( key=value format in URL )
Name Type R/O Param Description
AI APIs 279
Access user card and fingerprint record name, should be
name string R
"AccessControlCard".
recno int R The record id.
CardName string O Access user card name, max string length is 32.
CardNo string O Access user card number.
UserID string O The user's id.
…<See above insert command for other params of the record.
…<other param>
They are all optional.>
FingerprintPack
object O The fingerprint packet info.
et
+Length int O The length of each fingerprint packet.
+Count int O The count of fingerprint packet.
[ Response Params ] ( OK )
[ Example ]
POST
[Link]
ard&recno=12345&CardName=ZhangSan&CardNo=12345&UserID=102&CardStatus=0
&CardType=0&Password=123456&Doors[0]=1&Doors[1]=3&Doors[2]=5&ValidDateStart
=20151022%20093811&ValidDateEnd=20151222%20093811&[Link]
Request
=500&[Link]=3
Content-Type: application/octet-stream
Content-Length: <length>
Table 16-71
URL [Link]
Method GET
Descriptio
Remove the access user card and fingerprint record.
n
[ Request Params ] ( key=value format in URL )
Name Type R/O Param Description
Access user card and fingerprint record name, should be
name string R
"AccessControlCard".
recno int R The record id.
[ Response Params ] ( OK )
[ Example ]
GET
Request [Link]
d&recno=12345
Response OK
Delete all Access user card and fingerprint records
AI APIs 280
Table 16-72
URL [Link]
Method GET
Descriptio
Remove all the access user card and fingerprint records.
n
[ Request Params ] ( key=value format in URL )
Name Type R/O Param Description
Access user card and fingerprint record name, should be
name string R
"AccessControlCard".
[ Response Params ] ( OK )
[ Example ]
GET
Request
[Link]
Response OK
Table 16-73
URL [Link]
Method GET
Description Find Access user card record by condition.
[ Request Params ] ( key=value format in URL )
Name Type R/O Param Description
name string R Record Name, should be "AccessControlCard".
count int O Max result to return, default is 1024.
StartTime string O The start of the record's CreateTime.
EndTime string O The End of the record's CreateTime.
condition object O Search condition.
+CardNo string O Access user card number.
+UserID string O The user's id.
+IsValid bool O The access card valid or not.
[ Response Params ] (key=value format)
Name Type R/O Param Description
totalCount int O The total record num that find.
found int O The record num that returned.
records array<object> R The records that returned.
+RecNo int R The record id.
+CreateTime int R The create time of record.
+CardName string R The access user card name, max string length is 32.
+CardNo string R The access user card number.
+UserID string R The user's id.
AI APIs 281
Card status, 0 means normal, and abnormal status can be
sum of following:
1 << 0: report the loss of the card
1 << 1: the card is withdrawed
+CardStatus int R 1 << 2: the card is frozen
1 << 3: the card is arrearage
1 << 4: the card exceeds the time limit
1 << 5: the card is arrearage but still can open the door,
and there will be voice prompts.
The card type:
+CardType int O 0: Normal Card, 1: VIP Card, 2: Visitor Card, 3: Patrol Card, 4:
Blacklist Card, 5: Stress Card, 0xff: Mother Card
+Password string O The Access card's password.
+Doors array<int> O The index of the doors that this card can open.
The index of the time sections of each door that this card can
+TimeSections array<int> O
open.
+ValidDateStart string O The start of valid date, format is "yyyyMMdd hhmmss".
+ValidDateEnd string O The end of valid date, format is "yyyyMMdd hhmmss".
+IsValid bool O Is the card still valid.
[ Example ]
GET [Link]
Request
&[Link]=103&StartTime=123456700&EndTime=123456800&count=100
AI APIs 282
totalCount=1000
found=100
records[0].RecNo=12345
records[0].CreateTime=123456789
records[0].CardName=ZhangSan
records[0].CardNo=300
records[0].UserID=103
records[0].CardStatus=0
records[0].CardType=0
records[0].Doors[0]=1
records[0].Doors[1]=3
records[0].Doors[2]=5
records[0].ValidStart=20151022 093811
records[0].ValidEnd=20151222 093811
records[0].IsValid=true
Response …
records[1].RecNo=13579
records[1].CreateTime=123456799
records[1].StaticsticsTime=123456799
records[1].CardName=ZhangSan
records[1].CardNo=302
records[1].UserID=103
records[1].CardStatus=0
records[1].CardType=0
records[1].Doors[0]=2
records[1].Doors[1]=4
records[1].Doors[2]=6
records[1].ValidStart=20151022 093811
records[1].ValidEnd=20151222 093811
records[1].IsValid=true
…
Find Access user card by recno
Table 16-74
URL [Link]
Method GET
Description Find Access user card record by recno.
[ Request Params ] ( key=value format in URL )
Name Type R/O Param Description
name string R Record Name, should be "AccessControlCard".
recno int R The record id.
[ Response Params ] (key=value format)
Name Type R/O Param Description
record object R The record that returned.
+RecNo int R The record id.
+CreateTime int R The create time of record.
+CardName string R The access user card name, max string length is 32.
AI APIs 283
+CardNo string R The access user card number.
+UserID string R The user's id.
…<other param> — — …<See above find command for other params of the record.>
[ Example ]
GET [Link]
Request
d&recno=4
[Link]=4
[Link]=123456789
[Link]=ZhangSan
[Link]=300
[Link]=103
[Link]=0
[Link]=0
Response
[Link][0]=1
[Link][1]=3
[Link][2]=5
[Link]=20151022 093811
[Link]=20151222 093811
[Link]=true
…
Find Access user card and fingerprint by recno
Table 16-75
URL [Link]
Method GET
Description Find Access user card and fingerprint record by recno.
[ Request Params ] ( key=value format in URL )
Name Type R/O Param Description
name string R Record Name, should be "AccessControlCard".
recno int R The record id.
[ Response Params ] (key=value format)
Name Type R/O Param Description
record object R The record that returned.
+RecNo int R The record id.
+CreateTime int R The create time of record.
+CardName string R The access user card name, max string length is 32.
+CardNo string R The access user card number.
+UserID string R The user's id.
…<other param> — — …<See above find command for other params of the record.>
+FingerprintPac
object O The fingerprint packet info.
ket
++Length int O The length of each fingerprint packet.
++Count int O The count of fingerprint packet.
[ Example ]
GET [Link]
Request
Card&recno=4
AI APIs 284
HTTP/1.1 200 OK
Server: Device/1.0
Content-Type: multipart/x-mixed-replace; boundary=<boundary>
Content-Length: <length>
--<boundary>
Content-Type: text/plain
Content-Length: <length>
[Link]=4
[Link]=123456789
[Link]=ZhangSan
[Link]=300
[Link]=103
[Link]=0
Response [Link]=0
[Link][0]=1
[Link][1]=3
[Link][2]=5
[Link]=20151022 093811
[Link]=20151222 093811
[Link]=true
…
[Link]=500
[Link]=3
--<boundary>
Content-Type: application/octet-stream
Content-Length: <length>
[Link] Get the Total Number of Records of Access User Card and
Fingerprint
Table 16-76
[Link]
URL
rd
Method GET
Description Get the total number of records of the access user card record.
[ Request Params ] ( key=value format in URL )
Name Type R/O Param Description
Access user card and fingerprint record name, should be
name string R
"AccessControlCard".
AI APIs 285
[ Response Params ] ( key=value )
count int R The total number of records.
[ Example ]
GET
Request [Link]
rolCard
Response count=150
Table 16-77
Usage Refer to "4.4.3 Subscribe to Snapshot"for how to subscribe event
Description When user trying to open the door, send this event.
[ Event Params ] ( key=value format )
Name Type R/O Param Description
Events array<object> R Event info array
+EventBaseInfo object R Base info of event
++Code String R Event Code. It should be AccessControl
++Action String R Event Action. It can be: "Start", "Stop", "Pulse"
++Index int O The channel index relate to this event.
+RecNo int R The record id
+Name string O The name of the door
+Type string R The event type. It can be: "Entry", "Exit"
Open door result, can be: 0—failed, 1—success
+Status int O
If this param does not exist, that means success.
Open door method, can be:
0: by password
1: by access card
+Method int R 2: by access card and then password
3: by password and then access card
6: by fingerprint
15: by face recognition
+CardNo string O Card number if the door is opened by card
+UserID string R The user id
[ Example ]
--<boundary>
Content-Type: text/plain
Content-Length: <length>
Event
Events[0].[Link]=TrafficJam
Events[0].[Link]=Pulse
Events[0].[Link]=0
Events[0].RecNo=123
AI APIs 286
Events[0].Name=Door1
Events[0].Type=Entry
Events[0].Status=1
Events[0].Method=1
Events[0].CardNo=09DDAABB
Events[0].UserID=101
…
--<boundary>
Content-Type: image/jpeg
Content-Length: <image size>
Table 16-78
URL [Link]
Method GET
Description Find AccessControl record.
[ Request Params ] ( key=value format in URL )
Name Type R/O Param Description
The record table name. It should be
name string R
"AccessControlCardRec".
count int O Max result to return, default is 1024.
StartTime string O The start of the record's CreateTime.
EndTime string O The end of the record's CreateTime.
condition object O Search condition.
+CardNo string O Access user card number.
[ Response Params ] (key=value format)
Name Type R/O Param Description
totalCount int O Total record num that find.
found int O Record num that returned.
array<object
records R The records that returned.
>
+RecNo int R Record id.
+CreateTime int R Record create time, UTC time.
+CardNo int R Access user card number.
+CardName string O Access user card name, max string length is 31.
The card type:
+CardType int O 0: Normal Card, 1: VIP Card, 2: Visitor Card, 3: Patrol Card,
4: Blacklist Card, 5: Stress Card, 0xff: Mother Card
+Password string O The Access card's password.
+UserID string R The user's id.
+Type string R The event type. It can be: "Entry", "Exit".
AI APIs 287
Open door result. It can be: 0—failed, 1—success.
+Status int O
If this param does not exist, that means success.
Open door method. It can be:
0: by password
1: by access card
+Method int R 2: by access card and then password
3: by password and then access card
6: by fingerprint
15: by face recognition
+Door int O The index of the door.
+ReaderID string O The access user card ID of reader.
+ErrorCode int O The error code, valid only when Status is 0.
+URL string O The picture's URL, max string length is 127.
+RecordURL string O The record video's URL, max string length is 127.
[ Example ]
GET [Link]
Request
Rec&StartTime=123456700&EndTime=123456800&[Link]=12001&count=100
totalCount=1000
found=100
records[0].RecNo=12345
records[0].CreateTime=123456789
records[0].CardNo=12001
records[0].CardName=ZhangSan
records[0].UserID=ZhangSan
records[0].Type=Entry
records[0].Method=1
Response
…
records[1].RecNo=13579
records[1].CreateTime=123456799
records[1].CardNo=12001
records[1].CardName=ZhangSan
records[1].UserID=ZhangSan
records[1].Type=Exit
records[1].Method=1
…
AI APIs 288
AI APIs 289