restreamer icon indicating copy to clipboard operation
restreamer copied to clipboard

Maybe addition for the FAQ: Cloud Computing min. requirements

Open Fred-DTV opened this issue 3 years ago • 6 comments

Hi datarhei team,

First off thanks for the version 2 of your already amazing piece of software. This is truly a game changer for us as s small stream production company and it's so incredibly easy to use now as well. So thank you.

Our local Internet connection in our office where our server is located is beyond horrible, that's why I am looking into deploying our first cloud computer to run restreamer on there.

Now I was wondering if there are kind of min. system requirements for a restreamer instance to run stable (x CPUS xGb RAM) and a general guideline of what would be needed for a certain amount of simultaneous viewers, e.g. Streaming at 6.000kbps:

  • 100 Viewers on 5 different platforms need: xxxCPU xxxRAM xxxTraffic
  • 1000 Viewers on 10 different platforms need: xxxCPU xxxRAM xxxTraffic
  • 10.000 Viewers on 20 different platforms need: xxxCPU xxxRAM xxxTraffic

I know these probably differ from server to server, but it would be really nice to have an approximate base value in the FAQs to keep the try and error phase to a minimum :)

Fred-DTV avatar Aug 21 '22 10:08 Fred-DTV

Hey @DachsbauTV Thanks for the kind words :partying_face:

Here you can see an old benchmark on a Pi4: https://www.youtube.com/watch?v=z3Xd6AoZHpI

On the Pi4 we achieved up to 700 HLS viewers and 700-800 Mbit/s throughput depending on the bitrate (1/2/4 Mbit/s). At the same time, the system was still fully functional.

In another test, we ran >10,000 processes on an AMD EPYC 32 Core with 256 GB RAM, copying a stream and writing to the in-memory file system. The system just laughed.

As you can see, the Core & FFmpeg combination is powerful. However, in most cases, the bandwidth is the limitation, not the hardware.

More benchmarks are coming. But this will take some time.

Question: What do you mean by 100 viewers on 5 different platforms? 100 viewers spread over 5 different websites? Or 100 viewers and 5 publications (streams on other platforms)? Then I could take that into account for later.

jstabenow avatar Aug 31 '22 16:08 jstabenow

I understand benchmark is done with only 720p hd - not 1080p 25 frames - 1920x1080p 25 would be how many vievers ? Also the decoding input of and not a patteren maybe change the benchmark alot. I have a 500/500mbit connection and uses cloudflare in front of my rpi4 but maybe It a good to limit the bandwidth acording to my internet connection but normaly I have to or tree output streams like one for rtmp owncast, rtmp facebook and youtube hls, Using only HD is not really a commen standard.

FilipStadler avatar Aug 31 '22 17:08 FilipStadler

I understand benchmark is done with only 720p hd - not 1080p 25 frames - 1920x1080p 25 would be how many vievers ? Also the decoding input of and not a patteren maybe change the benchmark alot. I have a 500/500mbit connection and uses cloudflare in front of my rpi4 but maybe It a good to limit the bandwidth acording to my internet connection but normaly I have to or tree output streams like one for rtmp owncast, rtmp facebook and youtube hls, Using only HD is not really a commen standard.

The resolution is not decisive for the bandwidth, but the bitrate is because many viewers retrieve it.

Unfortunately, the bandwidth limitation is not yet sufficiently documented. Therefore, a few words about it:

The bandwidth limit considers everything already streamed via the Restreamer (the Core backend). So, for example, if you specify 500 Mbps as the limit and 100 Mbps are generated by the SRT/RTMP server and push streams (publication services), only 400 Mbps remain for HLS streaming. In summary: This function protects your system and all existing connections, even if viewers push your bandwidth to the limit.

However, it is advisable never to use the maximum available bandwidth as a limit. A good value is 90-95%, provided there is no additional load on the line. Otherwise, less.

jstabenow avatar Sep 01 '22 09:09 jstabenow

So, I'd like to use this software on a VPS to simply restream my video to maybe 2-3 other streaming platforms at once (my upload bandwidth at home is abysmal). How many CPU cores should I aim for to redirect a 1080p60 stream in that way?

EzequielBruni avatar Sep 17 '22 01:09 EzequielBruni

So, I'd like to use this software on a VPS to simply restream my video to maybe 2-3 other streaming platforms at once (my upload bandwidth at home is abysmal). How many CPU cores should I aim for to redirect a 1080p60 stream in that way?

Only one incoming and three outgoing streams? No encoding and no player playback (integration on a website)? Just test the smallest VPS you can get. This requirement hardly needs any CPU power and only a little RAM (maybe up to 250 MB, depending on the bitrate).

jstabenow avatar Sep 18 '22 01:09 jstabenow

The cheapest VPS I can get (on a platform that I trust to a reasonable degree/am familiar with anyway) offers a lot more than that.

Time to get buying, then. Thanks, I appreciate the info.

EzequielBruni avatar Sep 18 '22 17:09 EzequielBruni

💛 If you were satisfied with the support, and we could help you, please rate us on Google.

jstabenow avatar Nov 15 '22 09:11 jstabenow