Pixelated stream

JohnConnory

New Member
Hello!

I have trouble to configure my stream. I have pixelated results especially when moving in game. Even static the quality of the image is poor, seems grainy.
Here's a log: https://obsproject.com/logs/xINthhBJEWXfF2If
I tried follow the auto config, playing with bitrate, with FPS, follow guide from the READ FIRST post of this forum and various tips from youtube but i fail to have a correct stream. The issue is the same with just video records, so no connexion issue i guess...
I feel like my hardware is okay (Processor AMD Ryzen 7 5800X, 16Go RAM and AMD Radeon 7700 XT) so i don't know what to do.

Can you help?

Thanks a million!
 

Suslik V

Active Member
If you streaming to YouTube then look at recommended settings (bitrate, resolution, fps etc):
12000 Kbit/s is your target bitrate for H.264 based encoder (or you need to lower resolution and framerate, because 6000 Kbit/s is too low for 1080p@60fps).

If you streaming to Twitch then:
nothing will help you. Reduce fps.

If you only recording then choose CRF method of rate control for the encoder. Users of OBS usually sets other than "Same as stream" for local recordings.

OBS guides:
 

JohnConnory

New Member
Yes, i'm streaming to twitch that's why i capped at 6000kbit/s
I followed guides including ones on this forum and i don't seem to find a way to improve the quality of my stream.
Basically i was told to reduce resolution, lower fps, reduce in game graphics, but nothing change and even if my hardware isn't top notch i'm guessing i should be able to have a fluid stream of a game like FFXIV or medium res Elden ring. It seems that i have an issue and i don't find answer in guides. Do you have any ideas?

Thanks a million!
 

JohnConnory

New Member
With the grainy image yes, i might have difficulty to accept the encoding loss but i understand it. However, when the camera move, the stream is an ocean of pixel and that seems like an issue, it's difficult to watch.
 

qhobbes

Active Member
1. In Windows, we recommend that "Game Mode" be enabled. Game Mode can be enabled via the Windows 10 "Settings" app, under Gaming > Game Mode.
2. Since you need to use 264 for Twitch, I would recommend using the YouTube recommended upload encoding settings for resolution/fps/bitrate for streaming. These are much more realistic.
3. Watch this guide for x264 https://www.youtube.com/watch?v=fQ04pIcpMkM&t=0s
4. REMOVE Display Capture and use Game Capture to capture your game.
5. Your ViewSonic VX2457 shows a refresh rate of 59. Is that 59, 59.94, 59.951 or something else?
 

JohnConnory

New Member
Hey, thanks a lot.
I activated the game mode and changed my capture to game capture.
The refresh of the screen is 59.94.
I'm looking for the guide and will make few changes.
Thanks for the infos!
 

qhobbes

Active Member
Ok, if your screen is 59.94 Hz, then your games should be running at 59.94 FPS. Make sure you have V/FreeSync enabled.
Since your main content is 59.94 FPS, then your Common FPS Value should be 29.97.
 

JohnConnory

New Member
Hmm with theses few changes i got definitly improvements!
The pixelisation on movement is way down and nearly disappeared thanks a lot!
Only stay a little bit of pixelblur when moving and still the grainy image (even static), but i guess that is the encoding loss and i can't do anything about it...

Thanks a lot!
 

qhobbes

Active Member
1. Change your bitrate back to 6000 and Common FPS back to 29.97.
2. Change rc-lookahead=59.94 to rc-lookahead=30
3. Make sure the Output Resolution is set to 1280x720
 

JohnConnory

New Member
Hey!
I made the changes:
-going back to 6000kbps doesn't seems to affect anything, but thelowering of the fps make the image stutter, it is way less fluid than 59.94. As for the output resolution, it doesn't change much but it seems to be grainier and poorer in 1280x720.
Here's a log: https://obsproject.com/logs/ZVB53VOATOKE3NNd

Thanks for your help :)
 
Last edited:

JohnConnory

New Member
I looked at all the videos and it seems that the blur i have can be seen in every one of his, maybe it's normal.
I uploaded a short record so you will be able to see it by yourself:
Video
 

qhobbes

Active Member
If you're going to stream to Twitch, then I have to advise that you follow their Broadcasting Guidelines (they are a Premier sponsor after all) which has a hard cap at 6000 kbps for video. Let's do the math on that:
A 1024x720 frame is composed of 737,289 pixels. At 29.97 FPS that's ~22,096,282 pixels per second. 6,000,000 b / 22,096,282 px = 0.27 b per px.
A 1920x1080 frame is composed 2,073,600 pixels. At 59.97 FPS that's ~7,457,496,906 pixels per second. 6,000,000 b / 7,457,496,906 = 0.00008 b per px.
I know that that's not exactly how video encoding works, but you can only allocate so many bits per frame.

You can try adding a static border to the left side and top. That may help. YouTube allows newer codecs such as HEVC and AV1 which can get better quality at the same bitrate so that may be the way to go (if your card support those).
 

Suslik V

Active Member
@qhobbes math is a bit different here (+ some typos in calculations).
1920x1080 frame is 1036800 compressed pixels because of 4:2:0 chroma subsampling.

In general, ratio is 2.25 (area 1080p vs 720p), Migration to 4K is even worse, ratio is 4 (area 2160p vs 1080p). But to some point it is better to use higher resolution when video compressed with loss, image will look (or has "feel" that it looks) more crisp and artifact are negligible. Of course, content makes matter, and it affects quality.
 

qhobbes

Active Member
I did a test with
x264 CBR 6000, Keyframe 2, CPU ultrafast, Profile high, Tune None, Options threads=2 rc-lookahead=30 trellis=1 direct-pred=spatial
1080 at 60 and 30 FPS with and without a border (44 px on left 26 px on right) using a Gran Turismo 7 replay could immediately tell with borders on and off as the track was blurry.
I know it's only one example (and it's a JPG) to me that made a difference.
 

Attachments

  • x264-60-30-border-comp-99.jpg
    x264-60-30-border-comp-99.jpg
    1,018.2 KB · Views: 92
Top