Documentation for C-Werk 2.0.

Previous page Next page

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

Compare with Current View Page History

Version 1 Current »

GET http://IP Address:port/prefix/archive/events/detectors/{ENDTIME}/{BEGINTIME}get detections from all Domain Servers.

Attention!

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

If ENDTIME < BEGINTIME in the request, then the events in the response will be sorted by time in ascending order.

If ENDTIME > BEGINTIME, then the events will be sorted in descending order.

GET http://IP Address:port/prefix/archive/events/detectors/{HOSTNAME}/{ENDTIME}/{BEGINTIME}get detections from a certain Server.

{HOSTNAME}Server name (see Get Server list).

GET http://IP Address:port/prefix/archive/events/detectors/{VIDEOSOURCEID}/{ENDTIME}/{BEGINTIME}get detections from a 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".

ParameterRequiredDescription
limitNoLimit of detections in the response. If not specified, it is equal to 100
offsetNoThe results offset by the specified number. For example, if a query with offset=0 returned 100 results, then in order to get the next results, it is necessary to run a query with offset=100. If the second query returned 250 results, then in order to get the next results, it is necessary to run a query with offset=350, etc.
typeNo

Get detections from a certain detection tool. The values of the type parameter are listed in the table below.

If you need to get detections from several detection tools, you need to list them separated by commas

joinNo

If join=1, then in the response, the two-phase events will be merged together, and the duration parameter will be returned which corresponds to the event duration.

If join=0, then in the response, the two-phase events will not be merged together

limit_to_archiveNo

If limit_to_archive=1, then the response will return the events only from the accessible part of the archive (see Configuring access restrictions to archive)

archiveNo

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

detectorNo

Starting with AC-Werk 2.0

Get detections from a certain detection tool. The values of the detector parameter are listed in the table below

Sample requests:

  • http://127.0.0.1:80/archive/events/detectors/Server1/DeviceIpint.2/SourceEndpoint.video:0:0/past/future?limit=10&offset=0get detections from a certain camera, sorted in descending order. The maximum limit is 10.
  • http://127.0.0.1:80/archive/events/detectors/Server1/past/future?limit=5&offset=0get detections from all detection tools of Server1. The maximum limit for each detection tool is 5.
  • http://127.0.0.1:80/archive/events/detectors/Server1/past/future?limit=5&offset=0&type=Rayget detections from all sensors of Server1. The maximum limit for each sensor is 5.
  • http://127.0.0.1:80/archive/events/detectors/A-ZHUKOV/DeviceIpint.1/SourceEndpoint.video:0:0/future/past?limit=100&detector=hosts/Server1/AVDetector.1/EventSupplier—get detections from a certain detection tool of Server1.
  • http://root:root@127.0.0.1:80/archive/events/detectors/Server1/DeviceIpint.1/SourceEndpoint.video:0:0/20230323T112000.000/20230430T210000.000?limit=100&offset=0&type=listed_face_detected,MotionDetected—get detections from several detection tools of Server1. The detection tools must be listed separated by commas.
  • http://127.0.0.1:80/archive/events/detectors/past/future?limit=1&type=Rayget the current state of all sensors of the Domain.

Attention!

It is recommended to use the past/future parameter only in the first request. Then you should get the timestamp of the most recent record and use it to request subsequent records. Using the past/future parameter along with the limit and offset parameters in subsequent requests can result in duplicate records.

Sample response:

1) join=1

