4x ricampionare i videogrammi usando ffmpeg


9

Ho bisogno di velocizzare i video di un fattore 4x, ma non voglio far cadere i frame e invece farli fare una media. Cioè ogni 4 fotogrammi sono mediati e producono 1 fotogramma di output. La frequenza dei fotogrammi target rimane invariata, quindi il video è ora 4 volte più veloce.

C'è un modo per farlo in ffmpeg?


3
Puoi essere più specifico su come dovrebbero essere "mediati"? Quale metodo vuoi usare?
Llogan,

@LordNeckbeard (f1 + f2 + f3 + f4) / 4 - media semplice. Pertanto, ogni frame risultante presenta lievi tracce del movimento su tutti i sub-frame.
BarsMonster,

@BarsMonster Dubito che ffmpeg possa farlo. Hai visto questo effetto fatto in un altro modo? Sai com'è effettivamente?
Jim Mack,

@JimMack Al momento l'ho fatto manualmente in VirtualDub, hanno un filtro interpolato, con interpolazione 0,5x fa correttamente una media di 2 frame. Ecco il risultato: youtube.com/watch?v=8zrws5CGWsI Si può vedere che ogni fotogramma ha un movimento di 2 sottoframe, quindi è leggermente più fluido. Ma farlo in un cmdline sarebbe molto più veloce in futuro.
BarsMonster,

slowmoVideo può valere la pena provare, ma non so se abbia un cli. Il filtro framerate FFmpeg sembra eseguire l'interpolazione, ma non sembra soddisfare le tue esigenze.
Llogan,

Risposte:


9

ffmpeg con questa filterchain lo fa:

ffmpeg -i input -vf "tblend=average,framestep=2,tblend=average,framestep=2,setpts=0.25*PTS" -r srcfps -{encoding parameters} output

srcfps dovrebbe essere sostituito con il framerate dell'input.


1
Provato anche per x16 usando "tblend = medio, framestep = 2, tblend = medio, framestep = 2, tblend = medio, framestep = 2, tblend = medio, framestep = 2, setpts = 0,0625 * PTS"
BarsMonster
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.