J’essaie de faire fonctionner cela. J’ai une carte Quadro P1000, tous les tests CUDA passent, mais à l’exécution, cela échoue et bascule sur le logiciel. Le fichier journal est joint, voici l’erreur que je trouve :
La demande de décodeur matériel provenant de ffmpeg est rejetée par la carte graphique, donc elle échoue. Il peut y avoir plusieurs raisons : peut-être que le flux vidéo n’a pas été identifié correctement pour utiliser le bon codec, ou peut-être que le décodage vidéo mpeg2 n’est pas pris en charge pour cette configuration de flux spécifique.
Vous ne verrez peut-être pas beaucoup d’amélioration des performances, puisque votre vidéo d’origine est en mpeg2 et que le décodage mpeg2 est assez efficace en logiciel. Il faudra peut-être simplement plus de temps pour copier toutes les données vidéo vers la mémoire graphique, les décoder, les renvoyer à ffmpeg, puis les renvoyer à la carte vidéo pour l’encodage. Habituellement, c’est le h.264 et le h.265 qui bénéficient le plus du décodage matériel.
Si vous souhaitez tout de même essayer, vous pouvez ajouter ceci à la ligne ffmpeg-general de votre profil ; cela force la carte à utiliser un décodeur matériel spécifique,
-c:v mpeg2_cuvid
Ce doit être le dernier paramètre de la ligne ffmpeg-general.
Merci d’avoir jeté un œil. Alors, j’ai récemment dû reconstruire mon serveur et lorsque j’ai réinstallé et reconstruit mes profils MCE, j’ai décoché « sélectionner la meilleure audio » et coché « audio multicanal ».
Je ne peux pas l’expliquer, mais je n’ai plus eu le problème depuis.
Je le mentionne au cas où quelqu’un d’autre rencontrerait un problème similaire.
Ou alors j’avais simplement un pilote corrompu ou quelque chose du genre, et lorsque j’ai reconstruit le serveur, cela a réglé le problème.
[h264 @ 0x5641628791c0] decoder->cvdl->cuvidCreateDecoder(&decoder->decoder, params) failed → CUDA_ERROR_INVALID_VALUE: invalid argument
[h264 @ 0x5641628791c0] Utiliser plus de 32 (37) surfaces de décodage peut provoquer l’échec de nvdec.
[h264 @ 0x5641628791c0] Essayez de réduire le nombre de threads. Utilisation de 16 actuellement.
[h264 @ 0x5641628791c0] Échec de configuration pour le format cuda : l’initialisation hwaccel a renvoyé une erreur.
Pourquoi utiliser hwaccel pour le décodage ? Cela risque simplement de ralentir votre conversion à cause du temps de transfert sur le bus et en mémoire.
J’ai 30 chaînes en direct qui tournent en même temps, le serveur possède 2 GPUs Quadro P5000, j’utilise hwaccel pour le décodage afin d’éviter de surcharger les CPUs.
Vous risquez probablement de le ralentir et de consommer plus de CPU en activant le décodage pour les raisons mentionnées ci-dessus lorsque vous utilisez d’autres fonctionnalités logicielles (comme l’encodage audio, les filtres, etc.). Essayez de ne pas l’utiliser.