Question / Help YUV color space 709 gives wrong colors

I've been experimenting with OBS MP's advanced Color Format settings. I set the Color Format to NV12, YUV Color Space to 709, and YUV Color Range to Full. But the colors of my recording looked wrong both in VLC and when uploaded to YT.

At first I suspected the color range was the issue (it's pretty common for players to just assume partial), but that didn't change anything. Changing the color space to 601 fixes the issue, and the colors come out correctly both in full and partial. It's just 709 that doesn't work right apparently.

I'm just wondering if this is a bug, or if I did something wrong in my settings.

What color space did legacy OBS use btw?
 

Lain

Forum Admin
Lain
Forum Moderator
Developer
709 doesn't give the incorrect colors, the matrix we use for it is correct. 601 is also has the correct matrix. Whatever issue is occurring is most likely a decoding issue, somewhere along the line something isn't accounting for the color space in decoding.
 
It's giving incorrect colors for me, I'm not claiming that this is a general bug (otherwise I would have marked it as a bug). Thanks for checking the matrices though.

What could cause VLC/Youtube to use the wrong matrix? Do some encoding settings cause x264 to not store color space settings correctly?

Did the original OBS also use 709? Because that always gave me correct colors, so if it uses 709 aswell I'll know it's something to do with OBS MP's output.
 
Last edited:
Here's a picture of the color error I'm experiencing.

I've tried recording in different container formats, flv, mp4, and mkv all produce the same color error.

EDIT: Added screenshot of recording settings.
 

Attachments

  • color_error.png
    color_error.png
    38.6 KB · Views: 1,592
  • recording.png
    recording.png
    49 KB · Views: 588
Last edited:
I did a few test recordings with two other games using the same settings (except for resolution, which is different for each game).

None of them seem to give the same color error, but one of them shows heavy pixellation in text. This kind of inconsistent behaviour makes OBS MP completely unuseable for me. Please help!

Since this seems to be specific to the game I'm recording, I've uploaded a log file where I record each game in sequence (Age of War is the one with color error, Arcane gives the pixelated text, and Deep Freeze records fine). I'm using standalone flash player 18 to play my games (.swf files) while recording. I'd attach them too but they're too large.

EDIT: Turns out the pixelation was a VLC problem. I had disabled "Use hardware YUV->RGB conversions" when trying to find the cause of the color error in the other game. I've re-enabled it and now there's no pixelation (although the text is still really blurry). The color error in the other game still persists though, and it occurs even on youtube so it can't be a VLC issue.

EDIT2: After looking veeery closely I've discovered that at least one of my other games has a color error too, it's just less noticeable because it's less colorful (notably has less green, which seems to be the color most affected).


Clarification: 709 color error occurs with anything, not just specific games. And the red pixelation/blur is a different issue independant of 709 or 601.
 

Attachments

  • pixelated.png
    pixelated.png
    141.6 KB · Views: 699
Last edited:
As noted in my second edit, it's apparently not limited to one game after all. Currently this is confirmed for Arcane and Age of War. (Download the .swf files and run them in flash projector with the same settings as in my log if you want to re-create the situation)

Both of them has a color error when using 709, this doesn't happen on 601 or when using the old OBS. Arcane also has mysterious text blurryness that occurs with old OBS too.

If needed I can test other games or a still image (if provided) for a color error, or post another side-by-side screenshot.
 
Last edited:
I've done more research into the blurry text, and it appears the blur has to do with the fact that the text is red on grey/black background. It seems that YUV has an issue with strong lossyness in red, causing such blur. This means it has nothing to do with OBS. I can reduce the blur by recording in double resolution (upscaling under "Video"), but if I later re-encode to the usual smaller resolution the blur is there again, further confirming that this issue is OBS-independant. Does anyone know any encoder settings to reduce this?

Back to topic: I've been able to confirm the color error when using 709 with a third game and a random .png image. This makes me feel like it's a general issue with OBS MP on my machine rather than something game-specific.
 

Sapiens

Forum Moderator
Are you sure this isn't just color space conversion? Blurry red text is very normal behavior, even at higher bitrates. Not sure there's a way to get around that without recording enormous lossless video files, but when you recompress them and upload them to Youtube the same conversion is going to happen anyway.
 
Nono, the red blur has nothing to do with the main issue of this thread. I thought it did at first, but it turns out it's just YUV color conversion and chroma subsampling causing it.

The topic of the thread is that selecting 709 color space in OBS MP gives me a strange color error (see the image I attached earlier), while colors are fine with 601 color space.

EDIT: Just tested with the newest version 0.12.0, color error still persists when recording in 709.
 
Last edited:

Lain

Forum Admin
Lain
Forum Moderator
Developer
I set it to default at 601, seems 601 is what most decoders expect by default it seems, slightly annoying
 
Yea I got that. But changing the default would imply that this is a broader issue. (broad enough to change the default for at least)

More importantly, does this mean it won't/can't be fixed? So I'll just have to use 601 and that's it?
 
Last edited:
Top