Can I improve my display capture quality?
My display capture looks a little blurry to me. See video for example.
My canvas and output resolution are 1080p. My monitor is 1440p.
I have scale filtering on the display capture source set to bicubic.
OBS Log: https://obsproject.com/logs/x7gkYJOpqEW97ZOo
Recording settings in screenshot.
47 Replies
(seems like the video isn't playing correctly, you might need to download it?)
I'm watching that video on a 4k monitor and it looks perfectly fine to me. If you're specifically trying to improve the clarity of text, you can try using Area filtering instead of bicubic which may help
Yes I'm specifically thinking about the text, I'll try Area
Okay that made a small improvement indeed
I guess discord doesn't love hybrid mp4s for embedding
Ack that looks worse than the original
IMO the original looked fine
Well that source is smaller too, let me record the other scene just to keep the testing consistent
i think you're right though
it looks less anti-aliased
"sharper" but less smooth
Only other thing you can do is record using the I444 color format or really any higher ones than NV12. TL;DR is that NV12 compresses some extra information that affects small stuff like text, I444 is uncompressed
Problem is that I444 is not usable for streaming, so if you do stream & record at the same time then you'll be using higher slightly higher CPU/GPU power to convert it to NV12 for just streaming. The recording would still be whatever you set
I could see just using that for a separate recording profile
Area is what I use for all display capture scaling
But yeah you’ve got a non-even scale (1440p/1080p=~1.778)
I’d use area just because you’re doing the punch ins in OBS it seems
Want that to be as crisp as possible
Here are 2 videos where I'm capturing on my 2160 monitor instead (so that would be an even scale, right?)
One is bicubic, the other is area
Well wait, I guess it's still not an even scale, because my recording settings are rescaling to 1440 still?
So it's a 2160 source in a 1080 canvas being upscaled to 1440 in recordings
yeah that's uh
that's your problem
you're scaling down and back up all wacky
text ain't ever gonna look right
Yeah. My output is 1080 for Twitch. And I upscale to 1440 for YT. And one of my monitors is 1440, and the other is 2160.
So a lot is going on lol
I rarely capture my 2160 monitor. It’s just usually for OBS
More commonly I’m going to be capturing the 1440 monitor. So it’s likely just going to be an uneven scale, unless I changed my canvas, which i don’t think would be worth it
So this may just be the best it’s gonna look
@//addie i guess my only thought would be, would it look better if I upscaled my recordings and YT stream to 2160 instead of 1440, considering that my game is 1080, my canvas is 1080. And even though my display capture is native 1440, it’s getting downscaled to a 1080 canvas
i think you should just run a 1440 canvas
Logistical question: I’m thinking the best way to do this without accidentally breaking anything would be make a duplicate scene collection and profile?
I’ve never used those features before, but I’m assuming something like that would let me test it and go back to my original if I break anything too bad
yes
And just thinking through it — if I had a 1440 canvas, I’m assuming I’d still have to set the Output settings to 1080 with a downscale filter for Twitch. And then I’d set my YT multi rtmp scale to 1440
well then your multirtmp wouldn't need scaled at all
same w/ your recordings
saves a step there
Well I thought because my main output settings were 1080 that YouTube would need to rescale
no, that would just be for the twitch output
With TEB the scale is grayed out though
if you're doing separate stream settings for YT in multirtmp then you don't scale at all, it just pulls from the canvas
correct, but it's automatically going to scale to 1080p for top feed anyway lol
Oh I see I thought it pulled from the output gotcha
TEB is all automagic
In that case could I just set canvas and output to 1440?
Or is that what you’re saying
that is what i'm saying yes
Ok gotcha, sorry sorry lol
I assumed I had to set video > output to 1080 for Twitch, but sounds like TEB is gonna handle that
Okay I think I’m on the right path now, thanks Addie
🏆
Just wanted to follow up and confirm, changing my canvas to 1440 did indeed make a dramatic improvement to display capture quality
One very niche question / observation. Not sure if anyone else has experimented with this:
My display capture source is inside a nested scene called [N] Display Capture. And then my Desktop scene has that nested scene as a source.
This means I can apply scale filtering to both the display capture source (the source inside the [N] Display Capture scene) and to the nested scene source (the source inside the Desktop scene)
Does scale filtering on the source inside the nested scene do anything? Or does scale filtering only show up on sources that are actually in the output scene?
Hope that made sense.
I've done my own experimenting, and from what I can tell, adding scale filtering to a source inside a nested scene only improves the quality when you're actually viewing that nested scene. If you add that nested scene as a source inside another scene, you're not going to see that scale filtering anymore.
Maybe another way of putting it is, it seems scale filtering is only rendered in the scene you're viewing, it's not going to "carry over" from another scene
My understanding is that a nested scene will use the scale filtering assigned to it in the other scenes it's used as a source in
so the nested scene Desktop inside some other scene Main that has bicubic will just use bicubic. If you specifically changed the Desktop scene source in the Main scene to lanzcos, then it will use that only for that scene
Otherwise if it's not set manually it'll use the scale filtering thatr OBS is set to globally
If you had individual sources within nested scenes use scale filtering you'd be overprocessing things for no benefit, and it could lead to some extra nested crap that would use resources
yes that's what i'm realizing
Just to illustrate -- The first video has no scale filtering (nothing on the Nested Scene Source, nor the source within the nested scene)
The second video has scale filtering on the source within the nested scene, which is not the scene being recorded. The scene being recorded is my Desktop scene, which has the nested scene inside it. That nested scene does NOT have scale filtering.
I think they look identical?
So that's why I was saying, it seems to me that scale filtering only really cares about sources inside the scene that's being output
the filter applied to the source would (generally) only apply to transformations within the scene that source is in
scene as source in another scene would need its own filter
For full context, the video I posted if you scroll up, where I said it made a dramatic improvement -- that has bicubic on just the nested source inside the Desktop scene.
is that for your 1440p or 4k monitor
1440p
does the zoom effect happen on the nested scene or on the source itself
Discord still won't play hybrid mp4, even though it's embedding, so you'll have to download it to view it i think
the zoom happens on the source itself
oh no
sorry i confused myself
scratch that, the zoom happens on the nested source
wherever the zoom effect is applied should be where your scale filter matters
since the scene is rendered as a frame and then scaled, more or less
Just to add some visuals -- my Desktop scene is an actual output scene. And [C] Display Capture is a source clone of a nested scene with my display capture inside it......jesus.....lmao
(I started that sentence thinking I was helping to make things more clear, lmao)
That makes 100% sense, yes
So yes, the zoom is happening on my nested source. And my scale filtering is on my nested source. And I think it looks really good. Huge improvement from my 1080p canvas
More visual reference.
My nested display capture scene has Monitor 1, 2, and window capture. I was experimenting with adding scale filtering to those sources. And just confirming, it doesn't seem to do anything outside of the nested scene itself (and is likely a waste of resources).