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

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

現在、次のコマンドを使用してビデオから画像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 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

関連情報