Установка и использование Flussonic на Linux
Тематические термин: Flussonic, Linux, Ubuntu, CentOS.
В инструкции пойдет речь о настройке медиа сервера Flussonic и публикации каналов на приставки с помощью плейлиста m3u. Приведенные команды выполняются на операционных систем Linux: Ubuntu / Debian и CentOS / Red Hat. Сам разработчик рекомендует использовать Ubuntu.
Подготовка системы
Получение ключа
Настройка ограничений
Установка Flussonic
На Linux Ubuntu
На Linux CentOS
Первый запуск и настройка
Запуск и ввод лицензии
Настройка пароля на вход
Воспроизведение из файла
Прямой эфир
Видео с камер
Использование плейлиста
Дополнительно
Заглушка
Логотип
Мозайка из камер
Полная документация
Подготовка
Получение пробного ключа лицензии
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 и letmein!
Смена логина и пароля администратора
Предусмотрено два варианта — через веб-интерфейс или конфигурационный файл на сервере. В зависимости от ситуации может оказаться необходимым тот или иной способ.
Веб интерфейс
Переходим в раздел Config - в подразделе «Access» меняем данные пользователя:
Конфигурационный файл на сервере
Открываем следующий файл:
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-х видео:
- Живой демо поток.
- Видео с камеры.
- Видео мультфильма.
Дополнительные настройки
Рассмотрим настройки, которые могут значительно улучшить качество услуги по предоставлению 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.