MCEBuddy dazu bringen, NVidia-GPU anstelle von Intel Integrated zu verwenden

Hallo, ich konvertiere mit MCEBuddy und wenn ich in den Taskmanager schaue, sehe ich, dass die Intel-Grafik-GPU auf Vollgas läuft, aber die NVIDIA-GPU fast nie genutzt wird. Der Übeltäter ist die HandBrake-CLI … wie kann ich sie dazu bringen, meine leistungsstarke NVIDIA statt meiner schwachen Intel zu verwenden?

Danke!

Handbrake verwendet Intel QuickSync und FFMpeg nutzt NVidia-Beschleunigung.

Wenn du ein Profil verwendest, das sowohl ffmpeg als auch Handbrake nutzt, prüft MCEBuddy, welche Hardware-Kodierungsmöglichkeiten vorhanden sind, und verwendet automatisch zuerst den hardwarebeschleunigten Encoder. Wenn dein Profil also sowohl ffmpeg als auch Handbrake enthält, wird es prüfen, ob NVidia-Beschleunigung unterstützt wird, und dann zuerst ffmpeg verwenden.
Die meisten Profile enthalten sowohl ffmpeg als auch Handbrake, daher sollte es automatisch ausgewählt werden, wenn die Beschleunigung funktioniert.

Die Protokolldateien geben dir weitere Informationen darüber, was vor sich geht.

Weitere Details hier:

Ich verwende das MKV-Profil mit hoher Qualität … Ich möchte 720-Videos so klein wie möglich mit der bestmöglichen Bildqualität.

Welches Profil würdest du empfehlen? Wie kann ich feststellen, ob MKV Nvidia verwendet … wahrscheinlich nicht.

2019-01-01T21:01:22 MCEBuddy.AppWrapper.NVidiaQuery → deviceQuery, CUDA Driver = CUDART, CUDA Driver Version = 8.0, CUDA Runtime Version = 7.5, NumDevs = 1, Device0 = GeForce GTX 960M
2019-01-01T21:01:22 MCEBuddy.AppWrapper.NVidiaQuery → Ergebnis = PASS
→ Prozess wurde mit Code 0 beendet
→ NVidia H.264 Hardware Encoder erkannt : True
→ NVidia H.265 Hardware Encoder erkannt : False
2019-01-01T21:01:24 MCEBuddy.Transcode.ConvertWithFfmpeg → FFMpeg-Profil deaktiviert Software-Encoder-Fallback nach Hardware-Encoding-Fehler (ffmpeg-DisableSoftwareEncoderFallback) : False
2019-01-01T21:01:24 MCEBuddy.Transcode.ConvertWithFfmpeg → FFMpeg-Profil optimiert für Hardware-Decoding/Encoding, deaktiviert automatische Hardware-Optimierung (ffmpeg-UsingHardwareEncoding) : False
→ Neue Encoder-Tool-Reihenfolge → handbrake,ffmpeg,mencoder

Hängen Sie Ihre Konvertierungsprotokolldatei an, damit ich im Detail sehen kann, was vor sich geht.

A Certain Scientific Railgun - S01E08 - Level Upper.mp4-Converto-2019-01-01T12-30-01.4727138-06-00.log (614,1 KB)

Aus deinen Logs ergibt sich, dass – kurz vor deiner NVidia-Hardware-Abfrage – nach Intel QuickSync gesucht wird:

INFORMATION> 2019-01-01T12:31:44 MCEBuddy.AppWrapper.Handbrake → QuickSync-Encoding-Unterstützung verfügbar → True
INFORMATION> 2019-01-01T12:31:44 MCEBuddy.AppWrapper.Handbrake → H.264-Encoding-Unterstützung verfügbar → True
INFORMATION> 2019-01-01T12:31:44 MCEBuddy.AppWrapper.Handbrake → H.265-Encoding-Unterstützung verfügbar → True

Es stellt fest, dass dein Grafiktreiber Intel-QuickSync-Hardware-Beschleunigung unterstützt.

Es stellt außerdem fest, dass dein Grafiktreiber NVidia CUDA unterstützt:

2019-01-01T12:31:45 MCEBuddy.AppWrapper.NVidiaQuery → Result = PASS
→ Process exited with code 0
→ NVidia H.264 Hardware Encoder Detected : True
→ NVidia H.265 Hardware Encoder Detected : False

Du hast ein Setup, das sowohl QuickSync als auch CUDA unterstützt; daher ändert MCEBuddy die Encoder-Reihenfolge nicht und verwendet die Encoder so, wie sie im Profil definiert sind (die Reihenfolge bleibt erhalten).

→ New encoder tool order → handbrake,ffmpeg,mencoder

Deshalb konvertiert es dein Video mit Handbrake; und Handbrake nutzt deinen Intel-Grafik-Hardware-Encoder und erreicht dabei 145 fps

2019-01-01T12:31:55 MCEBuddy.AppWrapper.Handbrake → [12:31:55] qsv_enc_init: using ‘hardware (1)’ implementation, API: 1.19
2019-01-01T12:31:55 MCEBuddy.AppWrapper.Handbrake → [12:31:55] compute_init_delay: 6006 (2 frames)
2019-01-01T12:31:58 MCEBuddy.AppWrapper.Handbrake → Encoding: task 1 of 2, 0.56 %
2019-01-01T12:32:00 MCEBuddy.AppWrapper.Handbrake → Encoding: task 1 of 2, 1.24 %
2019-01-01T12:32:02 MCEBuddy.AppWrapper.Handbrake → Encoding: task 1 of 2, 1.89 % (148.02 fps, avg 143.78 fps, ETA 00h05m04s)

Technisch gesehen wird also Hardware-Encoding verwendet – nur eben nicht der Encoder, den du willst.

Wenn du stattdessen NVIDIA nutzen willst, ändere die Encoder-Reihenfolge in deinem Profil:
von:

order=handbrake,ffmpeg,mencoder

zu:

order=ffmpeg,handbrake,mencoder

Ich habe die Profile gewechselt und dabei einigen Erfolg bei der Beschleunigung des Vorgangs erzielt, obwohl die Aufgabe von der CPU und nicht von der NVidia-GPU erledigt wird…

2019-01-02T18:10:46 MCEBuddy.Transcode.ConvertWithFfmpeg --> FFMpeg-Profil: Software-Encoder-Fallback nach Hardware-Encoding-Fehler deaktivieren (ffmpeg-DisableSoftwareEncoderFallback): False
2019-01-02T18:10:46 MCEBuddy.Transcode.ConvertWithFfmpeg --> FFMpeg-Profil für Hardware-Decoding/Encoding optimiert, automatische Hardware-Optimierung deaktivieren (ffmpeg-UsingHardwareEncoding): False
INFORMATION> 2019-01-02T18:10:46 MCEBuddy.Transcode.Convert --> Konvertierung mit FFMpeg

Christmas Belle.mp4-Converto-2019-01-02T16-47-21.6000112-06-00.log (2,2 MB)

Irgendein anderer Vorschlag :frowning_face_with_open_mouth: … bitte

Sieht so aus, als hätten Sie keine Änderungen an Ihrem Profil vorgenommen. Es wird die ursprüngliche Reihenfolge angezeigt:

→ order=handbrake,ffmpeg,mencoder

Sie müssen profiles.conf bearbeiten und die Reihenfolge für das von Ihnen verwendete Profil ändern (MKV High Quality).