Nella mia applicazione l'utente può cercare una posizione specifica (media.currentPosition), quindi premere il pulsante Salva, l'immagine verrà quindi esportata, ecco il mio comando ffmpeg che sto usando per ottenere questo:
"-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"};
È un'applicazione Android, quindi è così in un array di stringhe. Il comando funziona perfettamente MA ci vuole un'eternità per completare.
Nel mio registro lo mostrerò più volte:
[Progress]: frame= 0 fps=0.0 q=0.0 size=N/A time=00:00:00.00 bitrate=N/A speed= 0x
fino a quando non viene raggiunto il frame, quindi mostra questo:
[Progress]: frame= 1 fps=0.0 q=2.0 Lsize=N/A time=00:00:00.04 bitrate=N/A speed=0.00151x
poi termina all'istante.
Quindi quello che penso stia accadendo è che ffmpeg elabora ogni frame fino a raggiungere il frame desiderato e quindi lo elabora.
La mia domanda:
C'è un modo per aumentare la velocità / il tempo di elaborazione dell'esportazione di un singolo fotogramma da un video a un'immagine? - Forse saltando i frame indesiderati e andando direttamente al frame che l'utente desidera esportare?
-ss
prima-i
? e dove dovrebbe-to
essere?