
В настоящее время я использую следующую команду для создания изображений в формате 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
используйте цикл 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