Question / Help Twitch quality to low.

4NIM47

New Member
Hi,

I recently build dedicated streaming PC:

Asus PRIME X370-PRO
Elgato HD 60 PRO
AMD RYZEN 7 1700
16 GB DDR4
GTX 670
Win7

My gaming PC:

Asus P8Z77-V LX
I5-3570K
12 GB DDR3
GTX1080
Win10

Bandwidth:

60Mbps down / 60Mbps up

I chose AMD RYZEN 7 1700 over Intel I7 7700k as I thought 8 physical cores will perform better then 4.
This is question just about the quality.

I would like to stream FPS games. at 720p 60fps.
My problem is that when I play BF1 my stream is pixelated, but only when I move.
Some streamers got really nice sharp quality.

I really thought that my streaming pc is powerfully enough to produce nice quality.
Intel I7 would eliminate pixelation problem?
Do I need to be partner to have better quality? As non partner this would be max what I could get?

Here are my settings. You will see that having CPU preset slow, bitrate 3500 and 60fps not avoiding these pixelation.
Btw, my stream is not laggy.

I got also one more question about tearing.
I don't have like crazy tearing, just on single tear that goes from the bottom up. How can I avoid this?

9FOFAhR.png


WcJQx6U.png


2WbFTN6.png


neZ2fRI.png



HRJsL4i.png


XhC5Fy1.png


i0Kmh7C.png


N2dVRUe.png


Thx.
 
Last edited:

EBrito

Active Member
Maximun allowed bitrate for Twitch (non partners) is 6000 KBps.
They have risen their limits.
 

4NIM47

New Member
ok,

I unchecked Rescale Output like EBrito suggested.

I think stream looks better.

Here is link to the log: https://gist.github.com/anonymous/29310b124c054ce192875ad6cb7e7df0
Also I did two streams, one at 3500 Bitrate and one at 6000 Bitrate.

3500
https://www.twitch.tv/videos/131611540

6000
https://www.twitch.tv/videos/131611996

I don't think that different is huge.
I watched it at Past broadcasts however, will this be exactly how viewers will see it live?

Can I squeeze more out of my specs?

And one also very important question, how can I get rid off that small tearing.

Thx again, for help.
 

Boildown

Active Member
Try a test stream at 3500 bitrate for 5-10 minutes of high action content, then post that log file and the Twitch VOD link. Will be interesting to see the encode statistics. Ryzen is pretty new so we don't know yet what it can do, but this is how you can find out.
 

Joe33345

Member
In Output you need to disable "Enforce Streaming Service Encoder Settings" so the video will actually encode at 6000 bitrate. Your log shows it set to 6000 but I believe this option limits you to Twitch's old limits. You can watch your video and pull up the video stats and see it's encoding between 3000 and 3500.

As for the screen tearing, you'll have to use some sort of vsync when playing your games since you're exceeding 60fps ingame constantly. Try Fast Sync and see how that works out for games over 60fps. If you play a game that drops below 60fps then use regular vsync. Should fix all tearing :D

JoeNumb3rs
 

4NIM47

New Member
In Output you need to disable "Enforce Streaming Service Encoder Settings" so the video will actually encode at 6000 bitrate. Your log shows it set to 6000 but I believe this option limits you to Twitch's old limits. You can watch your video and pull up the video stats and see it's encoding between 3000 and 3500.

As for the screen tearing, you'll have to use some sort of vsync when playing your games since you're exceeding 60fps ingame constantly. Try Fast Sync and see how that works out for games over 60fps. If you play a game that drops below 60fps then use regular vsync. Should fix all tearing :D

JoeNumb3rs


Thanks,

I will try out your suggestions.
Now noob question, How to use Fast sync?
 

Joe33345

Member
Enable it in the nvidia control panel. Manage 3D Settings. Vsync. Do some research on it and you'll see how it works. It's actually pretty sweet :D
 

4NIM47

New Member
Enable it in the nvidia control panel. Manage 3D Settings. Vsync. Do some research on it and you'll see how it works. It's actually pretty sweet :D

I enable it, but this not change any thing.
I don't know if this is vsync problem. Before I upgraded my streaming pc, I had terrible tearing. I had no doubts that was tearing. Now its just this little one invisible line that tear the stream and its goes up in constant slow speed. But not always, often but not always.

Anyway thanks for suggestion, I will do some more reading about it.
 

EBrito

Active Member
20:41:52.252: Output 'adv_stream': Number of skipped frames due to encoding lag: 2 (0.1%)
Very minor encoding lag with SLOW preset. In case of lag, change to MEDIUM

