Question / Help x264 Rescale Output, Over Saturating Colors

AtronoxAndy

New Member
I'm having issues rescaling output on the x264 encoder with OBS Studio. I'm rescaling from 1080p to 720p for streaming. I've tested with local recording to, to make sure it wasn't an issue with Twitch.

Everything is okay when I'm not rescaling, or if I'm using the rescaling options on the Video tab. Unfortunately, I'd like to stream at 720p while recording at 1080p and the Video tab doesn't allow me to do that. So I've tried rescaling using the Output settings, and I get oversaturated colours/too much contrast. It looks strange to people watching overall, but also means darker areas in games are so dark you can't see a thing.

lMRxQsN.jpg


Encoder: x264
Rescale Output: 1280 x 720 (Native res 1920 x 1080)
Rate Control: CBR
Bitrate: 2500
Use Custom Buffer Size: No
Keyframe Interval: 2
CPU Preset: veryfast
Profile: main
Tune: (None)
VFR: Disabled
No additional options.

Rx7RaCx.png
 

Suslik V

Active Member
New info: https://obsproject.com/mantis/view.php?id=947

yuvj420 and bt709 but for Rescale Output is default partial range and 601, as for FFmpeg itself... At least, the developer is aware of this problem. Let's hope it can be resolved.

So, almost no workaround. You need to switch to YUV Color Range: Partial (Settings>Advanced) but it leaves to you 601 over 709 source issue (if you are set 709 in Advanced settings). Then you can add filter Apply LUT, file 709_to_601.png from this post (Chroma-Shifting for video-game capture) to the whole output scene that is rescaled, but video without rescale will be encoded with wrong color correction that you've just applied - you need to edit this again in post production. And thus the quality lowers again.
 

Suslik V

Active Member
Small update, there is related bug, if user uses I444 color space for recording and start streaming (or uses Quality: Same as Stream) - the automatic convertion of the color spaces uses 601 and Partial for output just ignoring any user settings (clipping and color shift occur instead of propper scaling if the user settings incompatible with the output type).
 
Top