Установка и использование Flussonic на Linux

Обновлено Обновлено: Опубликовано Опубликовано:

Тематические термин: Flussonic, LinuxUbuntu, CentOS.

В инструкции пойдет речь о настройке медиа сервера Flussonic и публикации каналов на приставки с помощью плейлиста m3u. Приведенные команды выполняются на операционных систем Linux: Ubuntu / Debian и CentOS / Red Hat. Сам разработчик рекомендует использовать Ubuntu.

Подготовка

Получение пробного ключа лицензии

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

В открывшемся окне заполняем форму и нажимаем Отправить заявку.

В качестве ответа, на указанную почту придет письмо со ссылкой для регистрации. Необходимо по ней перейти, принять лицензионное соглашение и заполнить поля — мы получим ключ, который необходимо скопировать и сохранить (он нам понадобиться в будущем).

Ограничения

Для Flussonic имеет значение, какое максимальное количество файлов может открыть процесс. Настройка выполняется в файле:

vi /etc/security/limits.conf

Выставляем следующие значения:

root            soft    nofile 65536
root            hard    nofile 65536

Установка Flussonic

Под Ubuntu и CentOS программное обеспечение ставится с небольшими отличиями.

Ubuntu

Скачиваем и добавляем в систему ключ репозитория:

wget -q -O - http://debian.erlyvideo.org/binary/gpg.key | apt-key add -;

Добавляем в список новый репозиторий со следующим содержимым:

vi /etc/apt/sources.list.d/erlyvideo.list

deb http://debian.erlyvideo.org binary/

Обновляем список пакетов:

apt-get update

Устанавливаем программу и ее компоненты:

apt-get install flussonic flussonic-ffmpeg flussonic-python

CentOS

Добавляем репозиторий Flussonic:

vi /etc/yum.repos.d/flussonic.repo

[flussonic]
name=Flussonic
baseurl=http://debian.erlyvideo.org/rpm
enabled=1
gpgcheck=0

Устанавливаем пакеты:

yum install flussonic-erlang flussonic flussonic-ffmpeg flussonic-python

Запуск и первичная настройка

Запуск и ввод лицензии

Разрешаем автозапуск демона:

systemctl enable flussonic

Запускаем flussonic командой:

systemctl start flussonic

Открываем браузер и заходим на страницу http://<IP-адрес сервера>:8080/. В открывшейся странице вводим лицензионный ключ, который получили при подготовке системы (выше по данной инструкции) и нажимаем Activate Flussonic:

Вводим лицензионный ключ для Flussonic

Нас перекинет на страницу ввода логина и пароля администратора. Для входа используем значения по умолчанию: flussonic и letmein!

Смена логина и пароля администратора

Предусмотрено два варианта — через веб-интерфейс или конфигурационный файл на сервере. В зависимости от ситуации может оказаться необходимым тот или иной способ.

Веб интерфейс

Переходим в раздел Config - в подразделе «Access» меняем данные пользователя:

Смена пароля пользователя в веб интерфейсе Flussonic

Конфигурационный файл на сервере

Открываем следующий файл:

vi /etc/flussonic/flussonic.conf

Редактируем опцию «edit_auth»:

edit_auth flussonic letmein!;

* где flussonic — логин; letmein! — пароль.

После внесенных изменений необходимо перезапустить flussonic:

systemctl restart flussonic

Воспроизведение видео из файла

Самый простой способ проверить работоспособность нашего медиа сервера — настроить проигрывание видео из файла.

Для этого создадим каталог, в который разместим видеофайл:

mkdir -p /flussonic/vod

Перейдем в него и скачаем видео:

cd /flussonic/vod

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

* big_buck_bunny_480p_h264 предлагают загрузить из официальной документации flussonic. По сути, можно скопировать в наш каталог любой файл.

Открываем конфигурационный файл сервера:

vi /etc/flussonic/flussonic.conf

Редактируем следующее:

file vod {
  path /flussonic/vod;
}

* мы указали, что медиа файлы находятся в корне /flussonic/vod. При обращении к серверу по адресу http://IP:8080/vod/, первая часть будет отрезана, vod будет заменен на /flussonic/vod.

Перезапускаем сервис:

systemctl restart flussonic

Теперь открываем браузер и переходим по адресу http://<IP-адрес сервера>:8080/vod/bunny.mp4/embed.html — начнется воспроизведение видеофайла.

Также, файл можно добавить через веб-интерфейс в разделе Media - подразделе Files (VOD):

Добавление файла через веб-интерфейс

Прямой эфир

Разработчиками представлена возможность настроить прямой эфир на демо видео. Для этого открываем конфигурационный файл:

vi /etc/flussonic/flussonic.conf

И добавляем:

stream demo {
  url fake://fake;
}

* где stream — указатель на то, что это видеопоток; demo — имя потока; fake://fake — запрос на демо файл, который понимает flussonic.

