Page tree
    Loading...
Skip to end of metadata
Go to start of metadata

Доступные метрики

WCS передает для сбора следующие характеристики потоков:

Метрика

Идентификатор

Описание

VIDEO_HEIGHT

2

Высота видео

VIDEO_WIDTH

3

Ширина видео

VIDEO_RATE

4

Битрейт видео

VIDEO_SYNC

5

Синхронизация видео

VIDEO_FPS

6

Частота кадров видео

VIDEO_NACK

7

Количество NACK-запросов

VIDEO_PLI

8

Количество PLI-пакетов

VIDEO_CODEC

9

Видеокодек

AUDIO_SYNC

10

Синхронизация аудио

AUDIO_RATE

11

Битрейт аудио

AUDIO_LOST

12

Количество потерянных пакетов аудио

AUDIO_CODEC

13

Аудиокодек

VIDEO_B_FRAMES

16Количество B-фреймов в потоке

VIDEO_K_FRAMES

17Количество K-фреймов в потоке

VIDEO_P_FRAMES

18Количество P-фреймов в потоке

Список доступных метрик может быть получен при помощи запроса /api/metric/list:

APIRequestResponseResponse 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 Obkect not found

500 Persist exception

Здесь:

  • id – идентификатор метрики.
  • name - название метрики
  • note - примечание
  • enumName - мнемонический идентификатор метрики

Если в запросе указан идентификатор метрики, ответ будет содержать информацию только об этой метрике. Если идентификатор не указан, ответ будет содержать список всех метрик.

Организация сбора метрик

Для сбора с конкретных узлов метрики объединяются в профили, каждый содержит определенный набор метрик и частоту их сбора. Для профиля могут быть заданы несколько правил сбора метрик, которые применяются к потоку на узле.

К одному узлу (экземпляру WCS) могут быть применены несколько профилей. В этом случае наборы метрик и правила, применяемые к потокам на узле, указанные в профилях, суммируются, а частота сбора метрики берется минимальная из указанных для одной и той же метрики. Рассмотрим пример:

1. К узлу test1.flasphoner.com применяются профили profile1 и profile2

2. profile1 включает:

  • метрики VIDEO_RATE, VIDEO_FPS, собираемые с частотой 5
  • правило Stream name == stream1

3. profile2 включает:

  • метрики VIDEO_RATE, AUDIO_RATE, собираемые с частотой 10
  • правило Stream name == stream1

В результате для потока stream1 на узле test1.flashphoner com будут собраны срезы метрик:

  • VIDEO_RATE с частотой 5
  • VIDEO_FPS с частотой 5
  • AUDIO_RATE с частотой 10
  • No labels