macOS の Finder 上でアニメーション gif ファイルをスペースキーで開くとエンドレスリピート再生されるのに、ブラウザで開くと1回しか再生されないのなんでだろう?と思って調べてみました。
Stack Overflow に同じような質問があって「gif ファイルに定義されているから、エンドレスアニメーションループを有効にする編集をするんだ」みたいな回答が書かれてあって、「あ、そりゃそうだよね」と妙に感心してしまいました。
gif ファイルの編集には Gifsicle というCommand-Line Animated GIFs ツールを利用しました。
brew install gifsicle
original.gif のループ回数を無限に設定するには -l, —loopcount オプションをつけて gifsicle コマンドを実行するだけです。
gifsicle --loopcount original.gif > output.gif
gifsicle -l original.gif > out.gif
-b, —batch オプションをつけることで original.gif に上書きすることもできます。
gifsicle --batch --loopcount original.gif
gifsicle -bl original.gif
original.gif のループ回数を指定したいときは -l=N, —loopcount=N というオプションで設定できます。
例えば、ループ回数 2 の場合、
gifsicle --loopcount=2 original.gif > out.gif
gifsicle -l=2 original.gif > out.gif
で設定できます。この場合、合計で3回アニメーション gif が再生されます。
以上、アニメーション gif をループ再生させたい、現場からお送りしました。