Documentation for Axxon One 1.0.

Previous page Next page

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 2 Current »

General agreements

Web server responds to method calls in the JSON format.

Note

Configuring the Web-Server.

The default Web server port is 80 (Windows), 8000 (Lunix), the prefix is / (empty).

Authorization

Authorization is needed for requests. Two types of authorization are supported: Basic and Bearer.

With the Basic authorization type, it is necessary to add user data to all HTTP requests in the following form:

http://[username]:[password]@[IP-address]:[port]/[prefix]

With the Bearer authorization type, the token received from the Web server is used (see Bearer authorization).

POST requests must have JSON body.

Time format in requests

In all requests, the time is specified in the YYYYMMDDTHHMMSS format in the time zone UTC+0.

Time interval is specified in some requests, for example:

GET http://IP-address:port/prefix/archive/contents/intervals/{VIDEOSOURCEID}/{ENDTIME}/{BEGINTIME}

These requests return data starting at BEGINTIME and ending at ENDTIME.

If BEGINTIME is not specified, infinite future is considered. If ENDTIME is also not specified, infinite past is considered. Instead of BEGINTIME and ENDTIME, the words "past" and "future" can be used to set infinite past and infinite future respectively.

Interval sequence corresponds to the ratio between the specified BEGINTIME and ENDTIME (in ascending order if BEGINTIME<ENDTIME, and in descending order if ENDTIME<BEGINTIME). The start and end points of the interval are returned in the sequential order, i.e. the interval start time is less than the interval end time or equal to it.

Requests limit

The number of active requests and requests in queue is limited.

The 503 error (Search query rejected. Too many requests) returns when there are too many requests.

Server HTTP API

Get unique identifier

(UUID) is generated for every GET request to http://IP-Address:port/prefix/uuid.

Unique identifier is used to get in last frame info from archive video or to control archived stream.

Response sample:

{
  "uuid": "2736652d-af5f-4107-a772-a9d78dfaa27e"
}

Servers


List of Axxon domain Servers

GET http://IP-address:port/prefix/hosts/

Sample request:

GET http://127.0.0.1:80/hosts/

Sample response:

[
	"SERVER1",
	"SERVER2"
]

Server info

GET http://IP-address:port/prefix/hosts/{NODENAME}

{NODENAME} − Server or node name on which you need to get the information.

Sample request:

GET http://127.0.0.1:80/hosts/NODE2

Sample response:

{
    "nodeName": "NODE2",
    "domainInfo": {
        "domainName": "c79912ff-bb42-431c-9b2e-3adb14966f43",
        "domainFriendlyName": "Default"
    },
    "platformInfo": {
        "hostName": "SERVER2",
        "machine": "x64 6",
        "os": "Win32"
    },
    "licenseStatus": "OK",
    "timeZone": 240,
    "nodes": [
        "NODE1",
        "NODE2"
    ]
}
ParameterDescription
nodeNameServer/node name
domainNameAxxon domain ID
domainFriendlyNameAxxon domain name
hostNameHost name
machineServer architecture
osOS
licenseStatusLicense type
timeZoneTime zone in minutes (in this example, GMT+4)
nodesList of nodes of Axxon domain

GET http://IP-address:port/prefix/statistics/hardware – get information about usage of network and CP of a specific Server.

GET http://IP-address:port/prefix/statistics/hardware/domain – get information about usage of network and CP of all Servers within Axxon Domain.

Sample request:

GET http://127.0.0.1:80/statistics/hardware

Sample response:

[
  {
    "drives": [
      {
        "capacity": 523920994304,
        "freeSpace": 203887943680,
        "name": "C:\\"
      },
      {
        "capacity": 475912990720,
        "freeSpace": 148696813568,
        "name": "D:\\"
      },
      {
        "capacity": 0,
        "freeSpace": 0,
        "name": "E:\\"
      }
    ],
    "name": "SERVER1",
    "netMaxUsage": "0,0062719999999999998",
    "totalCPU": "16,978111368301985"
  }
]
GET http://IP-adress:port/prefix/product/version

Sample request:

GET http://127.0.0.1:80/product/version

Sample response:

{
"version": "Axxon One 1.0.2.25"
}
GET http://IP-Address:port/prefix/statistics/webserver

Request example:

GET http://127.0.0.1:80/statistics/webserver

Response example:

{
  "now": "20200601T115707.888290",
  "requests": 3,
  "requestsPerSecond": 0,
  "bytesOut": 134,
  "bytesOutPerSecond": 0,
  "streams": 0,
  "uptime": 349290
}

Cameras


GET http://IP Address:port/prefix/camera/list − get all available original sources (cameras) of Axxon-domain. 

The returned VIDEOSOURCEID identifiers will have the format as follows "HOSTNAME/ObjectType.Id/Endpoint.Name". Friendly name and other related meta data will also be received.

ParameterRequiredDescription
limitNoDetermines the maximum number of returned results, the default value is 1000.
next_pageNoThe value of the nextPageToken parameter, which will be in the response if the request returns not all the results. It is used to get the following values.
filterNo

Allows getting a subset of the results in accordance with the filter. Currently it can have the HOSTNAME or VIDEOSOURCEID values.

Attention!

If Office is specified as the Server name, then the GET http://IP-address:port/prefix/camera/list?filter=Office request will receive all video cameras of Office Server.

group_idsNo

List of the group identifiers to which the cameras should belong (see Get list of groups and their contents). It is possible to specify several identifiers using the separator "|". For example:

http://localhost:80/camera/list?group_ids=6af92229-43ff-0347-9dae-081bf9835733|b48111eb-64c5-294c-a69c-4adb07c954d1 

In this case, the response will contain all the cameras that belong at least to one of the specified groups.

Sample request:

GET http://127.0.0.1:80/camera/list?filter=Server1

Sample response:

