Question / Help Please help with settings - encoding overloaded at 3500 bitrate but not at 2500

Spirit

New Member
Hello,

Edit #1: I'm on Windows 8.1, 64-bit. And I run 64-bit OBS Studio v17.0.2.
Edit #2: Added screenshots of my OBS Studio settings.

What happened:
I haven't streamed in a while, so over the past few days I've set up a new stream overlay and tweaked some settings, and finally got around to streaming today. You can find today's VODs here.

During the stream, I started getting some FPS lag in-game and OBS Studio was saying "encoding overloaded", so I changed some settings and restarted the stream (and recording). Eventually I realized that the issue was that I had the Twitch video preview running in my Twitch dashboard. Turning the video preview off fixed the FPS lag and OBS was no longer saying "encoding overloaded".

With the lag gone, I was feeling ambitious and decided to try streaming at higher settings. Unfortunately I started lagging again and OBS was once again saying "encoding overloaded".

From what I can gather, the problem was due to increasing the bitrate to 3500. Originally it was at 2500 and that was running fine.

When I had output resolution set to 1280x720, the task manager reported ~25 to 30% CPU usage. Changing to output resolution 1920x1080 (my base resolution) put CPU usage at ~40 to 45%. Memory was around 70-75% throughout the streaming session.

More details below (in the logs section) on the exact settings at different points throughout the stream and when lags occurred.

What do you think the problem is, and what would the best settings be for me?

PS: Sorry for how big of a wall of text this turned out to be. Whenever I thought I was finished I realized that it could be helpful to add another piece of information.

--

Also, a question that is not relevant to this issue. What is this warning message about? It shows up multiple times in the logs.
14:35:26.365: warning: deprecated pixel format used, make sure you did set range correctly

--

My specs:
I stream from a laptop with switchable graphics. I use the London, UK server in OBS Studio. I live in Dublin, Ireland.

Here are some speedtest.net results while not streaming:

Server: London, UK
Ping: 36ms
Download: 50.11Mbps
Upload: 36.08Mbps

Server: Dublin, Ireland
Ping: 10ms
Download: 32.35Mbps
Upload: 37.05Mbps

(2nd Dublin server test to see if the download speed is consistently lower than with the London server.)
Server: Dublin, Ireland
Ping: 12ms
Download: 30.27Mbps
Upload: 32.36Mbps


Here are my laptop specs:

Laptop: HP Pavilion dv6
OS: Windows 8.1.
RAM: 8GB
Processor: Intel i7-2670QM
Graphics card: AMD Radeon HD 6700M; switchable with integrated graphics card: Intel(R) HD Graphics

Setting OBS Studio to run on high performance from withing Catalyst Command Center (the AMD graphics card software thingy) still doesn't make it run off the actual graphics card. Looking at the OBS Studio logs, it says that it runs off the integrated Intel(R) HD Graphics.

--
My OBS Studio settings:
fnWD0I9.png


L4mWFIM.png


NPQ7kI2.png


0tMimBy.png


3TKKokX.png

--

The logs:
Please find the logs of this streaming and recording session here. Also, below you can find some notes that should help you (hopefully) in finding the relevant points in the logs.

The format of the notes is as follows.
## Explanation of roughly what happened before restarting the stream and recording.
- Timestamp of when I ended the stream and recording: Changes I made around this time.



Notes on logs:
## Started streaming with settings:
- Output resolution: 1280x720
- Preset: veryfast
- Bitrate: 2500

## Started getting FPS lag and OBS was saying "encoding overloaded", so decided to change some settings:
18:20:43: Changed to "preset: superfast". Restarted stream and recording.
18:21:53: Changed to "output resolution: 1152x648". Restarted stream and recording.

## Realized that turning off Twitch stream preview stopped FPS lag, so decided to change the settings back:
18:30:35: Changed back to "output resolution: 1280x720" and "preset: veryfast". Restarted stream and recording.

## After changing the settings back, there was no lag, and CPU was at 25-30%, so I decided to try higher settings:
18:35:40: Changed to "output resolution: 1920x1080". Restarted stream and recording.

## Realized I would also need to increase bitrate:
18:38:25: Changed to "bitrate: 3500". Restarted stream and recording.

## FPS lag and "encoding overloaded" again, so decided to change "output resolution" back:
18:41:07: Changed back to "output resolution: 1280x720". Restarted stream and recording.

## Still FPS lag and "encoding overloaded", so decided to change the "bitrate" back:
18:42:24: Changed back to "bitrate: 2500". Restarted stream and recording.

## Finished streaming:
19:01:03: Stopped stream and recording.
19:01:03.735: Output 'adv_file_output': Number of lagged frames due to rendering lag/stalls: 54 (0.2%)
 

Attachments

  • 2017-02-09 14-34-59.txt
    65.9 KB · Views: 18
Last edited:

EBrito

