Camlytics can do range of things: count people, vehicles, classify objects, detect motion and abandoned items, detect crowds and loitering, build heat maps, trajectory maps and more. All this data can be extracted via simple REST API in a real time.

By integrating with Camlytics API you can do a broad range of customizations: save analytical camera events to a remote database, send push notifications to a mobile device, trigger remote events via webhooks and other. You can create personalized people counting reports, car / vehicle counting reports, motion reports by processing the camera events the way you want it.

See the example of a real time events output:

[
{
  "channel_id": "93431065-98a3-404c-8dcc-abe1eabd960e",
  "channel_name": "Video file",
  "event_id": 792820,
  "object_id": "1",
  "origin": "Pedestrian",
  "rule_id": "-1",
  "rule_name": "",
  "snapshot_path": "",
  "time": "2018-08-15T18:06:13.8930000",
  "timestamp": "10",
  "type": "ObjectAppear",
  "video_file_name": "05-04-2018_13-53-16.avi",
  "video_file_time": "2018-04-09T15:30:28.3630000"
},
{
  "channel_id": "93434065-18a3-404c-1dcc-abe1eabd960e",
  "channel_name": "Video file",
  "event_id": 792821,
  "object_id": "1",
  "origin": "Pedestrian",
  "rule_id": "5237ff20-18d2-4366-8a2b-b58f7f966bb1",
  "rule_name": "Zone 1",
  "snapshot_path": "",
  "time": "2018-08-15T18:06:14.5330000",
  "timestamp": "10",
  "type": "RegionJoin",
  "video_file_name": "05-04-2018_13-53-16.avi",
  "video_file_time": "2018-04-09T15:30:28.3630000"
}]

Aggregated totals can also be retrieved to avoid costly data manipulations:

[ {
  "rule_id" : "046b3c7f-048a-43b9-b35d-6659e6daee51",
  "rule_name" : "Exit line",
  "channel_id" : "046b6c7f-0b8a-43b9-b35d-6489e6daee91",
  "rule_count" : 2321
}, {
  "rule_id" : "046b6c7f-0b8a-43b9-b35d-6489e6daee91",
  "rule_name" : "Enter line",
  "channel_id" : "046b6c7f-0b8a-43b9-b35d-6489e6daee91",
  "rule_count" : 440
} ]

You can also extract the list of added channels:

[ {  
      "channel_id":"16b7f471-3c62-4add-9d6d-a2607c52335b",
      "login":null,
      "name":"Video file",
      "password":null,
      "profile_name":"none",
      "profile_token":"",
      "stream_uri":"C:\\Users\\admin\\Desktop\\videos2\\06-12-2017_14-33-49.avi",
      "type":"File",
      "uri":"http:\/\/localhost\/"
   },
   {  
      "channel_id":"32226aa2-3415-452f-8d10-90933a5356d5",
      "login":null,
      "name":"Integrated Camera",
      "password":null,
      "profile_name":"none",
      "profile_token":"",
      "stream_uri":"@device:pnp:\\\\?\\usb#vid_04ca&pid_701a&mi_00#6&255a974a&0&0010#{15e8773d-8f56-11d5-a3b9-03a0c9213116}\\global",
      "type":"Webcam",
      "uri":"http:\/\/localhost\/"
   },
   {  
      "channel_id":"8f7be215-15e2-4695-b0da-da2f04d19db8",
      "login":null,
      "name":"Video device",
      "password":null,
      "profile_name":"profile0_0",
      "profile_token":"profile0_0",
      "stream_uri":"rtsp:\/\/192.168.1.6:554\/ucast\/11",
      "type":"Onvif",
      "uri":"http:\/\/192.168.1.6\/onvif\/device_service"
   }]

Another powerful feature for centralized data aggregation is webhooks - you can collect data from multiple locations (people counting results from different retail stores, for example) and manupulate it in any custom way. Webhooks are available for single analytical events (Object enter/exit, Line crossed, Motion started/stopped, etc.) fired real time, as well as for grouped events totals fired every hour and every day (group by event type, rule name and channel id). You can read more about sending Camlytics events to a Google Sheets cloud storage.

Also check out our YouTube channel which has plenty of real life video analysis demos.