0

I'm just asking this out of pure curiosity.

I use FFMPEG a lot. Sometimes, I just opt to use the good old CPU encoding and decoding, because of how effectively it preserves the original video quality, but this can be really inconvenient sometimes because of how slowly it encodes.

However, if keeping the original quality isn't a big deal for me, I most often choose to encode with Quicksync, because of how much faster it is.

To highlight the difference, I re-encoded the same video in ffmpeg (it was about an hour long with 1080p res) using the CPU first, then the GPU.

My CPU (a core i7 8th gen) encoded the video at about 2x speed. Comparatively, my GPU (just an Intel UHD graphics 620) encoded the video at around 15x.

This is a HUGE difference in speed, but, of course, I'm sacrificing some of the visual quality (in this case, the difference was not very noticeable). Now I'll get to my question - Is encoding with a fairly new nvidia gpu going to give a better quality per bitrate than when encoding with Intel Graphics? Or is all GPU processing just not very good in general (in terms of quality)? And would it compare to the quality produced by CPU encoding? I imagine it would be a lot faster. Are there other things I'd have to factor in as well? (such as using a hdd or ssd, does that affect the speed?)

Some videos I process are very long, and CPU encoding is very inconvenient, given how slow it is, but encoding with Intel Quicksync doesn't give as good quality. I'm just interested to know whether a better GPU for encoding would produce results comparable to CPU, while also being much faster.

2
  • GPU encoding gets better every generation. CPU encoding will probably always be “better” but slower. As to what is better Quicksync vs NVENC, it totally depends on hardware generation, the content, and the options used.
    – szatmary
    Oct 8 '20 at 5:54
  • While performance of a Intel UHD graphics 620 iGPU is very good for the price point, there is no comparison, to a dedicated GPU. The Intel UHD 620 is already 2+ years older than even the previous generation of AMD/Nvidia GPUs
    – Ramhound
    Oct 8 '20 at 6:35
0

I have two systems that have Quick View: one of them, which I just acquired, also has a CUDA capable Nvidia card. I've been experimenting with the two.

First, I've found that both will greatly speed up encoding: I'm not sure if decoding is faster, but it certainly does reduce the load on the CPU. With one or both enabled I can do more 'other stuff" on the system while also processing video.

As for quality; I've found that both QV and CUDA can produce videos that are as good a quality, and sometimes better, than just the CPU. This includes videos on a 40 inch TV at 1080p.

Sometimes the default encoding setting (I use "veryslow" for CPU and QSV, and "HQ" for Nvidia) will pick a good set of parameters, and will give good video quality. It will also often be more compressed than what I was choosing when manually specifying quality factors doing CPU encoding (usually with Avidemux). And, as stated, it takes a lot less time to get the results: I see up to 20x improvement.

However: sometimes the quality of the output is poor. In those cases I have to specify the quality factor (-q:v for QSV, -qp for Nvidia). That may take a few tries, but I find I can still get the quality I want, and it still takes a lot less time when hardware acceleration is used.

Between the two methods: x264_qsv has only a limited set of options for controlling how it encodes. h264_nvenc has many more options and 'tweaks' you can use, if you so desire. And there is another deciding factor; there are a number of filters what will use cuda / nvenc / whatever the name is today to do things like de-interlacing and resizing using hardware acceleration. So far as I know, there are no filters that use QSV.

There have also been some statements by the developer of Avidemux that he's thinking of enabling one hardware acceleration, and it will probably be Nvidia, as there are more people that use Nvidia, or at least know about Nvidia. I didn't know that Intel added QSV to some processors until very recently, it's not as well publicized. So you may want to check the software you like to use to find out which they support. I've found there are a few programs (HandBrake is one) that support both. But again, Nvidia's CUDA seems to have much more potential than QSV.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.