Downscaling: Using Base vs. Output resolution

MichaelB

New Member
This is a simple setup: video coming in from a 1080p camera and I record it at 720p (because of smaller file size). I can set Base at 1920x1080 to match the camera and Output at 1280x720, or I can set both Base and Output at 1280x720. Either way, I resize my camera's input to fill the canvas. The question: what's the difference? Is the downscaling being performed differently in these scenarios? I'm guessing the Downscale Filter in 'Settings > Video' controls how the Base => Output scaling is performed. How is the scaling performed when I set Base to 1280x720 and resize my camera's input in the canvas?
 

koala

Active Member
Technically, there is no difference. Both rescaling takes place on the GPU, both the same quality. The resize algorithm can also be set for a source by right-clicking that source->Scale filtering.

The two options get a meaning if you composite your output video from multiple sources. Imagine a streamer who streams a game and adds an overlay. The overlay is a prepared image that shows some kind of logo and additionally obscures part of the game that otherwise discloses private information. He prepares the overlay for the same resolution he plays the game with - at 1920x1080 to make it fit the game perfectly, but he wants to stream with 1280x720 for bandwidth reasons. For this case, he chooses a base resolution of 1920x1080 and output resolution of 1280x720.

But if you have one source only and are recording this one source only, it doesn't matter at which stage you do the rescaling. If you think you might perhaps later switch to 1920x1080 for recording for better quality, set canvas to 1920x1080 and output to 1280x720. So if you actually want to switch to the bigger resolution, you only need to update the output resolution. You don't need to change any source layout on the canvas in this case.

Most important thing is that you don't use the rescaling method that can be found in the encoder settings, because this rescaling is different - it's taking place on the CPU and wastes much CPU power.
 

FerretBomb

Active Member
Also, using the Output Resolution is post-compositing. It takes the final frame and scales it down once, allowing elements to alias into one another, maintaining better overall quality. Per-source scaling does not allow for this, scales each individually *before* the compositing step and so will be lower-quality on the output.
 

iSvein

Member
Also, using the Output Resolution is post-compositing. It takes the final frame and scales it down once, allowing elements to alias into one another, maintaining better overall quality. Per-source scaling does not allow for this, scales each individually *before* the compositing step and so will be lower-quality on the output.
What is the difference between the Video-->output (scaled) Resolution and the Video-->Rescale Output?
 

konsolenritter

Active Member
The Settings->Video output resolution against the base resolution is task of OBS before queueing the material into the encoder. OBS might solve this on its own or using gpu stuff.
The Settings-> Output Rescale-To-Option is a task of the encoding stage (so a step later). In case of software-encoder this will be done by the cpu too, otherwise it belongs to the encoding stage in the gpu, too.

It's due to historic reasons. Use either this or that, not both at once.
 
Top