Jump to content

Hello!

 

I have streamed a couple of times using OBS, but never got around to actually

setting up everything correctly for that. Here are all my OBS settings in detail:

 

Output Mode: Advanced

Audio Track: 1

Encoder: NVENC H.264

Enforce streaming service encoder settings: Yes

Rescale Output: Yes (1280x720)

Rate Control: CBR

Bitrate: 1800

Keyframe Interval: 0

Preset: Default

Profile: main

Level: auto

Use Two-Pass Encoding: Yes

GPU: 0

B-frames: 2

 

 

 

 

I can organize a second PC with quite a lot of processing-power and a capture card,

so just give me your most ridiculous settings to save as much data-traffic as possible

while maintaining an okay quality at 720p or 1080p. In case the PC can't handle it, I can

still fiddle around with some of these settings. I can't afford faster internet, so for now

I am stuck with a download of 4MB (32Mbit) and an upload of 0.25MB (2Mbit) per second.

So the maximum bitrate in OBS would be about 1800, any higher and I can see my

ping climbing.

 

Thanks in advance for your answers!

Link to post
Share on other sites

OBS can support over 10.000 bitrate. Ive recorded with that number. (On amd's encoder)

 

Edit:

Sorry just reread your post. 

 

Turn your resolution down. Try 480p 30fps or something. Maybe drop to 24 so the picture looks better. 24 should be low enough that your bitrate has more bits per frame. 

Edited by fpo
Link to post
Share on other sites

7 minutes ago, fpo said:

OBS can support over 10.000 bitrate. Ive recorded with that number. (On amd's encoder)

 

Edit:

Sorry just reread your post. 

 

Turn your resolution down. Try 480p 30fps or something. Maybe drop to 24 so the picture looks better. 24 should be low enough that your bitrate has more bits per frame.

 

EDIT

 

OBS supports any bitrate, I can record with 100k if I wanted.

 

I am not using my CPU to encode, I'm using my GPU because of the Nvidia Encoder. My current CPU is the R7 1800X.

 

 

There are a couple of settings that probably can give me a better bitrate. When I stream right now, it just sometimes gets a little bit pixelated when there's a lot of movement involved. I know how to get a video file smaller in size without compromising too much quality, I just thought that I can somehow get a better bitrate or quality in general.

Link to post
Share on other sites

Just now, Puntherline said:

OBS supports any bitrate, I can record with 100k if I wanted.

 

The highest allowed on twitch is 6000, and you will not get banned if you go over that.

 

I don't get charged for how much I use and I don't have any up or download limits in terms of file size.

 

I am not using my CPU to encode, I'm using my GPU because of the Nvidia Encoder. My current CPU is the R7 1800X.

I edited my post sorry. 

Link to post
Share on other sites

1 minute ago, fpo said:

If the video gets blurry with movement, find a setting to prefer quality. i forget where it's located though. I had this problem too. My solution was to hammer it with bitrate which didn't help haha. 

When I record I go up to a bitrate of 50k, that usually helps against this pixelated mess. But when streaming, I have to work with 1800. I thought that different presets would help to somehow reduce the bitrate it takes.

Link to post
Share on other sites

Hardware encoders like nvEnc or AMD's AMF (or older VCE) have a fixed amount of processing power, and they're usually optimized for real time (lots of fps encoded) while sacrificing quality, so if you use such encoders it helps if you give them lots of bitrate.

Obviously, at small bitrates like 2 mbps , quality would suffer.

 

For best quality at lowest bitrates, you should use x264 software encoder option  to compress the stream.

For 2 mbps upload bandwidth, I'd suggest going with something like VBR 1.5mbps , maximum 1.8 mbps and I'd even go so far as suggesting to resize the stream to 50% of 1920x1080 , meaning 960x540 , instead of resizing 1920x1080 to 1280x720 ... resizing to exactly 50% would be much easier

In OBS Studio, you can then play with the profile, raising the encoding complexity as much as you can without dropping frames (or losing game performance if you're doing the encoding on same computer)

You can play with Profile Main or High, though High won't make much difference at 720p or lower , you can use Tune animation if your games use cell shading (borderlands , the walking dead style games) , but what will affect most the quality will be the CPU Usage preset where ultrafast is super fast but low quality and the more you go towards placebo, the more time x264 will spend to figure out how to squeeze more quality in that bitrate (less than 2mbps)

..and of course, you can squeeze even more quality by adding custom parameters like custom deblocking parameters, forcing keyframes every n seconds instead of the default, forcing the codec to limit maximum bitrate (in vbr) to some treshold and so on...

 

 

IF you have two computers, you can use NDI to transfer the captured frames to a second computer where the processor of that computer could do the software encoding: https://obsproject.com/forum/threads/ndi-input-output-plugin-for-obs-studio.69240/

 

 

Link to post
Share on other sites

just downloaded obs again.

1. In the output tab, select enable advanced encoder settings (simple mode)

you can change encoder preset to slower settings and the quality will be better.

(advanced mode) cpu usage preset, then set to slower for better picture.

 

Link to post
Share on other sites

11 minutes ago, mariushm said:

Hardware encoders like nvEnc or AMD's AMF (or older VCE) have a fixed amount of processing power, and they're usually optimized for real time (lots of fps encoded) while sacrificing quality, so if you use such encoders it helps if you give them lots of bitrate.

Obviously, at small bitrates like 2 mbps , quality would suffer.

 

For best quality at lowest bitrates, you should use x264 software encoder option  to compress the stream.

For 2 mbps upload bandwidth, I'd suggest going with something like VBR 1.5mbps , maximum 1.8 mbps and I'd even go so far as suggesting to resize the stream to 50% of 1920x1080 , meaning 960x540 , instead of resizing 1920x1080 to 1280x720 ... resizing to exactly 50% would be much easier

In OBS Studio, you can then play with the profile, raising the encoding complexity as much as you can without dropping frames (or losing game performance if you're doing the encoding on same computer)

You can play with Profile Main or High, though High won't make much difference at 720p or lower , you can use Tune animation if your games use cell shading (borderlands , the walking dead style games) , but what will affect most the quality will be the CPU Usage preset where ultrafast is super fast but low quality and the more you go towards placebo, the more time x264 will spend to figure out how to squeeze more quality in that bitrate (less than 2mbps)

..and of course, you can squeeze even more quality by adding custom parameters like custom deblocking parameters, forcing keyframes every n seconds instead of the default, forcing the codec to limit maximum bitrate (in vbr) to some treshold and so on...

 

 

IF you have two computers, you can use NDI to transfer the captured frames to a second computer where the processor of that computer could do the software encoding: https://obsproject.com/forum/threads/ndi-input-output-plugin-for-obs-studio.69240/

 

 

Wow, I did not expect such a detailed answer. Thank you very much for that!

I have tried out some of your suggestions and they do work wonders,

the quality is higher, as is the CPU usage, but that's no problem,

I'll just set up my second PC and go for the "veryslow" or "placebo" setting.

 

PS: To know how high I can go with my bitrate, I did a continuous ping test with the

cmd (ping www.google.com -t) while raising the bitrate higher and playing GTA Online.

It stayed at 25-30 until I went above a bitrate of 1850.

Link to post
Share on other sites

Never use placebo, it's extremely complex and heavy on processor (and yes, extremely high quality) but technically it will only bring something like less than 0.5% higher quality compared to veryslow preset, for maybe 50% to 100%+ more processing time compared to "veryslow" or "slower" presets.

It's almost never used.

In general, anything higher than "slow" will bring less and less quality improvements for significantly more processing power required.

 

Also, when using placebo, the stream sent to twitch may be encoded in such a way that it makes it harder to be decoded back by video cards or software on people's computers, if they're using "Source" quality in Twitch .. so in people's browsers, your stream may have issues. Twitch may even complain and stop your stream if you use it. Really, there's no point in using "placebo"

 

ping will be useless to test your latency. Often, computers at the other end will refuse to reply to ping requests or will reply only to some requests, and that could make you think the connection is worse than in reality.

 

Use a software like WinMTR which will tell you how much latency will be between your computer and other computers on the way to the destination computer. For example, enter twitch.tv or amazon.com or a well known domain name (but try to avoid google.com as google has computers all over the world and you'll automatically get a server very close to you which will make this scan pointless) and start the scan in that software.

 

While playing with various maximum bitrates, use WinMTR to inspect and see at what point the latency increases to the point where multiplayer games will be hard to play.

 

Link to post
Share on other sites

15 minutes ago, mariushm said:

Never use placebo, it's extremely complex and heavy on processor (and yes, extremely high quality) but technically it will only bring something like less than 0.5% higher quality compared to veryslow preset.

It's almost never used.  In general, anything higher than "slow" will bring less and less quality improvements for significantly more processing power required.

 

Also, when using placebo, the stream sent to twitch may be encoded in such a way that it makes it harder to be decoded back by video cards or software on people's computers, if they're using "Source" quality in Twitch .. so in people's browsers, your stream may have issues. Twitch may even complain and stop your stream if you use it. Really, there's no point in using "placebo"

 

ping will be useless to test your latency. Often, computers at the other end will refuse to reply to ping requests or will reply only to some requests, and that could make you think the connection is worse than in reality.

 

Use a software like WinMTR which will tell you how much latency will be between your computer and other computers on the way to the destination computer. For example, enter twitch.tv or amazon.com or a well known domain name (but try to avoid google.com as google has computers all over the world and you'll automatically get a server very close to you which will make this scan pointless) and start the scan in that software.

 

While playing with various maximum bitrates, use WinMTR to inspect and see at what point the latency increases to the point where multiplayer games will be hard to play.

 

Thanks, I didn't know that. I'll try out some different settings and see how well it runs on other peoples' computers.

 

I tried out WinMTR while raising the bitrate and my ping stated slowly climbing when I went over a bitrate of 1800. (1800=25ms, 1850=40ms, 1900=60ms, 1950=80ms, 2000=150ms) (Edit: pinged google, the website of my city, the website of the city where the twitch servers are located and twitch itself)

 

Again, thank you very much for helping me out.

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×