Skip to content

Data acquisition from WCS

The available metrics

WCS sends the following stream parameters for acquisition:

Metric Id Description
VIDEO_HEIGHT 2 Video height
VIDEO_WIDTH 3 Video width
VIDEO_RATE 4 Video bitrate, bps
VIDEO_SYNC 5 Video synchronization
VIDEO_FPS 6 Video frame rate per second
VIDEO_NACK 7 NACK requests count
VIDEO_PLI 8 PLI packets count
VIDEO_CODEC 9 Video codec
AUDIO_SYNC 10 Audio synchronization
AUDIO_RATE 11 Audio bitrate
AUDIO_LOST 12 Lost audio packets count
AUDIO_CODEC 13 Audio codec
VIDEO_B_FRAMES 16 B-frames count in the stream
VIDEO_K_FRAMES 17 K-frames count in the stream
VIDEO_P_FRAMES 18 P-frames count in the stream

The available metrics list can be obtained using /api/metric/list request:

API Request Response Response status
WS API
SEND
destination:/app/api/metric/list
content-length:100

{
 "requestId":"eb2c2807-8c2f-4418-aebe-03622404e4bb",
 "realm":"/api/metric/list",
 "payload":
  {
    "id":"3"
  }
}
MESSAGE
destination:/user/service
content-type:application/json;charset=UTF-8
subscription:sub-1
message-id:3-8
content-length:159

{
 "requestId":"eb2c2807-8c2f-4418-aebe-03622404e4bb",
 "status":200,
 "reason":"SUCCESS",
 "payload":[
  {
    "id":3,
    "name":"Video rate",
    "note":"",
    "enumName":"VIDEO_RATE"
  }
 ]
}
200 OK 400 Object not found 500 Persist exception
REST API
POST: /api/metric/list "application/json; charset=utf-8"
{"id":"3"}
{
    "status": 200,
    "reason": "SUCCESS",
    "payload": [
        {
            "id": 3,
            "name": "Video rate",
            "note": "",
            "enumName": "VIDEO_RATE"
        }
    ]
}
200 OK 400 Object not found 500 Persist exception

Where

  • id – metric Id
  • name - metric name
  • note - metric note
  • enumName - metric mnemonic identifier

If metric Id is set, the response will contain information about the metric with this Id only. Otherwise, response will contain list with all the available metrics.

Metrics acquisition principles

Metrics are combined to profiles to collect from specific nodes. Every profile contains specific metrics set and acquisition rate. For a profile, several metric acquisition rules, which are applied to a stream on a node, can be specified.

A number of profiles can be applied to one node (WCS instance). In that case, metric sets and rules from the profiles are summarized, and minimum acquisition rate for same metric is applied. Let's look at the example:

  1. The profiles profile1 and profile2 are applied to test1.flashphoner.com node

  2. profile1 includes

  3. VIDEO_RATE, VIDEO_FPS metrics which are acquired with rate 5
  4. the rule Stream name == stream1

  5. profile2 includes

  6. VIDEO_RATE, AUDIO_RATE metrics which are acquired with rate 10
  7. the rule Stream name == stream1

As the result, for the stream stream1 on test1.flashphoner.com node the following metric sets will be acquired:

  • VIDEO_RATE with rate 5
  • VIDEO_FPS with rate 5
  • AUDIO_RATE with rate 10