cancel
Showing results for 
Search instead for 
Did you mean: 

General Discussions

benman2785
Big Boss

720p50 3500kbps twitch.tv OBS

fetokis

here are my settings for 720p50@3500kbps in OBS Studio with AMD AMF Encoder

pastedImage_2.png

have in mind:
0. i use 720p50 because you have more bitrate per frame as 720p60
1. 3500kbps is not much for 720p50 (3500kbps is ok-ish for 720p30)(720p60 would need minimum 4500kbps)
1b. what is your ISPs upload bandwidth?
2. VBV Buffer Initial Fullness HAS to be 0 (otherwise you will have pixel mash all 2s)
3. usually "Balanced" "Main" gives best results
4. Coding Type could also be CABAC (better compression = 1% better quality; so not much but hey)
5. a better quality stream of 720p50 needs 4200kbps with a Buffer of 256kb
5b. 720p60 to look good would need 5000kbps with a Buffer of 288kb

here a video of the setttings you see: http://hoffmeister.tk/obs/xaymar/vids/Fetokis_720p50_3500kbps.mp4 

PC: R7 2700X @PBO + RX 580 4G (1500MHz/2000MHz CL16) + 32G DDR4-3200CL14 + 144hz 1ms FS P + 75hz 1ms FS
Laptop: R5 2500U @30W + RX 560X (1400MHz/1500MHz) + 16G DDR4-2400CL16 + 120Hz 3ms FS
369 Replies

@annihalator 

benman2785_0-1617492285345.png

benman2785_1-1617492298999.png

 

 

PC: R7 2700X @PBO + RX 580 4G (1500MHz/2000MHz CL16) + 32G DDR4-3200CL14 + 144hz 1ms FS P + 75hz 1ms FS
Laptop: R5 2500U @30W + RX 560X (1400MHz/1500MHz) + 16G DDR4-2400CL16 + 120Hz 3ms FS

@benman2785 and you dont get any fps drop? did you have the same cpu as me?

6000Kbs is for 900p50?

0 Likes

@annihalator 

What fps drop do you mean?

Ingame fps or obs drops?

Did you hit assign in notcpucores?

6000kbps is for 900p

PC: R7 2700X @PBO + RX 580 4G (1500MHz/2000MHz CL16) + 32G DDR4-3200CL14 + 144hz 1ms FS P + 75hz 1ms FS
Laptop: R5 2500U @30W + RX 560X (1400MHz/1500MHz) + 16G DDR4-2400CL16 + 120Hz 3ms FS

@benman2785 

On game bro , check if your fps in game are stable when you streaming 

yes i hit 

0 Likes

Of corse you will lose some fps - as you are giving apex 6 cores instead of 6c and 6 smt

But you will still be at good competitive framers

My specs are below 

PC: R7 2700X @PBO + RX 580 4G (1500MHz/2000MHz CL16) + 32G DDR4-3200CL14 + 144hz 1ms FS P + 75hz 1ms FS
Laptop: R5 2500U @30W + RX 560X (1400MHz/1500MHz) + 16G DDR4-2400CL16 + 120Hz 3ms FS

@benman2785 

exacly , thats why i tell you when i stream on amd encoder i dont get fps drops , but idk what settings to use on that encoder , max quality i can get from that encoder

@annihalator 

DONT use AMFenc for streaming if you can avoid it
the quality is worse than x264

how big is your impact on framerate?

PC: R7 2700X @PBO + RX 580 4G (1500MHz/2000MHz CL16) + 32G DDR4-3200CL14 + 144hz 1ms FS P + 75hz 1ms FS
Laptop: R5 2500U @30W + RX 560X (1400MHz/1500MHz) + 16G DDR4-2400CL16 + 120Hz 3ms FS

@annihalator 

IF you really want to use AMD AMFenc
download: https://github.com/Xaymar/obs-StreamFX

set it like this:

benman2785_0-1617525328339.png

with custom settings:
-usage=2 -quality=2 -profile=100 -level=42 -rc=1 -preanalysis=true -g 0 -coder=1 -qmin=21 -qmax=51 -me_half_pel=true -me_quarter_pel=true -vbaq=true -intra_refresh_mb=170

PC: R7 2700X @PBO + RX 580 4G (1500MHz/2000MHz CL16) + 32G DDR4-3200CL14 + 144hz 1ms FS P + 75hz 1ms FS
Laptop: R5 2500U @30W + RX 560X (1400MHz/1500MHz) + 16G DDR4-2400CL16 + 120Hz 3ms FS

@annihalator 

tested AMD AMF with Apex and 720p@4500kbps - it looks like trash xD

so dont use it

PC: R7 2700X @PBO + RX 580 4G (1500MHz/2000MHz CL16) + 32G DDR4-3200CL14 + 144hz 1ms FS P + 75hz 1ms FS
Laptop: R5 2500U @30W + RX 560X (1400MHz/1500MHz) + 16G DDR4-2400CL16 + 120Hz 3ms FS

@benman2785 

I loose like 40 fps , idk why , i tested stream with settings you out on 1 page and its not só bad 

0 Likes

@annihalator 

loss of 40fps is not that bad - you will still get well over 100fps
have in mind - games like Apex you play with 1080p 100% renderscale and low

if your CPU handles more stuff it cant handle more of Apex - and you are streaming
thats why i use NotCPUCores as the game still runs on physical cores while OBS with x264 runs on the "weaker" SMT cores

btw - you dont want to stream Apex with AMD AMF (settings for StreamFX provided - StreamFX uses FFmpeg to use HWacc AMD AMF) you still cant play the game on ultra because AMF also needs some ressources AND the stream quality is 10-15% worse than with x264. So fast high motion games like Apex or CounterStrike etc should always be streamed with x264 (and maybe NVenc on RTX 2000 or better)

why use StreamFX and not AMD AMFenc directly from OBS?
StreamFX and AMD AMFenc for OBS was both coded by Xaymar
StreamFX has the benefit that it uses ffmpeg and allows custom settings - you squeeze out 5% better quality with the settings i provided compared to "standard" AMF

but as i said - DONT USE AMF for games like Apex - the bitrate twitch.tv allows is not big enough to make it look good

PC: R7 2700X @PBO + RX 580 4G (1500MHz/2000MHz CL16) + 32G DDR4-3200CL14 + 144hz 1ms FS P + 75hz 1ms FS
Laptop: R5 2500U @30W + RX 560X (1400MHz/1500MHz) + 16G DDR4-2400CL16 + 120Hz 3ms FS

@benman2785 

when im streaming im playing around 80-90 fps with x264 , on amd i have around 140 144 , i need to try all settings you gave me , to install streamfx just download and install it?

0 Likes

streamFX - download from github (like provided) & install it into OBS

you have an RX 570? i think you should get more FPS in Apex while streaming

PC: R7 2700X @PBO + RX 580 4G (1500MHz/2000MHz CL16) + 32G DDR4-3200CL14 + 144hz 1ms FS P + 75hz 1ms FS
Laptop: R5 2500U @30W + RX 560X (1400MHz/1500MHz) + 16G DDR4-2400CL16 + 120Hz 3ms FS

@benman2785 

When i stream with x264 that is the fps i get , idk why , i already have windows in perfomance , game in perfomance , i already install streamfx

P.S amd enconder missing when i install streamfx

0 Likes

@benman2785 

Done , not bad quality at 720p60 with amd encoder , and not have any drop fps 

0 Likes

@annihalator 

believe me - the quality is 10-15% lower with AMF when compared to x264

also i check what performance i get - but when i had time to test Apex Servers were down

PC: R7 2700X @PBO + RX 580 4G (1500MHz/2000MHz CL16) + 32G DDR4-3200CL14 + 144hz 1ms FS P + 75hz 1ms FS
Laptop: R5 2500U @30W + RX 560X (1400MHz/1500MHz) + 16G DDR4-2400CL16 + 120Hz 3ms FS

my Ryzen 7 2700X gives 100-130fps when streaming and 110-140fps without streaming

PC: R7 2700X @PBO + RX 580 4G (1500MHz/2000MHz CL16) + 32G DDR4-3200CL14 + 144hz 1ms FS P + 75hz 1ms FS
Laptop: R5 2500U @30W + RX 560X (1400MHz/1500MHz) + 16G DDR4-2400CL16 + 120Hz 3ms FS

@benman2785 can i use this settings for 900p60? 

0 Likes

@annihalator 

with a Ryzen 5 2600 900p50/60 with:
"faster" "main" "none" 
level=4.2 cabac=1 8x8dct=1 partitions=i8x8,i4x4,p8x8,p4x4,b8x8,b4x4 ref=4 bframes=2 b-adapt=2 fast-pskip=0 rc-lookahead=30 sync-lookahead=30 me=hex merange=16 subme=6 deblock=-3:2:0 direct=auto aq-mode=3 trellis=0 deadzone-inter=11 deadzone-intra=11 psy-rd=0.1:0.0 weightp=2 weightb=1

should be fine - but check your obs log if you get encoding lag

with AMD AMF you should use StreamFX (github) and set it to:
6000kbps + 12000kb buffer (have in mind you need 15 mbit/s upload for that)
ffmpeg custom settings:
-usage=2 -quality=2 -profile=100 -level=42 -rc=1 -preanalysis=true -g 0 -coder=1 -qmin=21 -qmax=51 -me_half_pel=true -me_quarter_pel=true -vbaq=true -intra_refresh_mb=170

PC: R7 2700X @PBO + RX 580 4G (1500MHz/2000MHz CL16) + 32G DDR4-3200CL14 + 144hz 1ms FS P + 75hz 1ms FS
Laptop: R5 2500U @30W + RX 560X (1400MHz/1500MHz) + 16G DDR4-2400CL16 + 120Hz 3ms FS

hi @ benman2785, could you readjust these settings for 1600x900 @ 30fps?
I stream on twitch, my upload and download speed is 200 Mbps.

benman2785_0-1612555164224.png

0 Likes

@zothix 

hi,

1. why use AMF? what is your HW? x264 is way better quality
2. you may disable both OpenCL options - but you could also leave them enabled (depending on load of GPU)
3. disable "PrePassMode" - as it somehow makes quality worse when enabled for fast and medium movement scenes (1-3% less quality)
4. given that you have 200MBit/s upload i would suggest using atleast 3000kb as buffer; maybe even 12000kb (2x fps)
5. use bilinear or bicubic filter for scaleing

EDIT:
if you insist on AMF - download StreamFX (from Xaymar at github) and use custom settings:
-usage=2 -quality=2 -profile=100 -level=42 -rc=1 -preanalysis=true -g 0 -coder=1 -qmin=21 -qmax=51 -me_half_pel=true -me_quarter_pel=true -vbaq=true -intra_refresh_mb=170


PC: R7 2700X @PBO + RX 580 4G (1500MHz/2000MHz CL16) + 32G DDR4-3200CL14 + 144hz 1ms FS P + 75hz 1ms FS
Laptop: R5 2500U @30W + RX 560X (1400MHz/1500MHz) + 16G DDR4-2400CL16 + 120Hz 3ms FS

when i test and use -usage=2  on AMF ffmpeg i got minuss 10-30fps and what about this parametr? -g 0 its corect? or need -g=0. ? many do not want to use x264 because then it has to be used in addition nocpcores or process lasso.And not all games work correctly with this tools.Example in rust game i got more cpu load when i use notcpucores lol kekw  What e weight to say never in the future I will no longer buy AMD GPU. And I would not recommend to others.If they for years can't fix the encoder.Encoder without b-frames support OMG.Many people view what video cards streamers have and buy themselves such.And that's good free advertising.But amd everything doesn't matter. When prices stabilize I will buy myself an RTX and never buy an AMD product again.With processors is the same .Prices for the new generation to high!I don't see the point in buying a processor with less fps at same intel price!We expect normal prices, sell our amd gpu and buy nvidia products and never buy AMD again.Thanks, AMD and bye.

 

0 Likes

@rursi 

1. AMF supports b-frames // but only R9 380 and 385 i guess
2. x264 is even better than NVenc (but NVenc is better than AMFenc and AMFenc is better than QSVenc (Intels QuickSync))
3. why my custom settings:

-usage=2 // uses "LowLatency" // you can also try 0 or 3 - but 2 usually improves quality for fast motion streaming
-quality=2 // "Quality" Preset // in combo with -usuage=2 you get better quality as "balanced"
-profile=100 // "High" profile // no need to change that
-level=42 // level 4.2 is fine for up to 1080p60
-rc=1 // forces CBR (required for streaming)
-preanalysis=true // enables "PrePass" - SOME games benefit - others get worse // can maybe be disabled

-g=0 // sets GOP to "auto" // COULD be set either 1/2fps or 1x fps or 2x fps

-coder=1 // forces CABAC (better quality due to better compression)(adds some load to GPU)
-qmin=21 // standard for QP min
-qmax=51 // standard for QP max
-me_half_pel=true // enables motion estimation for half-subpixels
-me_quarter_pel=true // enables motion estimation for quarter-subpixels
-vbaq=true // forces VBAQ to on // improves quality in 99% of cases
-intra_refresh_mb=170 // "limits" (and often overwrites with higher value) the refresh of macroblocks // should be "0" OR atleast "128" // Games like Wither 3 benefit from 170 // Games like the divison benefit from 128 

why buy Nvidia? they are DESTROYING the industry with their proprietary excrements - and they are bribing game studios to cripple AMD GPUs etc...
btw Nvidia has had worse drivers than AMD over the last decade - just look at their driver forums and you will see

PC: R7 2700X @PBO + RX 580 4G (1500MHz/2000MHz CL16) + 32G DDR4-3200CL14 + 144hz 1ms FS P + 75hz 1ms FS
Laptop: R5 2500U @30W + RX 560X (1400MHz/1500MHz) + 16G DDR4-2400CL16 + 120Hz 3ms FS

Man AMD gpu for streaming = trash!!! My friend have rtx ! Quality very very nice no lags he play & stream on same pc no lags no stutters !!! And for streams use chat software etc cpu work on game and chat tools.GPU encode stream all fine all smooth.No b-frames on new generation gpu AMD HAHA.AMD gpu suck!check twitch all TOP streamers on NVIDIA because amd encoder realy suck.in 2021 not normal stream games on x264 if u have single pc.NVIDIA make great encoder.If someone ask me buy or not AMD GPU my answer 100% dont buy this trash!Next time i pay 50-100$ more but i got nice encoder!And about drivers all fine with nvidia.All new modern game support more nvidia then amd!call of duty etc.I dont see reason to buy trash amd gpu product in 2021.And video editors "movavi" and more others dont like trash amd gpu.thats all

WELCOME TO AMD AMF PIXEL-WORLD !!! 3200 bitrate normal encoder?

AMD AMF ENCODER 3200 BITRATEAMD AMF ENCODER 3200 BITRATE

screen captured when i move and this not hard scene  

0 Likes

@benman2785 did you see the new update drivers for graphics? the av1 encoder its already present on obs?

0 Likes

@annihalator 

1. ONLY on Radeon RX6000 GPUs (RDNA2)
2. not in OBS so far - as the driver is out since 2-3 weeks (as dev-driver)
3. afaik it doesnt support AV1 for live-streaming (but i can check that)

PC: R7 2700X @PBO + RX 580 4G (1500MHz/2000MHz CL16) + 32G DDR4-3200CL14 + 144hz 1ms FS P + 75hz 1ms FS
Laptop: R5 2500U @30W + RX 560X (1400MHz/1500MHz) + 16G DDR4-2400CL16 + 120Hz 3ms FS
0 Likes

@rursi 

haha - WHY those stupid comments?

1. Nvidia ALSO ONLY supports DECODE! - as shown HERE https://developer.nvidia.com/video-encode-and-decode-gpu-support-matrix-new
2. h264 - yes Nvidia is better - BUT NVenc h264 uses more CPU than AMD as they cheat some stuff with it
3. again: i personally would NEVER BUY Nvidia - due to their market practices and anti-consumer technologies...
4. let me guess - you only use windows "klickibunti" (german for "wildly clicking everywhere") style

PC: R7 2700X @PBO + RX 580 4G (1500MHz/2000MHz CL16) + 32G DDR4-3200CL14 + 144hz 1ms FS P + 75hz 1ms FS
Laptop: R5 2500U @30W + RX 560X (1400MHz/1500MHz) + 16G DDR4-2400CL16 + 120Hz 3ms FS
0 Likes

if nvenc eat 1% more cpu and give me beter quality its OK!On desktop i use windows because i like play modern games and dont like use wine etc on linux who eat more cpu,ram etc! On VPS i use only debian and bsd so?i mean when if amd can't in 2021 year give normal encoder for customers!Then the quality what offers amd is disrespect to the viewer.AMD please to stop production trash GPU without normal encoder and better make toasters so that people can enjoy breakfast.

0 Likes

@annihalator 

ALWAYS use x264 if your CPU allows that - its better than NVenc or AMFenc

100% quality = x264 "fast/faster"
98% quality = NVenc
94% quality = AMFenc

PC: R7 2700X @PBO + RX 580 4G (1500MHz/2000MHz CL16) + 32G DDR4-3200CL14 + 144hz 1ms FS P + 75hz 1ms FS
Laptop: R5 2500U @30W + RX 560X (1400MHz/1500MHz) + 16G DDR4-2400CL16 + 120Hz 3ms FS

Hi, I am using the same settings to render my graphics on Blender on "Cycles" in 1080p, and it really does pixels rendering very slow. But I love the archiving process  in Blender's new renderer which is extremely fast and does real-time rendering with ray tracing. Thank you for the information.

0 Likes

amf.jpg 

link to plugin : https://github.com/e00E/obs-amf

nice, what settings are good? im gonna mess around with it rn

0 Likes
ialexusman
Journeyman III

I've been playing with the settings in OBS for a better quality on twitch to absolutely no avail. My issue isn't so much game quality, it's the webcam quality. The game usually looks okay no matter what settings I use but when I encode using the hardware AVC/AMF encoder, my webcam is completely and totally pixelated while any slight movement is happening in the game. I've gone through and tried these settings you've given to others and they don't work. I usually stream in 720p 60fps.

0 Likes

This what I get in a medium hard to encode scene:
http://benmanshafen.de/obs/720p60_sFX-webcam.mp4

download: https://github.com/Xaymar/obs-StreamFX (latest beta)
set it to:

alexusman_0-1617806987395.png

 

with custom FFmpeg options:
-usage=2 -quality=2 -profile=100 -level=42 -rc=1 -preanalysis=true -g 0 -coder=1 -qmin=18 -qmax=46 -me_half_pel=true -me_quarter_pel=true -vbaq=true -intra_refresh_mb=255

have in mind:
1. webcam should be set correctly // in my case its:

alexusman_1-1617806987860.png

 

same colorspace as stream and fitting FPS (29.97fps gets smoothest video for MY webcam)
reso of 424x240 is enough when webcam overlay isnt that big.

2. set filtering in OBS for Webcam: point or bilinear or area are ok and dont produce much load

3. IF you have a hard to encode scene (e.g. in games like Witcher 3) than you should use NVencbill or better x264 for encoding - as AMFenc is only 88-95% of x264 while NVenc is 95-98% of x264)
 

PC: R7 2700X @4.1GHz + RX 580 4G (1500MHz/2000MHz CL16) + 32G DDR4-3200CL14 + 144hz 1ms FS P + 75hz 1ms FS
Laptop: R5 2500U @30W + RX 560X (1400MHz/1500MHz) + 16G DDR4-2400CL16 + 120Hz 3ms FS
0 Likes

@ialexusman 

you can try to use StreamFX with the settings i provided some posts earlier - this will give 2-5% better quality (depending on the scene) - but it will still look pixely...
AMF is good for high bitrate encoding - but not so good for streaming

if you want best quality use x264 with the settings i provided.

720p60 (or quality-wise better 720p50) should be fine with a Ryzen 5 1600 or better 6C/12T CPU (use NotCPUCores to force game on 6 SMT cores)


PC: R7 2700X @PBO + RX 580 4G (1500MHz/2000MHz CL16) + 32G DDR4-3200CL14 + 144hz 1ms FS P + 75hz 1ms FS
Laptop: R5 2500U @30W + RX 560X (1400MHz/1500MHz) + 16G DDR4-2400CL16 + 120Hz 3ms FS

Hello @benman2785 

I've been researching x264 (and presets) for a while now and came across this forum. I have tested some of your suggestions in the many posts myself, as I prefer to stream to twitch with x264 (10mbit upload).
I fluctuate back and forth between the resolutions as I'm not sure what actually looks better and what is possible with a maximum of 6mbit.
Currently I'm streaming on x264 864p50 with lanczos, CBR 6000 Kbps, buffer 2000, medium, baseline, none as well as the following x264 options: level=4. 1 force-cfr=1 cabac=1 deblock=-3:2 rc-lookahead=10 sync-lookahead=5 aq-mode=1 aq-strength=1.33. (CPU: Ryzen 9 5950x, GPU: NVidia 2080Ti - yes I know I can also stream via Nvenc but I prefer x264).
I had previously tried many resolutions from 720p, 864p on setting "slow", only that is just a decent load and may not be suitable for live streaming.
-> I also use "NotCPUCores" like you recommended in several posts
-> Your hint to add a buffer made my bitrate more stable (6000 bitrate -> 2000 buffer).

The reason I use these x264 options is because a few posts ago, someone with a 3900x asked for your help. I have adopted these settings for now and tested them myself. A few posts earlier, however, you said that all your recommendations are adapted to the respective hardware.

Do you have a recommendation for me? (Games: currently no FPS, rather games like Satisfactory, Anno 1800, Witcher 3). However, I do have one request: can you explain why the settings should be used? I am trying to some extent to understand why certain settings are applied.

Then I have two more questions:
1) I also tested your suggestions regarding 720p50 / 720p60 with 4500bitrate and it didn't look good for me. I may have set something wrong there. On Twitch I see many streaming at 6000bitrate on 720p60 and the picture looks fine. By the way, I know the Twitch encode settings, but I wouldn't have guessed that the bitrates given there are to be taken as the exact bitrate for the respective resolution. Am I perhaps misunderstanding something here?

2) I have read that the "true 16:9" resolutions are better for encoding. Do you know anything about this? This is why I don't use 900p as resolution, but 864p/720p.

Thank you in advance and also thank you for taking on the questions here. Sorry for this mile post

 

 

 

 

 

0 Likes

@owl 

1. if you stream 720p50/60 twitch.tv only allows 4500kbps - otherwise you will have problems
1b. if you stream 900p50/60 twitch.tv allows 6000kbps
1c. 1080p50/60 is also just 6000kbps - therefore quality of 1080p60 is lower than 900p60 with same bitrate

2. 900p is fine for twitch.tv! actually its "better" than 864p - because on website with open chat the video-window is 1600x900 // so with 864p your browser will upscale your video
2b. qualitywise 864p is "better" than 900p due to its 36x24 vs 37.5x24 && you have same bitrate for 112896 pixels less = higher quality // but given 2. you should still use 900p (and i am not 100% sure if twitch.tv needs 900p to extent bitrate limit 6000kbps or if 864p is enough

3.
level=4.2 - forces 900p/1080p60 compatibility // you can use higher levels too

cabac=1 - forces to use higher compression compared to CALV - but higher load on cpu // higher compression = higher quality

8x8dct=1 - forcing it in baseline and main (because its a option only active in "high" profile) // used for better quality of 8x8 transform

partitions=p8x8,b8x8,i8x8,i4x4 - is actually pretty standard - but i for testing you can use: p8x8,p4x4,b8x8,i8x8,i4x4 (but you have higher load on CPU for minimal quality gain)

ref=4 - 4 ref frames (3 would be standard)

bframes=2 - improve compression

b-adapt=1 - forced faster b-adapt (improves speed of encoder) // you can try "2" but then shouldnt go higher than 2 bframes (and even this can sometimes reduce encoding speed under 60fps)

fast-pskip=0 - disables fast skipping of p-frames // improves compression and quality - but makes encoding slower 

rc-lookahead=25 - 1/2fps as lookahead is good (here for 50fps) // when using 60fps use 30 here // high values doesnt benefit much and make the encoder slow

sync-lookahead=25 - limits lookahead-frames to 1/2fps // use "30" for 60fps // speeds up encoding a little and lowers ressources x264 threads use

me=hex - hexagonal motion estimation // "umh" is overkill and to slow // stick to "hex"

merange=16 - is standard for "hex" and "dia" // you can leave that in as it simply forces the standard

subme=6 - is for subpixel search // min "6" is needed when using psy-rd // Multi-QPel + bi-directional search + RDO on i and p frames // you cant try to use 7 or 8 with your 3900X when you give OBS 12 SMT cores

deblock=-3:2:0 - 95% of games look better with this deblocking options // is more personal preference // you can remove this if you want and check yourself

direct=spatial - forces x264 to be more "streaming friendly" as "auto" includes "temporal" which mostly only benefits for 2pass encoding // speeds up encoding // you can set it to "auto" and test yourself if you have encoding lag

