May 27, 2022

Proxy add-on for SRTMiniServer

Like most servers, SRTMiniServer requires a dedicated IP address. This is necessary so that encoders from locations, such as vMix or Kiloview, can connect to the SRTMiniServer in the studio via the Internet. As a rule, most studios are connected by cable internet and their providers provide a dedicated IP without any problems. The main problem arises if a studio, especially a mobile one, is connected to the Internet via a 4G/LTE connection. In this case, getting a dedicated IP address is almost impossible.
It should be noted that recently, due to the general lack of dedicated IP addresses, obtaining them is becoming more and more difficult. There are often situations where only one dedicated IP address is provided for the entire office building. In this case, to accept an incoming connection, a non-trivial router configuration is required, which is often impossible for administrative reasons.

Therefore, in SRTMiniServer, we added the possibility of a proxy mode that allows you to transmit a signal to the studio without a dedicated IP address, and without manipulations with the router.
In this mode, all traffic goes through a special server (Proxy Server) located on the Internet. We provide several of these servers for all of our clients, but you can host your own server if you wish (instructions are included).
Advantages:

  • dedicated IP needed is not necessary
  • studio router configuration is not necessary
  • easy to use
  • the proxy server can be placed closer to the location (see below about the “first mile” problem)

Disadvantages:

  • in via “Encoder → Studio” an intermediary ProxyServer appears and all traffic goes through it.

Own proxy server

Users of our SRTMiniServer can easily check how proxy mode works by using our public proxy servers. It is worth noting that due to the publicity of these servers, they are often under high load. Therefore, if you plan to use the proxy mode all the time, then we highly recommend that you deploy your own proxy server. Our instructions allow you to launch your own proxy server in a very few minutes. To do this, you only need to rent a linux server, while you can use VPS servers costing $10-20/month.
General recommendations when choosing a tariff for such servers:

  1. recommended OS: Ubuntu 20.
  2. support for docker technology. As a rule, all VPS based on KVM virtualization support this.
  3. Internet channel is sufficient to receive your connections. For example, if you plan to receive streams from 5 cameras at 10 Mbs at the same time, then you need a bandwidth of at least 50 Mbs.
  4. try to place proxy servers as close as possible to the source of the signal. Why this should be done you can read in the next section.

“First mile” problem

let's assume your studio has wired internet and a dedicated IP address. Can you still somehow come in handy proxy mode? Yes you can. There are situations when you need to land an unstable signal on a good Internet channel as soon as possible and a proxy server will help with this.

Let's consider a case when your studio is in America and you need to get a signal from operators from Asia (for example, there is a business training going on there). At the same time, only mobile Internet is available to operators.

There are two options.
The first option (normal): your operators send the signal directly to the studio. But such a long UDP connection over incomprehensible routes can be quite unstable, especially when the encoders use the mobile Internet.
The second option: your operators send a signal to the nearest proxy server located on a site with a good international Internet channel.
In this option, instead of one long connection are used two long connections and the unstable link segment is reduced. Due to this, we get a more stable transmission as a whole.

You can always rent a server in the desired region, for example, in the same Amazon AWS. What's more, many hosting providers allow you to pay by the hour for the server, meaning you can deploy a proxy server one day and only run it when you need it.

Reference links: