Question / Help Stream gets pixelated on 6000 bitrate

SpectreKid

Member
It DOES. More Sharpness needs more Bitrate.
Even worse with Lanczos 4.
Yeah, Bicubic is noticeably sharper than Lanczos. Not sure if intended, must do further testing with 720p and even 480p for clearer results.

Also, to clarify, should I be using built-in benchmarks to test, or actual gameplay? I can't get exact same footage every time, so this might be an issue.
 
Should the bas canvas resolution always be the same as your monitor? I could do 1920x1080 or 1280x720.
I have changed a few things for my stream and it look a little better now. I'm currently streaming on 720p 60fps.
This is because obs gave me an warning about the amount of decoding that couldn't be handled by obs so i had to change some preset things. 1080p 60fps was one of the reasons why obs couldnt decode. Also it didnt really want to decode with the gpu. So i decided to use the x264 encoder. Cpu usage is on veryfast i havent tried lower yet.
I have changed the color range back to 609 and partial @FerretBomb
I have changed the bitrate to 5000 because 6000 seemed to make weird flashing images on my phone while i was watching my own stream.

1571574064530.png


I'l keep Bicubic since all of my friends are having no trouble using it.

1571574373922.png


Stream is looking better now so fare guys!
Thankyou <3

We could stil optimize it a little bit more.
Here is a stream of me playing fortnite and an RTS game.
https://www.twitch.tv/videos/497134860?filter=archives&sort=time
 
NVENC don't handle very well if you got multiple video sources, try removing your cam and just have the game on. See if that makes the difference :)
 

SpectreKid

Member
@SpectreKid i stil have this issue with 720p 60fps there is so mutch pixelation its umbereable to look at. Im stil using 6000 bitrate kbps and im using the 2070 rtx graphics card for streaming. Can you add me on discord so we can talk about this? DutchTaylor#9972

Here is the picture of the current issue im having.

https://media.discordapp.net/attach...34586675230/unknown.png?width=1256&height=676
Sorry for no reply, I have been busy.

I added you on Discord, it is spectr3x.
 

FerretBomb

Active Member
It DOES. More Sharpness needs more Bitrate.
Even worse with Lanczos 4.
That is absolutely not how digital sharpening works.
Yes, with more bitrate comes a higher quality image, which will display more cleanly. That has NOTHING to do with the sharpen pass included in Lanczos sampling/scaling. I believe you are conflating 'sharpness' (of image) with 'sharpening' (an image processing technique). Running a sharpen filter over an image will not affect the bitrate needs.

@Stream Advisor Generally you want to keep your Canvas resolution at the resolution you intend to game at. For basic purposes, monitor resolution is the safe default. There are reasons to use other settings though (like if you have a 16:10 monitor and want to send a 16:9 stream while being able to control the space, or if you game at a lower resolution like 720p to provide maximum quality on-stream with no scaling).
If NVENC is throwing errors, you should post those (verbatim) instead. Chances are good that you have a separate issue; NVENC can handle encoding two streams at 4K60 (or higher) simultaneously, and will have much better quality on a 20-series card than x264 Veryfast. You'd need to drop to x264 Medium to compete. This includes composited scenes, not just raw gameplay.
 

DeMoN

Member
That has NOTHING to do with the sharpen pass included in Lanczos sampling/scaling
It has.
Try Lanczos 4 vs Bilinear with same CRF Value and same video at x264.
I guarantee you the lanczos 4 one will be bigger filesize than the quite blurry bilinear filter.

Running a sharpen filter over an image will not affect the bitrate needs.

It DOES. With a direct sharpener filter it is even more the case obviously.
Again. Encode without the sharpness filter and same video with same CRF factor and watch filesizes. I guarantee you the sharpened video will have higher filesize obviously.
Ensure you use CRF and not bitrate encoding, because obviously with bitrate encoding you will end up with worse quality instead higher filesize.

Generally you want to keep your Canvas resolution at the resolution you intend to game at
True for twitch. Wrong for youtube.
 

DarkSwordsman

New Member
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.
 
Top