SQL API
Для этого надо в конфигурационном файле (или в веб-интерфейсе) включить порт для 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 клиента с помощью соответствующих библиотек.