修改命令以处理文件夹中的所有文件

修改命令以处理文件夹中的所有文件

我目前正在使用以下命令从视频创建图像 gif

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'

我想修改此命令,以便它可以用于文件夹中的每个 .mp4 文件,而不是像test.mp4上面所示的那样。

答案1

在您的情况下使用 shell 脚本的 for 循环

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;

直接运行它或将其存储在 xyz.txt 文件中并运行source xyz.txt

相关内容