Active Member
1280x720x30FPS Veryfast 2500Kbps
17:00:07.921: Output 'adv_file_output': Total encoded frames: 490
17:00:07.921: Output 'adv_file_output': Total drawn frames: 492
NO ISSUES

Other attempt, same settings:
18:20:44.469: Output 'adv_file_output': Number of skipped frames due to encoding lag: 4776 (3.5%) --> CPU overloaded
18:20:44.469: Output 'adv_file_output': Number of lagged frames due to rendering lag/stalls: 1514 (1.1%) ---> GPU overloaded

1280x720x30 Superfast 2500Kbps
18:21:51.794: Output 'adv_file_output': Number of skipped frames due to encoding lag: 840 (47.5%)
18:21:51.794: Output 'adv_file_output': Number of lagged frames due to rendering lag/stalls: 241 (13.6%) WORSE RESULTS!


1152x648x30FPS Superfast 2500Kbps
18:30:34.962: Output 'adv_file_output': Number of lagged frames due to rendering lag/stalls: 992 (7.2%) --> GPU overloaded ********* BEST!!!!

1280x720x30 FPS veryfast 2500Kbps
18:35:40.465: Output 'adv_file_output': Number of skipped frames due to encoding lag: 253 (2.9%) --> CPU overloaded
18:35:40.465: Output 'adv_file_output': Number of lagged frames due to rendering lag/stalls: 224 (2.6%) --> GPU overloaded

1920x1080X30 FPS veryfast 2500Kbps
18:38:25.111: Output 'adv_stream': Number of skipped frames due to encoding lag: 3086 (71.8%) --> CPU overloaded
18:38:25.111: Output 'adv_stream': Number of lagged frames due to rendering lag/stalls: 143 (3.3%) --> GPU overloaded
18:38:25.111: Output 'adv_stream': Number of dropped frames due to insufficient bandwidth/connection stalls: 118 (2.7%) ---> Not enough bandwith?

1920x1080X30 FPS veryfast 3500Kbps
18:41:07.325: Output 'adv_stream': Number of skipped frames due to encoding lag: 2064 (50.9%) --> CPU overloaded
18:41:07.325: Output 'adv_stream': Number of lagged frames due to rendering lag/stalls: 125 (3.1%) --> GPU overloaded

1280x720x30 FPS veryfast 3500Kbps
18:42:24.983: Output 'adv_stream': Number of skipped frames due to encoding lag: 2358090565 (90.9%) --> CPU overloaded
18:42:24.983: Output 'adv_stream': Number of lagged frames due to rendering lag/stalls: 15 (0.8%) ---> GPU limiting

Same settings again
19:01:03.735: Output 'adv_file_output': Number of lagged frames due to rendering lag/stalls: 54 (0.2%)---> GPU limiting

********************************************************
So, best option was:
1152x648x30 FPS superfast.
Little GPU problems: reduce ingame graphics a little or limit FPS

You could try 1140x540x30 FPS Veryfast
I think this needs more or lesss same CPU and GPU effort, but maybe gets a better image, due to Veryfast profile.
 

Spirit

New Member
So, best option was:
1152x648x30 FPS superfast.
Little GPU problems: reduce ingame graphics a little or limit FPS

You could try 1140x540x30 FPS Veryfast
I think this needs more or lesss same CPU and GPU effort, but maybe gets a better image, due to Veryfast profile.

Thank you for the detailed analysis!

I'm surprised that there were points where the CPU was overloaded. In Windows Task Manager, my CPU usage never went over 50% during the streaming session.

The GPU bottleneck makes more sense, since unfortunately OBS Studio can only use my integrated graphics card, as opposed to the actual graphics card.

I'd like my recorded videos to have a 720p option when uploaded to YouTube. If the output resolution is slightly lower than 1280x720 (e.g. 1152x648), would the video still qualify for a 720p option on YouTube, or will it automatically be reduced to 480p?

Edit: I just realized that I can record my streamed content with different encoder settings from the settings that are used to stream to Twitch. I just had to change the encoder under Outpute->Recording from "(Use stream encoder)".
ee2ToNC.png


What encoder settings would you recommend if I want to record at 1280x720x30? How about 1920x1080x30?
 
Last edited:

EBrito

Active Member
Record:

Simple settings
Recording Quality Indistinguishable
Encoider Quicksync QSV
Format FLV

For advanced settings: this is same as CQP 15, I think
 

Spirit

New Member
I did some research and from my understanding I cannot stream and record at different resolutions, so it seems like there is no reason for me to change the recording encoder from "(Use stream encoder)".

I am not planning to just record videos, I will pretty much only be recording while streaming.
 

EBrito

Active Member
For example:

Video settings
BAse 1920x1080
Rescaled 1920x1080
30 FPS
Filter bicubis

Output settings:
Check rescale and set 1280x720


You can record 0180p and stream 720p at a time.
 
Top