Versions Compared

Key

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

...

Сервер может иметь одну из двух ролей
1. Origin: служит источником потоков для других серверов в CDN. Может раздавать как опубликованные на нем потоки, так и потоки, которые он забирает с других серверов.
2. Edge: может забирать потоки с Origin-серверов, при этом не раздает свои (локальные) потоки другим сереврамсерверам.
При этом потоки не раздаются принудительно, Edge-сервер забирает определенный поток с Origin только по запросу пользователя из браузера или мобильного приложения.

...

Параметр

Значение по умолчанию

Тип

Описание

cdn_enabled

false

Boolean

Включить/отключить CDN

cdn_ip

Empty

String

Адрес сервера в CDN

cdn_nodes_resolve_ip

false

Boolean

Разрешать имена серверов в IP-адреса

cdn_point_of_enryentry

Empty

String

Адрес сервера-точки входа в CDN для данного сервера. Если сервер выполняет роль Origin, эту настройку не следует указывать равной IP адресу или имени этого сервера

cdn_port

8084

Int

Номер порта для CDN

cdn_role

edge

String

Роль сервера в CDN:

origin - источник потоков для других серверов в CDN

edge - может получать потоки с других серверов

...

REST-методы и статусы ответа

REST-метод

Пример тела REST-запроса

Пример тела REST-ответа

Статусы ответа

Описание

/cdn/show_routes


Code Block
languagejs
themeRDark
{
 "1-origin2.flashphoner.com-2": "stream1",
 "0-origin2.flashphoner.com-0": "stream2",
 "2-origin1.flashphoner.com-1": "stream1"
}



200 – OK

500 – Internal Server Error

Показать активные маршруты CDN

Параметры

Описание

Пример

Идентификатор маршрута

1-origin2.flashphoner.com-2

Имя потока в CDN

stream1

Удаление остановленных серверов из списка узлов

...

Если в наборе кодеков подписчика есть такой же кодек, как тот, что используется для публикации, то для воспроизведения будет использован этот кодек (вне зависимости от его приоритета). В противном случае, для воспроизведения будет использован приоритетный кодек подписчика, и будет осуществляться транскодинг.

Краткое руководство по тестированию

Подготовка к тестированию

1. Для тестирования используем:

Настройка таймаутов на чтение и запись в CDN для доставки RTMP потоков

Если CDN используется преимущественно для публикации и воспроизведения RTMP потоков, и по каким-либо причинам на серверах CDN отключены посылки Keep Alive пакетов (например, публикующие и воспроизводящие клиенты не поддерживают Keep Alive), для контроля состояния RTMP-соединений необходимо настроить таймауты на чтение и запись:

1. Таймаут на чтение может применяться на Origin-серверах, на которые производится только публикация RTMP-потоков без воспроизведения их непосредственно с сервера

Code Block
themeRDark
keep_alive.algorithm=NONE
rtmp.server_read_socket_timeout=120

2. Таймаут на запись может применяться на Edge-серверах, которые используются только для воспроизведения CDN-потоков

Code Block
themeRDark
keep_alive.algorithm=NONE
rtmp.server_write_socket_timeout=120

3. Таймаут на чтение и запись может применяться и на Origin, и на Edge-серверах. При этом возможно как подключение подписчиков для воспроизведения потока, так и публикаторов.

Code Block
themeRDark
keep_alive.algorithm=NONE
rtmp.server_socket_timeout=120

Краткое руководство по тестированию

Подготовка к тестированию

1. Для тестирования используем:

  • два WCS сервера;
  • веб-приложение Two Way Streaming для публикации потока
  • веб-приложение Player для воспроизведения потока.

...

При этом на странице воспроизведения Edge-сервера проигрывание потока также остановится с вывоом сообщения "Stopped by publisher stop"

Ограничения

1. Не рекомендуется публиковать поток с одним и тем же именем на двух Origin серверах одной CDN

2. Поток, опубликованный на одном из Origin серверов, следует забирать с этого же Origin или Edge сервера, но не с другого Origin сервера  в той же CDN.

Известные проблемы

1. Изменение настройки кодеков на Edge сервере может приводить к возрастанию нагрузки на сервер в результате включения транскодинга

...