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

Contents

IPTV плагин

Во Flussonic Media Server есть встроенная простейшая Middleware. Основные возможности:

  • авторизация пользователей по уникальному токену;
  • ограничение одновременных подключений;
  • генерация m3u плейлиста для HLS и HTTP MPEG-TS;
  • управление пользователями через API;
  • скоро: пакетирование каналов (разделение доступа).

Управление осуществляется через административный интерфейс Flussonic Media Server, а база данных хранится в sqlite файле.

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

Включение и настройка

В административном интерфейсе Flussoniс Media Server откройте вкладку «IPTV», на этой странице нужно указать путь к базе данных (или оставить значение по умолчению, это нормально).

Нажмите кнопку «Enable IPTV».

iptv

В конфигурационном файле /etc/flussonic/flussonic.conf включение IPTV плагина выглядит так:

erlang
# Plugins:

plugin iptv {
  database sqlite:///opt/flussonic/priv/iptv.db;
}

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

iptv

Для каждого пользователя можно задать лимит одновременных подключений, токен генерируется автоматически.

iptv

Для включения каналов достаточно просто нажать на их имя в списке.

iptv

Для генерации и экспорта m3u плейлистов для HLS и HTTP MPEG-TS нажмите кнопки HLS и MPEG-TS.

iptv

Работа с API

С помощью API можно управлять пользователями: создавать, обновлять, удалять, просматривать список.

API предельно простое и интегрировать с вашим сайтом не составит труда. Ниже примеры запросов и ответов сервера.

Список пользователей

Запрос:

curl -u flussonic:letmein 127.0.0.1/tv/api/users

Ответ:

{"host":"http://127.0.0.1","users":[{"created_at":null,"email":"user1@example.com","id":13,"key":"RLSxaTkbq1","max_sessions":1,"name":"user1","packages":null,"updated_at":null},{"created_at":null,"email":"user2@example.com","id":14,"key":"lyAcdcYcs1","max_sessions":99,"name":"user2","packages":null,"updated_at":null}],"users_count":2,"users_total":2}

Создание пользователя

Запрос:

curl -u flussonic:letmein --data-binary '{"name":"flussonic","email":"support1@erlyvideo.org","max_sessions":"3"}' 127.0.0.1/tv/api/user_create

Ответ:

{"created_at":null,"email":"support1@erlyvideo.org","id":10,"key":"r5Z2KTpsp3","max_sessions":3,"name":"flussonic","packages":[],"updated_at":null}

Изменение пользователя

Запрос:

curl -u flussonic:letmein --data-binary '{"created_at":null,"email":"support3@erlyvideo.org","id":10,"key":"newtoken","max_sessions":3,"name":"support","packages":null,"updated_at":null}' 127.0.0.1/tv/api/user_update

Ответ:

{"created_at":null,"email":"support3@erlyvideo.org","id":10,"key":"newtoken","max_sessions":3,"name":"support","packages":[],"updated_at":null}

Удаление

Запрос:

curl -u flussonic:letmein --data-binary '{"created_at":null,"email":"user1@example.com","id":11,"key":"mPSfFitQl3","max_sessions":1,"name":"user1","packages":[],"updated_at":null}' 127.0.0.1/tv/api/user_delete

Ответ:

true

Мульти-авторизация

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

Это означает, что он совместим с другими http-бэкендами, например, Stalker. Подробнее про мультиавторизации можно прочитать на странице, адрес плагина http://127.0.0.1/tv/auth.