Question / Help How to stream 720p properly with a 1440p monitor?

Crabby654

New Member
Hey guys! So here is my initial question. What is the best way to stream 720p while playing on a 1440p monitor?

Ideally I want to be able to stream at 720p30fps so I can have as many viewers as possible. Right now I have been setting my resolution in OBS to 1080p and then downscaling to 720p at 2750 BitRate/Buffer but I am honestly not sure if that makes sense? Should I be doing it a different way? Last night while I started streaming The Witcher 3, I was all of a sudden getting stutters on OBS but not the game, no loss of frames or anything, just stuttering.

Also I am curious the affect that the video filter will have on CPU usage or upload if anyone happens to know? (Lanczos and Bicubic)

Here are my computers stats:
i7-4770k
GTX 980 Ti
16Gb 2400Mhz Ram
Upload Speed: 12Mbps

Edited for 8/19/2015 OBS Log File - http://pastebin.com/vWrwG3pF

Thank you guys for any help! :)
 
Last edited:

FerretBomb

Active Member
Set your OBS resolution to 2560x1440 if possible, capture native-size, and use the downscale dropdown for resizing to 720p before it gets sent out.
If you're unable to do that, set the base resolution to 1280x720 and resize the source in the preview.

If you're set to 1080p and squash the source, then downscale that using the dropdown, you'll be taking twice the quality loss hit; the in-preview squash-style downscale is a lower quality scaling method, and is individually per-source, so you'll get more artifacts and blur.

Downscaling through the dropdown only will do a full-frame rescale post-compositing, which will help to maintain more relative image fidelity (think of it like a full-frame antialiasing).

The rescale methods (Bicubic/Lanczos) are more a matter of personal preference, and won't realistically cause a performance hit on any modern GPU. I'd probably go with Bicubic (but test all of them!) as you're going with a power-of-two downscale; essentially each 4 pixels become 1 pixel in the downscaled frame, which bicubic tends to work well with, and I believe can provide more clarity on text (one of the big problems with downscaling; maintaining readability).
 

Crabby654

New Member
Oh wow thank you for the detailed information! Now will this affects viewers? I have it at 720p30fps using 2700 bitrate and s couple people are saying they can't watch because it keeps buffering. I feel like the difference between in movement quality between 2500 bitrate and 2700 is huuuuge, but then again I haven't chose my settings properly.

I care more about the most people being able to watch really, with minimal buffering.
 

Cryonic

Member
Well, are you partnered on twitch?
Do you get transcoding withhin minutes?
If not, try to drop your bitrate to like 2300 or even lower. Or just tell the people to talk to their ISP if you got only a couple of people who cant watch.
 

Crabby654

New Member
I am not partnered and average around 15 viewers so no transcoding for me. But man when I lower the bitrate below 2500 it just doesn't look good at all to me, however I have OBS resolution set to 1080p and downscaled to 720p so many setting OBS to 1440p will help. I'm scared of heavy movement games like the witcher 3 and the quality loss.
 

Cryonic

Member
It will look ugly. This is why i never go below 3500, doesnt matter what. And i throw some extra CPU power at this thing just to make it look slightly better.
But some people just seem to ignore everything (and also the fact that working with the ISP will solve the issue!) and many people lowering the bitrate to a level that i dont want to see in 2015..
 

FerretBomb

Active Member
Post a logfile. Seriously, we need it to be able to point out issues and see what's happening on the back end. Do it from the Help menu, and post the link it gives you here.

2000kbps is the recommended maximum for non-partners, based on user metrics released by Twitch a while back. Go over this (even to 2500) and you'll have more and more people buffering. If people can't watch your stream, why stream at all, after all?

