De acordo com o Wiki do FFmpeg: Aceleração de Hardware :
CUVID oferece descodificadores para H264, HEVC, MJPEG, MPEG1 / 2/4, vp8 / 9, vc1. O suporte do codec varia de acordo com o hardware. O conjunto completo de codecs sendo disponível apenas no hardware Pascal, que adiciona suporte a VP9 e 10 bits.
Exemplo de decodificação usando CUVID, que copia os quadros para a memória do sistema neste caso:
ffmpeg -c:v h264_cuvid -i input output.mkv
Transcode completo de hardware com CUVID e NVENC:
ffmpeg -hwaccel cuvid -c:v h264_cuvid -i input -c:v h264_nvenc -preset slow output.mkv
Transcodificação de hardware parcial, com quadros transmitidos pela memória do sistema (isso é necessário para transcodificar conteúdo de 10 bits):
ffmpeg -c:v h264_cuvid -i input -c:v h264_nvenc -preset slow output.mkv
Se o ffmpeg foi compilado com suporte para libnpp, ele pode ser usado para insira um scaler baseado em GPU na cadeia:
ffmpeg -hwaccel_device 0 -hwaccel cuvid -c:v h264_cuvid -i input -vf scale_npp=-1:720 -c:v h264_nvenc -preset slow output.mkv
A opção
-hwaccel_device
pode ser usada para especificar a GPU a ser usada pelo cuvid hwaccel no ffmpeg.