...
- предотвращение двойного транскодирования одного и того же потока в CDN
- отображение расширенной информации о CDN
- контроль пропускной способности каналов между серверами CDN
Предотвращение двойного транскодирования одного и того же потока в CDN
...
При этом для узла в статусе ACTIVE отображается версия CDN, которая получена от узла в результате согласования версий, для узла в статусе PASSIVE - версия, заданная в настройках текущего узла (см ниже)
Контроль качества каналов между серверами CDN
В сборке 5.2.483 добавлена возможность контроля качества каналов в направлении Origin -> Transcoder -> Edge. Для этого необходимо установить интервал отсылки статистики исходящего битрейта
Code Block | ||
---|---|---|
| ||
outbound_video_rate_stat_send_interval=1 |
на Origin и Transcoder узлах.
В этом случае на стороне узла, принимающего поток, периодически сравнивается битрейт публикации или воспроизведения с битрейтом на стороне узла, отправляющего поток. При устойчивом их расхождении диагностируется снижение пропускной способности канала. Пики и резкие изменения сглаживаются фильтром Калмана. Показатель качества канала и статистику для потока можно получить при помощи REST API.
Получение статистики качества при помощи REST API
HTTP: http://test.flashphoner.com:8081/rest-api/cdn/stats/print
- HTTPS: https://test.flashphoner.com:8444/rest-api/cdn/stats/print
Здесь:
- test.flashphoner.com - адрес WCS-сервера
- 8081 - стандартный REST / HTTP порт WCS-сервера
- 8444 - стандартный HTTPS порт
- rest-api - обязательная часть URL
- /cdn/stats/print - используемый REST-метод
REST запросы необходимо отправлять на сервер, на котором необходимо получить статистику входящего потока. Например, на Edge можно получить статистику для входящего потока, полученного с Origin или Transcoder, а на Transcoder для потока, полученного с Origin.
REST-методы и статусы ответа
REST-метод | Пример тела REST-запроса | Пример тела REST-ответа | Статусы ответа | Описание | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
/cdn/stats/print |
|
| 200 – OK 404 - Stream not found | Получить статистику потока |
Параметры
Параметр | Описание | Пример |
---|---|---|
name | Имя потока | test |
host | Узел, с которого получен поток | 192.168.0.111 |
format | Формат ответа | json |
inboundBitrate | Входящий (полученный) битрейт | 1658292 |
outboundBitrate | Исходящий (передаваемый) битрейт | 1692676 |
nack | Количество NACK | 0 |
fps | Частота кадров потока | 30 |
quality | Качество канала | PERFECT |
Запрос без указания имени потока вернет информацию по всем потокам, получаемым с указанного узла CDN. Запрос без указания узла вернет информацию по всем потокам, получаемым с других узлов CDN, если не указано имя потока.
Форматы получения статистики
По умолчанию, статистика возвращается в формате JSON
Code Block | ||||
---|---|---|---|---|
| ||||
POST /rest-api/cdn/stats/print HTTP/1.1
Content-Length: 19
Content-Type: application/json
Host: test.flashphoner.com:8081
{
"name": "test"
}
HTTP/1.1 200 OK
Access-Control-Allow-Origin: *
Content-Length: 125
Content-Type: application/json
{
"192.168.0.111": [
{
"fps": 31,
"inboundBitrate": 1052794,
"nack": 81,
"name": "test",
"outboundBitrate": 1048518,
"quality": "PERFECT"
}
]
} |
Также поддерживается формат Prometeus
Code Block | ||
---|---|---|
| ||
POST /rest-api/cdn/stats/print HTTP/1.1
Content-Length: 43
Content-Type: application/json
Host: test.flashphoner.com:8081
{
"format": "prometheus",
"name": "test"
}
HTTP/1.1 200 OK
Access-Control-Allow-Origin: *
Content-Length: 397
Content-Type: plain/text
cdn_connection_quality{param="inboundBitrate",node="192.168.0.111",name="test"} 1249049
cdn_connection_quality{param="outboundBitrate",node="192.168.0.111",name="test"} 1240717
cdn_connection_quality{param="quality",node="192.168.0.111",name="test"} 3
cdn_connection_quality{param="fps",node="192.168.0.111",name="test"} 30
cdn_connection_quality{param="nack",node="192.168.0.111",name="test"} 81 |
Показатель качества принимает следующие значения
JSON | Prometheus | Описание |
---|---|---|
UNKNOWN | 0 | Качество неизвестно, сервер не получает медиа пакеты |
BAD | 1 | Качество плохое |
GOOD | 2 | Качество хорошее |
PERFECT | 3 | Качество отличное |
Обратная совместимость с CDN 2.2, 2.1, 2.0
...