If you're using VCE, NVENC or QSV, stop it. They all offer very poor encoding quality, and will look *significantly* worse than x264 Veryfast. With your CPU you can probably drop to Faster or Fast when streaming at 720p, depending on the game you're playing (BF4, ArmA II/III are all badly coded and will eat CPU, and DayZ is notoriously hard on encoders). The slower the preset, the better the compression that's used, and the better your stream will look at a given bitrate. But start with Veryfast and go one step down at a time, testing each for at least 20-30 minutes, watching your CPU temperatures and throttling to make sure you're not overworking it.
 

Crabby654

New Member
I will post the log file when I get home from work today! I haven't messed with encoders or anything. I want to set the speed thing to faster but I'm slightly hesitant since witcher 3 was stuttering with veryfast but that might have been because I was doing monitor capture and not game capture.

If I set it to Faster, how much bitrate would it take off of 2500 to get the same quality?
 

Cryonic

Member
Its almost impossible to say. You can shave some bitrate, but bitrate is the most important part. Even the best CPU cant replace the lack of bitrate.
Try 720p, 60fps, faster. With some low impact games you can go to fast. And try bitrate from 2300 down to 2000 until your people stop complaining. But the better way would be - tell your people to fix their connection to the San Francisco Twitch.TV server.
 

Crabby654

New Member
I'm not sure if the log will say it but I am using Windows 10 and I have my 4700k overclocked to 4.4Ghz.

So the log file is too big and I made a pastbin out of it! Here is the link for it: http://pastebin.com/vWrwG3pF

EDIT: So Just now I set my OBS to 1440p, downscale of 720p (2.00x) and the Lancosz filtering. I also set my Bitrate/buffer to 2000 and then set the speed to Faster and OBS only used 7-10% CPU and the witcher 3 used 20-30%. I just did a "preview" on OBS which I want to say would be the same load? I noticed no stuttering and the quality looked decent on OBS. Hmmmmm
 
Last edited:

FerretBomb

Active Member
Yep, you can go down another step until you start using up too much CPU or your system starts overheating. An i7-4770k probably can go down a few steps (maybe even to Medium or lower), but it's best to go one at a time and test the whole way, with actual gameplay for half an hour on each step.