{
    "events": [
        {
            "duration": "000000.467000",
            "id": "09b8729a-a6fc-4ffa-8a83-aebc5c19d171",
            "origin": "hosts/Server1/AppDataDetector.1/EventSupplier",
            "rectangles": [
                {
                    "bottom": "0.20831976890563964",
                    "index": "0",
                    "left": "0.57320795059204099",
                    "right": "0.6804207420349121",
                    "top": "0.09125151634216308"
                }
            ],
            "source": "hosts/Server1/DeviceIpint.1/SourceEndpoint.video:0:0",
            "timestamp": "20190618T112815.527000",
            "type": "moveInZone"
        },
        {
            "duration": "000004.154000",
            "id": "90c5d09e-c0bb-4c49-bf8b-22d3afffe8c1",
            "origin": "hosts/Server1/AppDataDetector.1/EventSupplier",
            "rectangles": [
                {
                    "bottom": "0.72451157569885249",
                    "index": "0",
                    "left": "0.092941055297851571",
                    "right": "0.24284084320068361",
                    "top": "0.4965816402435303"
                }
            ],
            "source": "hosts/Server1/DeviceIpint.1/SourceEndpoint.video:0:0",
            "timestamp": "20190618T112814.426000",
            "type": "moveInZone"
        },
        {
            "duration": "000005.155000",
            "id": "dc953fad-bb08-4bae-bdce-62a09ab2dbd9",
            "origin": "hosts/Server1/AppDataDetector.1/EventSupplier",
            "rectangles": [
                {
                    "bottom": "0.37916545867919921",
                    "index": "0",
                    "left": "0.10621988296508789",
                    "right": "0.2311831474304199",
                    "top": "0.11115360260009766"
                }
            ],
            "source": "hosts/Server1/DeviceIpint.1/SourceEndpoint.video:0:0",
            "timestamp": "20190618T112814.293000",
            "type": "moveInZone"
        },
        {
            "duration": "000003.170000",
            "id": "f00875f0-bad7-4e74-879c-0a564baa9d36",
            "origin": "hosts/Server1/AppDataDetector.1/EventSupplier",
            "rectangles": [
                {
                    "bottom": "0.2848846626281738",
                    "index": "0",
                    "left": "0.11811468601226806",
                    "right": "0.18662774562835693",
                    "top": "0.11245393753051756"
                }
            ],
            "source": "hosts/Server1/DeviceIpint.1/SourceEndpoint.video:0:0",
            "timestamp": "20190618T112813.358000",
            "type": "moveInZone"
        }
    ],
    "more": true
}

2) join=0

