Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Table of Contents

...

The available metrics

...

WCS sends the following stream parameters for aquisitionacquisition:

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

16B-frames count in the stream

VIDEO_K_FRAMES

17K-frames count in the stream

VIDEO_P_FRAMES

18P-frames count in the stream

The available metrics list can be obtained using REST API query /api/metric/list

...

request

APIRequestResponseResponse status
WS API
Code Block
themeRDark

...

SEND
destination:/

...

app/api/metric/list
content-length:100

{
 "requestId":"eb2c2807-8c2f-4418-aebe-03622404e4bb",
 "realm":"/api/metric/list",
 "payload":
  {

...

    "id":

...

"

...

3"
  }

...

Where:

  • id – metric Id.

If metric Id is set, the response will contain information about the metric with this Id only. In other case, response will contain all the metrics list.

The response contains the following fields:

...

languagejs
themeRDark

...


}
Code Block
themeRDark
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
Code Block
themeRDark
POST: /api/metric/list "application/json; charset=utf-8"
{"id":"3"}
Code Block
themeRDark
{
    "status": 200,
    "reason": "SUCCESS",
    "payload": [
        {
            "id": 

...

3,

...

            "name": "Video rate",

...

            "note": "",

...

            "enumName": "VIDEO_RATE"

...

        }
    ]

...


}

200 OK

400 Obkect not found


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 aquisition acquisition rate. A couple of metric aquisition rules can be set for certain profile which 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 this that case, metric sets and rules from the profiles are summarized, and minimum aquisition acquisition rate for same metric is applied. Let's look to on the example:

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

2. profile1 includes:

  • VIDEO_RATE, VIDEO_FPS metrics which are aquired acquired with rate 5
  • the rule Stream name == stream1

3. profile2 includes:

  • VIDEO_RATE, AUDIO_RATE metrics which are aquired acquired with rate 10
  • the rule Stream name == stream1

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

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