...
Типы данных CONNECTION, STREAM и , CDN, HLS_STREAM собираются безусловно, для всех клиентских сессий и всех опубликованных потоков. Все остальные типы данных собираются только по запросу, поскольку объем отсылаемых данных может быть очень велик.
Сбор данных для определенного потока включается по REST API.
REST-запрос должен быть HTTP/HTTPS POST запросом в таком виде:
- HTTP: http://streaming.flashphoner.com:8081/rest-api/rels/startup
- HTTPS: https://streaming.flashphoner.com:8444/rest-api/rels/startup
Здесь:
- streaming.flashphoner.com - адрес WCS-сервера
- 8081 - стандартный REST / HTTP порт WCS-сервера
- 8444 - стандартный HTTPS порт
- rest-api - обязательный префикс
- /rels/startup - используемый REST-вызов
REST методы и статусы ответа
...
Code Block |
---|
|
POST /rest-api/rels/startup HTTP/1.1
Host: localhost:8081
Content-Type: application/json
{
"mediaSession": {
"frequency":100,
"ids": [
"8876b270d7d6b6e4-fc69b137-11ee461a-81ea8a32-0f443551e746d6abf2b8666e",
"f7d0d8f139cbf770-847f128a-451c11ef-91d9b839-ee5e88f162d4d1a1f53f8bd2"
]
}
} |
Response example
Code Block |
---|
|
HTTP/1.1 200 OK
Access-Control-Allow-Origin: *
Content-Type: application/json |
Return codes
Code | Reason |
---|
200 | OK |
400 | Bad request |
404 | Not found |
500 | Internal server error |
/rels/find_all
Получить статистику по отправляемым данным
Request example
Code Block |
---|
|
POST /rest-api/rels/find_all HTTP/1.1
Host: localhost:8081
Content-Type: application/json |
Response example
Code Block |
---|
|
HTTP/1.1 200 OK
Access-Control-Allow-Origin: *
Content-Type: application/json
[
{
"type": "CONNECTION",
"sentBytes": 1989,
"bitrateKbps": 0,
"sentEvents": 6,
"queueEvents": 0
},
{
"type": "STREAM",
"sentBytes": 70766,
"bitrateKbps": 0,
"sentEvents": 73,
"queueEvents": 1
},
{
"type": "CDN",
"sentBytes": 0,
"bitrateKbps": 0,
"sentEvents": 0,
"queueEvents": 0
},
{
"type": "MEDIA_SESSION",
"ids": [
"d7d6b6e4-b137-461a-8a32-d6abf2b8666e",
"39cbf770-128a-11ef-b839-d1a1f53f8bd2"
],
"sentBytes": 205794,
"bitrateKbps": 143,
"sentEvents": 999,
"queueEvents": 119
}
] |
Return codes
Code | Reason |
---|
200 | OK |
404 | Not found |
500 | Internal server error |
/rels/terminate
Остановить сбор определенных типов данных для определенного потока
Request example
Code Block |
---|
|
POST /rest-api/rels/terminate HTTP/1.1
Host: localhost:8081
Content-Type: application/json
{
"mediaSession": {
"ids": [
"d7d6b6e4-b137-461a-8a32-d6abf2b8666e"
]
}
} |
Response example
Code Block |
---|
|
HTTP/1.1 200 OK
Access-Control-Allow-Origin: *
Content-Type: application/json |
Return codes
Code | Reason |
---|
200 | OK |
400 | Bad request |
404 | Not found |
500 | Internal server error |
/rels/terminate_all
Остановить сбор определенных типов данных для всех потоков
Request example
Code Block |
---|
|
POST /rest-api/rels/terminate_all HTTP/1.1
Host: localhost:8081
Content-Type: application/json
{
"types": [
"MEDIA_SESSION"
]
} |
Response example
Code Block |
---|
|
HTTP/1.1 200 OK
Access-Control-Allow-Origin: *
Content-Type: application/json
{
"MEDIA_SESSION": [
"39cbf770-128a-11ef-b839-d1a1f53f8bd2"
]
} |
Return codes
Code | Reason |
---|
200 | OK |
400 | Bad request |
404 | Not found |
500 | Internal server error |
Параметры
Параметр | Описание | Пример |
---|
mediaSession | Объект описания сбора данных MEDIA_SESSION | "mediaSession": {"frequency":100, "ids":["12345678-0000-1111"]} |
frequency | Частота сбора данных в миллисекундах | 100 |
ids | Список идентификаторов медиасессий потоков, для которых собираются данные | ["12345678-0000-1111","12345678-3333-4444"] |
hlsSegmenter | Объект описания сбора данных HLS_SEGMENTER | "hlsSegmenter": {"ids":["stream1"]} |
hlsClient | Объект описания сбора данных HLS_CLIENT | "hlsClient": {"ids":["stream1"]} |
mixer | Объект описания сбора данных MIXER | "mixer": {"ids":["12345678-5555-6666"] } |
audioRecovery | Объект описания сбора данных AUDIO_RECOVERY | "audioRecovery": {"ids":["12345678-7777-8888"] } |
rtmpInBuffer | Объект описания сбора данных RTMP_IN_BUFFER | "rtmpInBuffer": {"ids":["12345678-9999-AAAA"] } |
Выборки информации из БД
Выборки информации из БД производятся при помощи SQL запросов в клиенте ClickHouse
...