Question / Help Ryzen 7 2700x possible encodes

DMITR3PLAY

New Member
Good day everyone!
Ryzen users related question.
I’m streaming mostly FPS games (R6Siege, COD, Fortnite) so I usually set up OBS on Bicubic, 8000 kB/s,1600x900 @60, fast, main/baseline, 0-2 frames.
But I’ve noticed, that sometimes there are some artifacts (lets just say clarity loss) on a stream.
Also I watched streamers with similar CPU and with clear output image! Looks like they are using Medium or Slow preset. But in my tests Medium preset freezes from time to time (at action scenes usually) and Slow is no way- whole video is a slideshow...
At the same time, in game, everything is fine and smooth.
So how can I improve clarity of my picture? Are there any tricks with CPU which I missed?
 

rockbottom

Active Member
There's probably more settings that need to be optimized but change your Profile setting from Main/Baseline to High.
 

DMITR3PLAY

New Member
There's probably more settings that need to be optimized but change your Profile setting from Main/Baseline to High.
As I know- High profile is for out of date hardware. Is it so? Cuz I have GTX 1660Ti and pretty modern CPU. By the way, NVENC looks not much better even at “high quality” preset and same bitrate.
 

koala

Active Member
h.264 profile controls enabling of some encoding features. Baseline restrict many encoding features, main restrict some encoding features, high doesn't restrict features. So if the hardware you're playing a video with is able to playback high profile, you should use high profile, because this enables best compression.
(since the h.264 standard is quite old, about every hardware today is able to decode high profile. And if you talk about streaming, literally every streaming player today is able to decode high, including mobile devices)
 

DMITR3PLAY

New Member
h.264 profile controls enabling of some encoding features. Baseline restrict many encoding features, main restrict some encoding features, high doesn't restrict features. So if the hardware you're playing a video with is able to playback high profile, you should use high profile, because this enables best compression.
(since the h.264 standard is quite old, about every hardware today is able to decode high profile. And if you talk about streaming, literally every streaming player today is able to decode high, including mobile devices)
Thanks for making it clear for me :)
So, I will definitely have no micro freezes at High profile?
 

koala

Active Member
The profile setting has nothing to do with "micro freezes". Stutter can happen regardless of the profile setting. Unavoidable stutter might happen if the game fps isn't an integer multiple of the streaming or recording fps. Avoidable stutter, up to lags or slideshow-like video, might happen if some component in the video pipeline is overloaded: capture, compositing, encoder, upload to streaming service.
Blurry image might happen for high motion video, if the encoding quality or, for streaming, the chosen bitrate is too low.
Slightly blurred image might also happen if the video is rescaled and not the native resolution of the game.
Since you posted no log, nobody can tell what happens on your machine.
 

DMITR3PLAY

New Member
The profile setting has nothing to do with "micro freezes". Stutter can happen regardless of the profile setting. Unavoidable stutter might happen if the game fps isn't an integer multiple of the streaming or recording fps. Avoidable stutter, up to lags or slideshow-like video, might happen if some component in the video pipeline is overloaded: capture, compositing, encoder, upload to streaming service.
Blurry image might happen for high motion video, if the encoding quality or, for streaming, the chosen bitrate is too low.
Slightly blurred image might also happen if the video is rescaled and not the native resolution of the game.
Since you posted no log, nobody can tell what happens on your machine.
Okay, I’ll be at home and attach log.
 

DMITR3PLAY

New Member
The profile setting has nothing to do with "micro freezes". Stutter can happen regardless of the profile setting. Unavoidable stutter might happen if the game fps isn't an integer multiple of the streaming or recording fps. Avoidable stutter, up to lags or slideshow-like video, might happen if some component in the video pipeline is overloaded: capture, compositing, encoder, upload to streaming service.
Blurry image might happen for high motion video, if the encoding quality or, for streaming, the chosen bitrate is too low.
Slightly blurred image might also happen if the video is rescaled and not the native resolution of the game.
Since you posted no log, nobody can tell what happens on your machine.
 

Attachments

  • 2020-03-15 19-57-33.txt
    36.3 KB · Views: 219

koala

Active Member
The only issue I see in your configuration is when you used x264, you used profile baseline. Profile high should give better image quality, because it lets the encoder use more advanced compression algorithms.
But you have a GTX 1660, this makes Nvenc on a Turing chip available, and the quality of Turing Nvenc is about x264 medium. So switch to Nvenc to have the same quality as x264 while having no CPU demand, so everything else on your machine is able to run unencumbered.

If you compare the quality of your stream to the quality of someone else's stream, make sure you use exactly the same output resolution as the other stream, i. e. if you output with 1600x900, make sure you compare only with another stream of 1600x900. If you compare a 1600x900 stream with a 1280x720 stream, the 1280x720 stream will appear a bit more blurry at sharp edges like UI and text, but with less compression artefacts because of the smaller resolution, thus less picture information to squeeze through the small network bandwidth. The difference becomes more visible the more detail is in the original source, for example foliage and highly sophisticated graphics assets in the game.
 

DMITR3PLAY

New Member
The only issue I see in your configuration is when you used x264, you used profile baseline. Profile high should give better image quality, because it lets the encoder use more advanced compression algorithms.
But you have a GTX 1660, this makes Nvenc on a Turing chip available, and the quality of Turing Nvenc is about x264 medium. So switch to Nvenc to have the same quality as x264 while having no CPU demand, so everything else on your machine is able to run unencumbered.

If you compare the quality of your stream to the quality of someone else's stream, make sure you use exactly the same output resolution as the other stream, i. e. if you output with 1600x900, make sure you compare only with another stream of 1600x900. If you compare a 1600x900 stream with a 1280x720 stream, the 1280x720 stream will appear a bit more blurry at sharp edges like UI and text, but with less compression artefacts because of the smaller resolution, thus less picture information to squeeze through the small network bandwidth. The difference becomes more visible the more detail is in the original source, for example foliage and highly sophisticated graphics assets in the game.
Thanks for help, really :)
This might work.
I've tried following settings this evening (in the LOG below) and get a slideshow.
I think my mistake was in setting up 14000 kb/s and "0" main frames...
 

Attachments

  • 2020-03-16 20-59-55.txt
    34.9 KB · Views: 84

rockbottom

Active Member
You're still using x264 & CBR for recording. Koala recommended that you utilize your GTX-1660 Ti for encoding, I have a GTX-1660 Super & I agree. Here is an example for setting it up. If you want higher quality, lower the CQ Level #, if you want smaller files, raise the CQ Level #.

Capture.JPG
 

DMITR3PLAY

New Member
You're still using x264 & CBR for recording. Koala recommended that you utilize your GTX-1660 Ti for encoding, I have a GTX-1660 Super & I agree. Here is an example for setting it up. If you want higher quality, lower the CQ Level #, if you want smaller files, raise the CQ Level #.

View attachment 52044
And why you’re not using CBR? CQP is better decoder? Twitch recommends only CBR in official guide.
Moreover, I have clarified picture with NVENC Max. quality profile on 8000kb/s and it looks still not so good...
 
Last edited:

rockbottom

Active Member
For streaming, yes use CBR. I suggested CQP since you were recording on the log that was posted yesterday.

Does the NVENC encode look better than your x264 encodes? Are you still seeing the stuttering you were getting with x264?
 

rockbottom

Active Member
I'd tell them to quit their bitchin' & STFU if they don't like it, but thats just me! ; ~ )

I watched a few minutes, it looks decent & I didn't notice any stuttering.

You can get even better encodes with NVENC but you'll need to do a little work & step up to one of Xaymar's custom FFmpeg encoders. The custom encoder also gives you the ability to record in H265 if you prefer (I do!).

This is the version (v0.4.0) that I'm currently using: https://obsproject.com/forum/threads/ffmpeg-encoders-for-obs-studio.108253/


And he has a new version in his StreamFX plugin but I'm waiting for the OBS 25 official release before I give it a try. https://obsproject.com/forum/threads/streamfx-for-obs-studio.76619/


Installation is fairly easy but I strongly suggest you take the time to read the ALL the documentation Xaymar provided if you decide to try.

Here's the settings I use with the v0.4.0 custom FFmpeg encoder, my streams & recordings look awesome. If your recording, just make sure to save them to an SSD or an internal mechanical drive. With the standard NVENC encoder I can save to any of my HD's with no dropped frames but with the custom encoder & these settings, I'll drop a frame here & there if I try to save to a USB3.0 external. Saving to an SSD/internal drive eliminates all drops.

Custom FFmpeg v0.4.0 Streaming Settings.JPG


Custom FFmpeg v0.4.0 Recording Settings 1.JPG


Custom FFmpeg v0.4.0 Recording Settings 2.JPG
 

DMITR3PLAY

New Member
I'd tell them to quit their bitchin' & STFU if they don't like it, but thats just me! ; ~ )

I watched a few minutes, it looks decent & I didn't notice any stuttering.

You can get even better encodes with NVENC but you'll need to do a little work & step up to one of Xaymar's custom FFmpeg encoders. The custom encoder also gives you the ability to record in H265 if you prefer (I do!).

This is the version (v0.4.0) that I'm currently using: https://obsproject.com/forum/threads/ffmpeg-encoders-for-obs-studio.108253/


And he has a new version in his StreamFX plugin but I'm waiting for the OBS 25 official release before I give it a try. https://obsproject.com/forum/threads/streamfx-for-obs-studio.76619/


Installation is fairly easy but I strongly suggest you take the time to read the ALL the documentation Xaymar provided if you decide to try.

Here's the settings I use with the v0.4.0 custom FFmpeg encoder, my streams & recordings look awesome. If your recording, just make sure to save them to an SSD or an internal mechanical drive. With the standard NVENC encoder I can save to any of my HD's with no dropped frames but with the custom encoder & these settings, I'll drop a frame here & there if I try to save to a USB3.0 external. Saving to an SSD/internal drive eliminates all drops.

View attachment 52074

View attachment 52075

View attachment 52077
Wow! Thanks for feedback)
Looks like nice stuff here- I’am glad to see “buffer size” set up)
I’ll definitely try to use it.
When will next OBS version release?
 

DMITR3PLAY

New Member
Not sure but the 6th Release Candidate is now available. https://github.com/obsproject/obs-studio/releases

I just prefer to let other people test, especially since I have my current set-up running like clockwork. My motto, don't fix it if it isn't broke....
Ok, I've tested NVENC on high preset with 8000 kb/s, 1600x900 bicubic @60 and max quality.
And here is what I got: https://www.twitch.tv/videos/569250001
Looks nice and it's nice to have such clear picture after all :)
But I am sad regarding on my CPU capability of streaming... looks like it can't go better then "fast" and only with main preset (cuz high preset leads to stuttering)
 

rockbottom

Active Member
Yep, that looks great! The encoder may not work with 25, stick with 24.0.3. for now.

It might be possible to squeeze even more detail in there with some AQ adjustments. I just haven't tested enough yet to make any recommendations.
 
Top