Jeg har en server med to separate Nvidia GTX 750 Ti-kort samt indbygget Intel-grafik. Oprindeligt brugte MCEBuddy den indbyggede CPU og grafik til at klare alt. Jeg satte flueben ved “Brug hardware-kodning” og valgte NVidia fra rullelisten. Efter lidt søgen i foraerne fandt jeg ud af, hvordan jeg bruger NVidia GPU’en, ved at ændre rækkefølgen af kodningsvalg, så “ffmpeg” står først. Nu klarer den kodningen med NVidia GPU’en, men kun for to konverteringer. Jeg har sat MCEBuddy til at køre 4 samtidige konverteringer og troede, den ville begynde at bruge begge NVidia GPU’er efter behov. Men det ser ud til, at den kører to konverteringer på det ene kort, og så kører de to andre konverteringer på det indbyggede hardware.
Kan MCEBuddy bruge flere NVidia-kort, og i så fald hvad skal jeg gøre, eller hvor skal jeg kigge? Jeg har kigget i logfilerne, og den ser begge kort og siger, at de begge har de samme evner. Skal jeg gøre mere for at få den til at bruge dem begge?
Med den nyeste version 2.5.1 eller nyere behøver du ikke foretage nogen ændringer i nogen profiler, da både handbrake og ffmpeg understøtter nvidia-, Intel- og AMD-hardwarekodere. MCEBuddy vil automatisk tage sig af at vælge hardwaren og værktøjet. Du skal blot vælge din mulighed i GUI’en, og MCEBuddy bør klare resten.
Hvis du vedhæfter dine logfiler, kan vi se, hvad der foregår.
Tak for svaret, og det er dejligt at høre, at den nyeste version gør det endnu nemmere. Beklager, jeg skulle have vedhæftet logs, da jeg skrev. Her er to logfiler:
den første: “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” brugte NVidia GPU og blev gennemført med succes.
den anden: “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” brugte Intel-processoren.
Da der kørte fire konverteringer (2 med NVidia GPU og 2 med Intel), stoppede jeg behandlingen, da NVidia-jobbene var færdige, så Intel-jobbene ikke blev færdige. Jeg kørte en sammenligning i Notepad++ mellem de to filer, og jeg ser disse meddelelser flere gange i Intel-filen:
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
Ved ikke, hvad det drejer sig om. Tak for hjælpen! Hvis du kan finde ud af, hvorfor den ikke bruger begge NVidia-kort – eller endda hvorfor den ikke kører mere end to konverteringer på det kort, den bruger – vil jeg være meget taknemmelig.
Din Nvidia-grafikdriver fejler. MCEBuddy prøver først ffmpeg, og når din driver fejler:
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
Derefter prøver den handbrake, og Nvidia-grafikdriveren fejler igen:
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
Den bruger ikke din Intel-hardware, fordi du kun valgte Nvidia i dine konverteringsindstillinger (hvis du havde valgt Any, ville den være faldet tilbage til Intel QuickSync); i stedet falder den tilbage til software-kodning.
99,999 % af hardware-koder-problemer skyldes problematiske grafikdrivere.
Jeg forstår, hvad du siger, men det fungerer fejlfrit på Nvidia GPU’en med 2 konverteringsjobs ad gangen; det fejler kun, når der er mere end to konverteringer, og jeg sætter samtidige konverteringer til 4. Hvis jeg lader den stå på 2, kører de to problemfrit på den ene Nvidia GPU. Jeg bruger den nyeste Nvidia-driver. Så jeg tænker, hvad jeg skal gøre?
Du kan prøve en anden version af grafikdriveren. Måske løber den tør for hukommelse, eller den har en begrænsning på antallet af samtidige konverteringer, hardwaren kan håndtere. Jeg ved, at nogle hardware begrænser konverteringer til 2 eller 4 streams ad gangen.
Du kan også indstille muligheden til Any, og den vil forsøge at bruge dit Intel-hardware, hvis din Nvidia fejler.
Du kan bare begrænse det til 2 samtidige konverteringer.
NVidia begrænser deres grafikdrivere til kun 2 samtidige transkodnings-streams ad gangen for de fleste ikke-Quadro-grafikkort; det er en kunstig grænse indført af NVidia i deres drivere, og derfor fejler din 3. samtidige konvertering, når driveren forsøger at starte den. Løsningen er at kontakte Nvidia eller ikke begrænse dine konverteringer til kun Nvidia (sæt den til Any).
Nogle Quadro-kort har ubegrænsede samtidige transkodninger (ubegrænset). Her er tabellen, der viser grænserne for forskellige kort:
Wow! Tak for al research’en – noget af det burde jeg selv have gjort. Men det bringer mig tilbage til min oprindelige hensigt. Set fra et MCEBuddy-perspektiv: er der en måde at bruge det andet NVidia-kort på? Jeg har to identiske kort i systemet, og MCEBuddy kan se dem og siger, at begge er kompatible.