Question / Help Bad streaming quality on x264

peter98

New Member
Hello fellas! :D

I started to stream on twitch. I tested nvenc new and x264. Everybody said x264 is better on less bitrate (like 6000 cause of twitch) even with very fast preset than nvenc new on maximum quality setting. But my tests showed that x264 is worse on 6000 bitrate than nvenv new.

x264:
https://www.twitch.tv/videos/492339386?t=59m21s
Here you can see how bad is the stream quality.

nvenc new:
https://www.twitch.tv/videos/492792447?t=44m38s
Here is the nvenc, which is much better quality on 6000 bitrate than x264 as you can see here.

My question is: Is this a normal behavior that x264 has worse quality, than nvenc new? Just because i watched a lot of tests about the encoders, and almost every tests said that x264 is good for streaming, because streaming platforms allows low bitrates, and on these bitrates x264 has better quality.

My PC:
AMD Ryzen 5 1600
Gigabyte GTX 1050 Ti 4GB
16GB RAM
I have the game on a Samsung SSD.

I play games, which are very video card intensive games, but my cpu is using only 15-25% during these games. So for me it would be better to stream with x264 to save a few percent of the video card usage. But my quality on x264 encoder is so bad, so I have to stream on nvenc.

Thank you guys for your help!
 

koala

Active Member
To see what might cause the difference it is necessary to compare the logfiles of these streams. If you use the veryfast preset for x264, the quality should be about equal to nvenc on the 1050, but if you used a less resource intensive preset such as superfast or ultrafast, you will certainly get worse quality than nvenc.

Another cause (not with your stream, but other people sometimes make this mistake) is if the the computer is not powerful enough to encode x264 without frame loss. This results in lags and choppy video, so the resulting quality is worse than with nvenc, since nvenc encodes without frame loss. But your videos are not choppy, so this is not the case for you.

By the way, nvenc doesn't use up GPU resources, because it is a dedicated circuit on the GPU. The nvenc (new) encoder variant is the least resource intensive encoder in existence, because it handles all uncompressed video data exclusively within the GPU. It enables the minimum amount of copy operations for (the huge) video data. Only the encoded frames are transferred through the pci-express bus, which is a fraction of the uncompressed data, and freeing the pci-express bus from that relieves the computer from much stress.
So if nvenc and x264 produces the same video quality, I would always prefer nvenc over x264.
 
Top