Question / Help OBS Upscaling

  • Thread starter Deleted member 193965
  • Start date
D

Deleted member 193965

I've noticed that when I upscale (from native 1600x900 to 1920x1080) using the video tab options, it's very crisp and sharp - unfortunately, as I have a weak iGPU (Intel HD 4000), this causes render/encoding loss. So I attempted to use upscaling via the Output settings in advanced mode, as my CPU itself (i7-3720QM) has processing room to spare (it never seems to go above 30-40% usage even when encoding and upscaling) - but the output itself isn't quite as sharp as what the iGPU produces.

Either case I use x264 for encoding as again, on certain games, the iGPU can't handle both encoding and playback without frame loss - basically, I'm only using the iGPU for paying the game and using the CPU for both encoding and upscaling.

So - is there any way to get the CPU scaling to be as sharp as the iGPU scaling?

PS: in case anyone asks: I'm upscaling as downscaling to 720p using either CPU or iGPU is too soft looking IMO, regadless of which downscaler and algorithm I use.
 

carlmmii

Active Member
The options you're looking for are going to be for specific x264 flags, namely the resize flag. Unfortunately, I'm not familiar enough with using x264 flags in OBS to know the exact syntax this should be used in... I would assume that instead of checking the "Rescale" checkbox, you would do it entirely with the custom arguments line.

Besides that though, what is the actual reason for wanting to upscale in the first place? Is this a stream, or is it a recording? And if it's a recording, is there any reason it can't be left as the original resolution, or possibly transcoded after the fact?
 
D

Deleted member 193965

The options you're looking for are going to be for specific x264 flags, namely the resize flag. Unfortunately, I'm not familiar enough with using x264 flags in OBS to know the exact syntax this should be used in... I would assume that instead of checking the "Rescale" checkbox, you would do it entirely with the custom arguments line.

Besides that though, what is the actual reason for wanting to upscale in the first place? Is this a stream, or is it a recording? And if it's a recording, is there any reason it can't be left as the original resolution, or possibly transcoded after the fact?

Thanks for the reply and link to the flags, although not sure how to incorporate them as any examples I've found on the forum of x264 custom settings seem to be for "simple" 1 option settings and nothing with multiples (width height method) such as the resize flag.

Should have probably stated intended usage in the first post - this is for local recordings to be uploaded to youtube. I would have much rather downscaled (smaller file to upload), but as I mentioned initial post, all 3 of the downscale algorithms produced video that was too blurry/soft on in game text/edges. And yes, I suppose I could have left the resizing to trascoding afterwards with some other program, but was hoping to avoid that both because of 1) time (since I'm planning to record uneditted longplays) and 2) quality loss from additional transcodes before youtube does it yet again.
 
D

Deleted member 193965

So after a bit more digging, it seems that when rescale is used via CPU, it's processed via FFMPEG with the default algorithm being "fast-bilinear", which may account for some of the blurriness. In theory, I'm hoping to be able to use custom ffmpeg settings and specify a different scaler option such as lanczos (once I figure out how exactly), or try to match which scaler the qvenc encoder uses as it's nice and sharp.
 
Top