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.
No description
47 Replies
jenks
jenks4w ago
(seems like the video isn't playing correctly, you might need to download it?)
HunterAP
HunterAP4w ago
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
jenks
jenks4w ago
Yes I'm specifically thinking about the text, I'll try Area Okay that made a small improvement indeed
jenks
jenks4w ago
jenks
jenks4w ago
I guess discord doesn't love hybrid mp4s for embedding
HunterAP
HunterAP4w ago
Ack that looks worse than the original IMO the original looked fine
jenks
jenks4w ago
Well that source is smaller too, let me record the other scene just to keep the testing consistent
jenks
jenks4w ago
jenks
jenks4w ago
i think you're right though it looks less anti-aliased "sharper" but less smooth
HunterAP
HunterAP4w ago
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
jenks
jenks4w ago
I could see just using that for a separate recording profile
EposVox // Addie
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
jenks
jenks4w ago
Here are 2 videos where I'm capturing on my 2160 monitor instead (so that would be an even scale, right?)
jenks
jenks4w ago
jenks
jenks4w ago
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
EposVox // Addie
yeah that's uh that's your problem you're scaling down and back up all wacky text ain't ever gonna look right
jenks
jenks4w ago
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
EposVox // Addie
i think you should just run a 1440 canvas
jenks
jenks4w ago
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
EposVox // Addie
yes
jenks
jenks4w ago
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
EposVox // Addie
well then your multirtmp wouldn't need scaled at all same w/ your recordings saves a step there
jenks
jenks4w ago
Well I thought because my main output settings were 1080 that YouTube would need to rescale
EposVox // Addie
no, that would just be for the twitch output
jenks
jenks4w ago
With TEB the scale is grayed out though
EposVox // Addie
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
jenks
jenks4w ago
Oh I see I thought it pulled from the output gotcha
EposVox // Addie
TEB is all automagic
jenks
jenks4w ago
In that case could I just set canvas and output to 1440? Or is that what you’re saying
EposVox // Addie
that is what i'm saying yes
jenks
jenks3w ago
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
jenks
jenks3w ago
jenks
jenks3w ago
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
HunterAP
HunterAP3w ago
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
jenks
jenks3w ago
yes that's what i'm realizing
jenks
jenks3w ago
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?
jenks
jenks3w ago
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
EposVox // Addie
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
jenks
jenks3w ago
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.
EposVox // Addie
is that for your 1440p or 4k monitor
jenks
jenks3w ago
1440p
EposVox // Addie
does the zoom effect happen on the nested scene or on the source itself
jenks
jenks3w ago
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
EposVox // Addie
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
jenks
jenks3w ago
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
No description
jenks
jenks3w ago
(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
jenks
jenks3w ago
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).
No description