Ich habe einen Server mit zwei separaten Nvidia GTX 750 Ti-Karten sowie einer Onboard-Intel-Grafik. Ursprünglich nutzte MCEBuddy die Onboard-CPU und -Grafik für alles. Ich setzte das Häkchen bei „Hardware-Encoding“ und wählte im Dropdown NVidia. Nach etwas Stöbern in den Foren fand ich heraus, wie man die NVidia-GPU verwendet – indem man die Reihenfolge der Encoding-Optionen ändert, sodass „ffmpeg“ an erster Stelle steht. Jetzt erledigt es das Encoding mit der NVidia-GPU, aber nur für zwei Konvertierungen. Ich stellte MCEBuddy auf vier gleichzeitige Konvertierungen ein, in der Annahme, dass es bei Bedarf beide NVidia-GPUs nutzen würde. Doch scheint es zwei Konvertierungen auf der einen Karte auszuführen und die anderen beiden mit der Onboard-Hardware.
Kann MCEBuddy mehrere NVidia-Karten nutzen, und wenn ja, was muss ich tun oder wo muss ich nachschauen? Ich habe in den Logdateien geschaut; es erkennt beide Karten und gibt an, dass sie dieselben Fähigkeiten haben. Muss ich noch etwas tun, damit es beide nutzt?
Mit dem neuesten Build 2.5.1 oder neuer müssen Sie keine Änderungen an Profilen vornehmen, da sowohl Handbrake als auch ffmpeg NVIDIA-, Intel- und AMD-Hardware-Encoder unterstützen. MCEBuddy kümmert sich automatisch um die Auswahl von Hardware und Tool. Sie wählen einfach Ihre Option in der GUI und MCEBuddy erledigt den Rest.
Wenn Sie Ihre Logs anhängen, können wir sehen, was los ist.
Danke für die Antwort und es ist schön zu hören, dass die neueste Version es noch einfacher macht. Entschuldigung, ich hätte die Logs beim Posten anhängen sollen. Hier sind zwei Log-Dateien,
die erste: “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” verwendete die NVidia-GPU und war erfolgreich.
Die zweite: “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” verwendete den Intel-Prozessor.
Da vier Konvertierungen liefen (2 mit der NVidia-GPU und 2 mit Intel), habe ich die Verarbeitung gestoppt, als die NVidia-Jobs fertig waren, damit die Intel-Jobs nicht beendet wurden. Ich habe einen Vergleich in Notepad++ zwischen den beiden Dateien gemacht und sehe diese Meldungen mehrmals in der Intel-Datei:
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
Ich weiß nicht, was das bedeutet. Danke für deine Hilfe! Wenn du herausfinden kannst, warum es nicht beide NVidia-Karten verwendet oder warum nicht mehr als zwei Konvertierungen auf der einen Karte, die es verwendet, werde ich sehr dankbar sein.
Ihr Nvidia-Grafiktreiber funktioniert nicht. MCEBuddy versucht zuerst ffmpeg, und wenn Ihr Treiber versagt:
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
Dann versucht es Handbrake, und der Nvidia-Grafiktreiber versagt erneut:
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
Es nutzt Ihre Intel-Hardware nicht, weil Sie in Ihren Konvertierungsaufgabeneinstellungen nur Nvidia ausgewählt haben (hätten Sie Any gewählt, wäre es auf Intel QuickSync zurückgegriffen); stattdessen fällt es auf Software-Encoding zurück.
99,999 % aller Hardware-Encoder-Probleme liegen an fehlerhaften Grafiktreibern.
Ich verstehe, was du meinst, aber es funktioniert einwandfrei auf der Nvidia-GPU mit 2 gleichzeitigen Konvertierungsaufträben; es tritt nur ein Fehler auf, wenn mehr als zwei Konvertierungen anstehen und ich die Anzahl gleichzeitiger Konvertierungen auf 4 setze. Wenn ich sie bei 2 belasse, laufen diese beiden auf der einen Nvidia-GPU ohne Probleme. Ich verwende den aktuellsten Nvidia-Treiber. Also frage ich mich, was ich tun muss?
Sie können eine andere Version des Grafiktreibers ausprobieren. Vielleicht liegt es an einem Speichermangel oder an einer Beschränkung der Anzahl gleichzeitiger Konvertierungen, die die Hardware bewältigen kann. Ich kenne Hardware, die Konvertierungen auf 2 oder 4 Streams gleichzeitig begrenzt.
Sie könnten die Option auch auf „Any“ setzen, dann wird versucht, Ihre Intel-Hardware zu nutzen, falls Ihre Nvidia ausfällt.
Sie könnten die gleichzeitigen Konvertierungen einfach auf 2 begrenzen.
NVidia begrenzt seine Grafiktreiber auf nur 2 gleichzeitige Transkodierungs-Streams für die meisten Nicht-Quadro-Grafikkarten. Dies ist eine künstliche Beschränkung seitens NVidia in den Treibern, weshalb die dritte gleichzeitige Konvertierung fehlschlägt, wenn der Treiber sie starten will. Die Lösung ist, NVidia zu kontaktieren oder die Konvertierungen nicht nur auf NVidia zu beschränken (auf Any setzen).
Einige Quadro-Karten haben unbegrenzte gleichzeitige Transkodierungen (uneingeschränkt). Hier ist die Tabellenmatrix, die die Grenzen für verschiedene Karten zeigt:
Wow! Danke für all die Recherche dazu, von der ich einiges selbst hätte machen sollen. Aber das bringt mich zurück zur ursprünglichen Absicht meiner Frage. Gibt es aus Sicht von MCEBuddy eine Möglichkeit, die zweite NVidia-Karte zu verwenden? Ich habe zwei identische Karten im System, die MCEBuddy erkennt und von denen es sagt, dass beide fähig sind.