J’ai un serveur avec deux cartes Nvidia GTX 750 Ti séparées ainsi qu’une carte graphique Intel intégrée. À l’origine, MCEBuddy utilisait le CPU et la carte graphique intégrés pour tout faire. J’ai coché la case pour utiliser l’encodage matériel et j’ai choisi NVidia dans le menu déroulant. Après avoir consulté les forums, j’ai trouvé comment utiliser le GPU NVidia en changeant l’ordre des choix d’encodage pour que « ffmpeg » soit en premier. Donc maintenant, l’encodage se fait avec le GPU NVidia, mais seulement pour deux conversions. J’ai configuré MCEBuddy pour faire 4 conversions simultanées, en pensant qu’il commencerait à utiliser les deux GPU NVidia selon les besoins. Mais ce qu’il semble faire, c’est effectuer deux conversions sur une seule carte, puis les deux autres conversions s’exécutent sur le matériel intégré.
MCEBuddy est-il capable d’utiliser plusieurs cartes NVidia, et si oui, que dois-je faire ou où dois-je chercher ? J’ai regardé dans les fichiers journaux, et il voit les deux cartes et dit qu’elles ont les mêmes capacités. Dois-je faire quelque chose de plus pour qu’il les utilise toutes les deux ?
Avec la version 2.5.1 ou plus récente, vous n’avez pas besoin de modifier les profils car HandBrake et FFmpeg prennent tous deux en charge les encodeurs matériels NVIDIA, Intel et AMD. MCEBuddy se charge de sélectionner automatiquement le matériel et l’outil. Il vous suffit de choisir votre option dans l’interface graphique et MCEBuddy fait le reste.
Si vous joignez vos journaux, nous pourrons voir ce qui se passe.
Merci pour la réponse et c’est agréable d’apprendre que la dernière version simplifie encore les choses. Désolé, j’aurais dû joindre les logs dès mon premier message. Voici deux fichiers de log :
le premier : « NASA’s Unexplained Files (2014) - 2019-09-23 07 00 00 - Episode 18.ts-Convert to MP4-2019-12-10T07-06-25.0474815-06-00 » utilisait le GPU NVidia et a réussi.
le second : « NASA’s Unexplained Files (2014) - 2019-12-10 06 00 00 - Secrets of the Alien Signals.ts-Convert to MP4-2019-12-10T06-00-00.1406690-06-00 » utilisait le processeur Intel.
Comme quatre conversions tournaient en parallèle (2 sur le GPU NVidia et 2 sur l’Intel), j’ai arrêté le traitement lorsque les jobs NVidia ont terminé, donc ceux sur Intel ne sont pas allés jusqu’au bout. J’ai lancé une comparaison dans Notepad++ entre les deux fichiers et je vois ces messages plusieurs fois dans le fichier Intel :
ERROR> 2019-12-10T06:13:08 → StartAppWithAdminPrivilegesFromNonUISession WTSQueryUserToken failed (No logged on users) with error 1008. An attempt was made to reference a token that does not exist.
WARNING> 2019-12-10T06:13:08 MCEBuddy.AppWrapper.FFmpeg → Unable to create UI Session process with Admin Privileges from NonUI Session. Is any user logged on?
WARNING> 2019-12-10T06:13:08 MCEBuddy.AppWrapper.FFmpeg → Retrying process creation as a NonUI Session process with Admin privileges
WARNING> 2019-12-10T06:13:08 MCEBuddy.AppWrapper.FFmpeg → Some functions like hardware encoding may not work in this mode
Je ne sais pas trop ce que cela signifie. Merci pour votre aide ! Si vous parvenez à comprendre pourquoi il n’utilise pas les deux cartes NVidia, ou même pourquoi il n’effectue pas plus de deux conversions simultanées sur celle qu’il utilise, je vous en serai très reconnaissant.
2019-12-10T06:16:03 MCEBuddy.AppWrapper.FFmpeg → [h264_nvenc @ 000002241ac32000] OpenEncodeSessionEx failed: out of memory (10)
2019-12-10T06:16:03 MCEBuddy.AppWrapper.FFmpeg → Last message repeated 1 times
2019-12-10T06:16:03 MCEBuddy.AppWrapper.FFmpeg → [h264_nvenc @ 000002241ac32000] No NVENC capable devices found
Il essaie ensuite handbrake et le pilote graphique Nvidia échoue à nouveau :
MCEBuddy.AppWrapper.Handbrake → [h264_nvenc @ 0000000005d708c0] OpenEncodeSessionEx failed: out of memory (10)
2019-12-10T06:16:15 MCEBuddy.AppWrapper.Handbrake → [h264_nvenc @ 0000000005d708c0] OpenEncodeSessionEx failed: out of memory (10)
2019-12-10T06:16:15 MCEBuddy.AppWrapper.Handbrake → [h264_nvenc @ 0000000005d708c0] No NVENC capable devices found
2019-12-10T06:16:15 MCEBuddy.AppWrapper.Handbrake → [06:16:15] encavcodecInit: avcodec_open failed
Il n’utilise pas votre matériel Intel car vous avez sélectionné uniquement Nvidia dans les paramètres de votre tâche de conversion (si vous aviez sélectionné Any, il serait passé à Intel QuickSync), il bascule donc vers l’encodage logiciel.
99,999 % des problèmes d’encodeur matériel sont dus à des pilotes graphiques défectueux.
Je comprends ce que vous dites, mais cela fonctionne parfaitement sur le GPU Nvidia avec 2 tâches de conversion simultanées ; cela échoue seulement quand il y a plus de deux conversions et que je règle les conversions simultanées à 4. Si je le laisse à 2, il exécute ces deux tâches sur le seul GPU Nvidia sans problème. J’utilise le pilote Nvidia le plus récent. Donc je me demande ce que je dois faire ?
Vous pouvez essayer une version différente du pilote graphique. Il se peut qu’il manque de mémoire ou qu’il existe une limite au nombre de conversions simultanées que le matériel peut gérer. Je sais que certains matériels limitent les conversions à 2 ou 4 flux à la fois.
Vous pouvez également définir l’option sur Any et il essaiera d’utiliser votre matériel Intel si votre Nvidia échoue.
Vous pouvez simplement le limiter à 2 conversions simultanées.
NVidia limite ses pilotes graphiques à seulement 2 flux de transcodage simultanés pour la plupart des cartes graphiques non Quadro, il s’agit d’une limite artificielle imposée par NVidia dans ses pilotes, c’est pourquoi votre 3e conversion simultanée échoue lorsque le pilote tente de la démarrer. La solution est de contacter Nvidia ou de ne pas limiter vos conversions à NVidia uniquement (définissez-la sur Any).
Certaines cartes Quadro permettent un nombre illimité de transcodages simultanés (sans restriction). Voici la matrice du tableau montrant les limites pour différentes cartes :
Wow ! Merci pour toutes ces recherches, dont certaines que j’aurais dû faire moi-même. Mais cela me ramène à l’intention de ma question originale. Du point de vue de MCEBuddy, existe-t-il un moyon d’utiliser la seconde carte NVidia ? J’ai deux cartes identiques dans le système que MCEBuddy détecte et dit être toutes deux compatibles.