Flussonic Media Server documentation

Contents

Peering

Flussonic Media Server can connect to another Flussonic Media Server (peer), take list of running and available ondemand streams and route clients to proper peers using cluster peering mechanism.

Configuration

You can set Flussonic Media Server peer:

# Global settings
http 8080;
cluster_key somekey;

peer peer.example.com;

You need to set same cluster_key on all cluster hosts.

You can set multiple peers:

# Global settings
http 8080;
cluster_key somekey;

peer peer1.example.com;
peer peer2.example.com;
peer peer3.example.com;

All peers can have different streams, Flussonic Media Server will route clients to proper peers.

Private and public addresses of peers

When the peer Flussonic servers are in the local network and in the settings you use the private addresses (hostnames) that are necessary for the communication of peers within the local network, these internal addresses can appear on the clients that playback a stream.

You can expose only the public addresses of peers, at the same time allowing them to use private addresses when communicating within a cluster. To do so, add in the settings of each peer the public option, which specifies the public address of this peer server:

peer streamer1.local {
    public streamer1.example.com;
}

When redirecting to streamer1.example.com, Flussonic will use the protocol, HTTP or HTTPS, that was configured for this peer.

Redirection

Flussonic Media Server will redirect clients to peers when you ask for a stream.

It is a very important difference between peer and source, because source is designed for moving data via a dedicated channel from origin to edge.

Peering is designed for situations when client can take video stream from any server in a group, so servers (peers) in a group talk to each other and tell what streams do they have.

When client connects via HLS, HTTP MPEG-TS, RTSP, RTMP or opens embed.html to any of servers in a group, it may redirect to another server where this stream is really located.

Load balancing

Load balancing is achieved by redirecting client requests to another, less loaded server in a cluster.

To auto-balance clients in a cluster, we recommend using Flussonic Catena instead of the deprecated IPTV plugin.

You can install and use Catena if you have a Flussonic license. You can install it on a separate machine or together with Flussonic, but in the latter case change the HTTP port in Flussonic configuration to something other than 80 because port 80 is required for Catena.

Catena has two types of load-balancing: pipeline-based and automatic balancing, and the automatic balancing works exactly the same way as the balancing based on the deprecated IPTV plugin. So don’t worry if you never used Catena and are not planning to use its pipeline mechanism.

To auto-balance load ina cluster with Catena:

  1. Install Catena separately or to a server with Flussonic.
  2. If you have installed Catena with Flussonic, change the HTTP port in the Flussonic configuration file (/etc/flussonic/flussonic.conf) and reload the configuration (/etc/init.d/flussonic reload).
  3. Go to the Catena UI and add servers
  4. Turn on Autobalancing for each Flussonic server.
  5. If you had cluster configuration on the Flussonic servers, remove this configuration.
  6. To request streams, сlient devices must use the following URL: http://CATENA-IP/watch/STREAMNAME/index.m3u8