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

Contents

SQL API

К Flussonic Media Server можно подключиться по протоколу MySQL и запрашивать данные как у MySQL сервера.
Устанавливать MySQL не нужно. Достаточно включить поддержку MySQL API в файл конфигурации, указав порт, который Flussonic Media Server будет слушать.

Для этого надо в конфигурационном файле (или в веб-интерфейсе) включить порт для MySQL:

mysql 3306;

Если не указать эту строку, то по умолчанию будет использоваться порт 14406.

После этого с логином и паролем администратора (edit_auth или view_auth) можно подключиться с помощью клиента mysql или любой библиотеки.

База данных — flussonic:

mysql -u admin -h 127.0.0.1 -p flussonic

mysql> show tables;
+---------------------+
| Tables_in_flussonic |
+---------------------+
| streams             |
| files               |
| sessions            |
| stats               |
+---------------------+
4 rows in set (0.00 sec)

mysql> select * from streams;
+---------+------------------------------------------------+----------+------------+-----------+--------------+----------+-------------+---------+
| name    | url                                            | ts_delay | bytes_in   | bytes_out | client_count | lifetime | retry_count | bitrate |
+---------+------------------------------------------------+----------+------------+-----------+--------------+----------+-------------+---------+
| channel | tshttp://transcoder:9000/                      |       59 | 1003280707 |         0 |            0 | 46056397 |           0 |     647 |
+---------+------------------------------------------------+----------+------------+-----------+--------------+----------+-------------+---------+
1 row in set (0.00 sec)

Аналогично есть доступ к таблице files.

Доступные таблицы

  • streams информация об активных потоках
  • files информация об открытых файлах
  • sessions информация об открытых сессиях
  • sessions_history информация об истории сессий
  • stats статистика по всевозможным метрикам
  • dvr_status статистика записи потока за указанное время. Обязательно указывать имя потока и время.

Советы

dvr_status

В запросе к dvr_status нужно обязательно использовать имя стрима (name) и время (utc).

Если их не указать, то запрос всегда будет возвращать ошибку «ERROR 1210 (HY000): name and utc conditions are required».

При этом значение name нужно указывать в одинарных кавычках, а utc без кавычек вообще.

Например: select * from dvr_status where name='mystream' and utc > 1411084801;

Если поставить неверные кавычки, то запрос будет всегда возвращать "Query OK, 0 rows affected (0.00 sec)".

Эта таблица предназначена для работы не с точным временем (utc=1411084801), а с диапазонами (utc > 1411084801).

Время хранения статистики

В данный момент статистика хранится около суток. Это время нельзя увеличить.

Возможно, в будущих версиях время будет реализована возможность длительного хранения статистики, но сейчас этой возможности нет.

Отношение к MySQL database server

Часто задаваемый вопрос: Должен ли я для работы вашего MySQL API установить Oracle MySQL Database Server? Или необходимо будет вручную обходить конфликты с ней? Или нужно просто добавить поддержку MySQL API в файл конфигурации?

Устанавливать MySQL сервер не нужно. Просто добавьте поддержку MySQL API в файл конфигурации, указав порт, который Flussonic Media Server будет слушать.

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

Flussonic Media Server не использует реального сервера баз данных, это просто эмуляция внутри Flussonic, позволяющая отвечать на простые SQL-запросы.

Так как это не полноценный сервер баз данных, для просмотра таблиц не получится использовать программы типа PHPMyAdmin. Данные нужно получать, выполняя простые SQL-запросы внутри MySQL клиента с помощью соответствующих библиотек.