Not sure if you were looking to improve your quality/setup still, but I figured I would dump some recommendations here, since I have a similar setup (besides a 3950X).
For streaming on Twitch, I would recommend the following settings with the NVENC (new) encoder.
- Rate Control: CBR
- Bitrate: 6,000 Kbps (or 7,500/8,000 if you are partner, or stream frequently enough to always get transcoding as twitch affiliate)
- Keyframe Interval: 2
- Preset: Max Quality
- Profile: high
- Look-ahead: Enabled
- Psycho Visual Tuning: Enabled
- GPU: 0
- Max B-frames: 3 (or 4. Try using these settings in a recording and see if it improves or not)
If you want to try to improve the quality further, I would look into
Xaymar's blog about StreamFX.
In that blog, you can see the settings he uses
here in this screenshot with the "NVIDIA NVENC H.264/AVC (via FFmpeg)" encoder. It unlocks the NVENC encoder further to push it's quality towards the equivalent X264 slow or veryslow (veryslow can't currently be done with CBR for real-time encoding).
For local recording, I recommend these settings if you wish to use the X264 encoder:
- Format: mkv (allows your PC or OBS to crash and it won't lose any data)
- Encoder: X264
- Rate Control: CRF
- CRF: 20
- Keyframe Interval: 0
- CPU Usage Preset: fast
- Profile: high
- Tune: (None)
CRF rate control is a very easy rate control that can provide very good quality. Even old 4c/4t CPUs can do it real-time very well if in a dedicated system (depending on the preset you use). It will drastically lower your file sizes if you have little motion in your scene, but it also allows for very high quality movement scenes by pushing the bitrate into the 10,000-20,000 range where needed. Though, CBR 20,000 will not look as good as CRF hitting those same bitrates, simply because of how their algorithms work.
The lower the CRF number, the higher the quality but more space it uses. 23 is regarded as the best savings with minimal loss. Any higher, you will see exponentially lower quality for less space. Any lower than 18, you'll see little quality gains for way more space. You can also try for encoding presets slower than "fast" if you think you have enough CPU performance budget left over, but I don't personally see much difference with real-time encoding.
I know you can do HEVC (H265/X265) local recording if you do "custom ffmpeg output", but I have not tested it myself. I know HEVC uses quite a bit more power at the same presets than H264 (X264).
However, you can always
install ffmpeg and transcode your videos after your done if you want to save space. You can easily just drop your CRF value to 15 or something and then transcode with
Code:
ffmpeg -i recording.mkv -c:v libx265 -crf 23 -preset veryslow transcoded_output.mkv
and then delete the original. Just know that slow/veryslow will take some time (usually just barely over 1x, maybe less than 1x) so if you have a 10 hour stream, it will take 6-14 hours or so depending on what CPU you have.