SFU (Selective Forwarding Unit)

Currently in Beta and available only for on-prem subscriptions

SFU which stands for Selective Forwarding Unit is basically a proxy media server which main purpose is to forward a WebRTC stream from the sender to receivers without re-encoding. Video Transport already has SRT Gateways for VT Desktop apps and now similar functionality is available for Web Guest and Web Preview apps.

With the SFU (Selective Forwarding Unit) server, you may distribute your content to hundreds of remote web recipients without affecting the CPU or GPU performance on the Publisher workstation. The SFU server receives the stream from the VT Publisher and copies the stream to each distant receiver without re-encoding.

So in theory SFU could have slightly much latency than p2p connection, but we are still have not enough information on the real life scenarios where SFU was involved. This is clearly depends on scenario, even in some scenarios it might improve latency over p2p connection.

The SFU server is currently available only for on-premises installations. If you have a scenario where you need to use SFU, but don’t have an on-prem installation, feel free to get in touch with us to discuss it.

SFU could be installed on the existing GW/TURN server or on a separate machine. In order to work with SFU you should update your current VT version to 1.9.4.995 which also means that you should book and update of Signaling and GW/TURN servers.

Usage in VT Publisher

To use SFU you should enable it for the particular source in the VT Publisher. Right-click on the desired source -> Go to Source Settings -> Enable switch "SFU enabled (experimental)"

After that Web Guest and Web Preview belonging to this source will go through SFU.

There are some differences in statistics bottom line when you are using SFU.

For example, in the statistic bottom line, you should see something like that if the source with SFU enabled is selected.

Or for example:

SFU(Peers) Out:[0/]SFU_Out In:Pbl_In/SFU_In

Where:

[0/] - If VT Publisher didn't connect to the SFU server.

Peers - peers that are ready to connect should be equal to the number of web guests and number of the web previews.

SFU_Out: Count how many streams of studio feed are out to recipients from SFU (should be equal to active Web Guests+Web Preview)

Pbl_In: Counts how many Web Guest feeds coming to VT Publisher from the SFU (Web Guest count)

SFU_In: Counts how many Web Guest feeds coming to SFU from contributors.

Last updated