はじめに
株式会社LITALICOでエンジニアをしています@yknoguchiです。この記事は『LITALICO Advent Calendar 2021』10日目の記事の2本目です。
1本目はあんまりプログラム関係ないので、こっちはちょっとだけコードを書きます。
1本目は新卒エンジニア研修のメンターをやった僕が、その時にメンターとして必要だなと感じたものを挙げています。メンター以外にも今後新人エンジニアが入ってくる予定の方々にも参考になるかもしれないので、是非そちらもよろしくお願いします。
さてこの記事は、単純な作業を簡単に自動化できるMac標準搭載アプリのAutomatorを紹介する記事です。すぐに使えるレシピもありますので、是非最後までお付き合いをお願いします。
この記事の対象読者
- Macユーザー
Automatorとは
Automatorとは、さまざまなワークフローを自動化してくれるMacの標準搭載アプリです。
そしてその効果は百聞は一見にしかず。以下の動画をご覧ください。
はい、この通り。
MacのQuickTime Playerで画面収録したMOVファイルも数クリックでgifに変換することが可能です。これで簡単にQiitaなどいろんなところで共有できるようになりましたね!!(最近になってGitHubで動画ファイルを直接貼れるようになりましたが、、、。)
また、クイックアクションが動いているときはメニューバーで歯車が動くのでちょっと楽しいです。
Automatorの使い方
今回は上記の、「MOVファイルをgifに変換するクイックアクション」を例として作成していきます。
なお、このクイックアクションにはffmpegを使用するので、あらかじめインストールをしておいてください。(やり方は調べるとたくさん出てくるのでお好みで。)
まずはAutomatorを開きます。アプリケーションフォルダーの中にあります。もしくはSpotlightで検索してください。
そしたら以下の画面が開くと思うので、今回作成する「クイックアクション」を選択します。
次にクイックアクションを使用する場所のアプリケーションと対象ファイルを設定します。今回はFinder上で動画ファイルを対象に使用しますので、以下の画像の箇所を設定します。
今回はシェルスクリプトからffmpegを実行します。そのため、シェルスクリプトを実行するアクションを左のアクション一覧から探し追加します。数が多いので上の検索から「シェル」と入力して絞ってあげると見つかりやすくなります。
シェルのアクションを追加したら実際に実行させるコードを画像のように記述しましょう。
今回書いたコードは以下の通りです。
for f in "$@"
do
if [ -f "$f" ]; then
case "$f" in
*\.[mM][oO][vV])
dir=`dirname "$f"`
file=`basename "${f%.[mM][oO][vV]}"`.gif
/usr/local/bin/ffmpeg -i "$f" -r 10 "${dir}/${file}"
;;
esac
fi
done
ポイントは変換するファイルのパスの渡し方です。「入力の引き渡し方法」を「引数として」で設定します。こうすることで選択されたファイル名が引数として$@
に渡されます。
あとは渡されたファイル名がMOVファイルであることを確認し、変換先の拡張子をgifにし、ffmpegコマンドを記述すれば完成です。
完成したら⌘Sで名前を入力し保存したら終了!簡単!!
おわりに
今回はサンプルとしてシェルスクリプトを利用したクイックアクションを作成しましたが、他にも左のアクション一覧から分かるようにいろんなアプリケーションを使用したクイックアクションが作成可能です。もちろん、今回使用したシェルとffmpegだけでも色々な物が作れます。僕は動画ファイルをh264に変換するものなどを作成して活用しています。
まさにアイディア次第で可能性は無限大です!!
これまで時間を割いていた単純な作業も、Automatorを使用すれば簡単に一瞬で終わらせることができます。是非この機会にAutomatorの使い方をマスターして、来年の業務効率を上げてみてはいかがでしょうか?
おすすめのAutomatorレシピがあれば、コメントで教えていただけると嬉しいです!
次回は@bashikoさんの記事になります!
是非!!お楽しみに!!