Canvas size question

slentara1

New Member
So I stream now and I currently have my canvas size at 720p. The output is the same, 720p. Now the actual size of my inputs equals about 3321x868 give or take a couple pixels. Should I increase the canvas size to 1:1 and rescale the output to 720p using these settings for hardware enc with NVENC?



Downscale Filter: This allows you to select a downscale filter that will provide a small image sharpness enhancement, at the cost of some encoder workload. NVENC is very efficient and typically runs at low utilization, so we recommend using this with the Lanczos, 36 samples option for the best quality.


Or to keep it as is since restream says to keep the output and the canvas the same?



For both "Base (Canvas) Resolution" and "Output (Scaled) Resolution," select (or type in) 1280x720.


Which would give the best quality?



One of our streams for reference.


Thanks in advance.
 

FerretBomb

Active Member
Your input source isn't 16:9, so downscaling in the video or output section isn't going to be possible to hit 'actual' 720p. In your edge-case, it would be best to run Canvas and Output at 720p and scale your Source to fit, after right-clicking it in the Sources list and setting a Scale Filtering mode (probably bicubic). This will at least allow you control over the 'blank' space inherent with a non-16:9 source, allowing you to fill the blank area with art assets or other stream elements.
 

slentara1

New Member
I was giving a rough actual size. I can make the canvas itself 16:9 that's not an issue. I'm just trying to see which would have the least amount of loss, scaling the sources down or keeping them actual size and scaling the output.
 

koala

Active Member
The streaming provider expects 16:9 video, for example 720p (1280x720). So set your output resolution to 1280x720.
Now you have to fit somehow your game to this 1280x720.
The native game resolution is projected on the OBS canvas, and the canvas is projected (resize only) on the output resolution.

The best stream quality is with no resizing at all. If you set the game resolution, OBS canvas size and output resolution all to 1280x720, no resize takes place at all and the quality is perfect in the media players of your viewers.

If you don't want to play with 1280x720, you need to resize within OBS. You can set the canvas to the output resolution and fit everything to this. Usually, people use 2 resizes: first to canvas, second to output. You design your corporate identity - your overlays and your general layout to some big canvas resolution. A streamer who wants to stream a game he is playing fullscreen, will design his overlays with a canvas set to the native monitor resolution as long as it is aspect ratio 16:9. After he designed his stream layout, he just enters the most appropriate output resolution that fits his upstream bandwidth and streams. He might start with 720p, but if he upgrades his equipment, he might easily upgrade his stream to 1080p by just changing the output resolution, without any change to his layout.

Your case seems a bit different. You seem to composite your stream from 2 different small game windows and have a big overlay around it. It now depends on your overlay. Use this as anchor. What is the resolution of your overlay picture? Do you want your overlay look sharp? Use as canvas resolution the size of your overlay image and fit your game window sources accordingly.
Your actual game windows are so small compared to the whole stream size, resizing quality doesn't matter. Once or twice, it's just resized. You will not see much of any difference.
 

slentara1

New Member
Yeah currently my canvas size is 720p because of the information from restream. All sources are scaled down on the canvas accordingly already. Seems like i should just keep it as it is. I just wanted to make sure the quality wasn't suffering do to the canvas size not being 1:1. Thank you.
 

FerretBomb

Active Member
The most important bit is to only downscale ONCE, either in the preview/scene-setup, or on the output. Each downscale will incur a quality loss, so if possible you only want one (or zero, best-case). Between in-preview per-source and overall post-compositing, the overall 'output' downscale will be marginally better as it will allow all on-screen elements to alias into each other.
There are other parts that come into play like full-integer downscaling, but as you apparently are working with a weird off-resolution, that would require deeper knowledge to optimize.

Easiest method is to scale it in the preview to 720p as it's a one-size-fits-all solution, and doesn't require factoring in the additional quality loss of using an extra-nonstandard still-technically-16:9 and finding the right power of two match-up to play nicely with the encoder.
 
Top