Hallo.
Ich möchte mit ffmpeg und der Hardware Beschleunigung der Grafikkarte aus einer h264 Videodatei alle n-te Sekunde Frames extrahieren.
Ohne Hardware Beschleunigung kann ich zwar Frames extrahieren, aber es dauert leider zu lange.
Mein System:
win10
ffmpeg build gyan.dev v5.0.1 full
grafikkarte: gtx 560 se, fermi
gtx 560 Treiber: v391.35
Ich gebe folgenden Befehl ein:
ffmpeg -y -hwaccel cuda -hwaccel_output_format cuda -c:v h264_cuvid -i input.mp4 -vf fps=1/60 img%03d.jpg
Fehlermeldung:
Cannot load cuvidGetDecodeStatus
und
Failed loading nvcuvid.
Ich gehe davon aus, dass zuerst die Inputdatei dekodiert werden muss, um einzelne Frames zu extrahieren.
Die gtx560 Grafikkarte unterstützt Hardware Dekodierung (aber keine Enkodierung).
Die nvidia developer Seite beschreibt zwar wie man ffmpeg neu kompiliert, aber da ich keine Ahnung von Kompilieren habe, bin ich schon bei der Schritt für Schritt Anleitung gescheitert.
Dann bin ich auf gyan.dev gestossen. Nach meinem Verständnis muss ich hier nichts kompilieren und kann die Hardware Beschleunigung nutzen. Leider bekomme ich jetzt die oben genannte Fehlermeldung.
Wie kann ich Hardware Beschleunigung nutzen?
Über Hilfe der Community würde ich mich sehr freuen. Dankeschön.