Flussonic Media Server documentation

SQL API

You can connect and request data via MySQL protocol, like with any original MySQL server. Turn on this feature by enabling mysql port in the config file (or in the web interface):
mysql 3306;

Now you can use your admin login (edit_auth and view_auth) to connect using mysql client or any other sql library of your choice. Database name is 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)

Similarly, you can access any other table, for example, the files table.

Available tables Anchor Anchor x2

  • streams information about active streams
  • files information about open files
  • sessions information about open sessions
  • sessions_history information about history of sessions
  • stats information on various metrics
  • dvr_status statistics on dvr recording for a particular period of time. Stream name and time (utc) are required parameters.

Advices Anchor Anchor x2

dvr_status

When requesting dvr_status table, you have to use stream name (name) and time (utc).

If you miss one of this parameters, you will always get "ERROR 1210 (HY000): name and utc conditions are required" in the MySQL client.

Quote charactes are important too. Value of name should be wrapped in single quotes, аnd utc should be used without quotes at all.

For example: select * from dvr_status where name='mystream' and utc > 1411084801;

If you use invalid quotes, you will always get "Query OK, 0 rows affected (0.00 sec)" in the MySQL client.

Also please note that you can't use exact equality (utc=1411084801), but you have to query some range (utc > 1411084801).

Storage duration

At the moment, the statistics can be stored for about a day. This time can not be increased. Perhaps in future versions of the Flussonic we'll implement long-term storage, for year or so, but at the moment this feature is not available.

Relationship to MySQL Database Server Anchor Anchor x2

FAQ: Should I install/uninstall Oracle MySQL Database Server, or manually avoid conflicts with it, or I can just add mysql-api support to the config file and that's all?

Yes, you can add mysql support to the config file, and that's all. Don't forget to use port that isn't bound by your native db (3306 is a default port for MySQL, so it's better to use something different).

Flussonic doesn't use real native db (mysql server or anything), it's just an emulation module inside Flussonic, that can parse simple SQL queries. Please note that because it's not an actual database, you can't use PHPMyAdmin or something like that for viewing that tables, you can access it only using simple SQL queries inside mysql client, library etc