Resource icon

Full vs Partial Color Ranges EXPLAINED for Streaming


A subject of understandable confusion when it comes to streaming and content creation - especially with game consoles - is RGB Color Range settings. This is one of those things that you may have frustrations with even if you don’t know what I’m talking about. If you’ve had overly-punchy and dark video captures, unsaturated or washed out captures, or just generally want to know what this setting is - this post is for you.
6.jpg


So what is the RGB Color Range?
This refers to the maximum and minimum luminance values (or white/black levels) in a video signal. Typically TVs and videos formatted for TV only use the Limited (or Partial, or “Legal”) range of 16-235. This means that any information above 235 is seen as white and any below 16 is seen as black.
H264 is generally optimized for this Limited/Partial mode.
PC monitors, however, typically operate in the Full range of 0-255.

Where is this setting?
The color range setting appears in two important places in OBS itself, and potentially one place for your video source.
In OBS, the setting appears in the Advanced tab of settings, where (in my opinion) it should always be left on Partial. There are some exceptions where Full is okay for recording (which we’ll mention later) but for streaming and most general uses, this should be left on Partial.

4.jpg

This setting will also appear in the Video Capture Device properties for your given capture device - be it a webcam or a capture card. For most people, this should be left on Default or Partial - but if you’re manually specifying Partial, it should match your actual source’s settings.

Game consoles have a HDMI color range setting, but default to Limited/Standard/Partial, as that’s required for TV usage. (PC monitors can use Full/PC RGB mode.) I recommend leaving this on Limited, but if you change it to Full/PC RGB then you also need to specify Full in your Video Capture Device properties. Leave the Advanced tab of OBS on Partial, however.

settings_3.7.1.jpg


The setting for your game console is usually under TV and Display Options.

settings_2.10.1.jpg


Consequences
If you have these settings set incorrectly, or your capture device settings don’t match the source, then you can wind up with issues.
In rare circumstances you can actually have completely mixed up and wrong colors. Usually, though, you just end up with either washed out colors (usually when your source is outputting Partial but you have selected Full) or super dark and punchy colors (when your source is outputting Full and you have selected Partial.)

The washed out colors look bad in general and may prompt you to add extra contrast or saturation in post, further mucking up your compression. The dark and punchy colors can’t really be fixed and actually make compression look worse. It’s not a great time.
If you attempt to stream a completely 444/Full video stream, many browsers and devices will not play it back correctly, resulting in an overly dark image with lost detail. VLC also usually cannot play Full range clips back correctly.

3.jpg


Exceptions
There are situations where my general advice of “just stick to Partial/Limited” won’t apply, however.
Exception #1 is when you’re using a capture card that supports 4:4:4 XRGB color space, as that always uses Full range. The AVerMedia Live Gamer 4K, Live Gamer Ultra and Magewell’s capture cards are notable examples of such devices. (You can find more here.) This is useful for retro games and pixel art where you intend on upscaling and need all of the color information left uncompressed. Use Full for these, but stick to Partial in OBS’s settings, unless using a non-H264 codec.

Exception #2 is for devices that uses MJPEG color format, which includes some webcams and capture cards. Some of these will be using Full color range for that MJPEG and the Video Capture Device settings need to reflect this. However, there’s no sure-fire way to “just know” which it uses, so you’ll have to test and see which looks correct for your video feed.


2.jpg


Full range for Recording
I mentioned in the above video that there are compatibility issues for recording Full range with NLEs. This is still true, but both Adobe Premiere Pro and DaVinci Resolve have toggles to indicate if a clip is Full or Partial range, in case it doesn’t detect it properly on its own. I have still had issues, but this should be fine for many situations.
However, due to this “should-work” fix, Xaymar says (via YouTube comment) that he recommends using Full for recording in most non-H264 scenarios. This would be HEVC and ProRes recording scenarios primarily (and hopefully using his StreamFX plugin to do so). However, if you’re playing on a TV and using Partial range sources in the first place, I’d just stick with Partial. This does open up some flexibility for recording, nonetheless.

Wswaa4X[1].png


Overall, my recommendation is to stick with Partial/Limited wherever possible, it will make your life much easier. For streaming, always keep OBS’s Advanced setting set to partial. But if you notice some washed out or overly-contrasty colors in your video, take a look and see if you have a mismatch somewhere.
  • Like
Reactions: securitenovo
Top