フォルダ内のすべてのファイルを処理するコマンドを変更する

フォルダ内のすべてのファイルを処理するコマンドを変更する

私は現在、ビデオから画像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'

test.mp4このコマンドを変更して、上記のようにではなく、フォルダー内のすべての .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

関連情報