Документация Flussonic Media Server

Contents

Быстрый старт

Эта статья познакомит вас с Flussonic Media Server. Прочитав ее, вы сумеете:

Чтобы попробовать Flussonic Media Server, нужен компьютер с Linux, подключенный к Интерету, и лицензионный либо триальный ключ. Триальный ключ можно запросить на этой странице

Мы рекомендуем операционные системы Debian или Ubuntu, но можно попробовать и CentOS. Основное требование — 64-разрядная операционная система. Если Линукса или свободного сервера под рукой нет, то можно арендовать сервер в Digital Ocean на время, чтобы попробовать Flussonic Media Server.

В результате вам надо иметь доступ к консоли Linux под пользователем root.

Замечание. Далее в документации мы будем приводить IP адрес и URL Flussonic Media Server (например, FLUSSONIC-IP). Вам необходимо заменять их на реальные IP адрес или URL вашего сервера.

Решения Flussonic

Flussonic Media Server

Flussonic Media Server — это серверное программное обеспечение для видео стриминга, способное решать широкий ряд задач от захвата, транскодирования, записи архива и мультипротокольной раздачи видеоконтента (live и on-demand) по всему миру, до управления потреблением контента и видео потоками.

Flussonic Watcher

Flussonic Watcher — это отдельный продукт, который используется вместе с Flussonic Media Server для организации систем видеонаблюдения. Это пользовательский интерфейс к серверу Flussonic, созданный для удобной работы с камерами, абонентами и событиями.

Flussonic Watcher работает только вместе с Flussonic Media Server. О том, как установить Watcher, рассказано в документации на Flussonic Watcher.

Установка Flussonic Media Server

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

Чтобы установить Flussonic, выполните в командной строке Linux команду:

curl -sSf https://flussonic.com/public/install.sh | sh

Затем запустите Flussonic Media Server:

/etc/init.d/flussonic start

Теперь откройте в браузере веб-интерфейс администратора.

Первое открытие веб-интерфейса Flussonic (UI)

Веб-интерфейс Flussonic доступен по адресу http://FLUSSONIC-IP:8080/ (замените FLUSSONIC-IP на адрес вашего сервера).

Логин и пароль по умолчанию: flussonic и letmein!

На стартовой странице http://FLUSSONIC-IP:8080/ Flussonic просит ввести полученный ключ.

На этой же странице необходимо сразу же изменить пароль администратора для управления Flussonic Media Server.

Quickstart

Замечание. Лицензионный ключ хранится в файле /etc/flussonic/license.txt, его можно вписать туда вручную перед запуском Flussonic, тогда его не нужно будет указывать в веб-интерфейсе.

Проверка установки

Проверить правильность установки Flussonic Media Server можно по адресу http://FLUSSONIC-IP:8080/, где FLUSSONIC-IP — адрес того сервера, на который вы поставили ПО. Откроется главная страница веб-интерфейса к Flussonic.

Другой способ проверить правильность установки — выполнить команду:

/etc/init.d/flussonic status

Ответ системы должен быть похож на такой:

# /etc/init.d/flussonic status
Flussonic 19.05 is running with streams:
...

Проигрывание файлов

Попробуем проиграть файл через Flussonic Media Server. Для этого необходимо:
  • настроить место хранения файлов
  • загрузить файл
  • проиграть файл

Настройка места хранения файлов

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

Для этого Flussonic Media Server надо сообщить, какой путь в запросах на проигрывание файла будет соответствовать файлу на диске или в HTTP хранилище. Исходя из этих настроек, Flussonic сам формирует путь к файлу – этот путь используется в запросах на проигрывание файла по разным протоколам. Например, URL для проигрывания по протоколу HLS – http://FLUSSONIC-IP:80/vod/bunny.mp4/index.m3u8.

В веб-интерфейсе можно посмотреть готовые URL адреса для запроса файла. Их можно копировать и использовать для проигрывания файла.

Чтобы указать, откуда брать файлы, в конфигурационном файле /etc/flussonic/flussonic.conf добавьте строки:

file vod {
  path /storage;
}

Теперь Flussonic Media Server будет знать, что при обращении к vod/movies/bunny.mp4 надо будет взять файл /storage/movies/bunny.mp4. Другими словами, всё после совпавшего префикса vod будет отрезано и "подклеено" к указанному пути на диске.

Примените новые настройки, выполнив команду:

/etc/init.d/flussonic reload

Другой способ сконфигурировать доступ к файлам — через веб-интерфейс:

Откройте Media > Files (VOD) > кликните add > введите VOD name (vod) и File directory path (/storage) > кликните create.

Загрузка файла на сервер

Теперь можете закачать файл, который вы уже подготовили или скачали подготовленным, в каталог /storage.

На сервере есть готовый файл /opt/flussonic/priv/bunny.mp4.

Если файла ещё нет, можете взять свободно доступный Big Buck Bunny:

mkdir -p /storage
cd /storage
curl -o bunny.mp4 http://download.blender.org/peach/bigbuckbunny_movies/big_buck_bunny_480p_h264.mov

Проигрывание

Теперь зайдем на http://FLUSSONIC-IP:8080/vod/bunny.mp4/embed.html и посмотрим видео.

Подробнее о файлах см. в разделе про работу с видеофайлами

Прямой эфир

Flussonic Media Server может получать потоковое видео двумя основными способами: выступая в роли клиента или сервера.

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

Источником видео может быть видеокамера, другой видеостриминговый сервер, специализированная программа, работающая c DVB-картой, и вообще любая программа, умеющая передавать видео по сети. Flussonic поддерживает все основные протоколы передачи видео.

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

Откроем конфигурационный файл /etc/flussonic/flussonic.conf и добавим туда описание потока:

stream demo {
  url fake://fake;
}

Здесь:

  • stream — ключевое слово, за ним идёт имя потока: demo. Далее в фигурных скобках описание параметров потока.

  • url — источник видео задаётся с помощью параметра url.

  • fake://fake — специальный адрес, по которому можно получить демонстрационный поток видео — цифровые часы на сером фоне.

После того, как мы изменили конфигурационный файл, необходимо применить настройки. Выполним команду:

/etc/init.d/flussonic reload

Увидеть результат можно открыв страницу: http://FLUSSONIC-IP:8080/demo/embed.html.

Подробнее о прямом эфире см. в разделе о потоковом вещании.

Публикация видео

Публикацией называется ситуация, когда к Flussonic Media Server подключается другая программа и инициирует передачу ему потокового видео. Чтобы это было возможно, в Flussonic Media Server должно быть сконфигурировано место на сервере, в которое разрешена публикация.

Это можно сделать двумя способами.

Публикация в поток с известным именем

Для того, чтобы разрешить публикацию в отдельный конкретный поток, используется опция url publish://:

stream publishdemo {
  url publish://;
}

Имя потока (publishdemo) заранее известно серверу Flussonic, так как вы сконфигурировали поток с этим именем.

В этом случае публиковать надо в URL:

rtmp://FLUSSONIC-IP:1935/static/publishdemo

а смотреть можно на странице:

http://FLUSSONIC-IP:8080/publishdemo/embed.html

Публикация в поток с неизвестным именем по префиксу

Вам нужно будет настроить место публикации (publishing location, или префикс) на сервере Flussonic, куда вы разрешите публикацию потоков. В одно место публикации может быть опубликовано несколько потоков.

Директива live задаёт префикс (в примере: mylive), разрешая публикацию в любой поток с таким префиксом в адресе:

live mylive {
}

Префикс mylive добавлен в конфигурационном файле по умолчанию после установки. Проверьте его наличие в /etc/flussonic/flussonic.conf. Если такой директивы нет в вашем файле, добавьте ее и примените настройки:

/etc/init.d/flussonic reload

Опубликовать видео можно с помощью утилиты, которая устанавливается в пакете rtmp_push и находится в директории /opt/flussonic/contrib. Для публикации файла по RTMP в префикс mylive используйте синтаксис:

/opt/flussonic/contrib/rtmp_push FILE.mp4 rtmp://FLUSSONIC-IP:1935/mylive/STREAM_NAME

Пример

Для передачи используем протокол RTMP, источником видео будет файл bunny.mp4 (о файле см. выше в разделе про прямой эфир):

/opt/flussonic/contrib/rtmp_push /opt/flussonic/priv/bunny.mp4 rtmp://127.0.0.1/mylive/bunny

Просмотреть публикуемое видео можно на странице

http://FLUSSONIC-IP:8080/mylive/bunny/embed.html

Важно. Если вы указали в конфигурации префикс публикации mylive, то в URL вы должны указывать имя потока, начинающееся с mylive/, например, mylive/bunny. Имя потока, которое идет после префикса, задаёт клиентское приложение, которое публикует видео. В конфигурации Flussonic Media Server имя потока не указывается.

Подробнее о публикации можно узнать в разделе Публикация видео.