How to send UDP multicast over the Internet with Flussonic¶
Problem description¶
If you receive satellite TV channels and wish to distribute them in an external network (for example, geographically remote network), Flussonic can help you here.
UDP multicast is the best choice for organizing video delivery in subscriber networks because the load on the server does not depend on the number of connected subscribers. The problems is, UDP multicast is generally not supposed to work in the open Internet - it requires special configuration that is possible in a local area network.
Sending UDP multicast over the Internet¶
To transmit a UDP stream over the Internet, you can use two servers with Flussonic Media Server and the Flussonic's protocol M4F. This protocol offers a number of benefits in comparison with other protocols. It is used to transmit data between two Flussonics.
Add a Flussonic Media Server to the network where you plan to distribute video by multicast. Let's call it the target server.
Now use two Flussonic Media Servers to receive and send a stream:
- The source server ingests a satellite stream (
channel_01
) from the headend over UDP. The usual configuration is enough. - On the target server, configure the stream's URL with the M4F protocol:
stream channel_01 {
input m4f://streamer:8081/channel_01;
push udp://239.0.0.2:1234;
}
With M4F, Flussonic receives the stream through a sort of a special TCP tunnel.
Note. In this situation, when data is transferred over long distances over Internet, some delay is unavoidable. But, to compensate for this, Flussonic provides the signal of a high quality due to using buffers on the source and the target server.
- Specify the multicast address in the
push
option. At this address clients will receive the channel. - Finally, configure multicast on the target server.
Sending encrypted video¶
If you need to send the encrypted video via the Internet, we recommend to use the following scheme:
- Use M4FS protocol for transmitting video between two Flussonic servers. M4FS is similar to M4F with one difference: it works over HTTPS (uses SSL/TLS encryption). Just follow the steps described above, but use
m4fs://
instead ofm4f://
in the stream configuration. - Use DRM content protection on each of the target (edge) servers.