Question / Help A Quick Question about Downscale Filter

MrBayeasy

Member
I know everyone always says that downscaling in the "Video" Tab over the "Output" Tab is always more efficient and better for some reason, however is the "downscale filter" option that I have chosen in the "Video" tab apply to the downscale options in the output tab or will it not have any downscale filter if I go through the output tab?

Basically I am trying to record in 1080p and stream in 900p, and I need to do the downscaling on the streaming output side instead of the global setting so that my recording is still in 1080p.

I use a secondary streaming PC, not sure if that information is relevant but I figured I would include it in case anyone had concerns of CPU overhead. Its a r7 1700 with a gtx 970 recording the video for post production. Thanks for any help, I know this is a simple question, but I was always curious if the downscale filter carried over even if I do the downscaling in the streaming section. I don't think 900p would look very good if it couldn't accept lanczos.

Thanks for the help everyone, I hope you guys have a good day. +)
 
There are two totally different downscaling subroutines in OBS. The first downscaling takes place on the GPU. It's used in the "Video" tab, and it's used by any filters in your sources as well.
After all this scaling was done and the video composed, it is downloaded from the GPU to CPU memory.

This downloaded video is now fed into the encoders. In your case the video is duplicated and one is fed into the stream encoder and the other into the recording encoder.
You set a second downscaling for the stream encoder, and this downscaling takes place within the encoder. It's a parameter given to the encoder subroutine: "rescale and produce output with this resolution, regardless of the input resolution". It's a black box within the encoder, an own encoder-internal subroutine run by the CPU. Completely different program code than the GPU code for the first rescaling.

You cannot control how the encoder will do this rescaling. You don't know the algorithm used and cannot control it, because the encoders are linked in as libraries from 3rd party providers (ffmpeg) or API calls (nvenc, quicksync, amd vce), while only the GPU rescaler is coded by the OBS team themselves and only this algorithm is exposed for configuration. The encoder-internal rescaling may be lanczos, or it may be something else. It may even be different across different encoders.
 
Ok well with this is mind, if i were to keep my stream ad 1080p60 and put it out at say 8-10mbps, would twitch just only register up to 6 mbps as per its limitations or would it go beyond and make it harder for people to view the stream? I ask this because I use restream to output to youtube, mixer, and twitch and youtube accepts up to 10, while mixer accepts up to 8. If I stream at 10mbps would that cover my bases for all platforms, or just complicate things? Thanks for the help thus far. Also wouldnt the creators of OBS know what the encoder is that is used by the other downscaling options. Id imagine they could link the two no?
 
To provide different streaming services with different bitrates, restream offers a transcoding feature. It seems that this feature also includes rescaling. How streaming services behave if you feed them more than the maximum allowed bitrate, depends on each service.

There is only one sure thing: there exists no dynamic bandwidth adaption. If you over-feed a destination, it chokes. The stream isn't throttled nicely in this case, the stream is disrupted or interrupted. In the best case frames are dropped and you will see some kind of slide show instead of a smooth video. In the worst case, you will be blocked by the streaming service.

There is also the client sice, the viewers of your stream. 10mbps is huge. Many viewers don't support a downstream of 10mbps. They choke as well from such a high bitrate and will not be able to follow your stream.

However, this is not OBS issue.
 
Back
Top