Pretty much every time I've used nvtop it has been while doing CUDA stuff, mostly to see if it was going to blow out the memory but also to spot check that the model is actually using the GPU. I've had times where it said it was using the GPU, but it only did so for the first part of the work and then dropped down to the CPU for the rest.
I use several video players, including mpv, vlc and ffmpeg, and they have always used without problems the hardware video decoding and encoding on all kinds of GPUs.
Only with Firefox and Chrome/Chromium in most versions the hardware acceleration is broken, even if there have been some versions where it worked fine (on NVIDIA), but at the next browser upgrade it was broken again.
This does not bother me much, because I do not like to watch video files in a browser anyway. I always download them first and I play them locally.
ah yes, you can configure nvtop to display encode and decode loads. Interesting to watch how playback speed in VLC is directly reflected in the metric.
I can see it working only with VLC.
Firefox has some support while chromium based browsers have that only formally.
In the real world you never see the video hw acceleration kicking in, neither with webrtc nor with videos.
It is a pity.