はじめに
Macの画面収録ってmovファイルになると思うのですが、毎回gifに変換するのが面倒だな〜と思っていたところ今回良いやり方を見つけたので共有します!
n番煎じ感が否めないですが、どなたかのお役に立てれば...!!!
やりたいこと
- 任意のフォルダ(例:screenshot)に
.mov
を追加すると自動で同じフォルダに.gif
が生成される - ファイル名はそのまま(例:
sample.mov
→sample.gif
)
macにはAutomatorなるアプリがプリインストールされているみたいで(初めて知った)、そのフォルダアクションって機能を使ったら実装できそうだったので使ってみました!
事前準備
ffmpeg のインストール
movをgifに変換するためのライブラリです
brew install ffmpeg
フォルダアクションの作成(Automator)
1. Automator を起動
- 「アプリケーション」 > Automator
2. 新規作成 → 「フォルダアクション」を選択
3. アクション「シェルスクリプトを実行」を追加
4. 対象のフォルダを選択
「その他」から選択できます
5. 入力の引き渡し方法:「引数として渡す」
6. 以下のスクリプトをコピペ:
for f in "$@"
do
if [[ "$f" == *.mov ]]; then
dir_path="$(dirname "$f")"
base_name="$(basename "$f" .mov)"
out_path="${dir_path}/${base_name}.gif"
/opt/homebrew/bin/ffmpeg -i "$f" -r 24 "$out_path"
fi
done
ffmpeg
のパスは環境によって変更必要な場合があります。
which ffmpeg
で確認できます。
which ffmpeg
の結果を使ってコマンドを実行するのは無理でした
# ffmpegのパスを自動取得
ffmpeg_path="$(which ffmpeg)"
"$ffmpeg_path" -i "$f" -r 24 "$out_path"
7. 「cmd + S」で保存して完了
動作確認
いい感じですね
おわりに
Qiitaにgifをはっつける時とか、プロジェクトでちょっとした動画を共有するのが少し楽になりましたね!
Automator今まで使ってこなかったですが、可能性を感じました!