IPTV Plugin
Flussonic Media Server has a simple build-in IPTV Panel. Main features:
- authorization users by unique token
- limit concurrent connections
- m3u playlists (HLS and HTTP MPEG-TS)
- manage users via API
- soon channel packages
Flussonic Media Server stores database in local sqlite file and provide managment interface via admin panel.
IPTV Plugin is suitable for large and small services: to many users or share streams to friend and partners.
Enable and configure
Go to Flussonic Media Server admin UI to IPTV tab, here you should enter path to database or just keep a default value (it's ok). Press "Enable IPTV" button to activate plugin.
Configuration via /etc/flussonic/flussonic.conf:
erlang
# Plugins:
plugin iptv {
database sqlite:///opt/flussonic/priv/iptv.db;
}
On this page you can manage users. In the sidebar you can enable/disable stream available to IPTV users
You can set personal limit to concurrent connections. Token automatically generated but you can change it.
To enable channel, just click to it's name in the list.
To generate and export m3u playlists for HLS and HTTP MPEG-TS, press the HLS and MPEG-TS buttons. MPEG-TSHLS
API
Via API you can manage users: create, update, delete, list.
Here is examples of requests and replies from Flussonic. API is very simple, it shouldn't be difficult to integrate with your website.
User's list
Request:
curl -u flussonic:letmein 127.0.0.1/tv/api/users
Reply:
{"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}
Create user
Request:
curl -u flussonic:letmein --data-binary '{"name":"flussonic","email":"support1@flussonic.com","max_sessions":"3"}' 127.0.0.1/tv/api/user_create
Reply:
{"created_at":null,"email":"support1@flussonic.com","id":10,"key":"r5Z2KTpsp3","max_sessions":3,"name":"flussonic","packages":[],"updated_at":null}
Update user
Request:
curl -u flussonic:letmein --data-binary '{"created_at":null,"email":"support3@flussonic.com","id":10,"key":"newtoken","max_sessions":3,"name":"support","packages":null,"updated_at":null}' 127.0.0.1/tv/api/user_update
Reply:
{"created_at":null,"email":"support3@flussonic.com","id":10,"key":"newtoken","max_sessions":3,"name":"support","packages":[],"updated_at":null}
Delete user
Request:
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
Reply:
true
Multiauth
IPTV Plugin is a general http auth backend, so you can configure multiauth with other Middleware, like Stalker/Ministra.
URL: http://flussonic-ip/tv/auth
Read more about authorization system and multiauth configuration.