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

  1. Быстрый старт
  2. How-to
  3. Потоковое вещание
    1. Публикация
    2. Прием мультикаста
    3. Варианты источников
    4. Переключение источников
    5. Плейлисты
    6. Наложение логотипа
    7. Миксер
    8. WebRTC публикация
    9. SDI
    10. Отправка на другие сервера
    11. Распознавание DVB субтитров
  4. Транскодер
    1. Логотип
    2. Hardware
    3. Скриншоты
    4. Мозаика
  5. DRM
    1. Simple CAS
    2. Conax DRM
    3. BuyDRM (KeyOS)
  6. Авторизация
    1. Конструктор бэкендов
    2. Сервис сбора статистики
    3. Domain lock
    4. Middleware
    5. Secure links
    6. Ограничение сессий
    7. Мультиавторизация
    8. Бан IP адресов
    9. DVR
    10. Aliaser
  7. API
    1. HTTP API
    2. Events API
    3. MySQL API
    4. SQL API для кластеров
    5. SNMP
  8. Кластер
    1. Ретрансляция
    2. Кластерный захват
    3. Балансировщик нагрузки
    4. Пиринг
    5. Организация CDN
  9. VOD
    1. Кэш
    2. Облако
    3. Транскодирование файлов
    4. Мультибитрейтный VOD из файлов
  10. DVR
    1. Настройка
    2. Timeshift
    3. Catchup
    4. Проигрывание
    5. Экспорт в MP4
    6. Доступ по протоколам
    7. Timelapse
    8. API
    9. Кластеризация DVR
    10. Репликация
    11. Облако
  11. Воспроизведение
    1. HLS
    2. embed.html
    3. HTML5 с низкой задержкой
    4. Плеер HTML5 с низкой задержкой
    5. MPEG-TS
    6. RTMP
    7. DASH
    8. HDS
    9. RTSP
    10. multicast, CBR UDP
    11. WebRTC проигрывание
    12. H.265
  12. Администрирование
    1. Установка
    2. Обновление
    3. Конфигурация
    4. Мониторинг
    5. Производительность
    6. Лицензия
    7. LUA скрипты
    8. Безопасность
    9. Let's Encrypt
    10. Миграция
  13. IPTV
    1. Захват спутникового видео
    2. Транскодирование
    3. Middleware в IPTV OTT
    4. Экспорт EPG со спутника
    5. Группы каналов
    6. Реклама

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

В этой статье мы расскажем, как:

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

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

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

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

Установка Anchor Anchor x2

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

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

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

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

/etc/init.d/flussonic start

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

Веб-интерфейс Flussonic (UI)

Интерфейс администратора Flussonic доступен по адресу http://FLUSSONIC-IP:8080/

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

Откроем Flussonic Media Server по адресу http://FLUSSONIC-IP:8080/ и скопируем туда полученный ключ (замените "FLUSSONIC-IP" на адрес вашего сервера).

На этой же странице желательно сразу же изменить пароль администратора для управления 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.01 is running with streams:
...

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

Попробуем проиграть файл через 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 и посмотрим мультфильм.

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

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

Немного упрощая, 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.

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

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

Публикацией называется ситуация, когда к 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

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

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

live mylive {
}

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

/etc/init.d/flussonic reload

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

Пример

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

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

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

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

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

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