...
- предотвращение двойного транскодирования одного и того же потока в CDN
- отображение расширенной информации о CDN
Предотвращение двойного транскодирования одного и того же потока в CDN
...
Описание | Пример |
---|---|
Имя потока |
|
Список узлов, на которых транскодируется поток | 192.168.1.17,192.168.1.18 |
Отображение расширенной информации о CDN
В сборке 5.2.471 в статистику, в CLI и в REST API добавлен либо дополнен вывод информации о CDN, в которой участвует данный сервер
Использование CLI
Команда интерфейса командной строки WCS
Code Block | ||
---|---|---|
| ||
show cdn-nodes |
отображает версию CDN, поддерживаемую каждым узлом, и группу, в которую входит узел:
Code Block | ||
---|---|---|
| ||
Ip State Processing state Role Version Group
------------------------------------------------------------------
192.168.0.102 ACTIVE NEW_STREAMS_ALLOWED TRANSCODER 2.3 null
192.168.0.187 ACTIVE NEW_STREAMS_ALLOWED EDGE 2.3 null |
При этом для узла в статусе ACTIVE отображается версия CDN, которая получена от узла в результате согласования версий, для узла в статусе PASSIVE - версия, заданная в настройках текущего узла (см ниже)
Использование REST API
REST API запрос /cdn/show_nodes возвращает версию CDN, поддерживаемую каждым узлом
Code Block | ||||
---|---|---|---|---|
| ||||
[
{
"version": "2.3",
"role": "TRANSCODER",
"globalState": "ACTIVE",
"processingState": "NEW_STREAMS_ALLOWED",
"id": "192.168.0.102"
},
{
"version": "2.3",
"role": "EDGE",
"globalState": "ACTIVE",
"processingState": "NEW_STREAMS_ALLOWED",
"id": "192.168.0.187"
}
] |
ПриП этом для узла в статусе ACTIVE отображается версия CDN, которая получена от узла в результате согласования версий, для узла в статусе PASSIVE - версия, заданная в настройках текущего узла (см ниже)
Обратная совместимость с CDN 2.2, 2.1, 2.0
Узел Controller с точки зрения предыдущих версий
С точки зрения узлов CDN предыдущих версий, узел Controller представляет собой Origin сервер
Узлы CDN 2.1 буду выбирать маршруты воспроизведения потоков без участия узла Controller, даже если он присутствует в группе.
Согласование версий CDN
Начиная со сборки 5.2.471, согласование версий CDN работает следующим образом: при установке соединения для CDN сигналинга, узлы отправляют друг другу поддерживаемую версию CDN. Если версии различаются, узел с большей версией понижает ее до меньшей. Например, если в CDN 2.2 вводится Edge с версией 2.3, он будет отправлять другим узлам только сообщения, совместимые с версией 2.2. С точки зрения всей CDN данный Edge сервер будет выглядеть, как поддерживающий версию 2.2.
Чтобы избежать потери согласования версий при разрывах связи между узлами, каждый узел периодически рассылает другим узлам свою версию. Интервал рассылки указывается в миллисекундах при помощи настройки
Code Block | ||
---|---|---|
| ||
cdn_nodes_version_refresh_interval=90000 |
По умолчанию, период рассылки версии составляет 90 секунд.
Назначение версии CDN узлу в статусе PASSIVE
Если узел перешел в статус PASSIVE в результате потери связи с ним, либо явного назначения статуса REST запросом /cdn/enforce_state, обмен сообщениями с таким узлом прекращается. Остальные узлы будут предполагать, что узел в статусе PASSIVE поддерживает версию CDN, указанную настройкой
Code Block | ||
---|---|---|
| ||
cdn_force_version=2.0 |
По умолчанию, узлам в статусе PASSIVE назначается версия CDN 2.0.
Например, если в CDN 2.3 один из Edge узлов теряет связь с остальными, узлы CDN будут предполагать, что данный Edge поддерживает версию CDN 2.0 до тех пор, пока этот Edge вновь не подключится к CDN и не пройдет процедуру согласования версий.
Ограничения
Для того, чтобы узел Edge выбирал маршрут воспроизведения потоков при помощи узла Controller, эти узлы должны принадлежать к одной группе, и эта группа должна быть определена явно в настройках CDN:
...