Начало работы с Flussonic Central
Эта статья поможет вам начать работу с Flussonic Central.
Вы узнаете:
- Как установить Flussonic Central на свой сервер и запустить его;
- Как запустить Flussonic Central в Docker-контейнер;
- Как подключить стример для работы с Flussonic Central;
- Как добавить поток в Flussonic Central.
Flussonic Central доступен как через пользовательский интерфейс, так и через API.
Предварительные требования
Прежде чем перейти к установке Flussonic Central:
- Обновите Flussonic Media Server на стримерах (пирах) до последней версии. Убедитесь в том, что в конфигурации стримеров указаны
cluster-key
иhttp
порт. - Создайте и настройте базу банных по инструкции ниже. Рекомендованная версия PostgreSQL 14.4.
Установка и запуск Flussonic Central
Чтобы установить Flussonic Central на выбранный сервер:
-
Выполните следующие команды в терминале:
echo "deb http://apt.flussonic.com/repo binary/" > /etc/apt/sources.list.d/flussonic.list
wget http://apt.flussonic.com/binary/gpg.key -O /etc/apt/trusted.gpg.d/flussonic.gpg
apt-get update && apt-get install flussonic-central
-
После успешной установки Flussonic Central откройте файл конфигурации
/etc/central/central.conf
и задайте обязательные параметры:-
DATABASE_URL
— строка подключения к вашей базе PostgreSQL. Важно поменять логин и пароль на те, которые вы задали при установке PostgreSQL. Например,postgres://central:pass@localhost:5432/central_dev
.Если ваша база требует поддержки SSL, то укажите параметр
sslmode
с одним из возможных значений, как в sslmode в libpq в конце строки URI. По умолчаниюsslmode=prefer
. -
API_KEY
— API-ключ, необходимый для взаимодействия Flussonic Central с другими серверами Flussonic. Выбирается произвольно. API_URL
— адрес в форматеhttp://CENTRAL-HOSTNAME:PORT
, который будет использоваться для формирования ссылкиconfig_external
, по которой стримеры будут обращаться к Flussonic Central для получения конфигурации.EDIT_AUTH
— логин и пароль администратора сервера Flussonic Central, которые потребуются для входа в веб-интерфейс. Если вы не планируете использовать веб-интерфейс, то этот параметр можно не задавать.
-
-
(Необязательно) Если HTTP-порт по умолчанию 9019 занят, то укажите в файле конфигурации номер HTTP-порта (
HTTP_PORT
), отличный от используемого по умолчанию. Этот порт должен быть указан вAPI_URL
. Если вам нужно настроить HTTPS-порт, загрузите файлы SSL-сертификата и ключа сертификата и укажите следующие параметры в конфигурационном файле:HTTPS_PORT
— номер порта.SSL_CERTIFICATE
— путь к файлу SSL-сертификата.SSL_CERTIFICATE_KEY
— путь к файлу ключа сертификата.
SSL-сертификат должен быть создан вручную.
-
Сохраните изменения и выйдите из редактора.
Warning
В будущем после того, как вы внесете изменения в файл конфигурации, перезапустите Flussonic Central с помощью команды
service central restart
, чтобы применить изменения. -
Запустите сервис Flussonic Central, выполнив в консоли следующую команду:
service central start
-
Откройте веб-интерфейс администратора Flussonic Central по следующей ссылке:
http://CENTRAL-HOSTNAME:PORT_NUMBER/admin
, где:
CENTRAL-HOSTNAME
— это IP-адрес или URL сервера, на котором установлен Flusssonic Central,PORT_NUMBER
— это номер HTTP-порта, указанный вHTTP_PORT
. По умолчанию 9019.
-
В открывшемся окне введите логин и пароль сервера Flussonic Central и нажмите Sign, чтобы войти на сервер:
Вы увидите веб-интерфейс Flussonic Central:
Запуск Flussonic Central в Docker-контейнере
Для запуска Flussonic Central в Docker выполните команду:
docker run flussonic/central:latest
Для настройки Flussonic Central в контейнере используйте переменные среды, одноименные параметрам в файле конфигурации.
Подключение стримера
Чтобы подключить стример в Flussonic Central:
-
Откройте боковое меню слева, перейдите в раздел Streamers и нажмите + для добавления нового стримера.
-
Введите уникальное имя стримера, который вы хотите подключить, в поле New peer hostname. Если используете спецсимволы, они должны быть закодированы в формат URL.
-
Нажмите Save. Будут открыты настройки созданного стримера.
-
В поле API URL введите адрес стримера Flussonic Media Server в формате
http://FLUSSONIC_HOSTNAME:HTTP_PORT
. По этому адресу Flussonic Central будет отправлять API-запросы к стримеру.Если вы используете здесь адрес, доступный только из локальной сети, то укажите публично доступный адрес в поле Public payload URL, чтобы потоки были доступны через Интернет.
Если API URL не указан, Flussonic Central попытается использовать Hostname для доступа к стримеру.
-
Укажите ключ кластера (
cluster_key
) в поле Cluster key. Тот же ключ кластера должен быть указан в конфигурации стримера Flussonic Media Server, который вы подключаете. -
Нажмите Save, чтобы применить настройки. Если все параметры заданы правильно, Flussonic Central подключится к стримеру и пропишет в его конфигурации опцию
config_external
, чтобы Flussonic Media Server получал конфигурацию с Flussonic Central. Если опцияconfig_external
не появляется в конфигурационном файле стримера, проверьте заданные настройки или обратитесь в службу поддержки. -
Вернитесь в раздел Streamers, где должны отображаться данные о состоянии стримера. Убедитесь в том, что стример подключен.
Создание потока
Создать поток в Flussonic Central можно как через пользовательский интерфейс, так и с помощью Flussonic Central API.
Note
После того, как поток создан, он запускается на одном из случайно выбранных стримеров, подключенных к Flussonic Central. При необходимости вы можете задать предпочтительный стример в настройках потока.
Warning
Конфигурация потока, определённая в Flussonic Central, не будет записана в конфигурационном файле Flussonic Media Server, на котором запущен поток. Активный поток будет отображаться только в веб-интерфейсе сервера и будет доступен по API-запросу.
Создание потока через веб-интерфейс
Чтобы создать поток через веб-интерфейс:
-
Перейдите в раздел Media в боковом меню слева.
-
Нажмите на кнопку + и укажите название вашего потока в поле Stream name и источник в поле Source URL. Затем нажмите Create, чтобы применить изменения.
-
Перейдите на вкладку Streams и убедитесь, что ваш поток запущен.
Для проигрывания используйте ссылки на вкладке Output в профиле потока.
Создание потока с помощью API
Чтобы добавить поток с помощью API, используйте запрос PUT /streams/{name}.
Ниже представлен пример PUT-запроса для создания потока:
curl --request PUT --url http://CENTRAL-IP:CENTRAL_PORT/streamer/api/v3/streams/STREAM_NAME \
--header 'Authorization: Basic YWRtaW46YWRtaW4=' \
--header 'Content-Type: application/json' \
--data '{"name": "STREAM_NAME", "inputs": [{"url": "fake://fake"}]}'
Note
Этот запрос можно использовать как для создания потока, так и для изменения его настроек, поэтому имя потока указывается дважды — в пути и в теле запроса. Если в пути и в теле указать разные значения name
, то приоритет имеет тот, что в теле.
Результат выполнения запроса будет следующим:
{"config_on_disk":{"inputs":[{"url":"fake://fake"}],"name":"STREAM_NAME"},"inputs":[{"url":"fake://fake"}],"name":"STREAM_NAME","named_by":"config"}
Создание базы данных PostgreSQL
Чтобы создать базу данных PostgreSQL:
-
Установите PostgreSQL по инструкции на сайте.
-
После успешной установки PostgreSQL создайте пользователя, выполнив следующую команду в терминале:
sudo -u postgres -i createuser -P central
Затем система попросит дважды ввести пароль, который будет у суперпользователя:
Caution
Логин и пароль не должны содержать символов @, ;, #, [, \, /, =, $
Enter password for new role: (придумайте и введите пароль суперпользователя базы данных) Enter it again: (повторите пароль суперпользователя)
-
Создайте базу данных с суперпользователем-владельцем, которого вы создали на предыдущем шаге:
sudo -u postgres -i createdb -O central -e -E UTF8 -T template0 central_dev
Ответ системы в случае успешного создания базы данных будет следующим:
CREATE DATABASE central_dev OWNER central ENCODING 'UTF8' TEMPLATE template0;