web-dev-qa-db-fra.com

décoder une vidéo avec nvdecode (nvidia video sdk 7.1) et ffmpeg

Comment puis-je activer et utiliser nvdecode (nvidia video sdk 7.1) avec ffmpeg pour décoder une vidéo ??

merci

2
Gofrane Haj Ahmed

Selon FFmpeg Wiki: Accélération matérielle :

CUVID propose des décodeurs pour H264, HEVC, MJPEG, mpeg1/2/4, vp8/9, vc1. La prise en charge du codec varie en fonction du matériel. L'ensemble complet de codecs n'étant disponible que sur le matériel Pascal, ce qui ajoute le support VP9 et 10 bits.

Exemple de décodage à l'aide de CUVID qui copie les trames dans la mémoire système dans ce cas:

ffmpeg -c:v h264_cuvid -i input output.mkv

Transcodage matériel complet avec CUVID et NVENC:

ffmpeg -hwaccel cuvid -c:v h264_cuvid -i input -c:v h264_nvenc -preset slow output.mkv

Transcodage matériel partiel, avec des trames transmises par la mémoire système (nécessaire pour le transcodage de contenu 10 bits):

ffmpeg -c:v h264_cuvid -i input -c:v h264_nvenc -preset slow output.mkv

Si ffmpeg a été compilé avec le support de libnpp, il peut être utilisé pour insérer un scaler basé sur un GPU dans la chaîne:

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

L'option -hwaccel_device peut être utilisée pour spécifier le GPU à utiliser par le cuvid hwaccel dans ffmpeg.

2
llogan