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

Quickstart

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

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

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

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

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

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

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

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

/etc/init.d/flussonic start

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

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

Проверить правильность установки Flussonic можно по адресу 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 доступен по адресу http://flussonic-ip:8080/

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

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

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

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

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

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

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

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

file vod {
  path /storage;
}

то Flussonic будет знать, что при обращении к 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 может получать потоковое видео двумя основными способами: выступая в роли клиента или сервера.

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

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

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

Откроем конфигурационный файл /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 подключается другая программа для передачи ему потокового видео. Чтобы это было возможно, в Flussonic должен быть сконфигурировано место, в которое разрешена публикация. Это можно сделать двумя способами. Ключевое слово 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. То, что идет после префикса выбираете вы при публикации и в конфиге Flussoinc это не указывается.

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

stream pubdemo {
  publish_enabled;
}

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

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