{
 "events": [
  {
   "alertState": "ended",
   "id": "cd3571bb-73c1-45cb-8965-a01e167836db",
   "multiPhaseSyncId": "6d72973d-7188-4fa7-9bf9-e3ba6013f2e3",
   "origin": "hosts/Server1/AppDataDetector.1/EventSupplier",
   "rectangles": [],
   "source": "hosts/Server1/DeviceIpint.1/SourceEndpoint.video:0:0",
   "timestamp": "20190618T125142.417000",
   "type": "moveInZone"
  },
  {
   "alertState": "began",
   "id": "310ce582-5f0d-4c27-a1d5-b14ccc5a877d",
   "multiPhaseSyncId": "6d72973d-7188-4fa7-9bf9-e3ba6013f2e3",
   "origin": "hosts/Server1/AppDataDetector.1/EventSupplier",
   "rectangles": [
    {
     "bottom": "0.46943313598632813",
     "index": "0",
     "left": "0.14642228603363036",
     "right": "0.23025640964508054",
     "top": "0.027766456604003897"
    }
   ],
   "source": "hosts/Server1/DeviceIpint.1/SourceEndpoint.video:0:0",
   "timestamp": "20190618T125142.200000",
   "type": "moveInZone"
  },
  {
   "alertState": "began",
   "id": "aa193bbc-89e8-4204-8805-ac8c915b323c",
   "multiPhaseSyncId": "807248bf-4cee-431e-a29f-18ee0ed911ce",
   "origin": "hosts/Server1/AppDataDetector.1/EventSupplier",
   "rectangles": [
    {
     "bottom": "0.36835212707519532",
     "index": "0",
     "left": "0.072501201629638662",
     "right": "0.19335731506347656",
     "top": "0.03212909698486327"
    }
   ],
   "source": "hosts/Server1/DeviceIpint.1/SourceEndpoint.video:0:0",
   "timestamp": "20190618T125141.966000",
   "type": "moveInZone"
  },
  {
   "alertState": "ended",
   "id": "5b15234d-2a7f-415f-af57-2ac1ce5aa75a",
   "multiPhaseSyncId": "17fca913-f7a3-4f29-997f-d02a575d9fc4",
   "origin": "hosts/Server1/AppDataDetector.1/EventSupplier",
   "rectangles": [],
   "source": "hosts/Server1/DeviceIpint.1/SourceEndpoint.video:0:0",
   "timestamp": "20190618T125136.978000",
   "type": "moveInZone"
  },
  {
   "alertState": "ended",
   "id": "48882f92-a809-424c-b7a7-55ac56b05061",
   "multiPhaseSyncId": "8bb9edbe-4391-4c26-8c7a-7faf620a62eb",
   "origin": "hosts/Server1/AppDataDetector.1/EventSupplier",
   "rectangles": [],
   "source": "hosts/Server1/DeviceIpint.1/SourceEndpoint.video:0:0",
   "timestamp": "20190618T125136.661000",
   "type": "moveInZone"
  },
  {
   "alertState": "ended",
   "id": "6e98f979-c4f4-4c78-bbf4-6fc268219d79",
   "multiPhaseSyncId": "92534e2f-0f88-4698-a1a2-4e70d10cb00a",
   "origin": "hosts/Server1/AppDataDetector.1/EventSupplier",
   "rectangles": [],
   "source": "hosts/Server1/DeviceIpint.1/SourceEndpoint.video:0:0",
   "timestamp": "20190618T125136.477000",
   "type": "moveInZone"
  },
  {
   "alertState": "ended",
   "id": "c9dff8bc-423b-414b-8dee-0a0b119a43df",
   "multiPhaseSyncId": "c8785151-f344-4c21-88de-6c339139afdf",
   "origin": "hosts/Server1/AppDataDetector.1/EventSupplier",
   "rectangles": [],
   "source": "hosts/Server1/DeviceIpint.1/SourceEndpoint.video:0:0",
   "timestamp": "20190618T125135.843000",
   "type": "moveInZone"
  },
  {
   "alertState": "ended",
   "id": "db1f1147-ed50-46ff-84b7-8f06676d8f8e",
   "multiPhaseSyncId": "7eceb0b4-c04d-4e17-a405-3aff419fd94a",
   "origin": "hosts/Server1/AppDataDetector.1/EventSupplier",
   "rectangles": [],
   "source": "hosts/Server1/DeviceIpint.1/SourceEndpoint.video:0:0",
   "timestamp": "20190618T125135.677000",
   "type": "moveInZone"
  },
  {
   "alertState": "began",
   "id": "f9ccceda-9e16-4832-9f1f-1270fd0be365",
   "multiPhaseSyncId": "17fca913-f7a3-4f29-997f-d02a575d9fc4",
   "origin": "hosts/Server1/AppDataDetector.1/EventSupplier",
   "rectangles": [
    {
     "bottom": "0.30296741485595702",
     "index": "0",
     "left": "0.14849423646926879",
     "right": "0.21262614011764525",
     "top": "0.092105445861816404"
    }
   ],
   "source": "hosts/Server1/DeviceIpint.1/SourceEndpoint.video:0:0",
   "timestamp": "20190618T125135.677000",
   "type": "moveInZone"
  },
  {
   "alertState": "began",
   "id": "87ca4e1e-4a8c-433a-8b67-6e73f65fa0e2",
   "multiPhaseSyncId": "7eceb0b4-c04d-4e17-a405-3aff419fd94a",
   "origin": "hosts/Server1/AppDataDetector.1/EventSupplier",
   "rectangles": [
    {
     "bottom": "0.22597263336181642",
     "index": "0",
     "left": "0.080717468261718744",
     "right": "0.19577339172363281",
     "top": "0.014194698333740235"
    }
   ],
   "source": "hosts/Server1/DeviceIpint.1/SourceEndpoint.video:0:0",
   "timestamp": "20190618T125134.909000",
   "type": "moveInZone"
  }
 ],
 "more": true
}                             

Attention!

By default, the request timeout is 10 seconds.

If the Server fails to return all events (the quantity is set in the limit parameter) in 10 seconds, the response will be as follows:

{
   "events": [],
   "more": false
}

In this case, it is necessary to repeat the request and reduce the value of the limit parameter.


Note

The multiPhaseSyncId parameter will be in the response only for two-phase alarms with alertState parameter.

Field timestamp is not unique so it might be necessary to skip the previously received alarms starting from the search interval.

