Verwendet ffmpeg wirklich meine Grafikkarte zum Kodieren?

Verwendet ffmpeg wirklich meine Grafikkarte zum Kodieren?

Ich habe eine NVIDIA Quadro P620. Ich habe viel darüber recherchiert, wie ich meine Transkodierung mithilfe meiner Grafikkarte beschleunigen kann.

Ich stolpere über diese Seite https://trac.ffmpeg.org/wiki/HWAccelIntro#Usewiththeffmpegcommand-linetool

Also versuchte ich

ffmpeg -hwaccel cuda -i input.avi output.mp4

Es ging nicht schneller als

ffmpeg -i input.avi output.mp4

Die Transkodierung hat tatsächlich länger gedauert.

Ich kann sehen, dass es die gleiche CPU-Auslastung hat beiresmonwie ohne Option -hwaccel.

Habe ich etwas falsch gemacht? Woher weiß ich, dass ffmpeg meine GPU richtig nutzt?

Antwort1

Entsprechend der GPU-Unterstützungsmatrix für Videokodierung und -dekodierungunterstützt Ihre GPU hardwaregestütztes Dekodieren und Kodieren, auch genannt NVENC.

Der einzige problematische Punkt ist die Liste der Codecs, die Ihre GPU unterstützt: H.264 und H.265. Wenn Ihre Videos nicht mit diesen Codecs codiert sind, funktioniert die Hardwarebeschleunigung möglicherweise nicht.

Für die richtigen Codecs und als Referenz, der Stack Overflow-Beitrag Lassen Sie ffmpeg Nvidia CUDA gegenüber Intel QSV wählen erwähnte, dass die Hardwarebeschleunigung mit dem folgenden Befehl funktionierte:

ffmpeg -hide_banner -hwaccel cuda -i "input.avi" -c:a copy -ac 1 -c:v h264_nvenc -preset hq -movflags faststart -qp 30 "output.mp4"

verwandte Informationen