Question / Help Improving recording

keybounce

Member
I'd like to improve the quality of recordings made with OBS. Right now, they are significantly worse than the recordings made by dedicated screen recorders.

Someone mentioned to me that the issue was, I think, sub-pixel chroma? The idea being that every 2x2 block shares a common component of value, and you want more detail than that for sharp recordings.

As a quick example, text is significantly less sharp with OBS.

My goal is to improve color quality of capture, and my source recordings include colored text, as well as images with small color splotches (think flowers in Minecraft).
 

keybounce

Member
My current settings:
CRF 14
Preset Medium
Display capture
Recording size is 1:1, same size as the section of display being recorded.
I have tried both 854x480 (old window size), and 1204x576 (new).

Keyframe: 0 (auto)
Profile/tune: both "none"
x264 options: empty
 

Sapiens

Forum Moderator
You could try changing the color format to RGB under Settings > Advanced, but this may produce unwatchable recordings and is not compatible with streaming. If the video's destination is anything online like YouTube it will be wasted effort as well since that all gets re-encoded.

https://en.wikipedia.org/wiki/Chroma_subsampling
 

keybounce

Member
The first destination is the editing desk/program.

The ultimate destination is YouTube, and yes YouTube will do another encoding pass, but I want to give YouTube the best color quality I can.
 

keybounce

Member
What is "Nv12", "1420", and "1444"?

4:2:0 and 4:4:4 are both described on that wiki page; 4:2:0 looks horrible over there, and 4:4:4 is the full details that I'm looking for.

What is the difference between the two color paces (709/601) and the color range (partial/full)?
 

keybounce

Member
Lovely.

So, if I'm recording a game that has colors down to 0 and up to 255, then 709 says that those values are out-of-gamut, even if I say full? Equally, what's the best way to record that --

Maybe a better question: Given that my screen will have a full range of numbers, what happens when I tell OBS that I'm using full/partial and 601/709?

Equally, is this part of why other people (typically on PC's) tell me that they can see clearly in dark minecraft caves, while I cannot -- my mac wants to put values of 0-15 as black, and they want to show a bit of grey?
 

Narcogen

Active Member
Last question first-- yes, that's probably why.

Full range uses the entire range, which means that even if you can see and record it, people viewing on devices that are using a partial range are going to see blacks where you see greys. Theoretically if you're on a full range device, and you record in full range, and your viewers are all using full range devices, then in this case they would be seeing a fuller range of colors than if you used partial. But any viewer with a device that does not support the full range (basically any HDTV, which I have to admit is now my primary YouTube consumption device, in my case a Roku 3 and a Samsung tv) is going to see your low greys as black and your high greys as white; they won't just be seeing an image that isn't quite as good as what you see, they'll be seeing an image that's missing information.

This thread has a link to an overlay you can use in Twitch to text the results of each mode. The author ended up using Partial, which is OBS' suggested default.

https://obsproject.com/forum/threads/colors-yuv-full-partial-and-601-709.27128/
 
709 should be standard for today (as already said for HD - 720p and up) i don't know why OBS is using 601 as default?

nv12 and I420 are both 4:2:0 - use nv12 with x264 and I420 with custom/ffmpeg utvideo (lossless)
nv12 is the preferred colorspace for x264 (it is internally used and x264 supports only 4:2:0 and 4:4:4 (but only in lossless mode qp=0))

use RGB for utvideo only but notice you need a very fast hdd

color range full = pc range, limited = tv range - only used when using YUV color (ignored when using RGB)


if you want to record for youtube and not resize your video use nv12 / 709 / limited - this is the mode youtube converts all videos to.

if you plan to rezize your videos (e.g. recording retro games with low resolutions) use rgb/utvideo/lossless

good luck
 
Top