How to optimize a streaming server setup for a local school network, addressing issues like buffering and maximizing performance?

In the process of setting up a streaming server for a local school within their network it involves Ubuntu 18.04 installed on a virtual machine with its dedicated 1 Gigabit connection on the server. The server boasts 4 processing cores and 8GB of memory, while all switches in the school operate at 1 Gigabit.

I’m using a GoPro to stream 480p video over RTMP to the server, which runs NGINX with the RTMP module. Additionally, I’ve configured video.js on the same server to view the stream. Despite being able to handle 5-10 browsers with the stream, when 50-60 browsers were opened recently (which is the maximum expected load), some browsers started experiencing “buffering” issues occurring approximately every 2 seconds.

While checking the server, I found no constraints in terms of CPU, memory, disk, or network usage. Although VMware indicated that the server reached around 120mbps and peaked. Here’s what my nginx.conf looks like. I’m seeking advice on improving performance, whether it’s related to bandwidth limitations or issues with new players trying to access the playlist and causing delays in RTMP to HLS conversion.