{
    "cameras": [
        {
            "archives": [
                {
                    "accessPoint": "hosts/Server1/DeviceIpint.1/SourceEndpoint.video:0:0",
                    "default": true,
                    "isEmbedded": false,
                    "storage": "hosts/Server1/MultimediaStorage.AliceBlue/MultimediaStorage",
                    "storageDisplayName": "AliceBlue"
                }
            ],
            "audioStreams": [
                {
                    "accessPoint": "hosts/Server1/DeviceIpint.1/SourceEndpoint.audio:0",
                    "isActivated": false
                }
            ],
            "azimuth": "0,000000",
            "comment": "",
            "detectors": [
                {
                    "accessPoint": "hosts/Server1/AVDetector.1/EventSupplier",
                    "displayName": "Motion detection",
                    "events": [
                        "MotionDetected",
                        "MotionMask",
                        "TargetList"
                    ],
                    "parentDetector": "",
                    "type": "unknown"
                }
            ],
            "displayId": "1",
            "displayName": "Camera 1",
            "groups": [
                "e2f20843-7ce5-d04c-8a4f-826e8b16d39c"
            ],
            "ipAddress": "0.0.0.0",
            "isActivated": true,
            "latitude": "0,000000",
            "longitude": "0,000000",
            "model": "Virtual several streams",
            "offlineDetectors": [],
            "ptzs": [],
            "textSources": [],
            "vendor": "AxxonSoft",
            "videoStreams": [
                {
                    "accessPoint": "hosts/Server1/DeviceIpint.1/SourceEndpoint.video:0:0"
                },
                {
                    "accessPoint": "hosts/Server1/DeviceIpint.1/SourceEndpoint.video:0:1"
                }
            ]
        },
        {
ParameterDescription
archives

List of archives to which the camera is connected.

audioStreams

Audio stream.

commentCommentary.
detectorsList of created detection tools.
displayIdFriendly name.
displayNameName.
groups

List of groups to which the camera belongs.

ipAddressIP Address.
isActivated

True − the object is enabled, False − the object is disabled.

azimuth, latitude, longitude

The coordinates of the camera. Depending on the Server localization, the parameter values can be separated by either a period or a comma.

modelModel.
ptzs

PTZ devices where:

is_active – indicates whether the PTZ object is activated,

pointMove – Point&Click support,

areaZoom – Areazoom support.

textSourcesEvent sources.
vendorVendor.
videoStreamsVideo streams.

General case:

  • GET http://IP-Address:port/prefix/live/media/SERVER1/DeviceIpint.3/SourceEndpoint.video:0:0?w=1600&h=0 – high quality stream.
  • GET http://IP-Address:port/prefix/live/media/SERVER1/DeviceIpint.3/SourceEndpoint.video:0:1?w=1600&h=0 – low quality stream.

RTSP:

  • GET rtsp://login:password@IP-Address:554/hosts/SERVER1/DeviceIpint.3/SourceEndpoint.video:0:0 – high quality stream.
  • GET rtsp://login:password@IP-Address:554/hosts/SERVER1/DeviceIpint.3/SourceEndpoint.video:0:1 – low quality stream.

Tunneling RTSP over HTTP:

  • GET rtsp://login:password@IP-Address:80/rtspproxy/hosts/SERVER1/DeviceIpint.3/SourceEndpoint.video:0:0 – high quality stream.
  • GET rtsp://login:password@IP-Address:80/rtspproxy/hosts/SERVER1/DeviceIpint.3/SourceEndpoint.video:0:1 – low quality stream.

To configure tunneling in VLC set the Tunnel RTSP and RTP over HTTP checkbox (1) checked and specify the Web-Server port (2, see Configuring the Web-Server).

GET http://IP-Address:port/prefix/live/media/snapshot/{VIDEOSOURCEID}

{VIDEOSOURCEID} – three-component source endpoint ID (see Get list of video cameras and information about them). For instance, "SERVER1/DeviceIpint.3/SourceEndpoint.video:0:0".

ParameterRequiredDescription

w

h

No

w – frame width, h – frame height.

Note

If h and w values are more than size of original frame, the frame will be received with original size.

Zooming out of width and height is available only discretely – in 2, 4, 8 times, etc. If specified sizes are not corresponding to 1/2, 1/4 etc. of original frame size, the frame will be received with size divisible by the original frame size close to specified values.

crop_x

crop_y

crop_width

crop_height


No

crop_x – horizontal indent from the upper left corner. Possible values are 0 to 1. The default is 0.

crop_y – vertical indent from the upper left corner. Possible values are 0 to 1. The default is 0.

crop_width – the ratio of the original image width. Possible values are 0 to 1. The default is 1.

crop_height – the ratio of the original image hight. Possible values are 0 to 1. The default is 1.

Note

By default, the snapshot update period is 30 seconds. To change this value, create the NGP_SNAPSHOT_TIMEOUT system variable and set the required value in milliseconds (see Appendix 10. Creating system variable).

Sample request:

To get a snapshot in the original resolution: GET http://IP-Address:port/prefix/live/media/snapshot/Server1/DeviceIpint.23/SourceEndpoint.video:0:0.

To get a snapshot in 640*480 resolution: GET http://IP-Address:port/prefix/live/media/snapshot/Server1/DeviceIpint.23/SourceEndpoint.video:0:0?w=640&h=480.

To get the right lower particle of a snapshot: GET http://IP-Address:port/prefix/live/media/snapshot/Server1/DeviceIpint.23/SourceEndpoint.video:0:0?crop_x=0.5&crop_y=0.5&crop_width=0.5&crop_height=0.5.

To get the right lower particle of a snapshot in 640*480 resolution: GET http://IP-Address:port/prefix/live/media/snapshot/Server1/DeviceIpint.23/SourceEndpoint.video:0:0?w=640&h=480&crop_x=0.5&crop_y=0.5&crop_width=0.5&crop_height=0.5.

Get list of all available groups

GET http://IP-Address:port/prefix/group

Sample request:

GET http://127.0.0.1:80/group

Sample response:

{
   "groups" : [
      {
         "Brief" : "Group1",
         "Description" : "",
         "Id" : "35fc84a0-2280-4b30-acd2-cc8419a2dc68",
		 "groups" : [
            {
               "Brief" : "Group2",
               "Description" : "",
               "Id" : "dac24803-313c-43ab-aa9a-276922a55cb6",
			   "groups" : []
            },
            {
               "Brief" : "Group3",
               "Description" : "",
               "Id" : "13764152-6910-44b6-99b5-f74641ad4a14",
			   "groups" : [
                  {
                     "Brief" : "Group4",
                     "Description" : "Group4",
                     "Id" : "9a64e2a0-eb92-4adc-bc4f-81d30ceb6c2f",
					 "groups" : []
                  }
               ]
            }
         ]
      }
   ]
}

Get group contents

GET http://IP-Address:port/prefix/group/{GROUPID}.

GROUPID – value of the Id field received using the previous request.

Sample request:

GET http://127.0.0.1:80/group/9a64e2a0-eb92-4adc-bc4f-81d30ceb6c2f

Sample response:

{
   "members" : [ "hosts/SERVER1/DeviceIpint.1/SourceEndpoint.video:0:0" ]
}

Get list of groups containing specified camera

GET http://IP-Address:port/prefix/group/contains/{VIDEOSOURCEID}

{VIDEOSOURCEID} – three-component source endpoint ID (see Get list of video cameras and information about them). For instance, "SERVER1/DeviceIpint.3/SourceEndpoint.video:0:0".

Sample request:

GET http://127.0.0.1:80/group/contains/SERVER1/DeviceIpint.1/SourceEndpoint.video:0:0

Sample response:

{
   "groups" : [
      "35fc84a0-2280-4b30-acd2-cc8419a2dc68",
      "13764152-6910-44b6-99b5-f74641ad4a14",
      "dac24803-313c-43ab-aa9a-276922a55cb6"
   ]
}
GET http://IP-Address:port/prefix/statistics/{VIDEOSOURCEID} − statistics for the certain camera.

{VIDEOSOURCEID} − three-component source endpoint ID (see Get list of video cameras and information about them). For instance, "SERVER1/DeviceIpint.3/SourceEndpoint.video:0:0".

Statistics for the several cameras: POST http://IP-Address:port/prefix/statistics/ + request body in the following format:

[ 
    "hosts/SERVER1/DeviceIpint.1/SourceEndpoint.video:0:0",
    "hosts/SERVER1/DeviceIpint.2/SourceEndpoint.video:0:0"
]
ParameterRequiredDescription
waterlevelNo

waterlevel = 1 − the response will contain the current water level value, if the water level detection is created for the camera (see Configuring Water level detection).

Request example:

GET http://127.0.0.1:80/statistics/Server1/DeviceIpint.1/SourceEndpoint.video:0:0

Response example:

{
  "bitrate": 592831,
  "fps": 2.278942490e+01,
  "width": 1280,
  "height": 720,
  "mediaType": 2,
  "streamType": 877088845
}

Archives


Get list of archives the recording is performed to:

GET http://IPaddress:port/prefix/archive/list/{VIDEOSOURCEID}

{VIDEOSOURCEID} − three-component source endpoint ID (see Get list of video cameras and information about them). For instance, "SERVER1/DeviceIpint.3/SourceEndpoint.video:0:0".

Sample request:

GET http://127.0.0.1:80/archive/list/SERVER1/DeviceIpint.1/SourceEndpoint.video:0:0

Sample response:

{
   "archives" : [
      {
         "default" : true,
         "name" : "hosts/SERVER1/MultimediaStorage.AliceBlue/MultimediaStorage"
      },
      {
         "default" : false,
         "name" : "hosts/SERVER1/MultimediaStorage.AntiqueWhite/MultimediaStorage"
      }
   ]
}
ParameterDescription
default

true − default archive.

false – not a default archive.

nameArchive name.

Get archive contents:

GET http://IPaddress:port/prefix/archive/contents/intervals/{VIDEOSOURCEID}/{ENDTIME}/{BEGINTIME} – get archive contents starting at BEGINTIME and ending at ENDTIME.

{VIDEOSOURCEID} – three-component source endpoint ID (see Get list of video cameras and information about them). For instance, "SERVER1/DeviceIpint.3/SourceEndpoint.video:0:0".

If BEGINTIME is not specified, infinite future is considered. If ENDTIME is not specified too, infinite past is considered. The words "past" and "future" can be used to set infinite past and infinite future as well.

Interval sequence corresponds to the ratio between specified BEGINTIME and ENDTIME (in ascending order if BEGINTIME<ENDTIME, and in descending order if ENDTIME<BEGINTIME). Start and end points of interval are returned in its common order, i.e. the interval start time is less than the interval end time or equal to it.

Set time in the YYYYMMDDTHHMMSS format in the timezone UTC+0.

ParameterRequiredDescription
limitNo

The number of intervals in the response, the default value is 100.

scaleNo

The minimum time separation between two intervals at which they will be treated as two different intervals (not merged), the default value is 0.

archiveNoThe name of the archive from which the intervals are to be retrieved. If not specified, the intervals are retrieved from the default archive.

Sample request:

GET http://127.0.0.1:80/archive/contents/intervals/SERVER1/DeviceIpint.1/SourceEndpoint.video:0:0/past/future

Sample response:

{
   "intervals": [
      {
         "begin": "20200512T105111.089000",
         "end": "20200521T121106.032000"
      },
      {
         "begin": "20200430T052909.842000",
         "end": "20200430T063733.242000"
      }
   ],
   "more": true
}
ParameterDescription
intervals

An array containing intervals.

Note

Time is returned in the UTC format.

more

true – the server did not return all intervals because the limit was exceeded (limit parameter).

false – the server returned all intervals from the specified time interval.

Archive depth

GET http://IP Address:port/prefix/archive/statistics/depth/{VIDEOSOURCEID}/{ENDTIME}/{BEGINTIME} – to get the information about the archive depth starting at BEGINTIME and ending at ENDTIME.

{VIDEOSOURCEID} – three-component source endpoint ID (see Get list of video cameras and information about them). For instance, "SERVER1/DeviceIpint.3/SourceEndpoint.video:0:0".

Note

The ENDTIME and BEGINTIME syntax is described in Get archive contents.

ParameterRequiredDescription
thresholdNoThe threshold value (in days) above which the interval merging procedure will be completed. The default value is 1 day.
archiveNo

The name of the archive from the request to get the list of the archives (see Get archive contents).

If not specified, the default archive is used.

Sample request 1:

GET http://127.0.0.1:80/archive/statistics/depth/SERVER1/DeviceIpint.23/SourceEndpoint.video:0:0?threshold=2

Sample response:

{
  "start": "20160823T141333.778000"
  ,"end": "20160824T065142"
}

Sample request 2:

GET http://127.0.0.1:80/archive/statistics/depth/SERVER1/DeviceIpint.1/SourceEndpoint.video:0:0?archive=hosts/SERVER1/MultimediaStorage.AliceBlue/MultimediaStorage

Sample response:

{
  "start": "20210910T070448.179000"
  ,"end": "20210910T072838"
}
ParameterDescription
startInterval start
endInterval end

Recording capacity to specific camera archive

GET http://IP Address:port/prefix/archive/statistics/capacity/{VIDEOSOURCEID}/{ENDTIME}/{BEGINTIME} – to get the information about the recording capacity to specific camera archive starting at BEGINTIME and ending at ENDTIME.

ParameterRequiredDescription
archiveNo

The name of the archive from the request to get the list of the archives (see Get archive contents).

If not specified, the default archive is used.

Sample request:

GET http://127.0.0.1:80/archive/statistics/capacity/SERVER1/DeviceIpint.23/SourceEndpoint.video:0:0/past/future?archive=hosts/SERVER1/MultimediaStorage.AntiqueWhite/MultimediaStorage

Sample response:

{
  "size": 520093696
  ,"duration": 32345
}
ParameterDescription

size

Archive size (in bytes) within the specified period.

duration

Archive duration (in seconds) within the specified period.

Attention!

Since calculating the exact value is a high-runner process, the value is calculated approximately, and the margin of error may be a few percent.

GET http://IPaddress:port/prefix/archive/health/{HOSTNAME}/{ENDTIME}/{BEGINTIME}

{HOSTNAME} − Server name.

Note

The ENDTIME and BEGINTIME syntax is described in Get MM archive contents section.

ParametrRequiredDescription
archiveNo

Archive name from the request to get the list of archives (see Get archive contents).

healthNo

0 − there is an archive damage, 1 − no archive damage.


Important!

If the request does not contain the archive or health parameters, then the response will contain all values of these parameters.

Sample request:

GET http://127.0.0.1:80/archive/health/SERVER/past/future?archive=hosts/SERVER/MultimediaStorage.AliceBlue/MultimediaStorage&health=0

Sample response:

{
"events" : [
{
"data" : {
"archive" : "D:/archiveAliceBlue.afs",
"health" : 0
},
"timestamp" : "20180907T101637.361014"
},
{
"data" : {
"archive" : "D:/archiveAliceBlue.afs",
"health" : 0
},
"timestamp" : "20180907T102726.750134"
}
]
}

where,

timestamp − the time of archive damage detection (UTC +0).

Content

Client HTTP API

Working with layouts and videowalls

Sequence of actions

Before one starts working with layouts and videowalls HTTP API, run this command in the command prompt:

netsh http add urlacl url=http://IP-Adress:8888/ user=DOMAIN\username

Note

On Linux, no additional commands are required.

where DOMAIN\username relates to Windows (whoami command in the command prompt). Port 8888 is to be vacant, antivirus and/or firewall are to be disabled.

Attention!

All requests for working with layouts and videowalls are performed on the Client that is to be run as administrator.

The Client's IP-Address is to be specified in the requests.

Attention!

If there are any errors, run the command prompt as administrator and then run the command once again.

When the command is successfully executed, one can make requests listed below.

Getting the list of layouts

GET http://IP-adress:8888/GetLayouts − getting available layouts for current logged user.

Sample response:

{
    "Description": "",
    "Status": "OK",
    "LayoutInfo": [
        {
            "Id": "102",
            "Name": "Layout name 2"
        },
        { 
			"Id": "103",
            "Name": "Layout name 3"
        }
    ]
}

Here is an example of an error message:

 {
\"result\":\"no layouts\"
}

Note

An error can occur while requesting the list of Server layouts if the UAC is enabled on the Server. Disable this function in order to eliminate the error.

Switching the layout on the screen

GET http://IPaddress:8888/SwitchLayout
ParametrRequiredDescription
layoutIdYesLayout id (see Getting the list of layouts).
displayIdYesMonitor id (see Getting the list of displays).

Sample request:

GET http://127.0.0.1:8888/SwitchLayout?layoutId=102&displayId=\\.\DISPLAY1

Sample response:

{
    "Description": "",
    "Status": "OK"
}

Here is an example of an error message:

{
	\"result\":\"error\"
}

Note

An error can occur if a layout with non-existent ID is specified.

Getting the list of cameras displayed on the layout

GET http://IPaddress:8888/GetCameras
ParametrRequiredDescription
layoutIdYes

Layout id (see Getting the list of layouts).

If the layout with specified id will not be found, then the query will return the list of cameras of the current layout for the specified display.

displayIdYesMonitor id (see Getting the list of displays).

Sample request:

GET http://127.0.0.1:8888/GetCameras?layoutId=102&displayId=\\.\DISPLAY1

Sample response:

{
    "Description": "",
    "Status": "OK",
    "CameraInfo": [
        {
            "DisplayName": "1.Camera",
            "Id": "1",
            "Name": "host/HOSTNAME/DeviceIpint1/SourceEndPoint.video:0:0"
        },
        {
            "DisplayName": "2.Camera",
            "Id": "2",
            "Name": " host/HOSTNAME/DeviceIpint2/SourceEndPoint.video:0:0"
        }
    ]
}

Adding and removing cameras

Removing a camera from the current layout

GET http://IP-address:8888/RemoveCamera

ParametrRequiredDescription
displayIdYesMonitor id (see Getting the list of displays).
cameraNameYes

Camera name from the response to Getting the list of cameras displayed on the layout request.

Sample request:

GET http://127.0.0.1:8888/RemoveCamera?displayId=\\.\DISPLAY1&cameraName=host/HOSTNAME/DeviceIpint1/SourceEndPoint.video:0:0

Sample responce:

{ 
	"Description": "", 
	"Status": "OK" 
}

Here is an example of an error message:

{ 
	"Description": "Error description", 
	"Status": "ERROR" 
}

Removing all cameras from the current layout

GET http://IP-address:8888/RemoveAllCameras

ParametrRequiredDescription
displayIdYesMonitor id (see Getting the list of displays).

Sample request:

GET http://127.0.0.1:8888/RemoveAllCameras?displayId=\\.\DISPLAY1

Adding a camera to the current layout

GET http://IP-address:8888/AddCamera

ParametrRequiredDescription
displayIdYesMonitor id (see Getting the list of displays).
cameraNameYes

Camera name from the response to Getting the list of cameras displayed on the layout request.


Sample request:

GET http://127.0.0.1:8888/AddCamera?displayId=\\.\DISPLAY1&cameraName=host/HOSTNAME/DeviceIpint1/SourceEndPoint.video:0:0

Getting the list of displays

GET http://IP-address:8888/GetDisplays − getting available displays for current logged user.

Sample response:

{
    "Description": "",
    "Status": "OK",
    "DisplayInfo": [
        {
            "Id": "\\\\.\\DISPLAY1",
            "IsMainForm": true
        },
        {
            "Id": "\\\\.\\DISPLAY2",
            "IsMainForm": false
        }
    ]
}
ParametrDescription
id

Display ID.

IsMainForm

The 'true' value corresponds to the main display.

Attention! In other requests, use the monitor Id in the following format: \\.\DISPLAY1.

Here is an example of an error message:

{
	"{\"result\":\"no displays\"}"
}

Selecting active display

GET http://IP-address:8888/SelectDisplay
ParametrRequiredDescription
displayIdYesMonitor id (see Getting the list of displays).

Sample request:

GET http://127.0.0.1:8888/SelectDisplay?displayId=\\.\DISPLAY1

Sample responce:

{
"Description": "",  
"Status": "OK"
}

Here is an example of an error message:

{
	\"result\":\"error\"
}

Switching camera to archive mode

GET http://IPaddress:8888/GotoArchive
ParametrRequiredDescription
displayIdYesMonitor id (see Getting the list of displays).
cameraNameYes

Camera name from the response to Getting the list of cameras displayed on the layout request.

timestampYes

Time in ISO format.

Sample request:

GET http://127.0.0.1:8888/GotoArchive?displayId=\\.\DISPLAY2&cameraName=hosts/SERVER1/DeviceIpint.1/SourceEndpoint.video:0:0&timestamp=2017-04-07T00:00:00.000

Note

Use the following query to get the list of groups:

GET http://IPaddress:8888/GetGroups.

Sample responce:

 Id	"4308f2e2-e57c-4cd0-8a4f-826e8b16d39c"
   Name	"Default"

Switching to layout with camera in forensic search mode

GET http://IP-address:8888/SearchArchive
ParametrRequiredDescription
displayIdYesMonitor id (see Getting the list of displays).
cameraNameYes

Camera name from the response to Getting the list of cameras displayed on the layout request.

timestampYes

Time in ISO format.

Sample request:

GET http://127.0.0.1:8888/GoToArchive?displayId=\\.\DISPLAY2&cameraName=hosts/SERVER1/DeviceIpint.1/SourceEndpoint.video:0:0×tamp=2017-04-07T00:00:00.000

Switching to saved forensic search results

GET http://IP-address:8888/SearchArchive

ParametrRequiredDescription
displayIdYesMonitor id (see Getting the list of displays).
cameraNameYes

Camera name from the response to Getting the list of cameras displayed on the layout request.

query

Yes

Name of the saved search query (see Saving search queries).

Sample request:

GET http://127.0.0.1:8888/SearchArchive?displayId=\\.\DISPLAY1&cameraName=host/HOSTNAME/DeviceIpint1/SourceEndPoint.video:0:0&query=query1

Switching to layout with camera in immersion mode

GET http://IP-address:8888/GotoImmersion
ParametrRequiredDescription
displayIdYesMonitor id (see Getting the list of displays).
cameraNameYes

Camera name from the response to Getting the list of cameras displayed on the layout request.

Sample request:

GET http://127.0.0.1:8888/GotoImmersion?displayId=\\.\DISPLAY1&cameraName=hosts/SERVER1/DeviceIpint.1/SourceEndpoint.video:0:0

Content

  • No labels