Описание
Новая реализация CDN 2.1 отличается от CDN 2.0 дополнительными возможностями:
- разделение узлов CDN по географическому (EU, US) или другому признаку при помощи групп
- выделение узлов под задачи транскодинга, назначая таким узлам роль Transcoder
Группировка узлов CDN
Серверы в CDN могут быть объединены в группу по географическому (расположение), аппаратному (использование GPU для транскодинга) и другим признакам. Группа указывается в файле настроек flashphoner.properties при помощи параметра
cdn_groups=group1
Один и тот же сервер может входить в несколько групп. Допустим, сервер находится в Европе и используется для транскодинга при помощи GPU:
cdn_groups=EU,GPU
Группы узлов используются при выборе маршрута для воспроизведения потока
Выделение узлов под задачи транскодинга
Чтобы не загружать серверы, используемые для публикации и просмотра видео в крупной разветвленной CDN, задачами транскодинга, целесообразно выделить под эти задачи узлы с повышенной вычислительной мощностью. Для таких узлов,, кроме Origin и Edge, добавлена роль Transcoder.
cdn_role=transcoder
Узел Transcoder не должен использоваться для публикации или воспроизведения потока. Он взаимодействует с Origin и Edge серверами следующим образом:
1. Transcoder забирает с Origin поток по запросу Edge сервера.
2. Transcoder транскодирует поток в соответствии с настройками, указанными Edge сервером.
3. Edge забирает с Transcoder поток для воспроизведения.
Конкретный узел для транскодирования выбирается при выборе маршрута для воспроизведения потока.
Профили транскодинга
Для настройки транскодинга на Edge сервере используются профили. Файл профилей транскодинга cdn_profiles.yml
должен располагаться в каталоге /usr/local/FlashphonerWebCallServer/conf
:
profiles: -webrtc-144: audio: type : AudioStreamProfile codec : opus rate : 48000 channels : 2 #this part forces transcoding video: type : VideoStreamProfile width : 256 height : 144 codecImpl : OPENH264
Параметры профиля
Параметр | Значения | Описание |
---|---|---|
Параметры аудио | ||
type | AudioStreamProfile | Тип профиля (аудио или видео) |
codec | opus mpeg4-generic | Используемый кодек аудио: Opus или AAC |
rate | 8000 11025 12000 16000 22050 24000 32000 44100 48000 | Частота дискретизации звука |
channels | 1 2 | Количество каналов: моно или стерео |
Параметры видео | ||
type | VideoStreamProfile | Тип профиля (аудио или видео) |
width | Зависит от требуемого качества и пропускной способности каналов | Ширина картинки |
height | Зависит от требуемого качества и пропускной способности каналов | Высота картинки |
codeImpl | FF OPENH264 | Используемый кодек видео: на основе FFmpeg или OpenH.264 |