Перезапускаем сервис:

systemctl restart flussonic

В браузере вводим http://<IP-адрес сервера>:8080/demo/embed.html. Мы должны увидеть прямой эфир с указанием даты и текущего времени.

Видео с камер

В качестве примера, опубликуем rtsp-поток с веб-камеры. В конфигурационном файле пропишем:

vi /etc/flussonic/flussonic.conf

stream cam1 {
  url rtsp://username:password@192.168.0.15:554/h264;
}

* где cam1 — название потока; rtsp://192.168.0.15:554/h264 — ссылка на поток камеры (у каждой модели камеры может использоваться свой адрес — необходимо ознакомиться с инструкцией); username:password — соответственно, логин и пароль для RTSP-авторизации (если она отключена, то можно ничего не писать).

Перезапускаем сервер:

systemctl restart flussonic

Для проверки в браузере вводим http://<IP-адрес сервера>:8080/cam1/embed.html.

Создание и публикация плейлиста

Для удобной передачи каналов на видеоприставку, создадим плейлист m3u. Для этого создаем файл следующего содержания:

#EXTM3U
#EXTINF:0 group-title="Demo",Flussonic - Demo
http://<IP-адрес сервера>:80/demo/video.m3u8
#EXTINF: 0 group-title="Cams", Camera Ege
http://<IP-адрес сервера>:80/cam1/video.m3u8
#EXTINF: 596 group-title="Kids", Bunny Mult
http://<IP-адрес сервера>/vod/bunny.mp4/video.m3u8

* где

  • #EXTM3U — заголовок, означающий, что файл — это плейлист m3u.
  • #EXTINF:0 group-title="Demo",Flussonic - Demo — описание канала: 0 — длительность файла (указали 0 для прямого эфира); group-title — группа канала; Flussonic - Demo — название канала.
  • http://<IP-адрес сервера>:80/demo/video.m3u8 — путь к видеопотоку вышеописанного канала.

Для публикации плейлиста необходимо выложить созданный файл на веб-сервер. Файл должен быть доступен по http-запросу. Самое простое, создать его на нашем сервере Flussonic:

vi /opt/flussonic/wwwroot/playlist.m3u

/opt/flussonic/wwwroot — каталог по умолчанию для root directory flussonic.

Теперь, при настройке видеоприставки можно указать адрес на плейлист http://<IP-адрес сервера>/playlist.m3u. Мы получим список из наших 3-х видео:

  1. Живой демо поток.
  2. Видео с камеры.
  3. Видео мультфильма.

Дополнительные настройки

Рассмотрим настройки, которые могут значительно улучшить качество услуги по предоставлению IPTV.

Заглушка

Заглушка позволит проигрывать другой файл, если поток стал недоступен. Для этого добавляем опцию backup в настройках потока:

vi /etc/flussonic/flussonic.conf

stream cam1 {
  url rtsp://username:password@192.168.0.15:554/h264;
  backup vod/bunny.mp4;
}

* в данном примере, если поток с камеры будет не доступен, запустится проигрывание мультфильма.
* указывать необходимо относительный путь к файлу в vod.

Перезапускаем flussonic:

systemctl restart flussonic

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

vi /etc/flussonic/flussonic.conf

stream cam1 {
  url rtsp://username:password@192.168.0.15:554/h264;
  backup vod/bunny.mp4;
  transcoder vb=2048k preset=fast logo=/flussonic/logo/logo.png@10:10 ab=128k;
}

* в данном примере файл /flussonic/logo/mylogo.png будет размещен в верхнем левом углу (10:10). Для размещения в правом углу используем формулу (main_w-overlay_w-10):10. Для определения высоты экрана используется переменная main_h-overlay_h.

И перезапускаем flussonic:

systemctl restart flussonic

Транскодирование — ресурсоемкий процесс. После его запуска необходимо проверить нагрузку и удостовериться, что сервер с ней справляется.

Мозайка из камер

Добавляем несколько камер и собираем из них мозайку:

vi /etc/flussonic/flussonic.conf

stream cam2 {
  url rtsp://username:password@192.168.0.16:554/h264;
}
stream cam3 {
  url rtsp://username:password@192.168.0.17:554/h264;
}
stream mosaic0 {
  url mosaic://cam1,cam2,cam3?fps=25&preset=ultrafast&bitrate=1024k&size=340x240&mosaic_size=16;
}

* как видим, мы просто создали новый поток с именем mosaic0.

Перезапускаем службу:

systemctl restart flussonic

Для его просмотра в браузер вводим адрес http://<IP-адрес сервера>/mosaic0/embed.html.

Официальная документация

Данная инструкция — быстрый старт по работе с Flussonic. Полная документация представлена на сайте компании Erlyvideo.

# CentOS # Linux # Ubuntu # Мультимедиа # Серверы
Дмитрий Моск — частный мастер
Была ли полезна вам эта инструкция?

Да            Нет