You should use NVCUVID for decoding.
You should use CUDA for scaling.
You should use NVENC for encoding.
Seeing SKIP1FRAME, SKIP2FRAME, SKIP4FRAME, KEYFRAMESONLY, or ALLFRAMESOFF in your signals that transcoder is overloaded and is skipping frames in an attempt to keep up with your live feed. This will affect playback of segmented content which may cause your clients to buffer or even disconnect from the live stream. This can fill the java heap rapidly which if that happens will cause Wowza Streaming Engine to restart.
Please run the following command which will show everything that your Nvidia card is doing.
nvidia-smi -i 0 -q
The line above will look at the first card only. If you have more than one Nvidia card you can change the zero to one and see the next card.
You should see a section that looks as follows:
Gpu : 46 %
Memory : 27 %
Encoder : 0 %
Decoder : 0 %
Active Sessions : 0
If you have more than one GPU you should load balance them as shown in the article below.
The article below shows the list of Nvidia cards that support video encoding and decoding. Nvidia restricts two outgoing video streams at the driver level for their GTX and RTX consumer grade video cards. We do not provide support for consumer grade GPUs.
Note that the cards in the Kepler family are from 2012. Cards in the Maxwell family are from 2014. Cards in the Pascal family are from 2016. Cards in the Volta family are from 2017. Cards in the Turing family were released in September 2018.
NVIDIA GRID cards are generally used in virtualized environments so that resources can be shared across servers. Tesla cards are high performing for video decoding and encoding. Quadro cards are the low end of the Nvidia cards for decoding and encoding.
Our Transcoder benchmarks use older Quadro cards in the Maxwell family. This should give you an idea of what to expect.