Yes, Preview on OBS Classic turns on the encoder (in MP, you can't turn it on without recording or streaming at the moment).

Make sure to actually stream, or record and view the recording. The Preview is pre-encode video, so will not have any encoding artifacts and will look perfect.

Just use the Help menu and the 'upload log' function, it'll auto-upload it and give you a link to drop here.

And definitely DON'T run 60fps. :b
 

Cryonic

Member
60FPS is the main reason for streaming, specially fast games. Looks way better.
We have so many options right now, even youtube livestreaming (beta) supports 1080p 60fps with high bitrates. Welcome to 2015.
 

Crabby654

New Member
Ok guys! I had some success tonight! Let me detail my stream for tonight. I set the Bitrate/Buffer to 2000, set the encoding speed to "Medium". No viewers got stuttering, viewers that got buffering last night had NO buffering to night. So I am stoked that it more watchable for people. Oddly enough my CPU never went above 60c and the usage for OBS never went above 10% on medium, kind of surprised me.

One issue I am having is still quality. As an example I played Life is Strange and it looked great, but before that I was testing the settings with The Witcher 3 and it was a pixelated MESS. I'm wondering if there anything else I can do hmm. Any more suggestions or is this something I have to live with? I'm not totally sure what I can do with fast movement games.

Here is tonights log for anyone wanting to help! http://pastebin.com/WuDnt8J4
Also here is a link to the VoD - http://www.twitch.tv/crabby654/v/11944868 (I only played the witcher 3 for like 30 seconds before I switched it off)
 

FerretBomb

Active Member
60FPS is the main reason for streaming, specially fast games. Looks way better.
We have so many options right now, even youtube livestreaming (beta) supports 1080p 60fps with high bitrates. Welcome to 2015.
Not when you have to work within realistic technical limitations. Blind numbers-wanking is an easy trap to fall into, especially when you first start streaming. Many do (including me), and some encourage it in others, though it's detrimental. After all, there's no point in putting up a stream if almost no one can actually watch it, or will bother staying around through the buffering.

If you're on Twitch, that means 2000kbps is the sweet spot. Meaning dropping to 480p (or lower) to free up the bandwidth for 60fps. Not a great idea either, unless you're playing Super Metroid or Shovel Knight, and need the faster framerate legitimately to cap the sprite blitting properly. Otherwise, the drop in resolution doesn't justify the small increase in smoothness of motion.

But by all means. Please, limit your audience. Other streamers will actually value and respect those viewers you drive away.

Ok guys! I had some success tonight! Let me detail my stream for tonight. I set the Bitrate/Buffer to 2000, set the encoding speed to "Medium". No viewers got stuttering, viewers that got buffering last night had NO buffering to night. So I am stoked that it more watchable for people. Oddly enough my CPU never went above 60c and the usage for OBS never went above 10% on medium, kind of surprised me.

One issue I am having is still quality. As an example I played Life is Strange and it looked great, but before that I was testing the settings with The Witcher 3 and it was a pixelated MESS. I'm wondering if there anything else I can do hmm. Any more suggestions or is this something I have to live with? I'm not totally sure what I can do with fast movement games.

Here is tonights log for anyone wanting to help! http://pastebin.com/WuDnt8J4
Also here is a link to the VoD - http://www.twitch.tv/crabby654/v/11944868 (I only played the witcher 3 for like 30 seconds before I switched it off)
That looks like a testing log, it's only 8 minutes long, with around 3 of testing. Have to exit OBS and reopen it to close out the log file from your most recent cast. :)
That's actually a disturbingly low load number... 720p@30 on Medium should be eating quite a bit more CPU. You're also duplicating a lot of frames in that testing log for some reason (anything over 1% should be looked at).
Yeah, Witcher 3 is going to be pretty hard on the encoder if you're constantly moving and spinning the camera like that... it's a TON of full screen high-variance movement with lots of ground clutter and detail. DayZ does the same kind of thing with its grass and the like, and it munches it too. Not much you can really do about that one aside from downscale to 480p@30 while casting Witcher; it'll devote more bitrate per pixel, and alleviate at least some of the blur. Tradeoff is the lower resolution. Not too much of a problem as many viewers don't fullscreen, just leaving the video popped-in, and may not even notice.

This is the sucky part of working within realistic limitations though. The game needs more bits-per-pixel, and to avoid having your viewers buffer, you can't bump the bitrate.

Life is Strange is much better-looking as there's less full-screen motion and the game is more stylized with cartoony graphics, that are a lot easier to compress.
 

Crabby654

New Member
Oh wow whoops I forgot to close OBS, here is the most recent log file - http://pastebin.com/4eR5e1tb For some reason in the file it says Faster as the preset, but its Medium, not sure why it says that.

EDIT: Out of curiosity, would it be a good idea to change the "Process Priority Class" ?
 

FerretBomb

Active Member
Yup, it was Faster at the start. It switches to Medium later, when you changed it. Scroll down to 19:02:00 in the log, that's when the stream got going (see how it jumps to 21:00:00? That's two hours of streaming, there). Your dupes, skips and drops all look fine on that one.

I'd probably switch off CFR unless you're recording locally and plan to edit highlights for YouTube in something like Vegas that throws a tantrum if it doesn't get constant-rate video. (Twitch needs CBR, *not* CFR)

I'd also keep stepping down on the encoder preset until you hit Slowest, or start using up that CPU you have lying around. :) It's reducing returns, but every little bit helps.
 

Crabby654

New Member
So I do record locally for YouTube uploads but what would the benefit of turning off CFR actually do for the overall streaming? In curious because I don't need to locally record since streaming is much more important to me than YouTube.

I will definitely try the slowest setting because I was shocked at how little CPU medium was using and my temps where totally fine as well.
 
Top