FFmpeg
を使い、Macの任意のフォルダ内にある複数の動画ファイル(.mov)を、Gifアニメへ一括変換する方法です。
「FFmpeg」のインストール
terminal
$ brew install ffmpeg
まぁまぁ時間がかかりました。
シェルスクリプトを組む
- メモ帳(テキストエディタ)を開き、下記のスクリプトをコピペ
- ファイル名
convertGif.sh
で保存(ファイル名は何でもいいけど)
convertGif.sh
# !/bin/sh
Files=$(find . -type f -iname '*'.mov)
for File in $Files
do
echo $File
ffmpeg -i $File -r 10 $File.gif
printf "\n----------------\n\n"
done
-
ffmpeg -i $File -r 10 $File.gif
が変換している箇所です -
-r 10
は「フレームレートを10」と設定しているオプションです
フレームレートはパラパラ漫画みたいなイメージで1秒間あたりのコマ数です。多いとよりなめらかになりますが、その分容量も大きくなります。
参考サイト:動画をgif画像にする
シェルスクリプトの解説は、同じ様なことをしているコチラの記事をご覧ください
参考サイト:cwebpでWebPへフォルダ内のJPG・PNG画像を一括変換するシェルスクリプト
動画と同じフォルダにいれる
- 組んだシェルスクリプト
convertGif.sh
を、変換したいMOVファイルのあるフォルダに入れる - そのフォルダをターミナルで開く
-
$ sh convertGif.sh
を実行する - すると変換が始まります(割とサクサク変換されます)
No such file or directory
変換を実行した際にNo such file or directory
と表示が出た場合についてです。
変換前のファイル名を見直してみてください。
画面収録 2021-01-01 01.23.45.mov
みたいなファイル名になっていませんか?
ファイル名中のスペースが悪さをしているみたいです。
test001.mov
みたいにリネームして再トライしてみてください。
もしくは、シェルスクリプトを...[bash] スペースが入ったファイル名の処理