Dies ist eine Folgefrage aus meiner vorherigen gestellten Frage HIER . Im Grunde versuche ich mit FFmpeg, Szenen zu erkennen, nachdem ich eine gute ausgewählt habe scenecut
Schwelle, und nehmen Sie aus jeder Szene einen einzelnen repräsentativen Frame.
Im Moment speichert der Befehl zur Szenenerkennung, den wir bereits haben, die erkannten Szenen auf der Festplatte, was leider sehr lange dauert:
ffmpeg -y -i myVideo.mp4 -vf yadif \
-c:v libx264 -profile:v high -preset:v fast \
-x264opts min-keyint=15:keyint=1000:scenecut=20 -b:v 2000k \
-c:a aac -b:a 128k \
-f segment -segment_format mp4 -segment_time 0.01 -segment_format_options movflags=faststart \
/home/1/output%05d.mp4
Mein letztes Ziel ist es, die Szenen zu identifizieren und nur ein einzelnes Bild aus dieser Szene als Bild (etwa das mittlere Bild dieser Szene) zu speichern, anstatt die gesamten Szenenvideos zu kodieren und zu speichern. Gibt es einen schnellen Weg, um das zu erreichen?
ffmpeg -i video.mp4 -vsync 0 -vf select='gt(scene\,0.4)' -f image2 img-%04d.png
funktioniert nicht für mich und zeigt mir Fehler: Output file is empty, nothing was encoded (check -ss / -t / -frames parameters if used)