Flussonic Media Server documentation

Содержание

Пиринг

Flussonic Media Server может соединиться с другим Flussonic Media Server, получить список работающих и доступных по запросу потоков и перенаправлять клиентов на нужный пир используя свои кластерные возможности.

Настройка

Укажите пир в настройках Flussonic Media Server:

# Global settings
http 8080;
cluster_key somekey;

peer peer.example.com;

Параметр cluster_key должен быть одинаковым на всех серверах в кластере.

Можно задать несколько пиров:

# Global settings
http 8080;
cluster_key somekey;

peer peer1.example.com;
peer peer2.example.com;
peer peer3.example.com;

Всё пиры могут иметь различные потоки, Flussonic Media Server будет направлять клиентов на нужный пир.

Внутренние и внешние адреса пиров

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

Чтобы показывать вовне внешние адреса пиров, но при этом разрешить им использовать внутренние адреса для взаимодействия внутри кластера, добавьте в настройки каждого пира опцию public, в которой укажите внешний адрес этого пира:

peer streamer1.local {
    public streamer1.example.com;
}

При перенаправлении на streamer1.example.com будет использоваться тот же протокол, HTTP или HTTPS, который указан в настройках.

Перенаправление

Flussonic Media Server будет перенаправлять клиентов на другой сервер, когда они запрашивают поток.

Между пиром (peer) и источником (source) существует очень важное различие, потому что source спроектирован для копирования видео по выделенному каналу, от источника (origin) на вещающий сервер (edge).

Пиринг спроектирован для случаев, когда клиент может получать видео от любого сервера в группе, а сервера (пиры) в группе общаются друг другом, сообщая, какие потоки они имеют.

Когда клиент подключается по HLS, HTTP MPEG-TS, RTSP, RTMP или открывает embed.html на любой сервер в группе, он может быть перенаправлен на другой сервер, где этот поток действительно находится.

Балансировка загрузки

Балансировка нагрузки достигается за счет перенаправления запросов клиентов на другой, менее загруженный, сервер в кластере.

Для автоматической балансировки потоков в кластере мы рекомендуем использовать Flussonic Catena вместо устаревшего IPTV плагина.

Использование Catena бесплатно, если у вас есть лицензия Flussonic. Вы можете установить Catena на отдельный сервер или вместе с Flussonic, но в последнем случае измените HTTP-порт в конфигурации Flussonic на что-то отличное от 80, потому что порт 80 необходим для Catena.

Catena имеет два типа балансировки нагрузки: балансировка на основе pipelines и автоматическая балансировка, причем автоматическая балансировка работает точно так же, как балансировка с помощью IPTV плагина. Так что не беспокойтесь, если вы никогда не использовали Catena и не планируете использовать pipelines. Достаточно установить Catena, добавить адреса серверов Flussonic и включить на каждом из них Autobalancer в интерфейсе Catena.

Чтобы автоматически сбалансировать нагрузку в кластере с помощью Catena:

  1. Установите Catena отдельно или на имеющийся сервер с Flussonic.
  2. Если вы установили Catena на один сервер с Flussonic, измените порт HTTP в файле конфигурации Flussonic (/etc/flussonic/flussonic.conf) и перезагрузите конфигурацию (/etc/init.d/flussonic reload).
  3. Перейдите в веб-интерфейс Catena и добавьте серверы
  4. Включите Autobalancing для каждого сервера Flussonic.
  5. Если у вас был настроен кластер на серверах Flussonic, удалите эти настройки.
  6. Клиентские устройства должны запрашивать потоки по URL следующего вида: http://CATENA-IP/watch/STREAMNAME/index.m3u8