I am currently unable to produce videos contaning screen recordings in Premiere Pro because the colors are completely inaccurate. Videos appear washed out and either far too dark or far too bright depending on the content. I record using OBS with the Rec. 709 color space, and the original recording looks identical to what was actually displayed while recording when viewed in VLC. Also, video previews displayed while editing look different from the final export but still not the same as the original.
In Premiere, I have tried rendering with and without CUDA acceleration as well as enabling and disabling display color management while CUDA was enabled. I have also tried forcing applications to use the full available color range in NVIDIA settings based on responses to similar issues. These attempts have done nothing.
I'm not sure if what I'm experiencing is an issue with gamma or contrast or something else entirely. Below I have attached an example of the issue (top is original, bottom is Premiere Pro export as displayed in VLC). The video preview in Premiere itself is wrong as well, so I don't think it's a VLC problem.
Color management is a massive rabbit hole, but unfortunately necessary.
First ... what is your OS? Mac or PC?
What is your monitor set for color space? What calibrations if any have you done?
I'm using Windows 10. My monitor is ASUS VG27AQ which approximately fills the sRGB color space. The only "calibration" I have done is by eye, so it's probably not particulary color accurate.
The video below might be helpful.
One thing to check is whether you have Limited/Video (16-235) or Full/Legal (0-255) set in the GPU setup. For Rec.709, this SHOULD ALWAYS BE LIMITED 16-235!
I emphasize this so much as so many get that wrong ... nearly all video is Rec.709 and YUV ... and is encoded as 16-235, displayed by any properly set screen as 0-255.
The ONLY media that is "full" is the RGB format/codecs, typically 12-bit or better, and most often in DPX or image-sequence formats.
So make sure your GPU is set for limited/video 16-235 encoded Rec.709, AND that in OBS you use Limited range encoding settings. Premiere is a hard-wired stock Rec.709 application and will use limited/16-235 assumptions for all Rec.709 media unless it is RGB, when PrPro will correctly assume it is full range.
I agree 100 percent. 35 years ago everyone watched video on broadcast compliant hardware (their TV). No one had a Dell laptop or iPad let alone Quicktime or OBS. Even in 2021 the Sony a 7 III, Canon T3i and Nikon D5100 all have an HDMI outputs for playback on broadcast compliant hardware and color space (their TV). No video camera has even been made for playback on an iMac Pro using Quicktime or Dell Laptop using Windows Movie Maker (not that it cannot look nice).
I made my video do demonstrate that Premiere Pro is dead on when using 3rd party hardware. In other words Premiere Pro matches the camera's color, gamma and contrast 100%. You cannot get better than dead on. That being said a Dell Laptop and an iMac Pro have very different montiors and QuickTime and OBS will handle the color, contrast and gamma a tad bit different. That being said even Resolve needs things setup correct during export for playback using Media Player, YouTube, Quicktime etc.
I did happen to record in Rec. 709 with full color range, so I tried limiting the range both in OBS and NVIDIA settings to make colors consistent.
I found that the appearance of black text on a white screen improved dramatically in all applications. The video game showed in my original post however, still looks far too dark when viewed in Premiere (not as bad as before, however). Interestingly, the Premiere export of this limited color range recording actually looks very similar to the reference recording when viewed in VLC despite looking terrible in Premiere itself. Maybe even identical, I'm not sure.
I did a bit of further reading on the Adobe forums about similar issues and saw you explain that there is no actual loss in data when recording with the 16-235 color range. How is this possible when there are fewer values between 16 and 235 than there are between 0 and 255?
It's not doing what it sounds like it's doing, and yea, that's confusing. It's not that there is any change in levels of the data ... just in the way the apps display the data ... handle it.
It isn't dumping 0-16 and 235-255 data ... or stretching other things out to them. Not at all, though that at first sounds like what it's doing. It's the exact same data in the file. The reason it's done this way goes back to Historical Long Story category.
YUV encoded video media is expected to be encoded within 12-235, and RGB media (think DPX or other "image sequence" formats) is expected to be full/0-255. Nearly all video recorded is YUV.
For another thing to consider, think of log-encoded data. When you see a log file without converting it, the image has NO darks, NO whites, very little contrast and almost no color at all. But when you properly convert it or display it, you have a full image with plenty of saturation.
What I'm getting from this is that 0-255, 16-235 etc. are merely representations for how color data is handled, not precise integer ranges that are used to store values. Is that correct?
Anyway, thanks for the explanation on how to fix my exported videos. It's a shame that my videos still look wrong in the Premiere video preview, but I only do very basic editing, so that doesn't really matter.
Correct ... those numbers like so many things in color management are "frameworks" for the media to be displayed within. But don't mean what they sound like they mean. Which is one of the things that makes learning color management so hard.
Well, and explaining it too!
Premiere is "hard-coded" for a Rec.709 setup, basically. Assuming that the monitor will be a Rec.709 compliant screen with sRGB primaries, 100 nits brightness, and monitor gamma 2.4 (2.2 if for "bright-room viewing" and perhaps web). If your monitor is setup like that, it's fine.
If not, one should use the "display color management" option in the Preferences. At which command the app looks to the ICC profile of the monitor and tries to remap the image for best Rec.709 view within that monitor.
Your GPU and any apps that have settings for video media should all be set to "limited" range, including OBS recording.