Ho fotogrammi video in formato PNG a 1 FPS e sto provando a convertirli in un video usando ffmpeg.
Se faccio qualcosa del genere:
ffmpeg -i data/input-%4d.png data/output.mp4
Ottengo un video a 25FPS che è sostanzialmente un avanzamento molto veloce dell'input (che viene catturato a 1FPS).
Se provo:
ffmpeg -i data/input-%4d.png -r 1 data/output.mp4
Ho qualcosa che VLC non vuole giocare :)
Ora, se prendo il primo video (quello FF) e applico un filtro per rallentarlo (ad esempio -filter:v 'setpts=24.0*PTS'
), posso farlo riprodurre come un video 1 FPS, ma ovviamente il prezzo è la dimensione del file. Sta generando un sacco di frame ripetuti, immagino.
Quindi, la domanda è: come faccio a creare un video con esattamente 1 FPS e in realtà viene riprodotto a quella velocità? Il formato di output, a proposito, non è così importante per me.
-r 1
.
ffmpeg
sia abbastanza intelligente da capire il codec video solo dall'estensione del file in formato contenitore.mp4
. Prova ad aggiungere-vcodec libx264 -vpre hq
alla riga di comando, per dirgli il codec e i parametri di codifica.