011 Variare la velocità di un file multimediale e/o invertirne la direzione temporale.

27 Agosto, 2022 (15:47) | ffmpeg, Fotografia digitale, Linux, Video | By: sargonsei

# 011 Variare la velocità di un file multimediale e/o invertirne la direzione temporale
# Se non si inseriscono opzioni per modificare l’audio, di default l’audio NON viene modificato.
# Il filtro “atempo” è limitato all’utilizzo di valori compresi tra 0,5 e 2,0 (quindi può rallentarlo fino a non meno della metà della velocità originale e accelerare fino a non più del doppio dell’input). Se necessario, puoi aggirare questa limitazione mettendo insieme più filtri atempo.
# L’inversione dell’audio, prevede che TUTTO l’audio del file multimediale sia riversato nel buffer della memoria.
# https://trac.ffmpeg.org/wiki/How%20to%20speed%20up%20/%20slow%20down%20a%20video

ffmpeg -i videoIN.mp4 -filter:a "atempo=2.0" -filter:v "setpts=0.50*PTS" vOUTavx2.mp4 # Crea un file .MP4 contenente il file multimediale in ingresso a velocità doppia (sia audio, che video); i parametri non specificati sono dedotti da FFmpeg in base all'estensione del file multimediale in uscita.

ffmpeg -i videoIN.mp4 -filter:a "atempo=0.50" -filter:v "setpts=2.0*PTS" vOUTavMez.mp4 # Crea un file .MP4 contenente il file multimediale in ingresso a velocità dimezzata (sia audio, che video); i parametri non specificati sono dedotti da FFmpeg in base all'estensione del file multimediale in uscita.

ffmpeg -i videoIN.mp4 -filter_complex "[0:v]setpts=1/1.5*PTS[v];[0:a]atempo=1.5[a]" -map "[v]" -map "[a]" vOUTavx1v5complex.mp4 # Crea un file .MP4 contenente il file multimediale in ingresso a velocità aumentata 1,5 volte (sia audio, che video); i parametri non specificati sono dedotti da FFmpeg in base all'estensione del file multimediale in uscita.

ffmpeg -i videoIN.mp4 -filter_complex "[0:v]setpts=1.5*PTS[v];[0:a]atempo=1/1.5[a]" -map "[v]" -map "[a]" vOUTav-1v5complex.mp4 # Crea un file .MP4 contenente il file multimediale in ingresso a velocità 1,5 volte minore (sia audio, che video); i parametri non specificati sono dedotti da FFmpeg in base all'estensione del file multimediale in uscita.

ffmpeg -i videoIN.mp4 -an -vf reverse vOUTnoArevV.mp4 # Crea un file .MP4 contenente il file multimediale in ingresso senza audio e con video a ritroso; i parametri non specificati sono dedotti da FFmpeg in base all'estensione del file multimediale in uscita.

ffmpeg -i videoIN.mp4 -af areverse -vf reverse vOUTrevAV.mp4 # Crea un file .MP4 contenente il file multimediale in ingresso con audio e video a ritroso; i parametri non specificati sono dedotti da FFmpeg in base all'estensione del file multimediale in uscita.

ffmpeg -i videoIN0.mkv -filter:a "areverse,atempo=2.00,volume=0.2" -filter:v "reverse,setpts=0.5*PTS" videoIN0velVolRev4.mp4 # Crea un file .MP4 contenente il file multimediale in ingresso con audio e video a ritroso e velocità doppia (sia audio, che video); i parametri non specificati sono dedotti da FFmpeg in base all'estensione del file multimediale in uscita.

REV="reverse"; AREV="areverse"; VEL=0.5; AVEL=$(echo "scale=2; 1/$VEL" | bc); VOL=0.2; ffmpeg -i videoIN0.mkv -filter:a "${AREV},atempo=${AVEL},volume=${VOL}" -filter:v "${REV},setpts=${VEL}*PTS" videoIN0velVolRev4.mp4 # Crea un file .MP4 contenente il file multimediale in ingresso con audio e video a ritroso ed a velocità dimezzata (sia audio, che video); i parametri non specificati sono dedotti da FFmpeg in base all'estensione del file multimediale in uscita.