Modificar comando para procesar todos los archivos en una carpeta

Modificar comando para procesar todos los archivos en una carpeta

Actualmente estoy usando el siguiente comando para crear imágenes gif a partir de un video.

ffmpeg -i '/home/video/test.mp4' -vf fps=1/180 '/home/video/test.mp4%03d.jpg' && ffmpeg -framerate 1 -i '/home/video/test.mp4%03d.jpg' -vf scale=160x110 -r 30 '/home/video/test.mp4.gif'

Me gustaría modificar este comando para que pueda usarse para cada archivo .mp4 en una carpeta en lugar de como test.mp4se muestra arriba.

Respuesta1

use el bucle for del script de shell en su caso

for i in *.mp4 ;
do
   ffmpeg -i "$i" -vf fps=1/180 "/home/video/$i%03d.jpg" && ffmpeg -framerate 1 -i "/home/video/$i%03d.jpg" -vf scale=160x110 -r 30 "/home/video/$i.gif";
done;

ejecútelo directamente o guárdelo en un archivo, diga xyz.txt y ejecútelosource xyz.txt

información relacionada