devdev / in the loop

Velocizzare o rallentare un video con FFmpeg

**Questa è una serie di articoli legati a FFmpeg, semplici comandi per fare editing video da riga di comando, che è più cool**

Cambiare la velocità di un video con FFmpeg è piuttosto semplice e funziona indipendentemente dal suo formato: possiamo sia velocizzarlo che rallentarlo, aumentando o diminuendo, appunto, la velocità. Prima che ve lo chiediate: sì, verrà modificata anche la velocità dell’audio, quindi è consigliabile rimuovere l’audio con FFmpeg prima di procedere.

Cominciamo. Il filtro da utilizzare è setpts e dovremmo utilizzarlo mettendolo tra double quotes, come in questo esempio per aumentare la velocità:

ffmpeg -i prova.mov -filter:v "setpts=0.5*PTS" veloce_il_doppio.mov

Cosa abbiamo fatto? In sostanza ogni frame video ha un timestamp (PTS), che è numerico e sequenziale. Tutto quello che facciamo è modificare il timestamp per ciascun frame del video, moltiplicandolo per un numero. Se vogliamo velocizzare il video dobbiamo quindi usare un numero minore di zero: moltiplicando, ad esempio, i frame con timestamp 1 e timestamp 2 per 0.5, li porteremo a timestamp 0.5 e timestamp 1. Saranno quindi visualizzati più velocemente, a parità di frame al secondo (FPS).

Se invece volessimo rallentare la velocità, dovremmo usare un numero maggiore di 1 come moltiplicatore:

ffmpeg -i prova.mov -filter:v "setpts=2*PTS" veloce_la_meta.mov

In questo caso, il video in output sarà lungo il doppio.

Come ci accennavo, ci potrebbe essere il problema dell’audio: modificando la velocità del video ne modifichiamo anche l’audio! Consulta il mio post su come togliere l’audio da un video per utilizzare il filter:v descritto qui assieme al flag -an che rimuoverà l’audio.

Questo articolo ti è stato utile?
In the loop – LETTURA 3 MINUTI Come installare telnet su Mac?
Vediamo come installare il client telnet sul Mac.
In the loop – LETTURA 20 MINUTI Guida GDPR per sviluppatori
In questi ultimi anni, noi sviluppatori siamo stati molto a contatto con tutto ciò che riguarda l’adeguamento GDPR. Se non…
In the loop – LETTURA 3 MINUTI Xcode errore “xcrun: error: unable to find utility “simctl”, not a developer tool or in PATH”
Quando proviamo ad utilizzare i tool da linea di comando di Xcode, potremmo incorrere nell’errore: Xcode errore "xcrun: error: unable…
Git – LETTURA 4 MINUTI GitHub Free adesso permette di creare repository privati gratis
Se siete utenti GitHub ma non avete un piano a pagamento attivo, questa sarà una buona settimana! Storicamente GitHub ha sempre offerto…
Roba figa da
if (weekend) {
    relax();
}
la nostra newsletter, ogni tanto.