aq-mode=2 - forces "adaptive quantization over several frames" (allocates bits over several frames to specific areas to improve picture quality) // you can try "3" too
trellis=0 - disables trellis // improves encoder performance // some people say use "at least trellis=1" but deadzone-intra and deadzone-inter do mostly the same job for 80% less load compared to "trellis=1"

deadzone-inter=11 - can be set from 0-32 // 0-10 = lower compression but more details - but result in to much bitrate && 11-13 remain high detail with moderate bitrate && 14-22 remain good detail with lower bitrate && 23-28 remain "enough" detail with low resulting bitrate && 29-32 make it "flat" with less detail but low bitrate // works for p and b frames

deadzone-intra=11 - same as inter but for i frames

psy-rd=0.1:0.0  - uses math to make the picture "more pleasing" to the human eye // i only use psy-rd and not psy-trellis (as trellis is "0") // 0.1 pretty low = you can try 0.15 or 0.2 or 0.25 or 0.3 // dont go over 0.3

weightp=1 - enables "blind" motion compensation in p frames // you can try set it to "2"

weightb=1 - enables "blind" motion compensation in b frames // you cant try set it to "2"

PC: R7 2700X @PBO + RX 580 4G (1500MHz/2000MHz CL16) + 32G DDR4-3200CL14 + 144hz 1ms FS P + 75hz 1ms FS
Laptop: R5 2500U @30W + RX 560X (1400MHz/1500MHz) + 16G DDR4-2400CL16 + 120Hz 3ms FS

here a test video with 8 SMT cores for OBS (and other apps) while game runs on 8 physical cores

900p50@6000kbps + 3000kb buffer
"faster" "main" "none"

level=4.2 cabac=1 8x8dct=1 partitions=p8x8,p4x4,b8x8,i8x8,i4x4 ref=4 bframes=2 b-adapt=2 fast-pskip=0 rc-lookahead=25 sync-lookahead=25 me=hex merange=16 subme=6 deblock=-3:2:0 direct=auto aq-mode=3 trellis=0 deadzone-inter=11 deadzone-intra=11 psy-rd=0.1:0.0 weightp=2 weightb=2

22:41:29.124: ==== Streaming Start ===============================================
22:41:31.000: socket_thread_windows: Increasing send buffer to ISB 131072 (buffer: 0 / 780288)
22:41:34.298: socket_thread_windows: Increasing send buffer to ISB 262144 (buffer: 0 / 780288)
22:42:28.262: socket_thread_windows: Increasing send buffer to ISB 524288 (buffer: 0 / 780288)
22:43:09.480: Stopping stream due to hotkey
22:43:10.757: [rtmp stream: 'adv_stream'] User stopped the stream
22:43:10.757: socket_thread_windows: Normal exit
22:43:10.758: Output 'adv_stream': stopping
22:43:10.758: Output 'adv_stream': Total frames output: 5019
22:43:10.758: Output 'adv_stream': Total drawn frames: 5107
22:43:10.761: ==== Streaming Stop ================================================

benman2785_0-1617828512541.png

no big drops or high peaks - good to maintain a "constant" quality

here the orginal video:
http://benmanshafen.de/obs/900p50_07-April-2021.mp4 

PC: R7 2700X @PBO + RX 580 4G (1500MHz/2000MHz CL16) + 32G DDR4-3200CL14 + 144hz 1ms FS P + 75hz 1ms FS
Laptop: R5 2500U @30W + RX 560X (1400MHz/1500MHz) + 16G DDR4-2400CL16 + 120Hz 3ms FS

maybe this post is now double - but my last post was edited to often so it doesnt show for me

i tested a slightly different version of my settings:

900p50@6000kbps + 3000kb buffer
"faster" "main" "none"
level=4.2 cabac=1 8x8dct=1 partitions=p8x8,p4x4,b8x8,i8x8,i4x4 ref=4 bframes=2 b-adapt=2 fast-pskip=0 rc-lookahead=25 sync-lookahead=25 me=hex merange=16 subme=6 deblock=-3:2:0 direct=auto aq-mode=3 trellis=0 deadzone-inter=11 deadzone-intra=11 psy-rd=0.1:0.0 weightp=2 weightb=2

http://benmanshafen.de/obs/900p50_07-April-2021.mp4 (this is how my stream would look like on twitch.tv)

