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

Quickstart

Попробовать Flussonic Media Server очень легко. Для этого нужен компьютер с Linux и лицензионный или триальный ключ. Триал можно запросить у нас

В этой статье мы расскажем, как установить Flussonic Media Server, загрузить файл и посмотреть поток.

Мы рекомендуем операционные системы Debian или Ubuntu, но можно попробовать и Centos. Основное требование — 64-разрядная ОС. Если линукса или свободного сервера под рукой нет, то можно арендовать сервер в Digital Ocean, или ARM сервер (с процессором похожим на тот, что в айфоне) у Scaleway

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

Далее мы будем приводить в документации адреса и URL нашего сервера. Вам необходимо изменить их на реальные IP-адреса вашего сервера.

Инсталляция Anchor Anchor x2

Установка Flussonic Media Server подробно расписана в отдельной статье, так что просто скопируем команду:
curl -sSf https://flussonic.com/raw/install.sh | sh

Установка завершена, запустите Flussonic Media Server:

/etc/init.d/flussonic start

Теперь необходимо открыть в браузере веб-интерфейс Flussonic Media Server по адресу http://flussonic-ip:8080/ и скопировать туда полученный от нас ключ (замените "flussonic-ip" на адрес вашего сервера). На этой же странице желательно сразу же изменить пароль администратора для управления Flussonic Media Server.

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

Проверить правильность установки Flussonic Media Server можно по адресу http://flussonic-ip:8080/, где flussonic-ip — адрес того сервера, на который вы поставили ПО. Так же можно выполнить команду:

/etc/init.d/flussonic status

Должно быть так:

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

Административный интерфейс Flussonic Media Server доступен по адресу http://flussonic-ip:8080/

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

Более подробно в разделе про инсталяцию

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

Попробуем проиграть через Flussonic Media Server файл.

Для этого необходимо:

  • сконфигурировать возможность проигрывания файлов;
  • загрузить файл;
  • проиграть его.

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

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

Если в конфигурационном файле указать:

file vod {
  path /storage;
}

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

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

Теперь можете закачать файл, который вы уже подготовили или скачали подготовленным, в каталог /storage. Если файла ещё нет, можете взять свободно доступный Big Bucks Bunny:

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

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

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

Прямой эфир Anchor Anchor x2

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

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

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

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

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

stream demo {
  url fake://fake;
}

Здесь stream - ключевое слово, за ним идёт имя потока: demo. Далее в фигурных скобках описание параметров потока. Источник видео задаётся с помощью параметра url. fake://fake - специальный адрес, по которому можно получить демонстрационный поток видео. В настоящее время это просто цифровые часы на сером фоне.

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

/etc/init.d/flussonic reload

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

Подробнее в разделе про видеопотоки

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

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

live mylive;

Префикс mylive включен в конфигурационном файле по умолчанию после установки. Проверьте его наличие в '/etc/flussonic/flussonic.conf'. При необходимости добавьте строку live mylive; и примените настройки.

Опубликовать видео можно с помощью программы ffmpeg. Она устанавливается в пакете flussonic-ffmpeg и находится в директории /opt/flussonic/bin. Для передачи используем протокол RTMP, источником видео будет файл из предыдущего примера:

/opt/flussonic/bin/ffmpeg -re -i bunny.mp4 -c copy -f flv rtmp://IP:1935/mylive/bunny

Здесь параметр -c copy заставляет ffmpeg копировать видео и звук без перекодирования, а параметр -f flv задаёт нужный тип контейнера для использования с протоколом RTMP. Параметр -re говорит о том, что из файла надо читать со скоростью, равной битрейту.

Просмотреть публикуемое видео можно на странице http://IP:8080/mylive/bunny/embed.html.

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

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

stream pubdemo {
  publish_enabled;
}

В этом случае публиковать надо в URL rtmp://IP:1935/static/pubdemo, а смотреть можно на странице http://IP:8080/pubdemo/embed.html

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