When requesting the queue detection tool triggerings, the response will include an additional extra parameter that will contain the queue length estimate expressed by the minimum and maximum values.

       {
            "alertState": "happened",
            "extra": [
                {
                    "queueMax": "4"
                },
                {
                    "queueMin": "4"
                }
            ],
            "id": "b17129b2-1588-794b-94f6-d078a226efb2",
            "origin": "hosts/Server1/AVDetector.4/EventSupplier",
            "rectangles": [],
            "source": "hosts/Server1/DeviceIpint.2/SourceEndpoint.video:0:0",
            "timestamp": "20181206T075621.621000",
            "type": "QueueDetected"
        }
}

When requesting the detections from License plate recognition, the response will include an additional plate parameter that will contain the recognized license plate in Unicode format.

  "alertState" : "happened",
            "id" : "f1f334a3-3fb3-4770-80bf-c6519240b5cf",
            "origin" : "hosts/Server1/AVDetector.1/EventSupplier",
            "plate" : "\u0045\u0041\u0033",
            "rectangles" :
            [
                {
                    "bottom" : 0.70833333333333337,
                    "index" : 0,
                    "left" : 0.4597222222222222,
                    "right" : 0.67222222222222228,
                    "top" : 0.64409722222222221
                }
            ],
            "source" : "hosts/Server1/DeviceIpint.1/SourceEndpoint.video:0:0",
            "timestamp" : "20230725T140945.208000",
            "type" : "plateRecognized"
        }

Possible values of the type parameter:

Detection tooltype
Scene Analytics detection tools
Line crossingoneLine
Motion in areamoveInZone
Stop in areastopInZone
Appearance in areacomeInZone
Disappearance in areaoutOfZone
LoiteringlongInZone
Multiple objectslostObject
Number Plate RecognitionplateRecognized
Number Plate Recognition (from the list)listed_lpr_detected
Face detectionfaceAppeared
Face detection (from the list)listed_face_detected
Visitors counterPeopleIn, PeopleOut
Queue detectionQueueDetected
Fire detectionFireDetected
Smoke detectionSmokeDetected
Neural countinglotsObjects
Position changeSceneChangeDetected
Image Noise DetectionCameraBlindDetected
Loss of qualityImageDegradation
Blurred Image DetectionBlurredDegradation
Compression Artifacts DetectionCompressedDegradation
Motion detectionMotionDetected
No signalNullAudio
SignalSignalAudio
Noise

NoiseAudio

Pose detection
Man down detectionrecumbent
Sitting person detectionsitDown
Hands up detectionhandsUp
Water level detectionLevelOut
Handrail holding detectionhandRail
People counterlotsObjects
Close-standing people detectionpeopleDistance
People maskingenabledMaskEvents

Possible values of the detector parameter:

detector

Detection tool
SceneDescriptionScene Analytics detection tools
CrossOneLineLine crossing
moveInZoneMotion in area
StopInZoneStop in area
ComeInZoneAppearance in area
OutOfZoneDisappearance in area
LongInZoneLoitering
lostObjectMultiple objects
LprDetectorNumber Plate Recognition
TvaFaceDetectorFace detection
PeopleCounterVisitors counter
QueueDetectorQueue detection
FireDetectorFire detection
SmokeDetectorSmoke detection
NeuroCounterNeural counting
SceneChangePosition change
QualityDegradationLoss of quality
QualityDegradation_v2

Image Noise Detection

BlurredDegradationBlurred Image Detection
CompressedDegradationCompression Artifacts Detection
MotionDetectionMotion detection
NullAudioDetectionNo signal
SignalAudioDetectionSignal
NoiseAudioDetection

Noise

PoseDetectorPose detection
RecumbentDetectorMan down detection
SitDownDetectorSitting person detection
HandsUpDetectorHands up detection
ActiveShooterDetectorShooter detection
WaterLevelDetectorWater level detection
HandRailDetectorHandrail holding detection
PeopleCountDetectorBySkeletonPeople counter
PeopleDistanceDetectorClose-standing people detection
PoseMaskingDetectorPeople masking

Attention!

  • Case sensitivity of detection tool triggering types is not guaranteed. For instance, 'ComeInZone', 'comeInZone' and 'COMEINZOne' values are to be considered as the same ones.
  • If you received a value not included in the list, then an embedded detection tool triggered.
  • No labels