Question / Help Seeking source of framerate bottleneck from Zoom -> OBS

Mumford67

New Member
I am running a live virtual theatre project from Zoom -> OBS - > YouTube . I am working with an Optiplex 7010 system with an i5-3570 processor, onboard Intel HD-4000 graphics and 16 GB of RAM.

Some scenes can have as many as 10-14 participants, and I crop each participant to a separate source in the OBS scene from the Zoom gallery view. This allows me to take characters on and off the scene as needed. Here is a screenshot:

Sample with cast - red.png


And a sample stream can be seen here: Dear Brutus

We've started noticing some framerate issues on the OBS front end before sending out the stream via YouTube. Even if only two or three characters are on the screen during the scene, the framerates can be pretty bad compared to what is originally seen on the Zoom window itself. Shows with smaller casts are less prone to these issues.

So my question is: is this likely due to a limitation of the GPU, the CPU, the amount of RAM, or a mixture of the above? Or is this something that can be possibly alleviated by tweaking the OBS settings? Just need to know where I should be focusing on a system upgrade if needed.

Any thoughts are appreciated.

Best regards,
Stuart
 

Mumford67

New Member
A few extra details in case it helps:
  1. We are targeting 720p 30fps for these productions.
  2. I am using the Advanced Output settings with 1 audio track, the x264 encoder, a 2500 CBR, a Keyframe Interval of 4 (YouTube said the software was pushing too high a keyframe in auto mode), CPU Usage preset of "superfast," and a profile of "high"
  3. I've run the log in the OBS analyzer and GPU only comes up with warnings if activating the recording mode. However, we are streaming these performances over YouTube only and not activating recording. When streaming, no warnings come up for the GPU.
  4. Frame rate is definitely hurt by the number of elements on the screen at one time. Whether they be a Zoom window capture or a simple JPG/PNG graphic, the more that is the active, the lower the framerate. With 4 or 5 sources active, we tend to hit 30 fps no problem. With all source active, we can get down to around 10 fps.
  5. All characters are paired in a group consisting of two sources: a window capture source with crop and image mask filters applied and a PNG frame source with a chromakey filter. So, if we have 12 actors on screen, that is 25 active sources for the scene if also using a JPG background source.
  6. Neither CPU or memory seem to be an issue when looking at the OBS window or the Task Manager, regardless of the number of active elements. I have plenty of headroom available for both.
  7. Our base resolution is 1920x1080 with an output resolution of 1280x720. Even if we bring the base resolution down to 720p, the impact on framerate is minimal.
 

sjk

New Member
Did you try contacting zoom about the trouble you are facing. Was there any trouble in their server. You mentioned zoom had no issues before and it started recently. So might be Zoom is overloaded with too many meetings. Even I faced a similar trouble but it started only 3 days ago.
 

Mumford67

New Member
The bottleneck is definitely occurring in OBS. I have the Zoom window on an adjacent monitor and everything is fine there, but the output fps drops in OBS with each additional onscreen source. It should be noted that the addition of each cropped and filtered Zoom window capture has a much more pronounced affect on framerate than the other static graphic sources.
 

Narcogen

Active Member
No output session in log.


Open OBS. Start an output session (streaming or recording). Observe your issue. Stop the output session. Upload the Current log without quitting OBS.

I would not be surprised if the large number of cropped window captures, combined with an underpowered GPU, is causing rendering lag.
 

Mumford67

New Member
Here is the latest log file: Log file of test stream

This time I started with limited elements and added them one by one until all ten performers were on screen. I do notice , however, that the analyzer did show a critical rendering lag this time. I had been under the impression that the GPU was primarily a factor for recording only, but I guess it also is affecting OBS's general output as well for streaming?

Since I am on a limited budget, and with the understanding that I do not need a graphics card for anything but to support this stream, do I need anything with any significant power or just something to remove burden from the onboard graphics? Since my system is a mini-tower, I need to focus on low profile cards which tend to run up the cost of a bargain GPU.
 

Narcogen

Active Member
14:06:24.482: Output 'adv_stream': Number of lagged frames due to rendering lag/stalls: 4726 (25.7%)

Significant GPU overload.


The GPU is not just for recording, it is the single most important component with regards to the performance of OBS. OBS is primarily a video compositor and switcher that streams its output; recording is essentially just a special case of streaming (streams to a file).

You're actually asking OBS to do exactly the kind of work it was designed for, just more of it than your GPU is able to handle. Each of your indvidual crops has to be separately rendered and composited.

If you were interested to purchase a discrete GPU for streaming, the best bang for the buck would be an Nvidia 1650 Super or 1660, as not only would you solve your rendering lag issue, but you'd also gain the best available NVENC encoder and take the encoding load off your CPU.

However any number of Nvidia cards in the GTX series, older cards that might be cheaper than the ones above, would not only solve your rendering lag, but also feature the encoder (just not the latest/greatest one).

Be sure it's a GTX card, not a GT card. I'd say anything from a GTX 7xx series card upwards would be a big improvement.
 
Top