About Enforce Streaming Service Encoding Settings:
OBS 18.0.1 : you are right . Still uses old Twitch requeriments
Next version will update this (I think)
GitHub

Installed version: edit services.json in C:\Program Files (x86)\obs-studio\data\obs-plugins\rtmp-services\services.json and check it.
(I think you can edit it and change 3500 for 6000)
 

4NIM47

New Member
I don't know if I should continue here or start a new thread, since this is about tearing now, but I hope it's ok.
There is a history about my issue here already.

First of all thanks to all who gave there advice. I'm really happy now with the quality, there is no pixelation problem any more. At least for me. I can stream 720p 60fps with 6000 bitrate, slow cpu preset

without a lag with really nice quality.

But there is this tearing problem, that drives me crazy.

I call Elgato support today and they suggest to switch PCI port, but my mob did not recognize that device on all other slots.
Also they told me that AMD don't support Ryzen cpu on win7. Btw tearing problem is also on Elgato software.
So I install win10 on my streaming PC, but this not change anything.

Twitch link with example: https://www.twitch.tv/videos/131848513
sorry no audio.

Here are my Nvidia settings:

6nsTE1A.png


yDby64G.png


zuNIqvV.png


bTS9Med.png


OKnObCP.png


I try all the Vsync types, nothing helps. Only switching my gaming monitor to 60Hz, but that's not an option.
I thought that when under "Adjust desktop size and position" on Elgato monitor, settings are 1920x1080 60Hz, that this is the signal that gaming pc is sending to capture card, and since capture card capture at 1920x1080 60Hz, there should be no tearing, since they are the same.

I hope that someone have some solution for that.
But if there is no way around it and I decide to move my GTX 1080 to my capture pc (to eliminate tearing) and make it gaming/capture pc, will I be able to keep the same quality of my stream since the CPU got 8 physical cores?

I know that there is one way around it.
Keep the monitors separated and install another OBS on gaming pc, and preview game play on another screen, and stream that preview. But I don't know what will be better, do it this way, or build one pc with best parts from both of them.
 

Boildown

Active Member
You need a capture card that can do 120Hz or 144Hz, whatever you're running on your main monitor. Otherwise cloning will either be 60Hz for both monitors or 120/144Hz for both monitors. You can't clone and have one monitor on the higher refresh rate and the other on the lower refresh rate. Well, I take that back, sometimes it lets you but in reality the higher FPS screen will feel like the lower FPS screen.

I use a Datapath Dual link DVI because of this, play and capture at 120Hz. I previously tried this with a lower-end Datapath and an Avermedia and ran into the limitations you're describing. And of course if you send 120/144Hz to a 60Hz capture card, you get bad tearing, there's no way around that.

You could try this instead: https://www.reddit.com/r/Twitch/comments/36obz8/144hz_monitor_display_port_60hz_limited_capture but I haven't done it myself.
 

Fenrir

Forum Admin
In Output you need to disable "Enforce Streaming Service Encoder Settings" so the video will actually encode at 6000 bitrate. Your log shows it set to 6000 but I believe this option limits you to Twitch's old limits.

Seems like things are mostly under control here, but wanted to point out this comment is false. We updated the settings to allow up to 6k after the announcement from Twitch was confirmed.
 

4NIM47

New Member
You need a capture card that can do 120Hz or 144Hz, whatever you're running on your main monitor. Otherwise cloning will either be 60Hz for both monitors or 120/144Hz for both monitors. You can't clone and have one monitor on the higher refresh rate and the other on the lower refresh rate. Well, I take that back, sometimes it lets you but in reality the higher FPS screen will feel like the lower FPS screen.

I use a Datapath Dual link DVI because of this, play and capture at 120Hz. I previously tried this with a lower-end Datapath and an Avermedia and ran into the limitations you're describing. And of course if you send 120/144Hz to a 60Hz capture card, you get bad tearing, there's no way around that.

You could try this instead: https://www.reddit.com/r/Twitch/comments/36obz8/144hz_monitor_display_port_60hz_limited_capture but I haven't done it myself.

Thanks for the link.

What I actually did is I used router instead of capture card. This is the method describe by Lethal One.
https://www.youtube.com/watch?v=UzL5TFq2AKo , he was inspired by Speedbre4ker. Works fine for me.
Having good graphic card on gaming pc and good cpu on streaming pc helps. I like the quality and there is absolutely non tearing.

Your card "Datapath Dual link DVI" it's quite expensive, will I get any benefits over "the router method" in streaming scenario, If I buy that card?
 
Top