Flussonic Media Server documentation

Sending a Multicast

When working with IPTV, one often has to deal with videos transmitted as multicasts. In most cases, a multicast contains an MPEG-TS container (7 188-byte packets in each UDP packet). Less frequently, an RTP Protocol in transmitted into the network that contains the same MPEG-TS. RTP is needed to make it possible to track the losses, since the RTP packet contains a 16-bit counter that is used to track sequence numbers.

Brief basics of multicast

A multicast is a set of UDP packets transmitted from the same source to a group of subscribers. The address to which packets are sent is usually in the range between and, however, is not recommended due to the large number of special addresses.

In a properly configured network, multicast traffic is sent to the nearest router, and the router itself chooses the client to send the traffic to, based on the requirements of the clients. The requirements are transmitted via the IGMP protocol that is used for transmitting messages about the need to include some address into the distribution group, or exclude it from the group.

Therefore, in order to make Flussonic send multicast to client devices, it is necessary to make it send the packets to the proper interface (in a local operator network), and the router should be configured to work correctly with multicast.

Configuring Flussonic

To configure a multicast distribution, it is enough to specify the push option in stream settings. The push option specifies the multicast address:

stream ort {
 url hls://provider.iptv/ort/index.m3u8;
 push udp://;

Flussonic supports also the scheme udp2:// but as the UDP2 protocol is relatively new, you may prefer udp://.

You can also create a stream via the web interface: create a new stream, specify the source URL (on the Input tab) and add the multicast address udp:// in the stream settings (on the Output tab in the section Push live video to certain URLs).

Selecting tracks

You can select what tracks to send:

stream ort {
 url hls://provider.iptv/ort/index.m3u8;
 push udp://;

Here, v2 stands for the 2nd video track and a4 for the 4th audio track.

Interface name (v20.05)

If you do not remember the IP address of the interface from where the multicast will be sent, you can specify its name:

push udp://eth0@

instead of

push udp://


stream ort {
  url hls://provider.iptv/ort/index.m3u8;
  push udp://eth0@;

Here eth0 is the name of the interface that looks into a local network.

Configuring the server

After you set up multicasting, chances are that nothing will work, since very often, due to server settings, multicast traffic is sent to the first interface, which usually looks into the Internet. You need to make Flussonic start sending traffic to an interface that looks into a local network.

route add -net dev eth2

Here, eth2 is the name of the interface connected to the local network. After you set up routing in this way, the multicast from Flussonic will be routed to the proper interface, and you can check it at the router, and at the client.

A reverse situation with ingesting multicast streams is described in the article Receiving multicast