OBS Settings to Prevent Color Banding in Dark Gradients
This article explains how to configure OBS Studio to eliminate distracting color banding in dark gradients. By adjusting key settings such as color formats, color ranges, and encoder configurations, you can achieve smooth, professional-looking shadows and dark transitions in your streams and recordings.
Color banding, or posterization, occurs when there are insufficient color steps to display a smooth gradient, resulting in visible “stripes” of color in dark areas. To fix this in OBS Studio, apply the following optimal video and encoder settings.
1. Adjust Advanced Video Settings
To set up the foundation for accurate color rendering, navigate to Settings > Advanced and locate the Video section.
- Color Format: Set this to NV12 for standard 8-bit streaming and recording. If you are recording locally and your system supports it, switching to P010 (10-bit) will completely eliminate banding, as it increases the available color shades from 256 to 1,024 per channel.
- Color Space: Set this to Rec. 709 (or Rec. 2100 if using 10-bit/HDR).
- Color Range: Set this to Limited. While “Full” sounds superior, most video players and streaming platforms (like Twitch and YouTube) expect a limited range. Forcing “Full” often leads to crushed blacks and severe banding during playback mismatch.
2. Optimize Encoder Settings
Compression is a major contributor to gradient banding. To preserve gradient detail, navigate to Settings > Output (set Output Mode to Advanced) and adjust your encoder settings.
- Encoder: Use NVIDIA NVENC H.264 or AMD HW H.264. If your GPU and target platform support AV1, use it; AV1 is highly efficient and handles dark gradients significantly better than H.264 at lower bitrates.
- Rate Control: Use CBR (Constant Bitrate) for streaming, or CQP (Constant QP) for recording.
- Bitrate (for Streaming): Set this as high as your platform allows (e.g., 6,000 to 8,000 Kbps for Twitch; up to 15,000 Kbps for YouTube 1080p60). Low bitrates force the encoder to compress dark areas first, creating blocky bands.
- CQ Level (for Recording): Set to 16 to 20. Lower numbers mean higher quality and less banding, but larger file sizes.
- Keyframe Interval: Set to 2 seconds.
- Preset: Set to P5, P6, or P7 (Slowest/Slower/Quality) to allow the encoder more processing time to resolve fine gradients.
- Profile: Set to High (or Main 10 if using a 10-bit color format).
- Psycho Visual Tuning: Enable this option. It optimizes GPU bitrate allocation to reduce banding in high-motion and gradient areas.
- Max B-frames: Set to 2.
3. Add a Dither Effect (Optional)
If you are still experiencing banding in 8-bit color, the issue may stem from your game or source video. You can apply a subtle Dither filter in OBS or enable “Dithering” in your graphics card control panel to introduce micro-noise, which visually blends the steps of the gradient and masks the banding effect.