dandimi

New Member
OS: Manjaro kernel 5.19.11
Hardware:
  • 5900X (PBO 170W)
  • 32GB RAM 3600 1:1
  • 5500XT 8GB
  • 120Hz 1080p screen
I have been experiencing poor video quality (recorded or streamed) for more than a year and regardless of the settings.
Things i have tried so far:
-KDE compositor settings.
-Changing the colour format, space and range.
-Different capture method (screen/window)
-Different combinations of resolution and framerate
-Different encoders and parameters for them.

The results are as follows> The overall quality is very poor, worse for moving objects and transparent overlay. The best performing combination for a 1080p60 6000kbps limit is x264, fast, high, threads=21 b_adapt=1 direct-pred=temporal me=tesa trellis=2 bframes=16 ref=1 subme=5 analyse=all rc-lookahead=120 me_range=16 aq-mode=3 partitions=all.
AOM AV1 preset 7, produces worse quality at the same bitrate. VAAPI H.264 (gpu) is broken and outputs 4 pixels in total, not even worth considering as its load on the weak gpu results in missed frames unless the games fps is limited and quality - lowered. The two best ways to produce good quality recordings are to use a constant quality factor (like 19-20 for x264) or to set the bitrate to something insane like 60-100M, both result in huge files.

You can find a few short recordings here: GOOGLE DRIVE (log file included)
What could cause this quality degradation upon movement? Do you have any tips to fix this? Streams with the same game (WOT) appear to have a lot better quality, and preserve detail when panning the camera around.
 

redmonkey

New Member
Since it's been 2 years and I had the same problem for the longest time, I'm not sure if you found a solution, but I did, so I'll share it.
I'm in OBS Studio 30.1.2.
Rocky Linux 9.3

On the Main page, when you open OBS, in "Sources" you should use Screen Capture (XSHM).

Then
In Settings > Output > Recording
(since I don't stream, I'm only interested in the recording tab)

Recording Format MPEG-4 (.mp4)
Video Encoder NVIDIA NVENC H.264 (FFmpeg) - I have an nvidia gpu, so this option is present. If you don't, I assume x264 will be next best alternative
Audio Encoder libfdk AAC

Encoder Settings

VBR
(
Variable Bitrate because we're recording 60fps, which is a lot of frames, and we want leeway to deal with situations where we need extra bitrate to handle extra data e.g. we screen record a scene from Transformers Revenge of the Fallen with lots of cool motion)

Bitrate
8000 Kbps
Max Bitrate 12,000 Kbps

Keep the rest at their defaults

Multipass Mode Single Pass
Profile High

If you go to the Advanced tab

Video
Colour Format
I444 (8 BIT, 4:4:4, 3 Planes)
Colour Space sRGB
Colour Range
Limited

Leave the rest at their default, unless you have specific things you need to change for your usecase.

These settings fixed all my disgusting low-bitrate and colour space issues, while giving me comfortably-sized recordings to edit.

A bit tricky to figure out, but I did, so cheers to the OBS team for beautiful application that works!
 
Last edited:
Top