Schnellerer Bildexport mit ffmpeg

Schnellerer Bildexport mit ffmpeg

In meiner Anwendung kann der Benutzer zu einer bestimmten Position (media.currentPosition) navigieren und dann auf die Schaltfläche „Speichern“ klicken. Anschließend wird das Bild exportiert. Hier ist mein ffmpeg-Befehl, den ich hierfür verwende:

"-i",Video.mp4,"-filter_complex","[1:v][0:v]scale2ref=iw:ih[ovr][base];[ovr]colorchannelmixer=aa=0.7[ovrl];[base][ovrl]overlay[v]","-map","[v]","-ss",GetPositionInVideo,"-vframes","1","-q:v","2", "-preset", "ultrafast",directoryToStore+"/"+"Image.jpg"};

Da es sich um eine Android-Anwendung handelt, handelt es sich um ein Zeichenfolgenarray. Der Befehl funktioniert einwandfrei, ABER es dauert ewig, bis er ausgeführt wird.

In meinem Protokoll wird Folgendes wiederholt angezeigt:

[Progress]: frame=    0 fps=0.0 q=0.0 size=N/A time=00:00:00.00 bitrate=N/A speed=   0x

bis der Rahmen erreicht ist, dann wird folgendes angezeigt:

[Progress]: frame=    1 fps=0.0 q=2.0 Lsize=N/A time=00:00:00.04 bitrate=N/A speed=0.00151x  

es ist dann sofort beendet.

Ich denke also, dass folgendes passiert: ffmpeg verarbeitet jedes Frame, bis es das gewünschte Frame erreicht, und verarbeitet es dann.


Meine Frage:

Gibt es eine Möglichkeit, die Geschwindigkeit/Verarbeitungszeit beim Exportieren eines einzelnen Frames aus einem Video in ein Bild zu erhöhen? – Vielleicht indem die unerwünschten Frames übersprungen werden und direkt zu dem Frame gesprungen wird, den der Benutzer exportieren möchte?

Antwort1

"-ss",GetPositionInVideo,geht gleich vorher "-i",Video.mp4zum schnellen Suchen.

verwandte Informationen