obsproject / obs-studio

OBS Studio - Free and open source software for live streaming and screen recording
https://obsproject.com
GNU General Public License v2.0
58.91k stars 7.84k forks source link

"Ignore streaming service setting recommendations" checkmark does not seem to work #4125

Open Aktanusa opened 3 years ago

Aktanusa commented 3 years ago

Platform

Operating system and version: Windows 10 2004 OBS Studio version: 26.1.1

Expected Behavior

Checking "Ignore streaming service setting recommendations" should work. It doesn't since I choose a rate control of CRF for Twitch and it is still set to CBR. I have noticed that the setting "ApplyServiceSettings=false" is missing from the [AdvOut] section of basic.ini. After manually adding "ApplyServiceSettings=false", the rate control is finally set to CFR.

Current Behavior

Checking "Ignore streaming service setting recommendations" adds "IgnoreRecommended=true" in [Stream1] section but does not add "ApplyServiceSettings=false" in the [AdvOut] section of basic.ini. I'm not sure if is suppose to be there anyway since maybe it's a bug that the new flag "IgnoreRecommended=true" does not work.

Steps to Reproduce

  1. Install OBS
  2. Start OBS
  3. Skip wizard
  4. Click on Settings
  5. Log into Twitch in Stream section
  6. Check "Ignore streaming service setting recommendations"
  7. Goto Output section and change Output Mode to Advanced
  8. Change Encoder to x264, change Rate Control to CRF, make sure CRF number is 23, change Keyframe Interval to 2.
  9. Click Okay and start streaming
  10. Goto View -> Stats and notice the bitrate is 2500 kb/s instead of under 100 kb/s since you are streaming a black screen.
  11. Check logs and see "rate_control: CBR" under "[x264 encoder: 'streaming_h264'] settings:"
dodgepong commented 3 years ago

You have to enable Advanced output mode to fully disable streaming service recommendations. The "Ignore streaming service setting recommendations" checkbox only ignores a portion of settings, such as bitrate and resolution. Twitch don't want you streaming with CRF and expect your streams to be encoded a particular way, so we do what we can to prevent you from violating what services are expecting. We have no plans to make it easier for people to disable these recommendations.

This issue should be treated as a request to clarify wording, not change behavior.

dodgepong commented 3 years ago

Sorry, I just checked and didn't realize that we changed the UI in Advanced mode in 26.1. I'm not sure why the checkbox in Advanced settings was removed.

Aktanusa commented 3 years ago

I think I read somewhere that the setting in the advanced area has been moved to the stream section and renamed to "Ignore streaming service setting recommendations". Basically it's the same flag, but the work for the move was not completely done and has bugs. Just an educated guess.

naanlizard commented 3 years ago

Can confirm we're seeing this bug too. Bad change to move the checkbox IMO

kkartaltepe commented 2 years ago

Loss of the UI breaks override for users of linux where many newer intel chips dont support CBR. So even a well chosen CQP stream will just fail to initialize

wllyng commented 2 years ago

Hi I would like to work on this issue if it is still open! What is a good place to start?

kkartaltepe commented 2 years ago

Yes this is still an issue, you could bisect this to see what commit introduced this new behavior. From there you could work on re-introducing the functionality that was lost. As mentioned this happened somewhere around 26.0 -> 26.1

jcuffe commented 2 years ago

Quick and dirty fix

For anyone finding this and trying to get CRF/CQP rate control to work for twitch streaming, follow these steps:

  1. Find your basic.ini in the following directory: %appdata%/obs-studio/basic/profiles/<profileName>
  2. Modify the file, adding the following line below [AdvOut]: ApplyServiceSettings=false
  3. Important After saving, right-click the file and select Properties, then check the Read-only box.
  4. Choose your preferred rate control method and go hog-wild :grin:

Making the settings file read-only prevents OBS from automatically removing the manually added line. Make sure that your settings are as you like before doing this, as you'll no longer be able to change them by interacting with the UI.

Proof

image