benman2785_0-1617829631059.png

we see no big drops and no big spikes = constant quality
we also stay in bitrate limits of twitch.tv

OBS log
22:41:28.609: Starting stream due to hotkey
22:41:28.617: ---------------------------------
22:41:28.617: [x264 encoder: 'streaming_h264'] preset: faster
22:41:28.617: [x264 encoder: 'streaming_h264'] profile: main
22:41:28.617: [x264 encoder: 'streaming_h264'] x264 param: weightb=2 failed
22:41:28.617: [x264 encoder: 'streaming_h264'] settings:
22:41:28.617: rate_control: CBR
22:41:28.617: bitrate: 6000
22:41:28.617: buffer size: 3000
22:41:28.617: crf: 0
22:41:28.617: fps_num: 50
22:41:28.617: fps_den: 1
22:41:28.617: width: 1600
22:41:28.617: height: 900
22:41:28.617: keyint: 100
22:41:28.617:
22:41:28.618: [x264 encoder: 'streaming_h264'] custom settings:
22:41:28.618: level = 4.2
22:41:28.618: cabac = 1
22:41:28.618: 8x8dct = 1
22:41:28.618: partitions = p8x8,p4x4,b8x8,i8x8,i4x4
22:41:28.618: ref = 4
22:41:28.618: bframes = 2
22:41:28.618: b-adapt = 2
22:41:28.618: fast-pskip = 0
22:41:28.618: rc-lookahead = 25
22:41:28.618: sync-lookahead = 25
22:41:28.618: me = hex
22:41:28.618: merange = 16
22:41:28.618: subme = 6
22:41:28.618: deblock = -3:2:0
22:41:28.618: direct = auto
22:41:28.618: aq-mode = 3
22:41:28.618: trellis = 0
22:41:28.618: deadzone-inter = 11
22:41:28.618: deadzone-intra = 11
22:41:28.618: psy-rd = 0.1:0.0
22:41:28.618: weightp = 2
22:41:28.618: weightb = 2
22:41:28.630: ---------------------------------
22:41:29.124: ==== Streaming Start ===============================================
22:41:31.000: socket_thread_windows: Increasing send buffer to ISB 131072 (buffer: 0 / 780288)
22:41:34.298: socket_thread_windows: Increasing send buffer to ISB 262144 (buffer: 0 / 780288)
22:42:28.262: socket_thread_windows: Increasing send buffer to ISB 524288 (buffer: 0 / 780288)
22:43:09.480: Stopping stream due to hotkey
22:43:10.757: [rtmp stream: 'adv_stream'] User stopped the stream
22:43:10.757: socket_thread_windows: Normal exit
22:43:10.758: Output 'adv_stream': stopping
22:43:10.758: Output 'adv_stream': Total frames output: 5019
22:43:10.758: Output 'adv_stream': Total drawn frames: 5107
22:43:10.761: ==== Streaming Stop ================================================

we see "weightb=2 failed" = we use weightb=1 instead now

PC: R7 2700X @PBO + RX 580 4G (1500MHz/2000MHz CL16) + 32G DDR4-3200CL14 + 144hz 1ms FS P + 75hz 1ms FS
Laptop: R5 2500U @30W + RX 560X (1400MHz/1500MHz) + 16G DDR4-2400CL16 + 120Hz 3ms FS

http://benmanshafen.de/obs/900p50_07-April-2021_2.flv

900p50@6000kbps + 3000kb buffer
"faster" "main" "none"
level=4.2 cabac=1 8x8dct=1 partitions=p8x8,p4x4,b8x8,i8x8,i4x4 ref=4 bframes=2 b-adapt=2 fast-pskip=0 rc-lookahead=25 sync-lookahead=25 me=hex merange=16 subme=6 deblock=-3:2:0 direct=auto aq-mode=3 trellis=0 deadzone-inter=11 deadzone-intra=11 psy-rd=0.1:0.0 weightp=2 weightb=1
PC: R7 2700X @PBO + RX 580 4G (1500MHz/2000MHz CL16) + 32G DDR4-3200CL14 + 144hz 1ms FS P + 75hz 1ms FS
Laptop: R5 2500U @30W + RX 560X (1400MHz/1500MHz) + 16G DDR4-2400CL16 + 120Hz 3ms FS